]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
[Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org
authorHarlan Stenn <stenn@ntp.org>
Mon, 23 May 2016 09:53:37 +0000 (09:53 +0000)
committerHarlan Stenn <stenn@ntp.org>
Mon, 23 May 2016 09:53:37 +0000 (09:53 +0000)
bk: 5742d3218ZAiq6s6LNl0h9bjXx-HrA

17 files changed:
ChangeLog
include/ntp.h
ntpd/complete.conf.in
ntpd/invoke-ntp.conf.texi
ntpd/keyword-gen-utd
ntpd/keyword-gen.c
ntpd/ntp.conf.5man
ntpd/ntp.conf.5mdoc
ntpd/ntp.conf.def
ntpd/ntp.conf.man.in
ntpd/ntp.conf.mdoc.in
ntpd/ntp_config.c
ntpd/ntp_keyword.h
ntpd/ntp_parser.c
ntpd/ntp_parser.h
ntpd/ntp_parser.y
ntpd/ntp_proto.c

index 587c37a784db7e1758b2aa371a4d49490752f70b..6c1f7d2b07e1f82c1da12f933b6b07908f8dbcd6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,6 @@
 ---
 
-* [Sec 3043]  Autokey association reset. perlinger@ntp.org
+* [Sec 3043]  Autokey association reset. perlinger@ntp.org, stenn@ntp.org
   (fixes [Sec 3044] and [Sec 3045], too)
 * [Sec 3046] CRYPTO_NAK crash.  stenn@ntp.org
 * [Bug 3038] NTP fails to build in VS2015. perlinger@ntp.org
index cad30039451d04d8ff159ae193625c3cfe94ecc3..84c30d9feea046bcd134334565d4746e0f17379e 100644 (file)
@@ -723,6 +723,7 @@ struct pkt {
 #define        PROTO_UECRYPTO          29
 #define        PROTO_UECRYPTONAK       30
 #define        PROTO_UEDIGEST          31
+#define        PROTO_PCEDIGEST         32
 
 /*
  * Configuration items for the loop filter
index 747a48f2f2a80eb44afe650f01dce1d1233c9122..2c547fac7d5601fa937838e250477e0d36239133 100644 (file)
@@ -25,7 +25,7 @@ trustedkey 1 2 3 4 5 6 7 8 9 10 11 12 (14 ... 16) 18 (32768 ... 65534)
 controlkey 12
 requestkey 12
 enable auth ntp monitor stats
-disable bclient calibrate kernel mode7
+disable bclient calibrate kernel mode7 peer_clear_digest_early unpeer_crypto_early unpeer_crypto_nak_early unpeer_digest_early
 tos beacon 3600 ceiling 16 cohort 0 floor 1 maxclock 10 maxdist 1.5 minclock 3 mindist 0.001 minsane 1 orphan 16 orphanwait 300
 rlimit@HAVE_RLIMIT_MEMLOCK@@HAVE_RLIMIT_STACK@
 tinker allan 1500 dispersion 15 freq 0 huffpuff 7200 panic 1000 step 0.128 stepout 900 tick 0.01
index fa8e87afe1eafd13b8dddec91e2fdc7df2eafc56..a49a28f5c639f1486f521f6730d730a372f191db 100644 (file)
@@ -6,7 +6,7 @@
 #
 # EDIT THIS FILE WITH CAUTION  (invoke-ntp.conf.texi)
 #
-# It has been AutoGen-ed  April 26, 2016 at 08:28:27 PM by AutoGen 5.18.5
+# It has been AutoGen-ed  May 19, 2016 at 06:54:52 AM by AutoGen 5.18.5
 # From the definitions    ntp.conf.def
 # and the template file   agtexi-file.tpl
 @end ignore
@@ -2335,8 +2335,8 @@ otherwise, should be avoided.
 This option specifies the Differentiated Services Control Point (DSCP) value,
 a 6-bit code.
 The default value is 46, signifying Expedited Forwarding.
-@item @code{enable} @code{[@code{auth} | @code{bclient} | @code{calibrate} | @code{kernel} | @code{mode7} | @code{monitor} | @code{ntp} | @code{stats} | @code{unpeer_crypto_early} | @code{unpeer_crypto_nak_early} | @code{unpeer_digest_early}]}
-@item @code{disable} @code{[@code{auth} | @code{bclient} | @code{calibrate} | @code{kernel} | @code{mode7} | @code{monitor} | @code{ntp} | @code{stats} | @code{unpeer_crypto_early} | @code{unpeer_crypto_nak_early} | @code{unpeer_digest_early}]}
+@item @code{enable} @code{[@code{auth} | @code{bclient} | @code{calibrate} | @code{kernel} | @code{mode7} | @code{monitor} | @code{ntp} | @code{stats} | @code{peer_clear_digest_early} | @code{unpeer_crypto_early} | @code{unpeer_crypto_nak_early} | @code{unpeer_digest_early}]}
+@item @code{disable} @code{[@code{auth} | @code{bclient} | @code{calibrate} | @code{kernel} | @code{mode7} | @code{monitor} | @code{ntp} | @code{stats} | @code{peer_clear_digest_early} | @code{unpeer_crypto_early} | @code{unpeer_crypto_nak_early} | @code{unpeer_digest_early}]}
 Provides a way to enable or disable various server options.
 Flags not mentioned are unaffected.
 Note that all of these flags
@@ -2401,6 +2401,26 @@ closes the feedback loop, which is useful for testing.
 The default for
 this flag is
 @code{enable}.
+@item @code{peer_clear_digest_early}
+By default, if
+@code{ntpd(1ntpdmdoc)}
+is using autokey and it
+receives a crypto-NAK packet that
+passes the duplicate packet and origin timestamp checks
+the peer variables are immediately cleared.
+While this is generally a feature
+as it allows for quick recovery if a server key has changed,
+a properly forged and appropriately delivered crypto-NAK packet
+can be used in a DoS attack.
+If you have active noticable problems with this type of DoS attack
+then you should consider
+disabling this option.
+You can check your
+@code{peerstats}
+file for evidence of any of these attacks.
+The
+default for this flag is
+@code{enable}.
 @item @code{stats}
 Enables the statistics facility.
 See the
index 99c72201e8b7206953ed442b34d288da9149d14f..69665c2d8df666e974e0ab03aaa4171c1cf3acdb 100644 (file)
@@ -1 +1 @@
- *      Generated 2016-01-16 08:33:03 UTC        diff_ignore_line
+ *      Generated 2016-05-19 06:35:34 UTC        diff_ignore_line
index 2e7f62129f6de69c35f227b95d26bc7a8e3b4ce4..648b3ae01bc368d70eefb65fd48a1bbdae608661 100644 (file)
@@ -199,8 +199,9 @@ struct key_tok ntp_keywords[] = {
 { "bclient",           T_Bclient,              FOLLBY_TOKEN },
 { "calibrate",         T_Calibrate,            FOLLBY_TOKEN },
 { "kernel",            T_Kernel,               FOLLBY_TOKEN },
-{ "ntp",               T_Ntp,                  FOLLBY_TOKEN },
 { "mode7",             T_Mode7,                FOLLBY_TOKEN },
+{ "ntp",               T_Ntp,                  FOLLBY_TOKEN },
+{ "peer_clear_digest_early",   T_PCEdigest,    FOLLBY_TOKEN },
 { "stats",             T_Stats,                FOLLBY_TOKEN },
 { "unpeer_crypto_early",       T_UEcrypto,     FOLLBY_TOKEN },
 { "unpeer_crypto_nak_early",   T_UEcryptonak,  FOLLBY_TOKEN },
index 7804902b3c666ce8e62e89b951e2d2d22919975b..692a17168cddec22ccb52789f29549c253849bc2 100644 (file)
 .ds B-Font B
 .ds I-Font I
 .ds R-Font R
-.TH ntp.conf 5man "26 Apr 2016" "4.2.8p7" "File Formats"
+.TH ntp.conf 5man "19 May 2016" "4.2.8p7" "File Formats"
 .\"
-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-ana4jE/ag-QnaWiE)
+.\" EDIT THIS FILE WITH CAUTION (in-mem file)
 .\"
-.\" It has been AutoGen-ed April 26, 2016 at 08:28:14 PM by AutoGen 5.18.5
+.\" It has been AutoGen-ed May 19, 2016 at 06:54:53 AM by AutoGen 5.18.5
 .\" From the definitions ntp.conf.def
 .\" and the template file agman-cmd.tpl
 .SH NAME
@@ -2618,9 +2618,9 @@ This option specifies the Differentiated Services Control Point (DSCP) value,
 a 6-bit code.
 The default value is 46, signifying Expedited Forwarding.
 .TP 7
-.NOP \f\*[B-Font]enable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]]
+.NOP \f\*[B-Font]enable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]peer_clear_digest_early\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]]
 .TP 7
-.NOP \f\*[B-Font]disable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]]
+.NOP \f\*[B-Font]disable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]peer_clear_digest_early\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]]
 Provides a way to enable or disable various server options.
 Flags not mentioned are unaffected.
 Note that all of these flags
@@ -2693,6 +2693,27 @@ The default for
 this flag is
 \f\*[B-Font]enable\f[].
 .TP 7
+.NOP \f\*[B-Font]peer_clear_digest_early\f[]
+By default, if
+\fCntpd\f[]\fR(1ntpdmdoc)\f[]
+is using autokey and it
+receives a crypto-NAK packet that
+passes the duplicate packet and origin timestamp checks
+the peer variables are immediately cleared.
+While this is generally a feature
+as it allows for quick recovery if a server key has changed,
+a properly forged and appropriately delivered crypto-NAK packet
+can be used in a DoS attack.
+If you have active noticable problems with this type of DoS attack
+then you should consider
+disabling this option.
+You can check your
+\f\*[B-Font]peerstats\f[]
+file for evidence of any of these attacks.
+The
+default for this flag is
+\f\*[B-Font]enable\f[].
+.TP 7
 .NOP \f\*[B-Font]stats\f[]
 Enables the statistics facility.
 See the
index c6c7e6c9ac2486abba1a0b4359d1934888b8b932..438be894dcc730fe84056d028a2d4880356505e1 100644 (file)
@@ -1,9 +1,9 @@
-.Dd April 26 2016
+.Dd May 19 2016
 .Dt NTP_CONF 5mdoc File Formats
 .Os
 .\"  EDIT THIS FILE WITH CAUTION  (ntp.mdoc)
 .\"
-.\"  It has been AutoGen-ed  April 26, 2016 at 08:28:36 PM by AutoGen 5.18.5
+.\"  It has been AutoGen-ed  May 19, 2016 at 06:54:49 AM by AutoGen 5.18.5
 .\"  From the definitions    ntp.conf.def
 .\"  and the template file   agmdoc-cmd.tpl
 .Sh NAME
@@ -2440,6 +2440,7 @@ The default value is 46, signifying Expedited Forwarding.
 .Cm calibrate | Cm kernel |
 .Cm mode7 | Cm monitor |
 .Cm ntp | Cm stats |
+.Cm peer_clear_digest_early |
 .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early
 .Oc
 .Xc
@@ -2449,6 +2450,7 @@ The default value is 46, signifying Expedited Forwarding.
 .Cm calibrate | Cm kernel |
 .Cm mode7 | Cm monitor |
 .Cm ntp | Cm stats |
+.Cm peer_clear_digest_early |
 .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early
 .Oc
 .Xc
@@ -2516,6 +2518,26 @@ closes the feedback loop, which is useful for testing.
 The default for
 this flag is
 .Ic enable .
+.It Cm peer_clear_digest_early
+By default, if
+.Xr ntpd 1ntpdmdoc
+is using autokey and it
+receives a crypto\-NAK packet that
+passes the duplicate packet and origin timestamp checks
+the peer variables are immediately cleared.
+While this is generally a feature
+as it allows for quick recovery if a server key has changed,
+a properly forged and appropriately delivered crypto\-NAK packet
+can be used in a DoS attack.
+If you have active noticable problems with this type of DoS attack
+then you should consider
+disabling this option.
+You can check your
+.Cm peerstats
+file for evidence of any of these attacks.
+The
+default for this flag is
+.Ic enable .
 .It Cm stats
 Enables the statistics facility.
 See the
index 4993e02154767ed78f79c917b8b7a68c5647dbf0..a62e9765073917574f57941fb8f53a11c9514bbf 100644 (file)
@@ -2442,6 +2442,7 @@ The default value is 46, signifying Expedited Forwarding.
 .Cm calibrate | Cm kernel |
 .Cm mode7 | Cm monitor |
 .Cm ntp | Cm stats |
+.Cm peer_clear_digest_early |
 .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early
 .Oc
 .Xc
@@ -2451,6 +2452,7 @@ The default value is 46, signifying Expedited Forwarding.
 .Cm calibrate | Cm kernel |
 .Cm mode7 | Cm monitor |
 .Cm ntp | Cm stats |
+.Cm peer_clear_digest_early |
 .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early
 .Oc
 .Xc
@@ -2518,6 +2520,26 @@ closes the feedback loop, which is useful for testing.
 The default for
 this flag is
 .Ic enable .
+.It Cm peer_clear_digest_early
+By default, if
+.Xr ntpd 1ntpdmdoc
+is using autokey and it
+receives a crypto-NAK packet that
+passes the duplicate packet and origin timestamp checks
+the peer variables are immediately cleared.
+While this is generally a feature
+as it allows for quick recovery if a server key has changed,
+a properly forged and appropriately delivered crypto-NAK packet
+can be used in a DoS attack.
+If you have active noticable problems with this type of DoS attack
+then you should consider
+disabling this option.
+You can check your
+.Cm peerstats
+file for evidence of any of these attacks.
+The
+default for this flag is
+.Ic enable .
 .It Cm stats
 Enables the statistics facility.
 See the
index 98b37bc0c367f799ab95e7208a60b6a906e818e0..0f70e555996330b986dec1f96158ece0ecc2eefd 100644 (file)
 .ds B-Font B
 .ds I-Font I
 .ds R-Font R
-.TH ntp.conf 5 "26 Apr 2016" "4.2.8p7" "File Formats"
+.TH ntp.conf 5 "19 May 2016" "4.2.8p7" "File Formats"
 .\"
-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-ana4jE/ag-QnaWiE)
+.\" EDIT THIS FILE WITH CAUTION (in-mem file)
 .\"
-.\" It has been AutoGen-ed April 26, 2016 at 08:28:14 PM by AutoGen 5.18.5
+.\" It has been AutoGen-ed May 19, 2016 at 06:54:53 AM by AutoGen 5.18.5
 .\" From the definitions ntp.conf.def
 .\" and the template file agman-cmd.tpl
 .SH NAME
@@ -2618,9 +2618,9 @@ This option specifies the Differentiated Services Control Point (DSCP) value,
 a 6-bit code.
 The default value is 46, signifying Expedited Forwarding.
 .TP 7
-.NOP \f\*[B-Font]enable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]]
+.NOP \f\*[B-Font]enable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]peer_clear_digest_early\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]]
 .TP 7
-.NOP \f\*[B-Font]disable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]]
+.NOP \f\*[B-Font]disable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]peer_clear_digest_early\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]]
 Provides a way to enable or disable various server options.
 Flags not mentioned are unaffected.
 Note that all of these flags
@@ -2693,6 +2693,27 @@ The default for
 this flag is
 \f\*[B-Font]enable\f[].
 .TP 7
+.NOP \f\*[B-Font]peer_clear_digest_early\f[]
+By default, if
+\fCntpd\f[]\fR(@NTPD_MS@)\f[]
+is using autokey and it
+receives a crypto-NAK packet that
+passes the duplicate packet and origin timestamp checks
+the peer variables are immediately cleared.
+While this is generally a feature
+as it allows for quick recovery if a server key has changed,
+a properly forged and appropriately delivered crypto-NAK packet
+can be used in a DoS attack.
+If you have active noticable problems with this type of DoS attack
+then you should consider
+disabling this option.
+You can check your
+\f\*[B-Font]peerstats\f[]
+file for evidence of any of these attacks.
+The
+default for this flag is
+\f\*[B-Font]enable\f[].
+.TP 7
 .NOP \f\*[B-Font]stats\f[]
 Enables the statistics facility.
 See the
index 82164a36aba53f00eb80c6db0aba4539862cf6bf..841a3b520650e66ce960c44409b3fa2c9b848c36 100644 (file)
@@ -1,9 +1,9 @@
-.Dd April 26 2016
+.Dd May 19 2016
 .Dt NTP_CONF 5 File Formats
 .Os
 .\"  EDIT THIS FILE WITH CAUTION  (ntp.mdoc)
 .\"
-.\"  It has been AutoGen-ed  April 26, 2016 at 08:28:36 PM by AutoGen 5.18.5
+.\"  It has been AutoGen-ed  May 19, 2016 at 06:54:49 AM by AutoGen 5.18.5
 .\"  From the definitions    ntp.conf.def
 .\"  and the template file   agmdoc-cmd.tpl
 .Sh NAME
@@ -2440,6 +2440,7 @@ The default value is 46, signifying Expedited Forwarding.
 .Cm calibrate | Cm kernel |
 .Cm mode7 | Cm monitor |
 .Cm ntp | Cm stats |
+.Cm peer_clear_digest_early |
 .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early
 .Oc
 .Xc
@@ -2449,6 +2450,7 @@ The default value is 46, signifying Expedited Forwarding.
 .Cm calibrate | Cm kernel |
 .Cm mode7 | Cm monitor |
 .Cm ntp | Cm stats |
+.Cm peer_clear_digest_early |
 .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early
 .Oc
 .Xc
@@ -2516,6 +2518,26 @@ closes the feedback loop, which is useful for testing.
 The default for
 this flag is
 .Ic enable .
+.It Cm peer_clear_digest_early
+By default, if
+.Xr ntpd @NTPD_MS@
+is using autokey and it
+receives a crypto\-NAK packet that
+passes the duplicate packet and origin timestamp checks
+the peer variables are immediately cleared.
+While this is generally a feature
+as it allows for quick recovery if a server key has changed,
+a properly forged and appropriately delivered crypto\-NAK packet
+can be used in a DoS attack.
+If you have active noticable problems with this type of DoS attack
+then you should consider
+disabling this option.
+You can check your
+.Cm peerstats
+file for evidence of any of these attacks.
+The
+default for this flag is
+.Ic enable .
 .It Cm stats
 Enables the statistics facility.
 See the
index cb32737469895c8382b3a8166abfd7ea7c04900b..2d4ab527743487d1bc7231e10e9b5a5c6af8934d 100644 (file)
@@ -2971,12 +2971,16 @@ apply_enable_disable(
                        proto_config(PROTO_MONITOR, enable, 0., NULL);
                        break;
 
+               case T_Mode7:
+                       proto_config(PROTO_MODE7, enable, 0., NULL);
+                       break;
+
                case T_Ntp:
                        proto_config(PROTO_NTP, enable, 0., NULL);
                        break;
 
-               case T_Mode7:
-                       proto_config(PROTO_MODE7, enable, 0., NULL);
+               case T_PCEdigest:
+                       proto_config(PROTO_PCEDIGEST, enable, 0., NULL);
                        break;
 
                case T_Stats:
index c726c60da4e2633351e77f95db2221ceb96669d9..ec373cf7fe1960ce28d9c34af7d8433812d71ee4 100644 (file)
@@ -2,7 +2,7 @@
  * ntp_keyword.h
  * 
  * NOTE: edit this file with caution, it is generated by keyword-gen.c
- *      Generated 2016-01-16 08:33:03 UTC        diff_ignore_line
+ *      Generated 2016-05-19 06:35:34 UTC        diff_ignore_line
  *
  */
 #include "ntp_scanner.h"
@@ -10,7 +10,7 @@
 
 #define LOWEST_KEYWORD_ID 258
 
-const char * const keyword_text[194] = {
+const char * const keyword_text[195] = {
        /* 0       258             T_Abbrev */  "abbrev",
        /* 1       259                T_Age */  "age",
        /* 2       260                T_All */  "all",
@@ -133,83 +133,84 @@ const char * const keyword_text[194] = {
        /* 119     377     T_NtpSignDsocket */  "ntpsigndsocket",
        /* 120     378             T_Orphan */  "orphan",
        /* 121     379         T_Orphanwait */  "orphanwait",
-       /* 122     380              T_Panic */  "panic",
-       /* 123     381               T_Peer */  "peer",
-       /* 124     382          T_Peerstats */  "peerstats",
-       /* 125     383              T_Phone */  "phone",
-       /* 126     384                T_Pid */  "pid",
-       /* 127     385            T_Pidfile */  "pidfile",
-       /* 128     386               T_Pool */  "pool",
-       /* 129     387               T_Port */  "port",
-       /* 130     388            T_Preempt */  "preempt",
-       /* 131     389             T_Prefer */  "prefer",
-       /* 132     390         T_Protostats */  "protostats",
-       /* 133     391                 T_Pw */  "pw",
-       /* 134     392           T_Randfile */  "randfile",
-       /* 135     393           T_Rawstats */  "rawstats",
-       /* 136     394              T_Refid */  "refid",
-       /* 137     395         T_Requestkey */  "requestkey",
-       /* 138     396              T_Reset */  "reset",
-       /* 139     397           T_Restrict */  "restrict",
-       /* 140     398             T_Revoke */  "revoke",
-       /* 141     399             T_Rlimit */  "rlimit",
-       /* 142     400      T_Saveconfigdir */  "saveconfigdir",
-       /* 143     401             T_Server */  "server",
-       /* 144     402             T_Setvar */  "setvar",
-       /* 145     403             T_Source */  "source",
-       /* 146     404          T_Stacksize */  "stacksize",
-       /* 147     405         T_Statistics */  "statistics",
-       /* 148     406              T_Stats */  "stats",
-       /* 149     407           T_Statsdir */  "statsdir",
-       /* 150     408               T_Step */  "step",
-       /* 151     409           T_Stepback */  "stepback",
-       /* 152     410            T_Stepfwd */  "stepfwd",
-       /* 153     411            T_Stepout */  "stepout",
-       /* 154     412            T_Stratum */  "stratum",
-       /* 155     413             T_String */  NULL,
-       /* 156     414                T_Sys */  "sys",
-       /* 157     415           T_Sysstats */  "sysstats",
-       /* 158     416               T_Tick */  "tick",
-       /* 159     417              T_Time1 */  "time1",
-       /* 160     418              T_Time2 */  "time2",
-       /* 161     419              T_Timer */  "timer",
-       /* 162     420        T_Timingstats */  "timingstats",
-       /* 163     421             T_Tinker */  "tinker",
-       /* 164     422                T_Tos */  "tos",
-       /* 165     423               T_Trap */  "trap",
-       /* 166     424               T_True */  "true",
-       /* 167     425         T_Trustedkey */  "trustedkey",
-       /* 168     426                T_Ttl */  "ttl",
-       /* 169     427               T_Type */  "type",
-       /* 170     428              T_U_int */  NULL,
-       /* 171     429           T_UEcrypto */  "unpeer_crypto_early",
-       /* 172     430        T_UEcryptonak */  "unpeer_crypto_nak_early",
-       /* 173     431           T_UEdigest */  "unpeer_digest_early",
-       /* 174     432           T_Unconfig */  "unconfig",
-       /* 175     433             T_Unpeer */  "unpeer",
-       /* 176     434            T_Version */  "version",
-       /* 177     435    T_WanderThreshold */  NULL,
-       /* 178     436               T_Week */  "week",
-       /* 179     437           T_Wildcard */  "wildcard",
-       /* 180     438             T_Xleave */  "xleave",
-       /* 181     439               T_Year */  "year",
-       /* 182     440               T_Flag */  NULL,
-       /* 183     441                T_EOC */  NULL,
-       /* 184     442           T_Simulate */  "simulate",
-       /* 185     443         T_Beep_Delay */  "beep_delay",
-       /* 186     444       T_Sim_Duration */  "simulation_duration",
-       /* 187     445      T_Server_Offset */  "server_offset",
-       /* 188     446           T_Duration */  "duration",
-       /* 189     447        T_Freq_Offset */  "freq_offset",
-       /* 190     448             T_Wander */  "wander",
-       /* 191     449             T_Jitter */  "jitter",
-       /* 192     450         T_Prop_Delay */  "prop_delay",
-       /* 193     451         T_Proc_Delay */  "proc_delay"
+       /* 122     380          T_PCEdigest */  "peer_clear_digest_early",
+       /* 123     381              T_Panic */  "panic",
+       /* 124     382               T_Peer */  "peer",
+       /* 125     383          T_Peerstats */  "peerstats",
+       /* 126     384              T_Phone */  "phone",
+       /* 127     385                T_Pid */  "pid",
+       /* 128     386            T_Pidfile */  "pidfile",
+       /* 129     387               T_Pool */  "pool",
+       /* 130     388               T_Port */  "port",
+       /* 131     389            T_Preempt */  "preempt",
+       /* 132     390             T_Prefer */  "prefer",
+       /* 133     391         T_Protostats */  "protostats",
+       /* 134     392                 T_Pw */  "pw",
+       /* 135     393           T_Randfile */  "randfile",
+       /* 136     394           T_Rawstats */  "rawstats",
+       /* 137     395              T_Refid */  "refid",
+       /* 138     396         T_Requestkey */  "requestkey",
+       /* 139     397              T_Reset */  "reset",
+       /* 140     398           T_Restrict */  "restrict",
+       /* 141     399             T_Revoke */  "revoke",
+       /* 142     400             T_Rlimit */  "rlimit",
+       /* 143     401      T_Saveconfigdir */  "saveconfigdir",
+       /* 144     402             T_Server */  "server",
+       /* 145     403             T_Setvar */  "setvar",
+       /* 146     404             T_Source */  "source",
+       /* 147     405          T_Stacksize */  "stacksize",
+       /* 148     406         T_Statistics */  "statistics",
+       /* 149     407              T_Stats */  "stats",
+       /* 150     408           T_Statsdir */  "statsdir",
+       /* 151     409               T_Step */  "step",
+       /* 152     410           T_Stepback */  "stepback",
+       /* 153     411            T_Stepfwd */  "stepfwd",
+       /* 154     412            T_Stepout */  "stepout",
+       /* 155     413            T_Stratum */  "stratum",
+       /* 156     414             T_String */  NULL,
+       /* 157     415                T_Sys */  "sys",
+       /* 158     416           T_Sysstats */  "sysstats",
+       /* 159     417               T_Tick */  "tick",
+       /* 160     418              T_Time1 */  "time1",
+       /* 161     419              T_Time2 */  "time2",
+       /* 162     420              T_Timer */  "timer",
+       /* 163     421        T_Timingstats */  "timingstats",
+       /* 164     422             T_Tinker */  "tinker",
+       /* 165     423                T_Tos */  "tos",
+       /* 166     424               T_Trap */  "trap",
+       /* 167     425               T_True */  "true",
+       /* 168     426         T_Trustedkey */  "trustedkey",
+       /* 169     427                T_Ttl */  "ttl",
+       /* 170     428               T_Type */  "type",
+       /* 171     429              T_U_int */  NULL,
+       /* 172     430           T_UEcrypto */  "unpeer_crypto_early",
+       /* 173     431        T_UEcryptonak */  "unpeer_crypto_nak_early",
+       /* 174     432           T_UEdigest */  "unpeer_digest_early",
+       /* 175     433           T_Unconfig */  "unconfig",
+       /* 176     434             T_Unpeer */  "unpeer",
+       /* 177     435            T_Version */  "version",
+       /* 178     436    T_WanderThreshold */  NULL,
+       /* 179     437               T_Week */  "week",
+       /* 180     438           T_Wildcard */  "wildcard",
+       /* 181     439             T_Xleave */  "xleave",
+       /* 182     440               T_Year */  "year",
+       /* 183     441               T_Flag */  NULL,
+       /* 184     442                T_EOC */  NULL,
+       /* 185     443           T_Simulate */  "simulate",
+       /* 186     444         T_Beep_Delay */  "beep_delay",
+       /* 187     445       T_Sim_Duration */  "simulation_duration",
+       /* 188     446      T_Server_Offset */  "server_offset",
+       /* 189     447           T_Duration */  "duration",
+       /* 190     448        T_Freq_Offset */  "freq_offset",
+       /* 191     449             T_Wander */  "wander",
+       /* 192     450             T_Jitter */  "jitter",
+       /* 193     451         T_Prop_Delay */  "prop_delay",
+       /* 194     452         T_Proc_Delay */  "proc_delay"
 };
 
-#define SCANNER_INIT_S 887
+#define SCANNER_INIT_S 906
 
-const scan_state sst[890] = {
+const scan_state sst[909] = {
 /*SS_T( ch,    f-by, match, other ),                            */
   0,                                 /*     0                   */
   S_ST( '-',   3,      323,     0 ), /*     1                   */
@@ -255,7 +256,7 @@ const scan_state sst[890] = {
   S_ST( 'd',   3,       42,     0 ), /*    41 beep_             */
   S_ST( 'e',   3,       43,     0 ), /*    42 beep_d            */
   S_ST( 'l',   3,       44,     0 ), /*    43 beep_de           */
-  S_ST( 'a',   3,      443,     0 ), /*    44 beep_del          */
+  S_ST( 'a',   3,      444,     0 ), /*    44 beep_del          */
   S_ST( 'r',   3,       46,    34 ), /*    45 b                 */
   S_ST( 'o',   3,       47,     0 ), /*    46 br                */
   S_ST( 'a',   3,       48,     0 ), /*    47 bro               */
@@ -355,7 +356,7 @@ const scan_state sst[890] = {
   S_ST( 'a',   3,      142,     0 ), /*   141 dur               */
   S_ST( 't',   3,      143,     0 ), /*   142 dura              */
   S_ST( 'i',   3,      144,     0 ), /*   143 durat             */
-  S_ST( 'o',   3,      446,     0 ), /*   144 durati            */
+  S_ST( 'o',   3,      447,     0 ), /*   144 durati            */
   S_ST( 'e',   3,      146,   105 ), /*   145                   */
   S_ST( 'n',   3,      293,     0 ), /*   146 e                 */
   S_ST( 'a',   3,      148,     0 ), /*   147 en                */
@@ -381,7 +382,7 @@ const scan_state sst[890] = {
   S_ST( 'f',   3,      168,     0 ), /*   167 freq_o            */
   S_ST( 'f',   3,      169,     0 ), /*   168 freq_of           */
   S_ST( 's',   3,      170,     0 ), /*   169 freq_off          */
-  S_ST( 'e',   3,      447,     0 ), /*   170 freq_offs         */
+  S_ST( 'e',   3,      448,     0 ), /*   170 freq_offs         */
   S_ST( 'u',   3,      172,   163 ), /*   171 f                 */
   S_ST( 'd',   3,      173,     0 ), /*   172 fu                */
   S_ST( 'g',   3,      305,     0 ), /*   173 fud               */
@@ -441,7 +442,7 @@ const scan_state sst[890] = {
   S_ST( 'i',   3,      228,     0 ), /*   227 j                 */
   S_ST( 't',   3,      229,     0 ), /*   228 ji                */
   S_ST( 't',   3,      230,     0 ), /*   229 jit               */
-  S_ST( 'e',   3,      449,     0 ), /*   230 jitt              */
+  S_ST( 'e',   3,      450,     0 ), /*   230 jitt              */
   S_ST( 'k',   3,      238,   226 ), /*   231                   */
   S_ST( 'e',   3,      325,     0 ), /*   232 k                 */
   S_ST( 'r',   3,      234,     0 ), /*   233 ke                */
@@ -450,7 +451,7 @@ const scan_state sst[890] = {
   S_ST( 'd',   3,      237,     0 ), /*   236 keys              */
   S_ST( 'i',   3,      327,     0 ), /*   237 keysd             */
   S_ST( 'o',   3,      328,   232 ), /*   238 k                 */
-  S_ST( 'l',   3,      452,   231 ), /*   239                   */
+  S_ST( 'l',   3,      453,   231 ), /*   239                   */
   S_ST( 'e',   3,      241,     0 ), /*   240 l                 */
   S_ST( 'a',   3,      242,     0 ), /*   241 le                */
   S_ST( 'p',   3,      246,     0 ), /*   242 lea               */
@@ -498,7 +499,7 @@ const scan_state sst[890] = {
   S_ST( 'e',   0,        0,     0 ), /*   284 T_Disable         */
   S_ST( 'd',   0,        0,     0 ), /*   285 T_Discard         */
   S_ST( 'n',   0,        0,     0 ), /*   286 T_Dispersion      */
-  S_ST( 'i',   3,      435,   240 ), /*   287 l                 */
+  S_ST( 'i',   3,      436,   240 ), /*   287 l                 */
   S_ST( 'e',   1,        0,     0 ), /*   288 T_Driftfile       */
   S_ST( 'p',   0,        0,     0 ), /*   289 T_Drop            */
   S_ST( 'p',   0,        0,     0 ), /*   290 T_Dscp            */
@@ -529,7 +530,7 @@ const scan_state sst[890] = {
   S_ST( 'e',   1,        0,     0 ), /*   315 T_Includefile     */
   S_ST( 'i',   3,      318,     0 ), /*   316 lim               */
   S_ST( 'e',   0,        0,     0 ), /*   317 T_Interface       */
-  S_ST( 't',   3,      413,     0 ), /*   318 limi              */
+  S_ST( 't',   3,      414,     0 ), /*   318 limi              */
   S_ST( 'o',   0,        0,   195 ), /*   319 T_Io              */
   S_ST( '4',   0,        0,     0 ), /*   320 T_Ipv4            */
   S_ST( '4',   0,        0,     0 ), /*   321 T_Ipv4_flag       */
@@ -560,7 +561,7 @@ const scan_state sst[890] = {
   S_ST( 'm',   0,        0,     0 ), /*   346 T_Maxmem          */
   S_ST( 'l',   0,        0,     0 ), /*   347 T_Maxpoll         */
   S_ST( 's',   0,        0,     0 ), /*   348 T_Mdnstries       */
-  S_ST( 'm',   0,      521,     0 ), /*   349 T_Mem             */
+  S_ST( 'm',   0,      522,     0 ), /*   349 T_Mem             */
   S_ST( 'k',   0,        0,     0 ), /*   350 T_Memlock         */
   S_ST( 'k',   0,        0,     0 ), /*   351 T_Minclock        */
   S_ST( 'h',   0,        0,     0 ), /*   352 T_Mindepth        */
@@ -586,520 +587,539 @@ const scan_state sst[890] = {
   S_ST( 'e',   0,        0,     0 ), /*   372 T_Noserve         */
   S_ST( 'p',   0,        0,     0 ), /*   373 T_Notrap          */
   S_ST( 't',   0,        0,     0 ), /*   374 T_Notrust         */
-  S_ST( 'p',   0,      617,     0 ), /*   375 T_Ntp             */
+  S_ST( 'p',   0,      618,     0 ), /*   375 T_Ntp             */
   S_ST( 't',   0,        0,     0 ), /*   376 T_Ntpport         */
   S_ST( 't',   1,        0,     0 ), /*   377 T_NtpSignDsocket  */
-  S_ST( 'n',   0,      632,     0 ), /*   378 T_Orphan          */
+  S_ST( 'n',   0,      633,     0 ), /*   378 T_Orphan          */
   S_ST( 't',   0,        0,     0 ), /*   379 T_Orphanwait      */
-  S_ST( 'c',   0,        0,     0 ), /*   380 T_Panic           */
-  S_ST( 'r',   1,      641,     0 ), /*   381 T_Peer            */
-  S_ST( 's',   0,        0,     0 ), /*   382 T_Peerstats       */
-  S_ST( 'e',   2,        0,     0 ), /*   383 T_Phone           */
-  S_ST( 'd',   0,      649,     0 ), /*   384 T_Pid             */
-  S_ST( 'e',   1,        0,     0 ), /*   385 T_Pidfile         */
-  S_ST( 'l',   1,        0,     0 ), /*   386 T_Pool            */
-  S_ST( 't',   0,        0,     0 ), /*   387 T_Port            */
-  S_ST( 't',   0,        0,     0 ), /*   388 T_Preempt         */
-  S_ST( 'r',   0,        0,     0 ), /*   389 T_Prefer          */
-  S_ST( 's',   0,        0,     0 ), /*   390 T_Protostats      */
-  S_ST( 'w',   1,        0,   655 ), /*   391 T_Pw              */
-  S_ST( 'e',   1,        0,     0 ), /*   392 T_Randfile        */
-  S_ST( 's',   0,        0,     0 ), /*   393 T_Rawstats        */
-  S_ST( 'd',   1,        0,     0 ), /*   394 T_Refid           */
-  S_ST( 'y',   0,        0,     0 ), /*   395 T_Requestkey      */
-  S_ST( 't',   0,        0,     0 ), /*   396 T_Reset           */
-  S_ST( 't',   0,        0,     0 ), /*   397 T_Restrict        */
-  S_ST( 'e',   0,        0,     0 ), /*   398 T_Revoke          */
-  S_ST( 't',   0,        0,     0 ), /*   399 T_Rlimit          */
-  S_ST( 'r',   1,        0,     0 ), /*   400 T_Saveconfigdir   */
-  S_ST( 'r',   1,      732,     0 ), /*   401 T_Server          */
-  S_ST( 'r',   1,        0,     0 ), /*   402 T_Setvar          */
-  S_ST( 'e',   0,        0,     0 ), /*   403 T_Source          */
-  S_ST( 'e',   0,        0,     0 ), /*   404 T_Stacksize       */
-  S_ST( 's',   0,        0,     0 ), /*   405 T_Statistics      */
-  S_ST( 's',   0,      775,   770 ), /*   406 T_Stats           */
-  S_ST( 'r',   1,        0,     0 ), /*   407 T_Statsdir        */
-  S_ST( 'p',   0,      783,     0 ), /*   408 T_Step            */
-  S_ST( 'k',   0,        0,     0 ), /*   409 T_Stepback        */
-  S_ST( 'd',   0,        0,     0 ), /*   410 T_Stepfwd         */
-  S_ST( 't',   0,        0,     0 ), /*   411 T_Stepout         */
-  S_ST( 'm',   0,        0,     0 ), /*   412 T_Stratum         */
-  S_ST( 'e',   3,      332,     0 ), /*   413 limit             */
-  S_ST( 's',   0,      790,     0 ), /*   414 T_Sys             */
-  S_ST( 's',   0,        0,     0 ), /*   415 T_Sysstats        */
-  S_ST( 'k',   0,        0,     0 ), /*   416 T_Tick            */
-  S_ST( '1',   0,        0,     0 ), /*   417 T_Time1           */
-  S_ST( '2',   0,        0,   417 ), /*   418 T_Time2           */
-  S_ST( 'r',   0,        0,   418 ), /*   419 T_Timer           */
-  S_ST( 's',   0,        0,     0 ), /*   420 T_Timingstats     */
-  S_ST( 'r',   0,        0,     0 ), /*   421 T_Tinker          */
-  S_ST( 's',   0,        0,     0 ), /*   422 T_Tos             */
-  S_ST( 'p',   1,        0,     0 ), /*   423 T_Trap            */
-  S_ST( 'e',   0,        0,     0 ), /*   424 T_True            */
-  S_ST( 'y',   0,        0,     0 ), /*   425 T_Trustedkey      */
-  S_ST( 'l',   0,        0,     0 ), /*   426 T_Ttl             */
-  S_ST( 'e',   0,        0,     0 ), /*   427 T_Type            */
-  S_ST( 'n',   3,      333,   294 ), /*   428 li                */
-  S_ST( 'y',   0,        0,     0 ), /*   429 T_UEcrypto        */
-  S_ST( 'y',   0,        0,     0 ), /*   430 T_UEcryptonak     */
-  S_ST( 'y',   0,        0,     0 ), /*   431 T_UEdigest        */
-  S_ST( 'g',   1,        0,     0 ), /*   432 T_Unconfig        */
-  S_ST( 'r',   1,      832,     0 ), /*   433 T_Unpeer          */
-  S_ST( 'n',   0,        0,     0 ), /*   434 T_Version         */
-  S_ST( 's',   3,      440,   428 ), /*   435 li                */
-  S_ST( 'k',   0,        0,     0 ), /*   436 T_Week            */
-  S_ST( 'd',   0,        0,     0 ), /*   437 T_Wildcard        */
-  S_ST( 'e',   0,        0,     0 ), /*   438 T_Xleave          */
-  S_ST( 'r',   0,        0,     0 ), /*   439 T_Year            */
-  S_ST( 't',   3,      441,     0 ), /*   440 lis               */
-  S_ST( 'e',   3,      334,     0 ), /*   441 list              */
-  S_ST( 'e',   0,        0,     0 ), /*   442 T_Simulate        */
-  S_ST( 'y',   0,        0,     0 ), /*   443 T_Beep_Delay      */
-  S_ST( 'n',   0,        0,     0 ), /*   444 T_Sim_Duration    */
-  S_ST( 't',   0,        0,     0 ), /*   445 T_Server_Offset   */
-  S_ST( 'n',   0,        0,     0 ), /*   446 T_Duration        */
-  S_ST( 't',   0,        0,     0 ), /*   447 T_Freq_Offset     */
-  S_ST( 'r',   0,        0,     0 ), /*   448 T_Wander          */
-  S_ST( 'r',   0,        0,     0 ), /*   449 T_Jitter          */
-  S_ST( 'y',   0,        0,     0 ), /*   450 T_Prop_Delay      */
-  S_ST( 'y',   0,        0,     0 ), /*   451 T_Proc_Delay      */
-  S_ST( 'o',   3,      468,   287 ), /*   452 l                 */
-  S_ST( 'g',   3,      459,     0 ), /*   453 lo                */
-  S_ST( 'c',   3,      455,     0 ), /*   454 log               */
-  S_ST( 'o',   3,      456,     0 ), /*   455 logc              */
-  S_ST( 'n',   3,      457,     0 ), /*   456 logco             */
-  S_ST( 'f',   3,      458,     0 ), /*   457 logcon            */
-  S_ST( 'i',   3,      335,     0 ), /*   458 logconf           */
-  S_ST( 'f',   3,      460,   454 ), /*   459 log               */
-  S_ST( 'i',   3,      461,     0 ), /*   460 logf              */
-  S_ST( 'l',   3,      336,     0 ), /*   461 logfi             */
-  S_ST( 'o',   3,      463,   453 ), /*   462 lo                */
-  S_ST( 'p',   3,      464,     0 ), /*   463 loo               */
-  S_ST( 's',   3,      465,     0 ), /*   464 loop              */
-  S_ST( 't',   3,      466,     0 ), /*   465 loops             */
-  S_ST( 'a',   3,      467,     0 ), /*   466 loopst            */
-  S_ST( 't',   3,      337,     0 ), /*   467 loopsta           */
-  S_ST( 'w',   3,      469,   462 ), /*   468 lo                */
-  S_ST( 'p',   3,      470,     0 ), /*   469 low               */
-  S_ST( 'r',   3,      471,     0 ), /*   470 lowp              */
-  S_ST( 'i',   3,      472,     0 ), /*   471 lowpr             */
-  S_ST( 'o',   3,      473,     0 ), /*   472 lowpri            */
-  S_ST( 't',   3,      474,     0 ), /*   473 lowprio           */
-  S_ST( 'r',   3,      475,     0 ), /*   474 lowpriot          */
-  S_ST( 'a',   3,      338,     0 ), /*   475 lowpriotr         */
-  S_ST( 'm',   3,      557,   239 ), /*   476                   */
-  S_ST( 'a',   3,      495,     0 ), /*   477 m                 */
-  S_ST( 'n',   3,      479,     0 ), /*   478 ma                */
-  S_ST( 'y',   3,      480,     0 ), /*   479 man               */
-  S_ST( 'c',   3,      481,     0 ), /*   480 many              */
-  S_ST( 'a',   3,      482,     0 ), /*   481 manyc             */
-  S_ST( 's',   3,      483,     0 ), /*   482 manyca            */
-  S_ST( 't',   3,      489,     0 ), /*   483 manycas           */
-  S_ST( 'c',   3,      485,     0 ), /*   484 manycast          */
-  S_ST( 'l',   3,      486,     0 ), /*   485 manycastc         */
-  S_ST( 'i',   3,      487,     0 ), /*   486 manycastcl        */
-  S_ST( 'e',   3,      488,     0 ), /*   487 manycastcli       */
-  S_ST( 'n',   3,      339,     0 ), /*   488 manycastclie      */
-  S_ST( 's',   3,      490,   484 ), /*   489 manycast          */
-  S_ST( 'e',   3,      491,     0 ), /*   490 manycasts         */
-  S_ST( 'r',   3,      492,     0 ), /*   491 manycastse        */
-  S_ST( 'v',   3,      493,     0 ), /*   492 manycastser       */
-  S_ST( 'e',   3,      340,     0 ), /*   493 manycastserv      */
-  S_ST( 's',   3,      341,   478 ), /*   494 ma                */
-  S_ST( 'x',   3,      510,   494 ), /*   495 ma                */
-  S_ST( 'a',   3,      497,     0 ), /*   496 max               */
-  S_ST( 'g',   3,      342,     0 ), /*   497 maxa              */
-  S_ST( 'c',   3,      499,   496 ), /*   498 max               */
-  S_ST( 'l',   3,      500,     0 ), /*   499 maxc              */
-  S_ST( 'o',   3,      501,     0 ), /*   500 maxcl             */
-  S_ST( 'c',   3,      343,     0 ), /*   501 maxclo            */
-  S_ST( 'd',   3,      506,   498 ), /*   502 max               */
-  S_ST( 'e',   3,      504,     0 ), /*   503 maxd              */
-  S_ST( 'p',   3,      505,     0 ), /*   504 maxde             */
-  S_ST( 't',   3,      344,     0 ), /*   505 maxdep            */
-  S_ST( 'i',   3,      507,   503 ), /*   506 maxd              */
-  S_ST( 's',   3,      345,     0 ), /*   507 maxdi             */
-  S_ST( 'm',   3,      509,   502 ), /*   508 max               */
-  S_ST( 'e',   3,      346,     0 ), /*   509 maxm              */
-  S_ST( 'p',   3,      511,   508 ), /*   510 max               */
-  S_ST( 'o',   3,      512,     0 ), /*   511 maxp              */
-  S_ST( 'l',   3,      347,     0 ), /*   512 maxpo             */
-  S_ST( 'd',   3,      514,   477 ), /*   513 m                 */
-  S_ST( 'n',   3,      515,     0 ), /*   514 md                */
-  S_ST( 's',   3,      516,     0 ), /*   515 mdn               */
-  S_ST( 't',   3,      517,     0 ), /*   516 mdns              */
-  S_ST( 'r',   3,      518,     0 ), /*   517 mdnst             */
-  S_ST( 'i',   3,      519,     0 ), /*   518 mdnstr            */
-  S_ST( 'e',   3,      348,     0 ), /*   519 mdnstri           */
-  S_ST( 'e',   3,      349,   513 ), /*   520 m                 */
-  S_ST( 'l',   3,      522,     0 ), /*   521 mem               */
-  S_ST( 'o',   3,      523,     0 ), /*   522 meml              */
-  S_ST( 'c',   3,      350,     0 ), /*   523 memlo             */
-  S_ST( 'i',   3,      525,   520 ), /*   524 m                 */
-  S_ST( 'n',   3,      542,     0 ), /*   525 mi                */
-  S_ST( 'c',   3,      527,     0 ), /*   526 min               */
-  S_ST( 'l',   3,      528,     0 ), /*   527 minc              */
-  S_ST( 'o',   3,      529,     0 ), /*   528 mincl             */
-  S_ST( 'c',   3,      351,     0 ), /*   529 minclo            */
-  S_ST( 'd',   3,      534,   526 ), /*   530 min               */
-  S_ST( 'e',   3,      532,     0 ), /*   531 mind              */
-  S_ST( 'p',   3,      533,     0 ), /*   532 minde             */
-  S_ST( 't',   3,      352,     0 ), /*   533 mindep            */
-  S_ST( 'i',   3,      535,   531 ), /*   534 mind              */
-  S_ST( 's',   3,      353,     0 ), /*   535 mindi             */
-  S_ST( 'i',   3,      537,   530 ), /*   536 min               */
-  S_ST( 'm',   3,      538,     0 ), /*   537 mini              */
-  S_ST( 'u',   3,      354,     0 ), /*   538 minim             */
-  S_ST( 'p',   3,      540,   536 ), /*   539 min               */
-  S_ST( 'o',   3,      541,     0 ), /*   540 minp              */
-  S_ST( 'l',   3,      355,     0 ), /*   541 minpo             */
-  S_ST( 's',   3,      543,   539 ), /*   542 min               */
-  S_ST( 'a',   3,      544,     0 ), /*   543 mins              */
-  S_ST( 'n',   3,      356,     0 ), /*   544 minsa             */
-  S_ST( 'o',   3,      547,   524 ), /*   545 m                 */
-  S_ST( 'd',   3,      357,     0 ), /*   546 mo                */
-  S_ST( 'n',   3,      551,   546 ), /*   547 mo                */
-  S_ST( 'i',   3,      549,     0 ), /*   548 mon               */
-  S_ST( 't',   3,      550,     0 ), /*   549 moni              */
-  S_ST( 'o',   3,      359,     0 ), /*   550 monit             */
-  S_ST( 't',   3,      360,   548 ), /*   551 mon               */
-  S_ST( 'r',   3,      361,   545 ), /*   552 m                 */
-  S_ST( 's',   3,      554,   552 ), /*   553 m                 */
-  S_ST( 's',   3,      555,     0 ), /*   554 ms                */
-  S_ST( 'n',   3,      556,     0 ), /*   555 mss               */
-  S_ST( 't',   3,      329,     0 ), /*   556 mssn              */
-  S_ST( 'u',   3,      558,   553 ), /*   557 m                 */
-  S_ST( 'l',   3,      559,     0 ), /*   558 mu                */
-  S_ST( 't',   3,      560,     0 ), /*   559 mul               */
-  S_ST( 'i',   3,      561,     0 ), /*   560 mult              */
-  S_ST( 'c',   3,      562,     0 ), /*   561 multi             */
-  S_ST( 'a',   3,      563,     0 ), /*   562 multic            */
-  S_ST( 's',   3,      564,     0 ), /*   563 multica           */
-  S_ST( 't',   3,      565,     0 ), /*   564 multicas          */
-  S_ST( 'c',   3,      566,     0 ), /*   565 multicast         */
-  S_ST( 'l',   3,      567,     0 ), /*   566 multicastc        */
-  S_ST( 'i',   3,      568,     0 ), /*   567 multicastcl       */
-  S_ST( 'e',   3,      569,     0 ), /*   568 multicastcli      */
-  S_ST( 'n',   3,      362,     0 ), /*   569 multicastclie     */
-  S_ST( 'n',   3,      613,   476 ), /*   570                   */
-  S_ST( 'i',   3,      363,     0 ), /*   571 n                 */
-  S_ST( 'o',   3,      608,   571 ), /*   572 n                 */
-  S_ST( 'l',   3,      574,     0 ), /*   573 no                */
-  S_ST( 'i',   3,      575,     0 ), /*   574 nol               */
-  S_ST( 'n',   3,      364,     0 ), /*   575 noli              */
-  S_ST( 'm',   3,      581,   573 ), /*   576 no                */
-  S_ST( 'o',   3,      578,     0 ), /*   577 nom               */
-  S_ST( 'd',   3,      579,     0 ), /*   578 nomo              */
-  S_ST( 'i',   3,      580,     0 ), /*   579 nomod             */
-  S_ST( 'f',   3,      365,     0 ), /*   580 nomodi            */
-  S_ST( 'r',   3,      582,   577 ), /*   581 nom               */
-  S_ST( 'u',   3,      583,     0 ), /*   582 nomr              */
-  S_ST( 'l',   3,      584,     0 ), /*   583 nomru             */
-  S_ST( 'i',   3,      585,     0 ), /*   584 nomrul            */
-  S_ST( 's',   3,      366,     0 ), /*   585 nomruli           */
-  S_ST( 'n',   3,      587,   576 ), /*   586 no                */
-  S_ST( 'v',   3,      588,   367 ), /*   587 non               */
-  S_ST( 'o',   3,      589,     0 ), /*   588 nonv              */
-  S_ST( 'l',   3,      590,     0 ), /*   589 nonvo             */
-  S_ST( 'a',   3,      591,     0 ), /*   590 nonvol            */
-  S_ST( 't',   3,      592,     0 ), /*   591 nonvola           */
-  S_ST( 'i',   3,      593,     0 ), /*   592 nonvolat          */
-  S_ST( 'l',   3,      368,     0 ), /*   593 nonvolati         */
-  S_ST( 'p',   3,      595,   586 ), /*   594 no                */
-  S_ST( 'e',   3,      596,     0 ), /*   595 nop               */
-  S_ST( 'e',   3,      369,     0 ), /*   596 nope              */
-  S_ST( 'q',   3,      598,   594 ), /*   597 no                */
-  S_ST( 'u',   3,      599,     0 ), /*   598 noq               */
-  S_ST( 'e',   3,      600,     0 ), /*   599 noqu              */
-  S_ST( 'r',   3,      370,     0 ), /*   600 noque             */
-  S_ST( 's',   3,      602,   597 ), /*   601 no                */
-  S_ST( 'e',   3,      606,     0 ), /*   602 nos               */
-  S_ST( 'l',   3,      604,     0 ), /*   603 nose              */
-  S_ST( 'e',   3,      605,     0 ), /*   604 nosel             */
-  S_ST( 'c',   3,      371,     0 ), /*   605 nosele            */
-  S_ST( 'r',   3,      607,   603 ), /*   606 nose              */
-  S_ST( 'v',   3,      372,     0 ), /*   607 noser             */
-  S_ST( 't',   3,      609,   601 ), /*   608 no                */
-  S_ST( 'r',   3,      611,     0 ), /*   609 not               */
-  S_ST( 'a',   3,      373,     0 ), /*   610 notr              */
-  S_ST( 'u',   3,      612,   610 ), /*   611 notr              */
-  S_ST( 's',   3,      374,     0 ), /*   612 notru             */
-  S_ST( 't',   3,      375,   572 ), /*   613 n                 */
-  S_ST( 'p',   3,      615,     0 ), /*   614 ntp               */
-  S_ST( 'o',   3,      616,     0 ), /*   615 ntpp              */
-  S_ST( 'r',   3,      376,     0 ), /*   616 ntppo             */
-  S_ST( 's',   3,      618,   614 ), /*   617 ntp               */
-  S_ST( 'i',   3,      619,     0 ), /*   618 ntps              */
-  S_ST( 'g',   3,      620,     0 ), /*   619 ntpsi             */
-  S_ST( 'n',   3,      621,     0 ), /*   620 ntpsig            */
-  S_ST( 'd',   3,      622,     0 ), /*   621 ntpsign           */
-  S_ST( 's',   3,      623,     0 ), /*   622 ntpsignd          */
-  S_ST( 'o',   3,      624,     0 ), /*   623 ntpsignds         */
-  S_ST( 'c',   3,      625,     0 ), /*   624 ntpsigndso        */
-  S_ST( 'k',   3,      626,     0 ), /*   625 ntpsigndsoc       */
-  S_ST( 'e',   3,      377,     0 ), /*   626 ntpsigndsock      */
-  S_ST( 'o',   3,      628,   570 ), /*   627                   */
-  S_ST( 'r',   3,      629,     0 ), /*   628 o                 */
-  S_ST( 'p',   3,      630,     0 ), /*   629 or                */
-  S_ST( 'h',   3,      631,     0 ), /*   630 orp               */
-  S_ST( 'a',   3,      378,     0 ), /*   631 orph              */
-  S_ST( 'w',   3,      633,     0 ), /*   632 orphan            */
-  S_ST( 'a',   3,      634,     0 ), /*   633 orphanw           */
-  S_ST( 'i',   3,      379,     0 ), /*   634 orphanwa          */
-  S_ST( 'p',   3,      391,   627 ), /*   635                   */
-  S_ST( 'a',   3,      637,     0 ), /*   636 p                 */
-  S_ST( 'n',   3,      638,     0 ), /*   637 pa                */
-  S_ST( 'i',   3,      380,     0 ), /*   638 pan               */
-  S_ST( 'e',   3,      640,   636 ), /*   639 p                 */
-  S_ST( 'e',   3,      381,     0 ), /*   640 pe                */
-  S_ST( 's',   3,      642,     0 ), /*   641 peer              */
-  S_ST( 't',   3,      643,     0 ), /*   642 peers             */
-  S_ST( 'a',   3,      644,     0 ), /*   643 peerst            */
-  S_ST( 't',   3,      382,     0 ), /*   644 peersta           */
-  S_ST( 'h',   3,      646,   639 ), /*   645 p                 */
-  S_ST( 'o',   3,      647,     0 ), /*   646 ph                */
-  S_ST( 'n',   3,      383,     0 ), /*   647 pho               */
-  S_ST( 'i',   3,      384,   645 ), /*   648 p                 */
-  S_ST( 'f',   3,      650,     0 ), /*   649 pid               */
-  S_ST( 'i',   3,      651,     0 ), /*   650 pidf              */
-  S_ST( 'l',   3,      385,     0 ), /*   651 pidfi             */
-  S_ST( 'o',   3,      654,   648 ), /*   652 p                 */
-  S_ST( 'o',   3,      386,     0 ), /*   653 po                */
-  S_ST( 'r',   3,      387,   653 ), /*   654 po                */
-  S_ST( 'r',   3,      662,   652 ), /*   655 p                 */
-  S_ST( 'e',   3,      660,     0 ), /*   656 pr                */
-  S_ST( 'e',   3,      658,     0 ), /*   657 pre               */
-  S_ST( 'm',   3,      659,     0 ), /*   658 pree              */
-  S_ST( 'p',   3,      388,     0 ), /*   659 preem             */
-  S_ST( 'f',   3,      661,   657 ), /*   660 pre               */
-  S_ST( 'e',   3,      389,     0 ), /*   661 pref              */
-  S_ST( 'o',   3,      675,   656 ), /*   662 pr                */
-  S_ST( 'c',   3,      664,     0 ), /*   663 pro               */
-  S_ST( '_',   3,      665,     0 ), /*   664 proc              */
-  S_ST( 'd',   3,      666,     0 ), /*   665 proc_             */
-  S_ST( 'e',   3,      667,     0 ), /*   666 proc_d            */
-  S_ST( 'l',   3,      668,     0 ), /*   667 proc_de           */
-  S_ST( 'a',   3,      451,     0 ), /*   668 proc_del          */
-  S_ST( 'p',   3,      670,   663 ), /*   669 pro               */
-  S_ST( '_',   3,      671,     0 ), /*   670 prop              */
-  S_ST( 'd',   3,      672,     0 ), /*   671 prop_             */
-  S_ST( 'e',   3,      673,     0 ), /*   672 prop_d            */
-  S_ST( 'l',   3,      674,     0 ), /*   673 prop_de           */
-  S_ST( 'a',   3,      450,     0 ), /*   674 prop_del          */
-  S_ST( 't',   3,      676,   669 ), /*   675 pro               */
-  S_ST( 'o',   3,      677,     0 ), /*   676 prot              */
-  S_ST( 's',   3,      678,     0 ), /*   677 proto             */
-  S_ST( 't',   3,      679,     0 ), /*   678 protos            */
-  S_ST( 'a',   3,      680,     0 ), /*   679 protost           */
-  S_ST( 't',   3,      390,     0 ), /*   680 protosta          */
-  S_ST( 'r',   3,      712,   635 ), /*   681                   */
-  S_ST( 'a',   3,      688,     0 ), /*   682 r                 */
-  S_ST( 'n',   3,      684,     0 ), /*   683 ra                */
-  S_ST( 'd',   3,      685,     0 ), /*   684 ran               */
-  S_ST( 'f',   3,      686,     0 ), /*   685 rand              */
-  S_ST( 'i',   3,      687,     0 ), /*   686 randf             */
-  S_ST( 'l',   3,      392,     0 ), /*   687 randfi            */
-  S_ST( 'w',   3,      689,   683 ), /*   688 ra                */
-  S_ST( 's',   3,      690,     0 ), /*   689 raw               */
-  S_ST( 't',   3,      691,     0 ), /*   690 raws              */
-  S_ST( 'a',   3,      692,     0 ), /*   691 rawst             */
-  S_ST( 't',   3,      393,     0 ), /*   692 rawsta            */
-  S_ST( 'e',   3,      709,   682 ), /*   693 r                 */
-  S_ST( 'f',   3,      695,     0 ), /*   694 re                */
-  S_ST( 'i',   3,      394,     0 ), /*   695 ref               */
-  S_ST( 'q',   3,      697,   694 ), /*   696 re                */
-  S_ST( 'u',   3,      698,     0 ), /*   697 req               */
-  S_ST( 'e',   3,      699,     0 ), /*   698 requ              */
-  S_ST( 's',   3,      700,     0 ), /*   699 reque             */
-  S_ST( 't',   3,      701,     0 ), /*   700 reques            */
-  S_ST( 'k',   3,      702,     0 ), /*   701 request           */
-  S_ST( 'e',   3,      395,     0 ), /*   702 requestk          */
-  S_ST( 's',   3,      705,   696 ), /*   703 re                */
-  S_ST( 'e',   3,      396,     0 ), /*   704 res               */
-  S_ST( 't',   3,      706,   704 ), /*   705 res               */
-  S_ST( 'r',   3,      707,     0 ), /*   706 rest              */
-  S_ST( 'i',   3,      708,     0 ), /*   707 restr             */
-  S_ST( 'c',   3,      397,     0 ), /*   708 restri            */
-  S_ST( 'v',   3,      710,   703 ), /*   709 re                */
-  S_ST( 'o',   3,      711,     0 ), /*   710 rev               */
-  S_ST( 'k',   3,      398,     0 ), /*   711 revo              */
-  S_ST( 'l',   3,      713,   693 ), /*   712 r                 */
-  S_ST( 'i',   3,      714,     0 ), /*   713 rl                */
-  S_ST( 'm',   3,      715,     0 ), /*   714 rli               */
-  S_ST( 'i',   3,      399,     0 ), /*   715 rlim              */
-  S_ST( 's',   3,      789,   681 ), /*   716                   */
-  S_ST( 'a',   3,      718,     0 ), /*   717 s                 */
-  S_ST( 'v',   3,      719,     0 ), /*   718 sa                */
-  S_ST( 'e',   3,      720,     0 ), /*   719 sav               */
-  S_ST( 'c',   3,      721,     0 ), /*   720 save              */
-  S_ST( 'o',   3,      722,     0 ), /*   721 savec             */
-  S_ST( 'n',   3,      723,     0 ), /*   722 saveco            */
-  S_ST( 'f',   3,      724,     0 ), /*   723 savecon           */
-  S_ST( 'i',   3,      725,     0 ), /*   724 saveconf          */
-  S_ST( 'g',   3,      726,     0 ), /*   725 saveconfi         */
-  S_ST( 'd',   3,      727,     0 ), /*   726 saveconfig        */
-  S_ST( 'i',   3,      400,     0 ), /*   727 saveconfigd       */
-  S_ST( 'e',   3,      738,   717 ), /*   728 s                 */
-  S_ST( 'r',   3,      730,     0 ), /*   729 se                */
-  S_ST( 'v',   3,      731,     0 ), /*   730 ser               */
-  S_ST( 'e',   3,      401,     0 ), /*   731 serv              */
-  S_ST( '_',   3,      733,     0 ), /*   732 server            */
-  S_ST( 'o',   3,      734,     0 ), /*   733 server_           */
-  S_ST( 'f',   3,      735,     0 ), /*   734 server_o          */
-  S_ST( 'f',   3,      736,     0 ), /*   735 server_of         */
-  S_ST( 's',   3,      737,     0 ), /*   736 server_off        */
-  S_ST( 'e',   3,      445,     0 ), /*   737 server_offs       */
-  S_ST( 't',   3,      739,   729 ), /*   738 se                */
-  S_ST( 'v',   3,      740,     0 ), /*   739 set               */
-  S_ST( 'a',   3,      402,     0 ), /*   740 setv              */
-  S_ST( 'i',   3,      742,   728 ), /*   741 s                 */
-  S_ST( 'm',   3,      743,     0 ), /*   742 si                */
-  S_ST( 'u',   3,      744,     0 ), /*   743 sim               */
-  S_ST( 'l',   3,      745,     0 ), /*   744 simu              */
-  S_ST( 'a',   3,      746,     0 ), /*   745 simul             */
-  S_ST( 't',   3,      747,     0 ), /*   746 simula            */
-  S_ST( 'i',   3,      748,   442 ), /*   747 simulat           */
-  S_ST( 'o',   3,      749,     0 ), /*   748 simulati          */
-  S_ST( 'n',   3,      750,     0 ), /*   749 simulatio         */
-  S_ST( '_',   3,      751,     0 ), /*   750 simulation        */
-  S_ST( 'd',   3,      752,     0 ), /*   751 simulation_       */
-  S_ST( 'u',   3,      753,     0 ), /*   752 simulation_d      */
-  S_ST( 'r',   3,      754,     0 ), /*   753 simulation_du     */
-  S_ST( 'a',   3,      755,     0 ), /*   754 simulation_dur    */
-  S_ST( 't',   3,      756,     0 ), /*   755 simulation_dura   */
-  S_ST( 'i',   3,      757,     0 ), /*   756 simulation_durat  */
-  S_ST( 'o',   3,      444,     0 ), /*   757 simulation_durati */
-  S_ST( 'o',   3,      759,   741 ), /*   758 s                 */
-  S_ST( 'u',   3,      760,     0 ), /*   759 so                */
-  S_ST( 'r',   3,      761,     0 ), /*   760 sou               */
-  S_ST( 'c',   3,      403,     0 ), /*   761 sour              */
-  S_ST( 't',   3,      785,   758 ), /*   762 s                 */
-  S_ST( 'a',   3,      769,     0 ), /*   763 st                */
-  S_ST( 'c',   3,      765,     0 ), /*   764 sta               */
-  S_ST( 'k',   3,      766,     0 ), /*   765 stac              */
-  S_ST( 's',   3,      767,     0 ), /*   766 stack             */
-  S_ST( 'i',   3,      768,     0 ), /*   767 stacks            */
-  S_ST( 'z',   3,      404,     0 ), /*   768 stacksi           */
-  S_ST( 't',   3,      406,   764 ), /*   769 sta               */
-  S_ST( 'i',   3,      771,     0 ), /*   770 stat              */
-  S_ST( 's',   3,      772,     0 ), /*   771 stati             */
-  S_ST( 't',   3,      773,     0 ), /*   772 statis            */
-  S_ST( 'i',   3,      774,     0 ), /*   773 statist           */
-  S_ST( 'c',   3,      405,     0 ), /*   774 statisti          */
-  S_ST( 'd',   3,      776,     0 ), /*   775 stats             */
-  S_ST( 'i',   3,      407,     0 ), /*   776 statsd            */
-  S_ST( 'e',   3,      408,   763 ), /*   777 st                */
-  S_ST( 'b',   3,      779,     0 ), /*   778 step              */
-  S_ST( 'a',   3,      780,     0 ), /*   779 stepb             */
-  S_ST( 'c',   3,      409,     0 ), /*   780 stepba            */
-  S_ST( 'f',   3,      782,   778 ), /*   781 step              */
-  S_ST( 'w',   3,      410,     0 ), /*   782 stepf             */
-  S_ST( 'o',   3,      784,   781 ), /*   783 step              */
-  S_ST( 'u',   3,      411,     0 ), /*   784 stepo             */
-  S_ST( 'r',   3,      786,   777 ), /*   785 st                */
-  S_ST( 'a',   3,      787,     0 ), /*   786 str               */
-  S_ST( 't',   3,      788,     0 ), /*   787 stra              */
-  S_ST( 'u',   3,      412,     0 ), /*   788 strat             */
-  S_ST( 'y',   3,      414,   762 ), /*   789 s                 */
-  S_ST( 's',   3,      791,     0 ), /*   790 sys               */
-  S_ST( 't',   3,      792,     0 ), /*   791 syss              */
-  S_ST( 'a',   3,      793,     0 ), /*   792 sysst             */
-  S_ST( 't',   3,      415,     0 ), /*   793 syssta            */
-  S_ST( 't',   3,      820,   716 ), /*   794                   */
-  S_ST( 'i',   3,      806,     0 ), /*   795 t                 */
-  S_ST( 'c',   3,      416,     0 ), /*   796 ti                */
-  S_ST( 'm',   3,      799,   796 ), /*   797 ti                */
-  S_ST( 'e',   3,      419,     0 ), /*   798 tim               */
-  S_ST( 'i',   3,      800,   798 ), /*   799 tim               */
-  S_ST( 'n',   3,      801,     0 ), /*   800 timi              */
-  S_ST( 'g',   3,      802,     0 ), /*   801 timin             */
-  S_ST( 's',   3,      803,     0 ), /*   802 timing            */
-  S_ST( 't',   3,      804,     0 ), /*   803 timings           */
-  S_ST( 'a',   3,      805,     0 ), /*   804 timingst          */
-  S_ST( 't',   3,      420,     0 ), /*   805 timingsta         */
-  S_ST( 'n',   3,      807,   797 ), /*   806 ti                */
-  S_ST( 'k',   3,      808,     0 ), /*   807 tin               */
-  S_ST( 'e',   3,      421,     0 ), /*   808 tink              */
-  S_ST( 'o',   3,      422,   795 ), /*   809 t                 */
-  S_ST( 'r',   3,      812,   809 ), /*   810 t                 */
-  S_ST( 'a',   3,      423,     0 ), /*   811 tr                */
-  S_ST( 'u',   3,      813,   811 ), /*   812 tr                */
-  S_ST( 's',   3,      814,   424 ), /*   813 tru               */
-  S_ST( 't',   3,      815,     0 ), /*   814 trus              */
-  S_ST( 'e',   3,      816,     0 ), /*   815 trust             */
-  S_ST( 'd',   3,      817,     0 ), /*   816 truste            */
-  S_ST( 'k',   3,      818,     0 ), /*   817 trusted           */
-  S_ST( 'e',   3,      425,     0 ), /*   818 trustedk          */
-  S_ST( 't',   3,      426,   810 ), /*   819 t                 */
-  S_ST( 'y',   3,      821,   819 ), /*   820 t                 */
-  S_ST( 'p',   3,      427,     0 ), /*   821 ty                */
-  S_ST( 'u',   3,      823,   794 ), /*   822                   */
-  S_ST( 'n',   3,      829,     0 ), /*   823 u                 */
-  S_ST( 'c',   3,      825,     0 ), /*   824 un                */
-  S_ST( 'o',   3,      826,     0 ), /*   825 unc               */
-  S_ST( 'n',   3,      827,     0 ), /*   826 unco              */
-  S_ST( 'f',   3,      828,     0 ), /*   827 uncon             */
-  S_ST( 'i',   3,      432,     0 ), /*   828 unconf            */
-  S_ST( 'p',   3,      830,   824 ), /*   829 un                */
-  S_ST( 'e',   3,      831,     0 ), /*   830 unp               */
-  S_ST( 'e',   3,      433,     0 ), /*   831 unpe              */
-  S_ST( '_',   3,      852,     0 ), /*   832 unpeer            */
-  S_ST( 'c',   3,      834,     0 ), /*   833 unpeer_           */
-  S_ST( 'r',   3,      835,     0 ), /*   834 unpeer_c          */
-  S_ST( 'y',   3,      836,     0 ), /*   835 unpeer_cr         */
-  S_ST( 'p',   3,      837,     0 ), /*   836 unpeer_cry        */
-  S_ST( 't',   3,      838,     0 ), /*   837 unpeer_cryp       */
-  S_ST( 'o',   3,      839,     0 ), /*   838 unpeer_crypt      */
-  S_ST( '_',   3,      844,     0 ), /*   839 unpeer_crypto     */
-  S_ST( 'e',   3,      841,     0 ), /*   840 unpeer_crypto_    */
-  S_ST( 'a',   3,      842,     0 ), /*   841 unpeer_crypto_e   */
-  S_ST( 'r',   3,      843,     0 ), /*   842 unpeer_crypto_ea  */
-  S_ST( 'l',   3,      429,     0 ), /*   843 unpeer_crypto_ear */
-  S_ST( 'n',   3,      845,   840 ), /*   844 unpeer_crypto_    */
-  S_ST( 'a',   3,      846,     0 ), /*   845 unpeer_crypto_n   */
-  S_ST( 'k',   3,      847,     0 ), /*   846 unpeer_crypto_na  */
-  S_ST( '_',   3,      848,     0 ), /*   847 unpeer_crypto_nak */
-  S_ST( 'e',   3,      849,     0 ), /*   848 unpeer_crypto_nak_ */
-  S_ST( 'a',   3,      850,     0 ), /*   849 unpeer_crypto_nak_e */
-  S_ST( 'r',   3,      851,     0 ), /*   850 unpeer_crypto_nak_ea */
-  S_ST( 'l',   3,      430,     0 ), /*   851 unpeer_crypto_nak_ear */
-  S_ST( 'd',   3,      853,   833 ), /*   852 unpeer_           */
-  S_ST( 'i',   3,      854,     0 ), /*   853 unpeer_d          */
-  S_ST( 'g',   3,      855,     0 ), /*   854 unpeer_di         */
-  S_ST( 'e',   3,      856,     0 ), /*   855 unpeer_dig        */
-  S_ST( 's',   3,      857,     0 ), /*   856 unpeer_dige       */
-  S_ST( 't',   3,      858,     0 ), /*   857 unpeer_diges      */
-  S_ST( '_',   3,      859,     0 ), /*   858 unpeer_digest     */
-  S_ST( 'e',   3,      860,     0 ), /*   859 unpeer_digest_    */
-  S_ST( 'a',   3,      861,     0 ), /*   860 unpeer_digest_e   */
-  S_ST( 'r',   3,      862,     0 ), /*   861 unpeer_digest_ea  */
-  S_ST( 'l',   3,      431,     0 ), /*   862 unpeer_digest_ear */
-  S_ST( 'v',   3,      864,   822 ), /*   863                   */
-  S_ST( 'e',   3,      865,     0 ), /*   864 v                 */
-  S_ST( 'r',   3,      866,     0 ), /*   865 ve                */
-  S_ST( 's',   3,      867,     0 ), /*   866 ver               */
-  S_ST( 'i',   3,      868,     0 ), /*   867 vers              */
-  S_ST( 'o',   3,      434,     0 ), /*   868 versi             */
-  S_ST( 'w',   3,      876,   863 ), /*   869                   */
-  S_ST( 'a',   3,      871,     0 ), /*   870 w                 */
-  S_ST( 'n',   3,      872,     0 ), /*   871 wa                */
-  S_ST( 'd',   3,      873,     0 ), /*   872 wan               */
-  S_ST( 'e',   3,      448,     0 ), /*   873 wand              */
-  S_ST( 'e',   3,      875,   870 ), /*   874 w                 */
-  S_ST( 'e',   3,      436,     0 ), /*   875 we                */
-  S_ST( 'i',   3,      877,   874 ), /*   876 w                 */
-  S_ST( 'l',   3,      878,     0 ), /*   877 wi                */
-  S_ST( 'd',   3,      879,     0 ), /*   878 wil               */
-  S_ST( 'c',   3,      880,     0 ), /*   879 wild              */
-  S_ST( 'a',   3,      881,     0 ), /*   880 wildc             */
-  S_ST( 'r',   3,      437,     0 ), /*   881 wildca            */
-  S_ST( 'x',   3,      883,   869 ), /*   882                   */
-  S_ST( 'l',   3,      884,     0 ), /*   883 x                 */
-  S_ST( 'e',   3,      885,     0 ), /*   884 xl                */
-  S_ST( 'a',   3,      886,     0 ), /*   885 xle               */
-  S_ST( 'v',   3,      438,     0 ), /*   886 xlea              */
-  S_ST( 'y',   3,      888,   882 ), /*   887 [initial state]   */
-  S_ST( 'e',   3,      889,     0 ), /*   888 y                 */
-  S_ST( 'a',   3,      439,     0 )  /*   889 ye                */
+  S_ST( 'y',   0,        0,     0 ), /*   380 T_PCEdigest       */
+  S_ST( 'c',   0,        0,     0 ), /*   381 T_Panic           */
+  S_ST( 'r',   1,      660,     0 ), /*   382 T_Peer            */
+  S_ST( 's',   0,        0,     0 ), /*   383 T_Peerstats       */
+  S_ST( 'e',   2,        0,     0 ), /*   384 T_Phone           */
+  S_ST( 'd',   0,      668,     0 ), /*   385 T_Pid             */
+  S_ST( 'e',   1,        0,     0 ), /*   386 T_Pidfile         */
+  S_ST( 'l',   1,        0,     0 ), /*   387 T_Pool            */
+  S_ST( 't',   0,        0,     0 ), /*   388 T_Port            */
+  S_ST( 't',   0,        0,     0 ), /*   389 T_Preempt         */
+  S_ST( 'r',   0,        0,     0 ), /*   390 T_Prefer          */
+  S_ST( 's',   0,        0,     0 ), /*   391 T_Protostats      */
+  S_ST( 'w',   1,        0,   674 ), /*   392 T_Pw              */
+  S_ST( 'e',   1,        0,     0 ), /*   393 T_Randfile        */
+  S_ST( 's',   0,        0,     0 ), /*   394 T_Rawstats        */
+  S_ST( 'd',   1,        0,     0 ), /*   395 T_Refid           */
+  S_ST( 'y',   0,        0,     0 ), /*   396 T_Requestkey      */
+  S_ST( 't',   0,        0,     0 ), /*   397 T_Reset           */
+  S_ST( 't',   0,        0,     0 ), /*   398 T_Restrict        */
+  S_ST( 'e',   0,        0,     0 ), /*   399 T_Revoke          */
+  S_ST( 't',   0,        0,     0 ), /*   400 T_Rlimit          */
+  S_ST( 'r',   1,        0,     0 ), /*   401 T_Saveconfigdir   */
+  S_ST( 'r',   1,      751,     0 ), /*   402 T_Server          */
+  S_ST( 'r',   1,        0,     0 ), /*   403 T_Setvar          */
+  S_ST( 'e',   0,        0,     0 ), /*   404 T_Source          */
+  S_ST( 'e',   0,        0,     0 ), /*   405 T_Stacksize       */
+  S_ST( 's',   0,        0,     0 ), /*   406 T_Statistics      */
+  S_ST( 's',   0,      794,   789 ), /*   407 T_Stats           */
+  S_ST( 'r',   1,        0,     0 ), /*   408 T_Statsdir        */
+  S_ST( 'p',   0,      802,     0 ), /*   409 T_Step            */
+  S_ST( 'k',   0,        0,     0 ), /*   410 T_Stepback        */
+  S_ST( 'd',   0,        0,     0 ), /*   411 T_Stepfwd         */
+  S_ST( 't',   0,        0,     0 ), /*   412 T_Stepout         */
+  S_ST( 'm',   0,        0,     0 ), /*   413 T_Stratum         */
+  S_ST( 'e',   3,      332,     0 ), /*   414 limit             */
+  S_ST( 's',   0,      809,     0 ), /*   415 T_Sys             */
+  S_ST( 's',   0,        0,     0 ), /*   416 T_Sysstats        */
+  S_ST( 'k',   0,        0,     0 ), /*   417 T_Tick            */
+  S_ST( '1',   0,        0,     0 ), /*   418 T_Time1           */
+  S_ST( '2',   0,        0,   418 ), /*   419 T_Time2           */
+  S_ST( 'r',   0,        0,   419 ), /*   420 T_Timer           */
+  S_ST( 's',   0,        0,     0 ), /*   421 T_Timingstats     */
+  S_ST( 'r',   0,        0,     0 ), /*   422 T_Tinker          */
+  S_ST( 's',   0,        0,     0 ), /*   423 T_Tos             */
+  S_ST( 'p',   1,        0,     0 ), /*   424 T_Trap            */
+  S_ST( 'e',   0,        0,     0 ), /*   425 T_True            */
+  S_ST( 'y',   0,        0,     0 ), /*   426 T_Trustedkey      */
+  S_ST( 'l',   0,        0,     0 ), /*   427 T_Ttl             */
+  S_ST( 'e',   0,        0,     0 ), /*   428 T_Type            */
+  S_ST( 'n',   3,      333,   294 ), /*   429 li                */
+  S_ST( 'y',   0,        0,     0 ), /*   430 T_UEcrypto        */
+  S_ST( 'y',   0,        0,     0 ), /*   431 T_UEcryptonak     */
+  S_ST( 'y',   0,        0,     0 ), /*   432 T_UEdigest        */
+  S_ST( 'g',   1,        0,     0 ), /*   433 T_Unconfig        */
+  S_ST( 'r',   1,      851,     0 ), /*   434 T_Unpeer          */
+  S_ST( 'n',   0,        0,     0 ), /*   435 T_Version         */
+  S_ST( 's',   3,      441,   429 ), /*   436 li                */
+  S_ST( 'k',   0,        0,     0 ), /*   437 T_Week            */
+  S_ST( 'd',   0,        0,     0 ), /*   438 T_Wildcard        */
+  S_ST( 'e',   0,        0,     0 ), /*   439 T_Xleave          */
+  S_ST( 'r',   0,        0,     0 ), /*   440 T_Year            */
+  S_ST( 't',   3,      442,     0 ), /*   441 lis               */
+  S_ST( 'e',   3,      334,     0 ), /*   442 list              */
+  S_ST( 'e',   0,        0,     0 ), /*   443 T_Simulate        */
+  S_ST( 'y',   0,        0,     0 ), /*   444 T_Beep_Delay      */
+  S_ST( 'n',   0,        0,     0 ), /*   445 T_Sim_Duration    */
+  S_ST( 't',   0,        0,     0 ), /*   446 T_Server_Offset   */
+  S_ST( 'n',   0,        0,     0 ), /*   447 T_Duration        */
+  S_ST( 't',   0,        0,     0 ), /*   448 T_Freq_Offset     */
+  S_ST( 'r',   0,        0,     0 ), /*   449 T_Wander          */
+  S_ST( 'r',   0,        0,     0 ), /*   450 T_Jitter          */
+  S_ST( 'y',   0,        0,     0 ), /*   451 T_Prop_Delay      */
+  S_ST( 'y',   0,        0,     0 ), /*   452 T_Proc_Delay      */
+  S_ST( 'o',   3,      469,   287 ), /*   453 l                 */
+  S_ST( 'g',   3,      460,     0 ), /*   454 lo                */
+  S_ST( 'c',   3,      456,     0 ), /*   455 log               */
+  S_ST( 'o',   3,      457,     0 ), /*   456 logc              */
+  S_ST( 'n',   3,      458,     0 ), /*   457 logco             */
+  S_ST( 'f',   3,      459,     0 ), /*   458 logcon            */
+  S_ST( 'i',   3,      335,     0 ), /*   459 logconf           */
+  S_ST( 'f',   3,      461,   455 ), /*   460 log               */
+  S_ST( 'i',   3,      462,     0 ), /*   461 logf              */
+  S_ST( 'l',   3,      336,     0 ), /*   462 logfi             */
+  S_ST( 'o',   3,      464,   454 ), /*   463 lo                */
+  S_ST( 'p',   3,      465,     0 ), /*   464 loo               */
+  S_ST( 's',   3,      466,     0 ), /*   465 loop              */
+  S_ST( 't',   3,      467,     0 ), /*   466 loops             */
+  S_ST( 'a',   3,      468,     0 ), /*   467 loopst            */
+  S_ST( 't',   3,      337,     0 ), /*   468 loopsta           */
+  S_ST( 'w',   3,      470,   463 ), /*   469 lo                */
+  S_ST( 'p',   3,      471,     0 ), /*   470 low               */
+  S_ST( 'r',   3,      472,     0 ), /*   471 lowp              */
+  S_ST( 'i',   3,      473,     0 ), /*   472 lowpr             */
+  S_ST( 'o',   3,      474,     0 ), /*   473 lowpri            */
+  S_ST( 't',   3,      475,     0 ), /*   474 lowprio           */
+  S_ST( 'r',   3,      476,     0 ), /*   475 lowpriot          */
+  S_ST( 'a',   3,      338,     0 ), /*   476 lowpriotr         */
+  S_ST( 'm',   3,      558,   239 ), /*   477                   */
+  S_ST( 'a',   3,      496,     0 ), /*   478 m                 */
+  S_ST( 'n',   3,      480,     0 ), /*   479 ma                */
+  S_ST( 'y',   3,      481,     0 ), /*   480 man               */
+  S_ST( 'c',   3,      482,     0 ), /*   481 many              */
+  S_ST( 'a',   3,      483,     0 ), /*   482 manyc             */
+  S_ST( 's',   3,      484,     0 ), /*   483 manyca            */
+  S_ST( 't',   3,      490,     0 ), /*   484 manycas           */
+  S_ST( 'c',   3,      486,     0 ), /*   485 manycast          */
+  S_ST( 'l',   3,      487,     0 ), /*   486 manycastc         */
+  S_ST( 'i',   3,      488,     0 ), /*   487 manycastcl        */
+  S_ST( 'e',   3,      489,     0 ), /*   488 manycastcli       */
+  S_ST( 'n',   3,      339,     0 ), /*   489 manycastclie      */
+  S_ST( 's',   3,      491,   485 ), /*   490 manycast          */
+  S_ST( 'e',   3,      492,     0 ), /*   491 manycasts         */
+  S_ST( 'r',   3,      493,     0 ), /*   492 manycastse        */
+  S_ST( 'v',   3,      494,     0 ), /*   493 manycastser       */
+  S_ST( 'e',   3,      340,     0 ), /*   494 manycastserv      */
+  S_ST( 's',   3,      341,   479 ), /*   495 ma                */
+  S_ST( 'x',   3,      511,   495 ), /*   496 ma                */
+  S_ST( 'a',   3,      498,     0 ), /*   497 max               */
+  S_ST( 'g',   3,      342,     0 ), /*   498 maxa              */
+  S_ST( 'c',   3,      500,   497 ), /*   499 max               */
+  S_ST( 'l',   3,      501,     0 ), /*   500 maxc              */
+  S_ST( 'o',   3,      502,     0 ), /*   501 maxcl             */
+  S_ST( 'c',   3,      343,     0 ), /*   502 maxclo            */
+  S_ST( 'd',   3,      507,   499 ), /*   503 max               */
+  S_ST( 'e',   3,      505,     0 ), /*   504 maxd              */
+  S_ST( 'p',   3,      506,     0 ), /*   505 maxde             */
+  S_ST( 't',   3,      344,     0 ), /*   506 maxdep            */
+  S_ST( 'i',   3,      508,   504 ), /*   507 maxd              */
+  S_ST( 's',   3,      345,     0 ), /*   508 maxdi             */
+  S_ST( 'm',   3,      510,   503 ), /*   509 max               */
+  S_ST( 'e',   3,      346,     0 ), /*   510 maxm              */
+  S_ST( 'p',   3,      512,   509 ), /*   511 max               */
+  S_ST( 'o',   3,      513,     0 ), /*   512 maxp              */
+  S_ST( 'l',   3,      347,     0 ), /*   513 maxpo             */
+  S_ST( 'd',   3,      515,   478 ), /*   514 m                 */
+  S_ST( 'n',   3,      516,     0 ), /*   515 md                */
+  S_ST( 's',   3,      517,     0 ), /*   516 mdn               */
+  S_ST( 't',   3,      518,     0 ), /*   517 mdns              */
+  S_ST( 'r',   3,      519,     0 ), /*   518 mdnst             */
+  S_ST( 'i',   3,      520,     0 ), /*   519 mdnstr            */
+  S_ST( 'e',   3,      348,     0 ), /*   520 mdnstri           */
+  S_ST( 'e',   3,      349,   514 ), /*   521 m                 */
+  S_ST( 'l',   3,      523,     0 ), /*   522 mem               */
+  S_ST( 'o',   3,      524,     0 ), /*   523 meml              */
+  S_ST( 'c',   3,      350,     0 ), /*   524 memlo             */
+  S_ST( 'i',   3,      526,   521 ), /*   525 m                 */
+  S_ST( 'n',   3,      543,     0 ), /*   526 mi                */
+  S_ST( 'c',   3,      528,     0 ), /*   527 min               */
+  S_ST( 'l',   3,      529,     0 ), /*   528 minc              */
+  S_ST( 'o',   3,      530,     0 ), /*   529 mincl             */
+  S_ST( 'c',   3,      351,     0 ), /*   530 minclo            */
+  S_ST( 'd',   3,      535,   527 ), /*   531 min               */
+  S_ST( 'e',   3,      533,     0 ), /*   532 mind              */
+  S_ST( 'p',   3,      534,     0 ), /*   533 minde             */
+  S_ST( 't',   3,      352,     0 ), /*   534 mindep            */
+  S_ST( 'i',   3,      536,   532 ), /*   535 mind              */
+  S_ST( 's',   3,      353,     0 ), /*   536 mindi             */
+  S_ST( 'i',   3,      538,   531 ), /*   537 min               */
+  S_ST( 'm',   3,      539,     0 ), /*   538 mini              */
+  S_ST( 'u',   3,      354,     0 ), /*   539 minim             */
+  S_ST( 'p',   3,      541,   537 ), /*   540 min               */
+  S_ST( 'o',   3,      542,     0 ), /*   541 minp              */
+  S_ST( 'l',   3,      355,     0 ), /*   542 minpo             */
+  S_ST( 's',   3,      544,   540 ), /*   543 min               */
+  S_ST( 'a',   3,      545,     0 ), /*   544 mins              */
+  S_ST( 'n',   3,      356,     0 ), /*   545 minsa             */
+  S_ST( 'o',   3,      548,   525 ), /*   546 m                 */
+  S_ST( 'd',   3,      357,     0 ), /*   547 mo                */
+  S_ST( 'n',   3,      552,   547 ), /*   548 mo                */
+  S_ST( 'i',   3,      550,     0 ), /*   549 mon               */
+  S_ST( 't',   3,      551,     0 ), /*   550 moni              */
+  S_ST( 'o',   3,      359,     0 ), /*   551 monit             */
+  S_ST( 't',   3,      360,   549 ), /*   552 mon               */
+  S_ST( 'r',   3,      361,   546 ), /*   553 m                 */
+  S_ST( 's',   3,      555,   553 ), /*   554 m                 */
+  S_ST( 's',   3,      556,     0 ), /*   555 ms                */
+  S_ST( 'n',   3,      557,     0 ), /*   556 mss               */
+  S_ST( 't',   3,      329,     0 ), /*   557 mssn              */
+  S_ST( 'u',   3,      559,   554 ), /*   558 m                 */
+  S_ST( 'l',   3,      560,     0 ), /*   559 mu                */
+  S_ST( 't',   3,      561,     0 ), /*   560 mul               */
+  S_ST( 'i',   3,      562,     0 ), /*   561 mult              */
+  S_ST( 'c',   3,      563,     0 ), /*   562 multi             */
+  S_ST( 'a',   3,      564,     0 ), /*   563 multic            */
+  S_ST( 's',   3,      565,     0 ), /*   564 multica           */
+  S_ST( 't',   3,      566,     0 ), /*   565 multicas          */
+  S_ST( 'c',   3,      567,     0 ), /*   566 multicast         */
+  S_ST( 'l',   3,      568,     0 ), /*   567 multicastc        */
+  S_ST( 'i',   3,      569,     0 ), /*   568 multicastcl       */
+  S_ST( 'e',   3,      570,     0 ), /*   569 multicastcli      */
+  S_ST( 'n',   3,      362,     0 ), /*   570 multicastclie     */
+  S_ST( 'n',   3,      614,   477 ), /*   571                   */
+  S_ST( 'i',   3,      363,     0 ), /*   572 n                 */
+  S_ST( 'o',   3,      609,   572 ), /*   573 n                 */
+  S_ST( 'l',   3,      575,     0 ), /*   574 no                */
+  S_ST( 'i',   3,      576,     0 ), /*   575 nol               */
+  S_ST( 'n',   3,      364,     0 ), /*   576 noli              */
+  S_ST( 'm',   3,      582,   574 ), /*   577 no                */
+  S_ST( 'o',   3,      579,     0 ), /*   578 nom               */
+  S_ST( 'd',   3,      580,     0 ), /*   579 nomo              */
+  S_ST( 'i',   3,      581,     0 ), /*   580 nomod             */
+  S_ST( 'f',   3,      365,     0 ), /*   581 nomodi            */
+  S_ST( 'r',   3,      583,   578 ), /*   582 nom               */
+  S_ST( 'u',   3,      584,     0 ), /*   583 nomr              */
+  S_ST( 'l',   3,      585,     0 ), /*   584 nomru             */
+  S_ST( 'i',   3,      586,     0 ), /*   585 nomrul            */
+  S_ST( 's',   3,      366,     0 ), /*   586 nomruli           */
+  S_ST( 'n',   3,      588,   577 ), /*   587 no                */
+  S_ST( 'v',   3,      589,   367 ), /*   588 non               */
+  S_ST( 'o',   3,      590,     0 ), /*   589 nonv              */
+  S_ST( 'l',   3,      591,     0 ), /*   590 nonvo             */
+  S_ST( 'a',   3,      592,     0 ), /*   591 nonvol            */
+  S_ST( 't',   3,      593,     0 ), /*   592 nonvola           */
+  S_ST( 'i',   3,      594,     0 ), /*   593 nonvolat          */
+  S_ST( 'l',   3,      368,     0 ), /*   594 nonvolati         */
+  S_ST( 'p',   3,      596,   587 ), /*   595 no                */
+  S_ST( 'e',   3,      597,     0 ), /*   596 nop               */
+  S_ST( 'e',   3,      369,     0 ), /*   597 nope              */
+  S_ST( 'q',   3,      599,   595 ), /*   598 no                */
+  S_ST( 'u',   3,      600,     0 ), /*   599 noq               */
+  S_ST( 'e',   3,      601,     0 ), /*   600 noqu              */
+  S_ST( 'r',   3,      370,     0 ), /*   601 noque             */
+  S_ST( 's',   3,      603,   598 ), /*   602 no                */
+  S_ST( 'e',   3,      607,     0 ), /*   603 nos               */
+  S_ST( 'l',   3,      605,     0 ), /*   604 nose              */
+  S_ST( 'e',   3,      606,     0 ), /*   605 nosel             */
+  S_ST( 'c',   3,      371,     0 ), /*   606 nosele            */
+  S_ST( 'r',   3,      608,   604 ), /*   607 nose              */
+  S_ST( 'v',   3,      372,     0 ), /*   608 noser             */
+  S_ST( 't',   3,      610,   602 ), /*   609 no                */
+  S_ST( 'r',   3,      612,     0 ), /*   610 not               */
+  S_ST( 'a',   3,      373,     0 ), /*   611 notr              */
+  S_ST( 'u',   3,      613,   611 ), /*   612 notr              */
+  S_ST( 's',   3,      374,     0 ), /*   613 notru             */
+  S_ST( 't',   3,      375,   573 ), /*   614 n                 */
+  S_ST( 'p',   3,      616,     0 ), /*   615 ntp               */
+  S_ST( 'o',   3,      617,     0 ), /*   616 ntpp              */
+  S_ST( 'r',   3,      376,     0 ), /*   617 ntppo             */
+  S_ST( 's',   3,      619,   615 ), /*   618 ntp               */
+  S_ST( 'i',   3,      620,     0 ), /*   619 ntps              */
+  S_ST( 'g',   3,      621,     0 ), /*   620 ntpsi             */
+  S_ST( 'n',   3,      622,     0 ), /*   621 ntpsig            */
+  S_ST( 'd',   3,      623,     0 ), /*   622 ntpsign           */
+  S_ST( 's',   3,      624,     0 ), /*   623 ntpsignd          */
+  S_ST( 'o',   3,      625,     0 ), /*   624 ntpsignds         */
+  S_ST( 'c',   3,      626,     0 ), /*   625 ntpsigndso        */
+  S_ST( 'k',   3,      627,     0 ), /*   626 ntpsigndsoc       */
+  S_ST( 'e',   3,      377,     0 ), /*   627 ntpsigndsock      */
+  S_ST( 'o',   3,      629,   571 ), /*   628                   */
+  S_ST( 'r',   3,      630,     0 ), /*   629 o                 */
+  S_ST( 'p',   3,      631,     0 ), /*   630 or                */
+  S_ST( 'h',   3,      632,     0 ), /*   631 orp               */
+  S_ST( 'a',   3,      378,     0 ), /*   632 orph              */
+  S_ST( 'w',   3,      634,     0 ), /*   633 orphan            */
+  S_ST( 'a',   3,      635,     0 ), /*   634 orphanw           */
+  S_ST( 'i',   3,      379,     0 ), /*   635 orphanwa          */
+  S_ST( 'p',   3,      392,   628 ), /*   636                   */
+  S_ST( 'a',   3,      638,     0 ), /*   637 p                 */
+  S_ST( 'n',   3,      639,     0 ), /*   638 pa                */
+  S_ST( 'i',   3,      381,     0 ), /*   639 pan               */
+  S_ST( 'e',   3,      641,   637 ), /*   640 p                 */
+  S_ST( 'e',   3,      382,     0 ), /*   641 pe                */
+  S_ST( '_',   3,      643,     0 ), /*   642 peer              */
+  S_ST( 'c',   3,      644,     0 ), /*   643 peer_             */
+  S_ST( 'l',   3,      645,     0 ), /*   644 peer_c            */
+  S_ST( 'e',   3,      646,     0 ), /*   645 peer_cl           */
+  S_ST( 'a',   3,      647,     0 ), /*   646 peer_cle          */
+  S_ST( 'r',   3,      648,     0 ), /*   647 peer_clea         */
+  S_ST( '_',   3,      649,     0 ), /*   648 peer_clear        */
+  S_ST( 'd',   3,      650,     0 ), /*   649 peer_clear_       */
+  S_ST( 'i',   3,      651,     0 ), /*   650 peer_clear_d      */
+  S_ST( 'g',   3,      652,     0 ), /*   651 peer_clear_di     */
+  S_ST( 'e',   3,      653,     0 ), /*   652 peer_clear_dig    */
+  S_ST( 's',   3,      654,     0 ), /*   653 peer_clear_dige   */
+  S_ST( 't',   3,      655,     0 ), /*   654 peer_clear_diges  */
+  S_ST( '_',   3,      656,     0 ), /*   655 peer_clear_digest */
+  S_ST( 'e',   3,      657,     0 ), /*   656 peer_clear_digest_ */
+  S_ST( 'a',   3,      658,     0 ), /*   657 peer_clear_digest_e */
+  S_ST( 'r',   3,      659,     0 ), /*   658 peer_clear_digest_ea */
+  S_ST( 'l',   3,      380,     0 ), /*   659 peer_clear_digest_ear */
+  S_ST( 's',   3,      661,   642 ), /*   660 peer              */
+  S_ST( 't',   3,      662,     0 ), /*   661 peers             */
+  S_ST( 'a',   3,      663,     0 ), /*   662 peerst            */
+  S_ST( 't',   3,      383,     0 ), /*   663 peersta           */
+  S_ST( 'h',   3,      665,   640 ), /*   664 p                 */
+  S_ST( 'o',   3,      666,     0 ), /*   665 ph                */
+  S_ST( 'n',   3,      384,     0 ), /*   666 pho               */
+  S_ST( 'i',   3,      385,   664 ), /*   667 p                 */
+  S_ST( 'f',   3,      669,     0 ), /*   668 pid               */
+  S_ST( 'i',   3,      670,     0 ), /*   669 pidf              */
+  S_ST( 'l',   3,      386,     0 ), /*   670 pidfi             */
+  S_ST( 'o',   3,      673,   667 ), /*   671 p                 */
+  S_ST( 'o',   3,      387,     0 ), /*   672 po                */
+  S_ST( 'r',   3,      388,   672 ), /*   673 po                */
+  S_ST( 'r',   3,      681,   671 ), /*   674 p                 */
+  S_ST( 'e',   3,      679,     0 ), /*   675 pr                */
+  S_ST( 'e',   3,      677,     0 ), /*   676 pre               */
+  S_ST( 'm',   3,      678,     0 ), /*   677 pree              */
+  S_ST( 'p',   3,      389,     0 ), /*   678 preem             */
+  S_ST( 'f',   3,      680,   676 ), /*   679 pre               */
+  S_ST( 'e',   3,      390,     0 ), /*   680 pref              */
+  S_ST( 'o',   3,      694,   675 ), /*   681 pr                */
+  S_ST( 'c',   3,      683,     0 ), /*   682 pro               */
+  S_ST( '_',   3,      684,     0 ), /*   683 proc              */
+  S_ST( 'd',   3,      685,     0 ), /*   684 proc_             */
+  S_ST( 'e',   3,      686,     0 ), /*   685 proc_d            */
+  S_ST( 'l',   3,      687,     0 ), /*   686 proc_de           */
+  S_ST( 'a',   3,      452,     0 ), /*   687 proc_del          */
+  S_ST( 'p',   3,      689,   682 ), /*   688 pro               */
+  S_ST( '_',   3,      690,     0 ), /*   689 prop              */
+  S_ST( 'd',   3,      691,     0 ), /*   690 prop_             */
+  S_ST( 'e',   3,      692,     0 ), /*   691 prop_d            */
+  S_ST( 'l',   3,      693,     0 ), /*   692 prop_de           */
+  S_ST( 'a',   3,      451,     0 ), /*   693 prop_del          */
+  S_ST( 't',   3,      695,   688 ), /*   694 pro               */
+  S_ST( 'o',   3,      696,     0 ), /*   695 prot              */
+  S_ST( 's',   3,      697,     0 ), /*   696 proto             */
+  S_ST( 't',   3,      698,     0 ), /*   697 protos            */
+  S_ST( 'a',   3,      699,     0 ), /*   698 protost           */
+  S_ST( 't',   3,      391,     0 ), /*   699 protosta          */
+  S_ST( 'r',   3,      731,   636 ), /*   700                   */
+  S_ST( 'a',   3,      707,     0 ), /*   701 r                 */
+  S_ST( 'n',   3,      703,     0 ), /*   702 ra                */
+  S_ST( 'd',   3,      704,     0 ), /*   703 ran               */
+  S_ST( 'f',   3,      705,     0 ), /*   704 rand              */
+  S_ST( 'i',   3,      706,     0 ), /*   705 randf             */
+  S_ST( 'l',   3,      393,     0 ), /*   706 randfi            */
+  S_ST( 'w',   3,      708,   702 ), /*   707 ra                */
+  S_ST( 's',   3,      709,     0 ), /*   708 raw               */
+  S_ST( 't',   3,      710,     0 ), /*   709 raws              */
+  S_ST( 'a',   3,      711,     0 ), /*   710 rawst             */
+  S_ST( 't',   3,      394,     0 ), /*   711 rawsta            */
+  S_ST( 'e',   3,      728,   701 ), /*   712 r                 */
+  S_ST( 'f',   3,      714,     0 ), /*   713 re                */
+  S_ST( 'i',   3,      395,     0 ), /*   714 ref               */
+  S_ST( 'q',   3,      716,   713 ), /*   715 re                */
+  S_ST( 'u',   3,      717,     0 ), /*   716 req               */
+  S_ST( 'e',   3,      718,     0 ), /*   717 requ              */
+  S_ST( 's',   3,      719,     0 ), /*   718 reque             */
+  S_ST( 't',   3,      720,     0 ), /*   719 reques            */
+  S_ST( 'k',   3,      721,     0 ), /*   720 request           */
+  S_ST( 'e',   3,      396,     0 ), /*   721 requestk          */
+  S_ST( 's',   3,      724,   715 ), /*   722 re                */
+  S_ST( 'e',   3,      397,     0 ), /*   723 res               */
+  S_ST( 't',   3,      725,   723 ), /*   724 res               */
+  S_ST( 'r',   3,      726,     0 ), /*   725 rest              */
+  S_ST( 'i',   3,      727,     0 ), /*   726 restr             */
+  S_ST( 'c',   3,      398,     0 ), /*   727 restri            */
+  S_ST( 'v',   3,      729,   722 ), /*   728 re                */
+  S_ST( 'o',   3,      730,     0 ), /*   729 rev               */
+  S_ST( 'k',   3,      399,     0 ), /*   730 revo              */
+  S_ST( 'l',   3,      732,   712 ), /*   731 r                 */
+  S_ST( 'i',   3,      733,     0 ), /*   732 rl                */
+  S_ST( 'm',   3,      734,     0 ), /*   733 rli               */
+  S_ST( 'i',   3,      400,     0 ), /*   734 rlim              */
+  S_ST( 's',   3,      808,   700 ), /*   735                   */
+  S_ST( 'a',   3,      737,     0 ), /*   736 s                 */
+  S_ST( 'v',   3,      738,     0 ), /*   737 sa                */
+  S_ST( 'e',   3,      739,     0 ), /*   738 sav               */
+  S_ST( 'c',   3,      740,     0 ), /*   739 save              */
+  S_ST( 'o',   3,      741,     0 ), /*   740 savec             */
+  S_ST( 'n',   3,      742,     0 ), /*   741 saveco            */
+  S_ST( 'f',   3,      743,     0 ), /*   742 savecon           */
+  S_ST( 'i',   3,      744,     0 ), /*   743 saveconf          */
+  S_ST( 'g',   3,      745,     0 ), /*   744 saveconfi         */
+  S_ST( 'd',   3,      746,     0 ), /*   745 saveconfig        */
+  S_ST( 'i',   3,      401,     0 ), /*   746 saveconfigd       */
+  S_ST( 'e',   3,      757,   736 ), /*   747 s                 */
+  S_ST( 'r',   3,      749,     0 ), /*   748 se                */
+  S_ST( 'v',   3,      750,     0 ), /*   749 ser               */
+  S_ST( 'e',   3,      402,     0 ), /*   750 serv              */
+  S_ST( '_',   3,      752,     0 ), /*   751 server            */
+  S_ST( 'o',   3,      753,     0 ), /*   752 server_           */
+  S_ST( 'f',   3,      754,     0 ), /*   753 server_o          */
+  S_ST( 'f',   3,      755,     0 ), /*   754 server_of         */
+  S_ST( 's',   3,      756,     0 ), /*   755 server_off        */
+  S_ST( 'e',   3,      446,     0 ), /*   756 server_offs       */
+  S_ST( 't',   3,      758,   748 ), /*   757 se                */
+  S_ST( 'v',   3,      759,     0 ), /*   758 set               */
+  S_ST( 'a',   3,      403,     0 ), /*   759 setv              */
+  S_ST( 'i',   3,      761,   747 ), /*   760 s                 */
+  S_ST( 'm',   3,      762,     0 ), /*   761 si                */
+  S_ST( 'u',   3,      763,     0 ), /*   762 sim               */
+  S_ST( 'l',   3,      764,     0 ), /*   763 simu              */
+  S_ST( 'a',   3,      765,     0 ), /*   764 simul             */
+  S_ST( 't',   3,      766,     0 ), /*   765 simula            */
+  S_ST( 'i',   3,      767,   443 ), /*   766 simulat           */
+  S_ST( 'o',   3,      768,     0 ), /*   767 simulati          */
+  S_ST( 'n',   3,      769,     0 ), /*   768 simulatio         */
+  S_ST( '_',   3,      770,     0 ), /*   769 simulation        */
+  S_ST( 'd',   3,      771,     0 ), /*   770 simulation_       */
+  S_ST( 'u',   3,      772,     0 ), /*   771 simulation_d      */
+  S_ST( 'r',   3,      773,     0 ), /*   772 simulation_du     */
+  S_ST( 'a',   3,      774,     0 ), /*   773 simulation_dur    */
+  S_ST( 't',   3,      775,     0 ), /*   774 simulation_dura   */
+  S_ST( 'i',   3,      776,     0 ), /*   775 simulation_durat  */
+  S_ST( 'o',   3,      445,     0 ), /*   776 simulation_durati */
+  S_ST( 'o',   3,      778,   760 ), /*   777 s                 */
+  S_ST( 'u',   3,      779,     0 ), /*   778 so                */
+  S_ST( 'r',   3,      780,     0 ), /*   779 sou               */
+  S_ST( 'c',   3,      404,     0 ), /*   780 sour              */
+  S_ST( 't',   3,      804,   777 ), /*   781 s                 */
+  S_ST( 'a',   3,      788,     0 ), /*   782 st                */
+  S_ST( 'c',   3,      784,     0 ), /*   783 sta               */
+  S_ST( 'k',   3,      785,     0 ), /*   784 stac              */
+  S_ST( 's',   3,      786,     0 ), /*   785 stack             */
+  S_ST( 'i',   3,      787,     0 ), /*   786 stacks            */
+  S_ST( 'z',   3,      405,     0 ), /*   787 stacksi           */
+  S_ST( 't',   3,      407,   783 ), /*   788 sta               */
+  S_ST( 'i',   3,      790,     0 ), /*   789 stat              */
+  S_ST( 's',   3,      791,     0 ), /*   790 stati             */
+  S_ST( 't',   3,      792,     0 ), /*   791 statis            */
+  S_ST( 'i',   3,      793,     0 ), /*   792 statist           */
+  S_ST( 'c',   3,      406,     0 ), /*   793 statisti          */
+  S_ST( 'd',   3,      795,     0 ), /*   794 stats             */
+  S_ST( 'i',   3,      408,     0 ), /*   795 statsd            */
+  S_ST( 'e',   3,      409,   782 ), /*   796 st                */
+  S_ST( 'b',   3,      798,     0 ), /*   797 step              */
+  S_ST( 'a',   3,      799,     0 ), /*   798 stepb             */
+  S_ST( 'c',   3,      410,     0 ), /*   799 stepba            */
+  S_ST( 'f',   3,      801,   797 ), /*   800 step              */
+  S_ST( 'w',   3,      411,     0 ), /*   801 stepf             */
+  S_ST( 'o',   3,      803,   800 ), /*   802 step              */
+  S_ST( 'u',   3,      412,     0 ), /*   803 stepo             */
+  S_ST( 'r',   3,      805,   796 ), /*   804 st                */
+  S_ST( 'a',   3,      806,     0 ), /*   805 str               */
+  S_ST( 't',   3,      807,     0 ), /*   806 stra              */
+  S_ST( 'u',   3,      413,     0 ), /*   807 strat             */
+  S_ST( 'y',   3,      415,   781 ), /*   808 s                 */
+  S_ST( 's',   3,      810,     0 ), /*   809 sys               */
+  S_ST( 't',   3,      811,     0 ), /*   810 syss              */
+  S_ST( 'a',   3,      812,     0 ), /*   811 sysst             */
+  S_ST( 't',   3,      416,     0 ), /*   812 syssta            */
+  S_ST( 't',   3,      839,   735 ), /*   813                   */
+  S_ST( 'i',   3,      825,     0 ), /*   814 t                 */
+  S_ST( 'c',   3,      417,     0 ), /*   815 ti                */
+  S_ST( 'm',   3,      818,   815 ), /*   816 ti                */
+  S_ST( 'e',   3,      420,     0 ), /*   817 tim               */
+  S_ST( 'i',   3,      819,   817 ), /*   818 tim               */
+  S_ST( 'n',   3,      820,     0 ), /*   819 timi              */
+  S_ST( 'g',   3,      821,     0 ), /*   820 timin             */
+  S_ST( 's',   3,      822,     0 ), /*   821 timing            */
+  S_ST( 't',   3,      823,     0 ), /*   822 timings           */
+  S_ST( 'a',   3,      824,     0 ), /*   823 timingst          */
+  S_ST( 't',   3,      421,     0 ), /*   824 timingsta         */
+  S_ST( 'n',   3,      826,   816 ), /*   825 ti                */
+  S_ST( 'k',   3,      827,     0 ), /*   826 tin               */
+  S_ST( 'e',   3,      422,     0 ), /*   827 tink              */
+  S_ST( 'o',   3,      423,   814 ), /*   828 t                 */
+  S_ST( 'r',   3,      831,   828 ), /*   829 t                 */
+  S_ST( 'a',   3,      424,     0 ), /*   830 tr                */
+  S_ST( 'u',   3,      832,   830 ), /*   831 tr                */
+  S_ST( 's',   3,      833,   425 ), /*   832 tru               */
+  S_ST( 't',   3,      834,     0 ), /*   833 trus              */
+  S_ST( 'e',   3,      835,     0 ), /*   834 trust             */
+  S_ST( 'd',   3,      836,     0 ), /*   835 truste            */
+  S_ST( 'k',   3,      837,     0 ), /*   836 trusted           */
+  S_ST( 'e',   3,      426,     0 ), /*   837 trustedk          */
+  S_ST( 't',   3,      427,   829 ), /*   838 t                 */
+  S_ST( 'y',   3,      840,   838 ), /*   839 t                 */
+  S_ST( 'p',   3,      428,     0 ), /*   840 ty                */
+  S_ST( 'u',   3,      842,   813 ), /*   841                   */
+  S_ST( 'n',   3,      848,     0 ), /*   842 u                 */
+  S_ST( 'c',   3,      844,     0 ), /*   843 un                */
+  S_ST( 'o',   3,      845,     0 ), /*   844 unc               */
+  S_ST( 'n',   3,      846,     0 ), /*   845 unco              */
+  S_ST( 'f',   3,      847,     0 ), /*   846 uncon             */
+  S_ST( 'i',   3,      433,     0 ), /*   847 unconf            */
+  S_ST( 'p',   3,      849,   843 ), /*   848 un                */
+  S_ST( 'e',   3,      850,     0 ), /*   849 unp               */
+  S_ST( 'e',   3,      434,     0 ), /*   850 unpe              */
+  S_ST( '_',   3,      871,     0 ), /*   851 unpeer            */
+  S_ST( 'c',   3,      853,     0 ), /*   852 unpeer_           */
+  S_ST( 'r',   3,      854,     0 ), /*   853 unpeer_c          */
+  S_ST( 'y',   3,      855,     0 ), /*   854 unpeer_cr         */
+  S_ST( 'p',   3,      856,     0 ), /*   855 unpeer_cry        */
+  S_ST( 't',   3,      857,     0 ), /*   856 unpeer_cryp       */
+  S_ST( 'o',   3,      858,     0 ), /*   857 unpeer_crypt      */
+  S_ST( '_',   3,      863,     0 ), /*   858 unpeer_crypto     */
+  S_ST( 'e',   3,      860,     0 ), /*   859 unpeer_crypto_    */
+  S_ST( 'a',   3,      861,     0 ), /*   860 unpeer_crypto_e   */
+  S_ST( 'r',   3,      862,     0 ), /*   861 unpeer_crypto_ea  */
+  S_ST( 'l',   3,      430,     0 ), /*   862 unpeer_crypto_ear */
+  S_ST( 'n',   3,      864,   859 ), /*   863 unpeer_crypto_    */
+  S_ST( 'a',   3,      865,     0 ), /*   864 unpeer_crypto_n   */
+  S_ST( 'k',   3,      866,     0 ), /*   865 unpeer_crypto_na  */
+  S_ST( '_',   3,      867,     0 ), /*   866 unpeer_crypto_nak */
+  S_ST( 'e',   3,      868,     0 ), /*   867 unpeer_crypto_nak_ */
+  S_ST( 'a',   3,      869,     0 ), /*   868 unpeer_crypto_nak_e */
+  S_ST( 'r',   3,      870,     0 ), /*   869 unpeer_crypto_nak_ea */
+  S_ST( 'l',   3,      431,     0 ), /*   870 unpeer_crypto_nak_ear */
+  S_ST( 'd',   3,      872,   852 ), /*   871 unpeer_           */
+  S_ST( 'i',   3,      873,     0 ), /*   872 unpeer_d          */
+  S_ST( 'g',   3,      874,     0 ), /*   873 unpeer_di         */
+  S_ST( 'e',   3,      875,     0 ), /*   874 unpeer_dig        */
+  S_ST( 's',   3,      876,     0 ), /*   875 unpeer_dige       */
+  S_ST( 't',   3,      877,     0 ), /*   876 unpeer_diges      */
+  S_ST( '_',   3,      878,     0 ), /*   877 unpeer_digest     */
+  S_ST( 'e',   3,      879,     0 ), /*   878 unpeer_digest_    */
+  S_ST( 'a',   3,      880,     0 ), /*   879 unpeer_digest_e   */
+  S_ST( 'r',   3,      881,     0 ), /*   880 unpeer_digest_ea  */
+  S_ST( 'l',   3,      432,     0 ), /*   881 unpeer_digest_ear */
+  S_ST( 'v',   3,      883,   841 ), /*   882                   */
+  S_ST( 'e',   3,      884,     0 ), /*   883 v                 */
+  S_ST( 'r',   3,      885,     0 ), /*   884 ve                */
+  S_ST( 's',   3,      886,     0 ), /*   885 ver               */
+  S_ST( 'i',   3,      887,     0 ), /*   886 vers              */
+  S_ST( 'o',   3,      435,     0 ), /*   887 versi             */
+  S_ST( 'w',   3,      895,   882 ), /*   888                   */
+  S_ST( 'a',   3,      890,     0 ), /*   889 w                 */
+  S_ST( 'n',   3,      891,     0 ), /*   890 wa                */
+  S_ST( 'd',   3,      892,     0 ), /*   891 wan               */
+  S_ST( 'e',   3,      449,     0 ), /*   892 wand              */
+  S_ST( 'e',   3,      894,   889 ), /*   893 w                 */
+  S_ST( 'e',   3,      437,     0 ), /*   894 we                */
+  S_ST( 'i',   3,      896,   893 ), /*   895 w                 */
+  S_ST( 'l',   3,      897,     0 ), /*   896 wi                */
+  S_ST( 'd',   3,      898,     0 ), /*   897 wil               */
+  S_ST( 'c',   3,      899,     0 ), /*   898 wild              */
+  S_ST( 'a',   3,      900,     0 ), /*   899 wildc             */
+  S_ST( 'r',   3,      438,     0 ), /*   900 wildca            */
+  S_ST( 'x',   3,      902,   888 ), /*   901                   */
+  S_ST( 'l',   3,      903,     0 ), /*   902 x                 */
+  S_ST( 'e',   3,      904,     0 ), /*   903 xl                */
+  S_ST( 'a',   3,      905,     0 ), /*   904 xle               */
+  S_ST( 'v',   3,      439,     0 ), /*   905 xlea              */
+  S_ST( 'y',   3,      907,   901 ), /*   906 [initial state]   */
+  S_ST( 'e',   3,      908,     0 ), /*   907 y                 */
+  S_ST( 'a',   3,      440,     0 )  /*   908 ye                */
 };
 
index 31596692e9bb580f12670d3c13e477d1241dd978..c43269491fcaa810e0200727439b802bfb90b8f7 100644 (file)
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7.12-4996.  */
+/* A Bison parser, made by GNU Bison 3.0.4.  */
 
 /* Bison implementation for Yacc-like parsers in C
-   
-      Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
-   
+
+   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
-   
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-   
+
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
@@ -26,7 +26,7 @@
    special exception, which will cause the skeleton and the resulting
    Bison output files to be licensed under the GNU General Public
    License without this special exception.
-   
+
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
@@ -44,7 +44,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.7.12-4996"
+#define YYBISON_VERSION "3.0.4"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -62,8 +62,7 @@
 
 
 /* Copy the first part of user declarations.  */
-/* Line 371 of yacc.c  */
-#line 11 "../../ntpd/ntp_parser.y"
+#line 11 "../../ntpd/ntp_parser.y" /* yacc.c:339  */
 
   #ifdef HAVE_CONFIG_H
   # include <config.h>
   #  define ONLY_SIM(a)        NULL
   #endif
 
-/* Line 371 of yacc.c  */
-#line 102 "ntp_parser.c"
+#line 100 "../../ntpd/ntp_parser.c" /* yacc.c:339  */
 
-# ifndef YY_NULL
+# ifndef YY_NULLPTR
 #  if defined __cplusplus && 201103L <= __cplusplus
-#   define YY_NULL nullptr
+#   define YY_NULLPTR nullptr
 #  else
-#   define YY_NULL 0
+#   define YY_NULLPTR 0
 #  endif
 # endif
 
 
 /* In a future release of Bison, this section will be replaced
    by #include "y.tab.h".  */
-#ifndef YY_YY_NTP_PARSER_H_INCLUDED
-# define YY_YY_NTP_PARSER_H_INCLUDED
-/* Enabling traces.  */
+#ifndef YY_YY_Y_TAB_H_INCLUDED
+# define YY_YY_Y_TAB_H_INCLUDED
+/* Debug traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 1
 #endif
 extern int yydebug;
 #endif
 
-/* Tokens.  */
+/* Token type.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     T_Abbrev = 258,
-     T_Age = 259,
-     T_All = 260,
-     T_Allan = 261,
-     T_Allpeers = 262,
-     T_Auth = 263,
-     T_Autokey = 264,
-     T_Automax = 265,
-     T_Average = 266,
-     T_Bclient = 267,
-     T_Beacon = 268,
-     T_Broadcast = 269,
-     T_Broadcastclient = 270,
-     T_Broadcastdelay = 271,
-     T_Burst = 272,
-     T_Calibrate = 273,
-     T_Ceiling = 274,
-     T_Clockstats = 275,
-     T_Cohort = 276,
-     T_ControlKey = 277,
-     T_Crypto = 278,
-     T_Cryptostats = 279,
-     T_Ctl = 280,
-     T_Day = 281,
-     T_Default = 282,
-     T_Digest = 283,
-     T_Disable = 284,
-     T_Discard = 285,
-     T_Dispersion = 286,
-     T_Double = 287,
-     T_Driftfile = 288,
-     T_Drop = 289,
-     T_Dscp = 290,
-     T_Ellipsis = 291,
-     T_Enable = 292,
-     T_End = 293,
-     T_False = 294,
-     T_File = 295,
-     T_Filegen = 296,
-     T_Filenum = 297,
-     T_Flag1 = 298,
-     T_Flag2 = 299,
-     T_Flag3 = 300,
-     T_Flag4 = 301,
-     T_Flake = 302,
-     T_Floor = 303,
-     T_Freq = 304,
-     T_Fudge = 305,
-     T_Host = 306,
-     T_Huffpuff = 307,
-     T_Iburst = 308,
-     T_Ident = 309,
-     T_Ignore = 310,
-     T_Incalloc = 311,
-     T_Incmem = 312,
-     T_Initalloc = 313,
-     T_Initmem = 314,
-     T_Includefile = 315,
-     T_Integer = 316,
-     T_Interface = 317,
-     T_Intrange = 318,
-     T_Io = 319,
-     T_Ipv4 = 320,
-     T_Ipv4_flag = 321,
-     T_Ipv6 = 322,
-     T_Ipv6_flag = 323,
-     T_Kernel = 324,
-     T_Key = 325,
-     T_Keys = 326,
-     T_Keysdir = 327,
-     T_Kod = 328,
-     T_Mssntp = 329,
-     T_Leapfile = 330,
-     T_Leapsmearinterval = 331,
-     T_Limited = 332,
-     T_Link = 333,
-     T_Listen = 334,
-     T_Logconfig = 335,
-     T_Logfile = 336,
-     T_Loopstats = 337,
-     T_Lowpriotrap = 338,
-     T_Manycastclient = 339,
-     T_Manycastserver = 340,
-     T_Mask = 341,
-     T_Maxage = 342,
-     T_Maxclock = 343,
-     T_Maxdepth = 344,
-     T_Maxdist = 345,
-     T_Maxmem = 346,
-     T_Maxpoll = 347,
-     T_Mdnstries = 348,
-     T_Mem = 349,
-     T_Memlock = 350,
-     T_Minclock = 351,
-     T_Mindepth = 352,
-     T_Mindist = 353,
-     T_Minimum = 354,
-     T_Minpoll = 355,
-     T_Minsane = 356,
-     T_Mode = 357,
-     T_Mode7 = 358,
-     T_Monitor = 359,
-     T_Month = 360,
-     T_Mru = 361,
-     T_Multicastclient = 362,
-     T_Nic = 363,
-     T_Nolink = 364,
-     T_Nomodify = 365,
-     T_Nomrulist = 366,
-     T_None = 367,
-     T_Nonvolatile = 368,
-     T_Nopeer = 369,
-     T_Noquery = 370,
-     T_Noselect = 371,
-     T_Noserve = 372,
-     T_Notrap = 373,
-     T_Notrust = 374,
-     T_Ntp = 375,
-     T_Ntpport = 376,
-     T_NtpSignDsocket = 377,
-     T_Orphan = 378,
-     T_Orphanwait = 379,
-     T_Panic = 380,
-     T_Peer = 381,
-     T_Peerstats = 382,
-     T_Phone = 383,
-     T_Pid = 384,
-     T_Pidfile = 385,
-     T_Pool = 386,
-     T_Port = 387,
-     T_Preempt = 388,
-     T_Prefer = 389,
-     T_Protostats = 390,
-     T_Pw = 391,
-     T_Randfile = 392,
-     T_Rawstats = 393,
-     T_Refid = 394,
-     T_Requestkey = 395,
-     T_Reset = 396,
-     T_Restrict = 397,
-     T_Revoke = 398,
-     T_Rlimit = 399,
-     T_Saveconfigdir = 400,
-     T_Server = 401,
-     T_Setvar = 402,
-     T_Source = 403,
-     T_Stacksize = 404,
-     T_Statistics = 405,
-     T_Stats = 406,
-     T_Statsdir = 407,
-     T_Step = 408,
-     T_Stepback = 409,
-     T_Stepfwd = 410,
-     T_Stepout = 411,
-     T_Stratum = 412,
-     T_String = 413,
-     T_Sys = 414,
-     T_Sysstats = 415,
-     T_Tick = 416,
-     T_Time1 = 417,
-     T_Time2 = 418,
-     T_Timer = 419,
-     T_Timingstats = 420,
-     T_Tinker = 421,
-     T_Tos = 422,
-     T_Trap = 423,
-     T_True = 424,
-     T_Trustedkey = 425,
-     T_Ttl = 426,
-     T_Type = 427,
-     T_U_int = 428,
-     T_UEcrypto = 429,
-     T_UEcryptonak = 430,
-     T_UEdigest = 431,
-     T_Unconfig = 432,
-     T_Unpeer = 433,
-     T_Version = 434,
-     T_WanderThreshold = 435,
-     T_Week = 436,
-     T_Wildcard = 437,
-     T_Xleave = 438,
-     T_Year = 439,
-     T_Flag = 440,
-     T_EOC = 441,
-     T_Simulate = 442,
-     T_Beep_Delay = 443,
-     T_Sim_Duration = 444,
-     T_Server_Offset = 445,
-     T_Duration = 446,
-     T_Freq_Offset = 447,
-     T_Wander = 448,
-     T_Jitter = 449,
-     T_Prop_Delay = 450,
-     T_Proc_Delay = 451
-   };
+  enum yytokentype
+  {
+    T_Abbrev = 258,
+    T_Age = 259,
+    T_All = 260,
+    T_Allan = 261,
+    T_Allpeers = 262,
+    T_Auth = 263,
+    T_Autokey = 264,
+    T_Automax = 265,
+    T_Average = 266,
+    T_Bclient = 267,
+    T_Beacon = 268,
+    T_Broadcast = 269,
+    T_Broadcastclient = 270,
+    T_Broadcastdelay = 271,
+    T_Burst = 272,
+    T_Calibrate = 273,
+    T_Ceiling = 274,
+    T_Clockstats = 275,
+    T_Cohort = 276,
+    T_ControlKey = 277,
+    T_Crypto = 278,
+    T_Cryptostats = 279,
+    T_Ctl = 280,
+    T_Day = 281,
+    T_Default = 282,
+    T_Digest = 283,
+    T_Disable = 284,
+    T_Discard = 285,
+    T_Dispersion = 286,
+    T_Double = 287,
+    T_Driftfile = 288,
+    T_Drop = 289,
+    T_Dscp = 290,
+    T_Ellipsis = 291,
+    T_Enable = 292,
+    T_End = 293,
+    T_False = 294,
+    T_File = 295,
+    T_Filegen = 296,
+    T_Filenum = 297,
+    T_Flag1 = 298,
+    T_Flag2 = 299,
+    T_Flag3 = 300,
+    T_Flag4 = 301,
+    T_Flake = 302,
+    T_Floor = 303,
+    T_Freq = 304,
+    T_Fudge = 305,
+    T_Host = 306,
+    T_Huffpuff = 307,
+    T_Iburst = 308,
+    T_Ident = 309,
+    T_Ignore = 310,
+    T_Incalloc = 311,
+    T_Incmem = 312,
+    T_Initalloc = 313,
+    T_Initmem = 314,
+    T_Includefile = 315,
+    T_Integer = 316,
+    T_Interface = 317,
+    T_Intrange = 318,
+    T_Io = 319,
+    T_Ipv4 = 320,
+    T_Ipv4_flag = 321,
+    T_Ipv6 = 322,
+    T_Ipv6_flag = 323,
+    T_Kernel = 324,
+    T_Key = 325,
+    T_Keys = 326,
+    T_Keysdir = 327,
+    T_Kod = 328,
+    T_Mssntp = 329,
+    T_Leapfile = 330,
+    T_Leapsmearinterval = 331,
+    T_Limited = 332,
+    T_Link = 333,
+    T_Listen = 334,
+    T_Logconfig = 335,
+    T_Logfile = 336,
+    T_Loopstats = 337,
+    T_Lowpriotrap = 338,
+    T_Manycastclient = 339,
+    T_Manycastserver = 340,
+    T_Mask = 341,
+    T_Maxage = 342,
+    T_Maxclock = 343,
+    T_Maxdepth = 344,
+    T_Maxdist = 345,
+    T_Maxmem = 346,
+    T_Maxpoll = 347,
+    T_Mdnstries = 348,
+    T_Mem = 349,
+    T_Memlock = 350,
+    T_Minclock = 351,
+    T_Mindepth = 352,
+    T_Mindist = 353,
+    T_Minimum = 354,
+    T_Minpoll = 355,
+    T_Minsane = 356,
+    T_Mode = 357,
+    T_Mode7 = 358,
+    T_Monitor = 359,
+    T_Month = 360,
+    T_Mru = 361,
+    T_Multicastclient = 362,
+    T_Nic = 363,
+    T_Nolink = 364,
+    T_Nomodify = 365,
+    T_Nomrulist = 366,
+    T_None = 367,
+    T_Nonvolatile = 368,
+    T_Nopeer = 369,
+    T_Noquery = 370,
+    T_Noselect = 371,
+    T_Noserve = 372,
+    T_Notrap = 373,
+    T_Notrust = 374,
+    T_Ntp = 375,
+    T_Ntpport = 376,
+    T_NtpSignDsocket = 377,
+    T_Orphan = 378,
+    T_Orphanwait = 379,
+    T_PCEdigest = 380,
+    T_Panic = 381,
+    T_Peer = 382,
+    T_Peerstats = 383,
+    T_Phone = 384,
+    T_Pid = 385,
+    T_Pidfile = 386,
+    T_Pool = 387,
+    T_Port = 388,
+    T_Preempt = 389,
+    T_Prefer = 390,
+    T_Protostats = 391,
+    T_Pw = 392,
+    T_Randfile = 393,
+    T_Rawstats = 394,
+    T_Refid = 395,
+    T_Requestkey = 396,
+    T_Reset = 397,
+    T_Restrict = 398,
+    T_Revoke = 399,
+    T_Rlimit = 400,
+    T_Saveconfigdir = 401,
+    T_Server = 402,
+    T_Setvar = 403,
+    T_Source = 404,
+    T_Stacksize = 405,
+    T_Statistics = 406,
+    T_Stats = 407,
+    T_Statsdir = 408,
+    T_Step = 409,
+    T_Stepback = 410,
+    T_Stepfwd = 411,
+    T_Stepout = 412,
+    T_Stratum = 413,
+    T_String = 414,
+    T_Sys = 415,
+    T_Sysstats = 416,
+    T_Tick = 417,
+    T_Time1 = 418,
+    T_Time2 = 419,
+    T_Timer = 420,
+    T_Timingstats = 421,
+    T_Tinker = 422,
+    T_Tos = 423,
+    T_Trap = 424,
+    T_True = 425,
+    T_Trustedkey = 426,
+    T_Ttl = 427,
+    T_Type = 428,
+    T_U_int = 429,
+    T_UEcrypto = 430,
+    T_UEcryptonak = 431,
+    T_UEdigest = 432,
+    T_Unconfig = 433,
+    T_Unpeer = 434,
+    T_Version = 435,
+    T_WanderThreshold = 436,
+    T_Week = 437,
+    T_Wildcard = 438,
+    T_Xleave = 439,
+    T_Year = 440,
+    T_Flag = 441,
+    T_EOC = 442,
+    T_Simulate = 443,
+    T_Beep_Delay = 444,
+    T_Sim_Duration = 445,
+    T_Server_Offset = 446,
+    T_Duration = 447,
+    T_Freq_Offset = 448,
+    T_Wander = 449,
+    T_Jitter = 450,
+    T_Prop_Delay = 451,
+    T_Proc_Delay = 452
+  };
 #endif
 /* Tokens.  */
 #define T_Abbrev 258
@@ -453,86 +451,86 @@ extern int yydebug;
 #define T_NtpSignDsocket 377
 #define T_Orphan 378
 #define T_Orphanwait 379
-#define T_Panic 380
-#define T_Peer 381
-#define T_Peerstats 382
-#define T_Phone 383
-#define T_Pid 384
-#define T_Pidfile 385
-#define T_Pool 386
-#define T_Port 387
-#define T_Preempt 388
-#define T_Prefer 389
-#define T_Protostats 390
-#define T_Pw 391
-#define T_Randfile 392
-#define T_Rawstats 393
-#define T_Refid 394
-#define T_Requestkey 395
-#define T_Reset 396
-#define T_Restrict 397
-#define T_Revoke 398
-#define T_Rlimit 399
-#define T_Saveconfigdir 400
-#define T_Server 401
-#define T_Setvar 402
-#define T_Source 403
-#define T_Stacksize 404
-#define T_Statistics 405
-#define T_Stats 406
-#define T_Statsdir 407
-#define T_Step 408
-#define T_Stepback 409
-#define T_Stepfwd 410
-#define T_Stepout 411
-#define T_Stratum 412
-#define T_String 413
-#define T_Sys 414
-#define T_Sysstats 415
-#define T_Tick 416
-#define T_Time1 417
-#define T_Time2 418
-#define T_Timer 419
-#define T_Timingstats 420
-#define T_Tinker 421
-#define T_Tos 422
-#define T_Trap 423
-#define T_True 424
-#define T_Trustedkey 425
-#define T_Ttl 426
-#define T_Type 427
-#define T_U_int 428
-#define T_UEcrypto 429
-#define T_UEcryptonak 430
-#define T_UEdigest 431
-#define T_Unconfig 432
-#define T_Unpeer 433
-#define T_Version 434
-#define T_WanderThreshold 435
-#define T_Week 436
-#define T_Wildcard 437
-#define T_Xleave 438
-#define T_Year 439
-#define T_Flag 440
-#define T_EOC 441
-#define T_Simulate 442
-#define T_Beep_Delay 443
-#define T_Sim_Duration 444
-#define T_Server_Offset 445
-#define T_Duration 446
-#define T_Freq_Offset 447
-#define T_Wander 448
-#define T_Jitter 449
-#define T_Prop_Delay 450
-#define T_Proc_Delay 451
-
-
-
+#define T_PCEdigest 380
+#define T_Panic 381
+#define T_Peer 382
+#define T_Peerstats 383
+#define T_Phone 384
+#define T_Pid 385
+#define T_Pidfile 386
+#define T_Pool 387
+#define T_Port 388
+#define T_Preempt 389
+#define T_Prefer 390
+#define T_Protostats 391
+#define T_Pw 392
+#define T_Randfile 393
+#define T_Rawstats 394
+#define T_Refid 395
+#define T_Requestkey 396
+#define T_Reset 397
+#define T_Restrict 398
+#define T_Revoke 399
+#define T_Rlimit 400
+#define T_Saveconfigdir 401
+#define T_Server 402
+#define T_Setvar 403
+#define T_Source 404
+#define T_Stacksize 405
+#define T_Statistics 406
+#define T_Stats 407
+#define T_Statsdir 408
+#define T_Step 409
+#define T_Stepback 410
+#define T_Stepfwd 411
+#define T_Stepout 412
+#define T_Stratum 413
+#define T_String 414
+#define T_Sys 415
+#define T_Sysstats 416
+#define T_Tick 417
+#define T_Time1 418
+#define T_Time2 419
+#define T_Timer 420
+#define T_Timingstats 421
+#define T_Tinker 422
+#define T_Tos 423
+#define T_Trap 424
+#define T_True 425
+#define T_Trustedkey 426
+#define T_Ttl 427
+#define T_Type 428
+#define T_U_int 429
+#define T_UEcrypto 430
+#define T_UEcryptonak 431
+#define T_UEdigest 432
+#define T_Unconfig 433
+#define T_Unpeer 434
+#define T_Version 435
+#define T_WanderThreshold 436
+#define T_Week 437
+#define T_Wildcard 438
+#define T_Xleave 439
+#define T_Year 440
+#define T_Flag 441
+#define T_EOC 442
+#define T_Simulate 443
+#define T_Beep_Delay 444
+#define T_Sim_Duration 445
+#define T_Server_Offset 446
+#define T_Duration 447
+#define T_Freq_Offset 448
+#define T_Wander 449
+#define T_Jitter 450
+#define T_Prop_Delay 451
+#define T_Proc_Delay 452
+
+/* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+
+union YYSTYPE
 {
-/* Line 387 of yacc.c  */
-#line 51 "../../ntpd/ntp_parser.y"
+#line 51 "../../ntpd/ntp_parser.y" /* yacc.c:355  */
 
        char *                  String;
        double                  Double;
@@ -551,37 +549,24 @@ typedef union YYSTYPE
        script_info *           Sim_script;
        script_info_fifo *      Sim_script_fifo;
 
+#line 553 "../../ntpd/ntp_parser.c" /* yacc.c:355  */
+};
 
-/* Line 387 of yacc.c  */
-#line 557 "ntp_parser.c"
-} YYSTYPE;
+typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 #endif
 
+
 extern YYSTYPE yylval;
 
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
 int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
 
-#endif /* !YY_YY_NTP_PARSER_H_INCLUDED  */
+#endif /* !YY_YY_Y_TAB_H_INCLUDED  */
 
 /* Copy the second part of user declarations.  */
 
-/* Line 390 of yacc.c  */
-#line 585 "ntp_parser.c"
+#line 570 "../../ntpd/ntp_parser.c" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -595,11 +580,8 @@ typedef unsigned char yytype_uint8;
 
 #ifdef YYTYPE_INT8
 typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
 #else
-typedef short int yytype_int8;
+typedef signed char yytype_int8;
 #endif
 
 #ifdef YYTYPE_UINT16
@@ -619,8 +601,7 @@ typedef short int yytype_int16;
 #  define YYSIZE_T __SIZE_TYPE__
 # elif defined size_t
 #  define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+# elif ! defined YYSIZE_T
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 #  define YYSIZE_T size_t
 # else
@@ -642,11 +623,30 @@ typedef short int yytype_int16;
 # endif
 #endif
 
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later.  */
-# if (! defined __GNUC__ || __GNUC__ < 2 \
-      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
-#  define __attribute__(Spec) /* empty */
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__                                               \
+      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
+     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+# else
+#  define YY_ATTRIBUTE(Spec) /* empty */
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
 # endif
 #endif
 
@@ -657,25 +657,26 @@ typedef short int yytype_int16;
 # define YYUSE(E) /* empty */
 #endif
 
-
-/* Identity function, used to suppress warnings about constant conditions.  */
-#ifndef lint
-# define YYID(N) (N)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+    _Pragma ("GCC diagnostic pop")
 #else
-static int
-YYID (yyi)
-    int yyi;
+# define YY_INITIAL_VALUE(Value) Value
 #endif
-{
-  return yyi;
-}
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
 #endif
 
+
 #if ! defined yyoverflow || YYERROR_VERBOSE
 
 /* The parser invokes alloca or malloc; define the necessary symbols.  */
@@ -693,8 +694,7 @@ YYID (yyi)
 #    define alloca _alloca
 #   else
 #    define YYSTACK_ALLOC alloca
-#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
 #     ifndef EXIT_SUCCESS
@@ -706,8 +706,8 @@ YYID (yyi)
 # endif
 
 # ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning.  */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+   /* Pacify GCC's 'empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
 #  ifndef YYSTACK_ALLOC_MAXIMUM
     /* The OS might guarantee only one guard page at the bottom of the stack,
        and a page size can be as small as 4096 bytes.  So we cannot safely
@@ -723,7 +723,7 @@ YYID (yyi)
 #  endif
 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
        && ! ((defined YYMALLOC || defined malloc) \
-            && (defined YYFREE || defined free)))
+             && (defined YYFREE || defined free)))
 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
 #   ifndef EXIT_SUCCESS
 #    define EXIT_SUCCESS 0
@@ -731,15 +731,13 @@ YYID (yyi)
 #  endif
 #  ifndef YYMALLOC
 #   define YYMALLOC malloc
-#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#   if ! defined malloc && ! defined EXIT_SUCCESS
 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
 #   endif
 #  endif
 #  ifndef YYFREE
 #   define YYFREE free
-#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#   if ! defined free && ! defined EXIT_SUCCESS
 void free (void *); /* INFRINGES ON USER NAME SPACE */
 #   endif
 #  endif
@@ -749,7 +747,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
 
 #if (! defined yyoverflow \
      && (! defined __cplusplus \
-        || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
 
 /* A type that is properly aligned for any stack member.  */
 union yyalloc
@@ -774,16 +772,16 @@ union yyalloc
    elements in the stack, and YYPTR gives the new location of the
    stack.  Advance YYPTR to a properly aligned location for the next
    stack.  */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack)                          \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
-       Stack = &yyptr->Stack_alloc;                                    \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (YYID (0))
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
+    do                                                                  \
+      {                                                                 \
+        YYSIZE_T yynewbytes;                                            \
+        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
+        Stack = &yyptr->Stack_alloc;                                    \
+        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+        yyptr += yynewbytes / sizeof (*yyptr);                          \
+      }                                                                 \
+    while (0)
 
 #endif
 
@@ -802,48 +800,50 @@ union yyalloc
           for (yyi = 0; yyi < (Count); yyi++)   \
             (Dst)[yyi] = (Src)[yyi];            \
         }                                       \
-      while (YYID (0))
+      while (0)
 #  endif
 # endif
 #endif /* !YYCOPY_NEEDED */
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  213
+#define YYFINAL  214
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   624
+#define YYLAST   655
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  202
+#define YYNTOKENS  203
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  105
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  316
-/* YYNRULES -- Number of states.  */
-#define YYNSTATES  422
+#define YYNRULES  317
+/* YYNSTATES -- Number of states.  */
+#define YYNSTATES  423
 
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+   by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   451
+#define YYMAXUTOK   452
 
-#define YYTRANSLATE(YYX)                                               \
+#define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, without out-of-bounds checking.  */
 static const yytype_uint8 yytranslate[] =
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     198,   199,     2,     2,     2,     2,     2,     2,     2,     2,
+     199,   200,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   197,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,   198,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,   200,     2,   201,     2,     2,     2,     2,
+       2,     2,     2,   201,     2,   202,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -876,165 +876,45 @@ static const yytype_uint8 yytranslate[] =
      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
-     195,   196
+     195,   196,   197
 };
 
 #if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
-   YYRHS.  */
-static const yytype_uint16 yyprhs[] =
-{
-       0,     0,     3,     5,     9,    12,    15,    16,    18,    20,
-      22,    24,    26,    28,    30,    32,    34,    36,    38,    40,
-      42,    46,    48,    50,    52,    54,    56,    58,    61,    63,
-      65,    67,    68,    71,    73,    75,    77,    79,    81,    83,
-      85,    87,    89,    91,    93,    95,    98,   101,   103,   105,
-     107,   109,   111,   113,   116,   118,   121,   123,   125,   127,
-     130,   133,   136,   139,   142,   145,   148,   151,   154,   157,
-     160,   163,   164,   167,   170,   173,   175,   177,   179,   181,
-     183,   186,   189,   191,   194,   197,   200,   202,   204,   206,
-     208,   210,   212,   214,   216,   218,   220,   223,   226,   230,
-     233,   235,   237,   239,   241,   243,   245,   247,   249,   251,
-     252,   255,   258,   261,   263,   265,   267,   269,   271,   273,
-     275,   277,   279,   281,   283,   285,   287,   290,   293,   297,
-     303,   307,   312,   317,   321,   322,   325,   327,   329,   331,
-     333,   335,   337,   339,   341,   343,   345,   347,   349,   351,
-     353,   355,   358,   360,   363,   365,   367,   369,   372,   374,
-     377,   379,   381,   383,   385,   387,   389,   391,   393,   397,
-     400,   402,   405,   408,   411,   414,   417,   419,   421,   423,
-     425,   427,   429,   432,   435,   437,   440,   442,   444,   446,
-     449,   452,   455,   457,   459,   461,   463,   465,   467,   469,
-     471,   473,   475,   477,   479,   481,   483,   486,   489,   491,
-     494,   496,   498,   500,   502,   504,   506,   508,   510,   512,
-     514,   516,   518,   521,   524,   527,   530,   534,   536,   539,
-     542,   545,   548,   552,   555,   557,   559,   561,   563,   565,
-     567,   569,   571,   573,   575,   577,   580,   581,   586,   588,
-     589,   590,   593,   596,   599,   602,   604,   606,   610,   614,
-     616,   618,   620,   622,   624,   626,   628,   630,   632,   635,
-     638,   640,   642,   644,   646,   648,   650,   652,   654,   657,
-     659,   662,   664,   666,   668,   674,   677,   679,   682,   684,
-     686,   688,   690,   692,   694,   700,   702,   706,   709,   713,
-     715,   717,   720,   722,   728,   733,   737,   740,   742,   749,
-     753,   756,   760,   762,   764,   766,   768
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
-static const yytype_int16 yyrhs[] =
-{
-     203,     0,    -1,   204,    -1,   204,   205,   186,    -1,   205,
-     186,    -1,     1,   186,    -1,    -1,   206,    -1,   219,    -1,
-     221,    -1,   222,    -1,   231,    -1,   239,    -1,   226,    -1,
-     248,    -1,   253,    -1,   257,    -1,   262,    -1,   266,    -1,
-     293,    -1,   207,   208,   211,    -1,   146,    -1,   131,    -1,
-     126,    -1,    14,    -1,    84,    -1,   209,    -1,   210,   158,
-      -1,   158,    -1,    66,    -1,    68,    -1,    -1,   211,   212,
-      -1,   213,    -1,   215,    -1,   217,    -1,   214,    -1,     9,
-      -1,    17,    -1,    53,    -1,   116,    -1,   133,    -1,   134,
-      -1,   169,    -1,   183,    -1,   216,    61,    -1,   216,   173,
-      -1,    70,    -1,   100,    -1,    92,    -1,   171,    -1,   102,
-      -1,   179,    -1,   218,   158,    -1,    54,    -1,   220,   208,
-      -1,   177,    -1,   178,    -1,    15,    -1,    85,   290,    -1,
-     107,   290,    -1,    93,    61,    -1,    10,    61,    -1,    22,
-      61,    -1,    23,   223,    -1,    71,   158,    -1,    72,   158,
-      -1,   140,    61,    -1,   143,    61,    -1,   170,   286,    -1,
-     122,   158,    -1,    -1,   223,   224,    -1,   225,   158,    -1,
-     143,    61,    -1,    51,    -1,    54,    -1,   136,    -1,   137,
-      -1,    28,    -1,   167,   227,    -1,   227,   228,    -1,   228,
-      -1,   229,    61,    -1,   230,   292,    -1,    21,   291,    -1,
-      19,    -1,    48,    -1,   123,    -1,   124,    -1,   101,    -1,
-      13,    -1,    98,    -1,    90,    -1,    96,    -1,    88,    -1,
-     150,   232,    -1,   152,   158,    -1,    41,   233,   234,    -1,
-     232,   233,    -1,   233,    -1,    20,    -1,    24,    -1,    82,
-      -1,   127,    -1,   138,    -1,   160,    -1,   165,    -1,   135,
-      -1,    -1,   234,   235,    -1,    40,   158,    -1,   172,   238,
-      -1,   236,    -1,   237,    -1,    78,    -1,   109,    -1,    37,
-      -1,    29,    -1,   112,    -1,   129,    -1,    26,    -1,   181,
-      -1,   105,    -1,   184,    -1,     4,    -1,    30,   242,    -1,
-     106,   245,    -1,   142,   208,   240,    -1,   142,   209,    86,
-     209,   240,    -1,   142,    27,   240,    -1,   142,    66,    27,
-     240,    -1,   142,    68,    27,   240,    -1,   142,   148,   240,
-      -1,    -1,   240,   241,    -1,    47,    -1,    55,    -1,    73,
-      -1,    74,    -1,    77,    -1,    83,    -1,   110,    -1,   111,
-      -1,   114,    -1,   115,    -1,   117,    -1,   118,    -1,   119,
-      -1,   121,    -1,   179,    -1,   242,   243,    -1,   243,    -1,
-     244,    61,    -1,    11,    -1,    99,    -1,   104,    -1,   245,
-     246,    -1,   246,    -1,   247,    61,    -1,    56,    -1,    57,
-      -1,    58,    -1,    59,    -1,    87,    -1,    89,    -1,    91,
-      -1,    97,    -1,    50,   208,   249,    -1,   249,   250,    -1,
-     250,    -1,   251,   292,    -1,   252,   291,    -1,   157,    61,
-      -1,     3,   158,    -1,   139,   158,    -1,   162,    -1,   163,
-      -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,   144,
-     254,    -1,   254,   255,    -1,   255,    -1,   256,    61,    -1,
-      95,    -1,   149,    -1,    42,    -1,    37,   258,    -1,    29,
-     258,    -1,   258,   259,    -1,   259,    -1,   260,    -1,   261,
-      -1,     8,    -1,    12,    -1,    18,    -1,    69,    -1,   104,
-      -1,   120,    -1,   103,    -1,   151,    -1,   174,    -1,   175,
-      -1,   176,    -1,   166,   263,    -1,   263,   264,    -1,   264,
-      -1,   265,   292,    -1,     6,    -1,    31,    -1,    49,    -1,
-      52,    -1,   125,    -1,   153,    -1,   154,    -1,   155,    -1,
-     156,    -1,   161,    -1,   278,    -1,   282,    -1,   267,   292,
-      -1,   268,    61,    -1,   269,   158,    -1,   270,   158,    -1,
-      60,   158,   205,    -1,    38,    -1,    33,   271,    -1,    80,
-     276,    -1,   128,   289,    -1,   147,   272,    -1,   168,   209,
-     274,    -1,   171,   285,    -1,    16,    -1,   113,    -1,   161,
-      -1,    35,    -1,    76,    -1,    54,    -1,    75,    -1,    81,
-      -1,   130,    -1,   145,    -1,   158,    -1,   158,    32,    -1,
-      -1,   158,   197,   158,   273,    -1,    27,    -1,    -1,    -1,
-     274,   275,    -1,   132,    61,    -1,    62,   209,    -1,   276,
-     277,    -1,   277,    -1,   158,    -1,   279,   281,   280,    -1,
-     279,   281,   158,    -1,    62,    -1,   108,    -1,     5,    -1,
-      65,    -1,    67,    -1,   182,    -1,    79,    -1,    55,    -1,
-      34,    -1,   141,   283,    -1,   283,   284,    -1,   284,    -1,
-       7,    -1,     8,    -1,    25,    -1,    64,    -1,    94,    -1,
-     159,    -1,   164,    -1,   285,    61,    -1,    61,    -1,   286,
-     287,    -1,   287,    -1,    61,    -1,   288,    -1,   198,    61,
-      36,    61,   199,    -1,   289,   158,    -1,   158,    -1,   290,
-     208,    -1,   208,    -1,    61,    -1,   169,    -1,    39,    -1,
-      61,    -1,    32,    -1,   294,   200,   295,   298,   201,    -1,
-     187,    -1,   295,   296,   186,    -1,   296,   186,    -1,   297,
-     197,   292,    -1,   188,    -1,   189,    -1,   298,   299,    -1,
-     299,    -1,   301,   200,   300,   302,   201,    -1,   190,   197,
-     292,   186,    -1,   146,   197,   208,    -1,   302,   303,    -1,
-     303,    -1,   191,   197,   292,   200,   304,   201,    -1,   304,
-     305,   186,    -1,   305,   186,    -1,   306,   197,   292,    -1,
-     192,    -1,   193,    -1,   194,    -1,   195,    -1,   196,    -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   369,   369,   373,   374,   375,   390,   391,   392,   393,
-     394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
-     411,   421,   422,   423,   424,   425,   429,   430,   435,   440,
-     442,   448,   449,   457,   458,   459,   463,   468,   469,   470,
-     471,   472,   473,   474,   475,   479,   481,   486,   487,   488,
-     489,   490,   491,   495,   500,   509,   519,   520,   530,   532,
-     534,   536,   547,   554,   556,   561,   563,   565,   567,   569,
-     578,   584,   585,   593,   595,   607,   608,   609,   610,   611,
-     620,   625,   630,   638,   640,   642,   647,   648,   649,   650,
-     651,   652,   656,   657,   658,   659,   668,   670,   679,   689,
-     694,   702,   703,   704,   705,   706,   707,   708,   709,   714,
-     715,   723,   733,   742,   757,   762,   763,   767,   768,   772,
-     773,   774,   775,   776,   777,   778,   787,   791,   795,   803,
-     811,   819,   834,   849,   862,   863,   871,   872,   873,   874,
-     875,   876,   877,   878,   879,   880,   881,   882,   883,   884,
-     885,   889,   894,   902,   907,   908,   909,   913,   918,   926,
-     931,   932,   933,   934,   935,   936,   937,   938,   946,   956,
-     961,   969,   971,   973,   982,   984,   989,   990,   994,   995,
-     996,   997,  1005,  1010,  1015,  1023,  1028,  1029,  1030,  1039,
-    1041,  1046,  1051,  1059,  1061,  1078,  1079,  1080,  1081,  1082,
-    1083,  1087,  1088,  1089,  1090,  1091,  1099,  1104,  1109,  1117,
-    1122,  1123,  1124,  1125,  1126,  1127,  1128,  1129,  1130,  1131,
-    1140,  1141,  1142,  1149,  1156,  1163,  1179,  1198,  1200,  1202,
-    1204,  1206,  1208,  1215,  1220,  1221,  1222,  1226,  1230,  1239,
-    1240,  1244,  1245,  1246,  1250,  1261,  1275,  1287,  1292,  1294,
-    1299,  1300,  1308,  1310,  1318,  1323,  1331,  1356,  1363,  1373,
-    1374,  1378,  1379,  1380,  1381,  1385,  1386,  1387,  1391,  1396,
-    1401,  1409,  1410,  1411,  1412,  1413,  1414,  1415,  1425,  1430,
-    1438,  1443,  1451,  1453,  1457,  1462,  1467,  1475,  1480,  1488,
-    1497,  1498,  1502,  1503,  1512,  1530,  1534,  1539,  1547,  1552,
-    1553,  1557,  1562,  1570,  1575,  1580,  1585,  1590,  1598,  1603,
-    1608,  1616,  1621,  1622,  1623,  1624,  1625
+       0,   370,   370,   374,   375,   376,   391,   392,   393,   394,
+     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
+     412,   422,   423,   424,   425,   426,   430,   431,   436,   441,
+     443,   449,   450,   458,   459,   460,   464,   469,   470,   471,
+     472,   473,   474,   475,   476,   480,   482,   487,   488,   489,
+     490,   491,   492,   496,   501,   510,   520,   521,   531,   533,
+     535,   537,   548,   555,   557,   562,   564,   566,   568,   570,
+     579,   585,   586,   594,   596,   608,   609,   610,   611,   612,
+     621,   626,   631,   639,   641,   643,   648,   649,   650,   651,
+     652,   653,   657,   658,   659,   660,   669,   671,   680,   690,
+     695,   703,   704,   705,   706,   707,   708,   709,   710,   715,
+     716,   724,   734,   743,   758,   763,   764,   768,   769,   773,
+     774,   775,   776,   777,   778,   779,   788,   792,   796,   804,
+     812,   820,   835,   850,   863,   864,   872,   873,   874,   875,
+     876,   877,   878,   879,   880,   881,   882,   883,   884,   885,
+     886,   890,   895,   903,   908,   909,   910,   914,   919,   927,
+     932,   933,   934,   935,   936,   937,   938,   939,   947,   957,
+     962,   970,   972,   974,   983,   985,   990,   991,   995,   996,
+     997,   998,  1006,  1011,  1016,  1024,  1029,  1030,  1031,  1040,
+    1042,  1047,  1052,  1060,  1062,  1079,  1080,  1081,  1082,  1083,
+    1084,  1088,  1089,  1090,  1091,  1092,  1093,  1101,  1106,  1111,
+    1119,  1124,  1125,  1126,  1127,  1128,  1129,  1130,  1131,  1132,
+    1133,  1142,  1143,  1144,  1151,  1158,  1165,  1181,  1200,  1202,
+    1204,  1206,  1208,  1210,  1217,  1222,  1223,  1224,  1228,  1232,
+    1241,  1242,  1246,  1247,  1248,  1252,  1263,  1277,  1289,  1294,
+    1296,  1301,  1302,  1310,  1312,  1320,  1325,  1333,  1358,  1365,
+    1375,  1376,  1380,  1381,  1382,  1383,  1387,  1388,  1389,  1393,
+    1398,  1403,  1411,  1412,  1413,  1414,  1415,  1416,  1417,  1427,
+    1432,  1440,  1445,  1453,  1455,  1459,  1464,  1469,  1477,  1482,
+    1490,  1499,  1500,  1504,  1505,  1514,  1532,  1536,  1541,  1549,
+    1554,  1555,  1559,  1564,  1572,  1577,  1582,  1587,  1592,  1600,
+    1605,  1610,  1618,  1623,  1624,  1625,  1626,  1627
 };
 #endif
 
@@ -1066,9 +946,9 @@ static const char *const yytname[] =
   "T_Mru", "T_Multicastclient", "T_Nic", "T_Nolink", "T_Nomodify",
   "T_Nomrulist", "T_None", "T_Nonvolatile", "T_Nopeer", "T_Noquery",
   "T_Noselect", "T_Noserve", "T_Notrap", "T_Notrust", "T_Ntp", "T_Ntpport",
-  "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_Panic", "T_Peer",
-  "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", "T_Port",
-  "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile",
+  "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_PCEdigest", "T_Panic",
+  "T_Peer", "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool",
+  "T_Port", "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile",
   "T_Rawstats", "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict",
   "T_Revoke", "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar",
   "T_Source", "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir",
@@ -1112,13 +992,13 @@ static const char *const yytname[] =
   "sim_init_statement_list", "sim_init_statement", "sim_init_keyword",
   "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name",
   "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt",
-  "sim_act_keyword", YY_NULL
+  "sim_act_keyword", YY_NULLPTR
 };
 #endif
 
 # ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
-   token YYLEX-NUM.  */
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+   (internal) symbol number NUM (which must be that of a token).  */
 static const yytype_uint16 yytoknum[] =
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
@@ -1140,434 +1020,428 @@ static const yytype_uint16 yytoknum[] =
      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
-     445,   446,   447,   448,   449,   450,   451,    61,    40,    41,
-     123,   125
+     445,   446,   447,   448,   449,   450,   451,   452,    61,    40,
+      41,   123,   125
 };
 # endif
 
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
-static const yytype_uint16 yyr1[] =
-{
-       0,   202,   203,   204,   204,   204,   205,   205,   205,   205,
-     205,   205,   205,   205,   205,   205,   205,   205,   205,   205,
-     206,   207,   207,   207,   207,   207,   208,   208,   209,   210,
-     210,   211,   211,   212,   212,   212,   213,   214,   214,   214,
-     214,   214,   214,   214,   214,   215,   215,   216,   216,   216,
-     216,   216,   216,   217,   218,   219,   220,   220,   221,   221,
-     221,   221,   222,   222,   222,   222,   222,   222,   222,   222,
-     222,   223,   223,   224,   224,   225,   225,   225,   225,   225,
-     226,   227,   227,   228,   228,   228,   229,   229,   229,   229,
-     229,   229,   230,   230,   230,   230,   231,   231,   231,   232,
-     232,   233,   233,   233,   233,   233,   233,   233,   233,   234,
-     234,   235,   235,   235,   235,   236,   236,   237,   237,   238,
-     238,   238,   238,   238,   238,   238,   239,   239,   239,   239,
-     239,   239,   239,   239,   240,   240,   241,   241,   241,   241,
-     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
-     241,   242,   242,   243,   244,   244,   244,   245,   245,   246,
-     247,   247,   247,   247,   247,   247,   247,   247,   248,   249,
-     249,   250,   250,   250,   250,   250,   251,   251,   252,   252,
-     252,   252,   253,   254,   254,   255,   256,   256,   256,   257,
-     257,   258,   258,   259,   259,   260,   260,   260,   260,   260,
-     260,   261,   261,   261,   261,   261,   262,   263,   263,   264,
-     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
-     266,   266,   266,   266,   266,   266,   266,   266,   266,   266,
-     266,   266,   266,   266,   267,   267,   267,   268,   268,   269,
-     269,   270,   270,   270,   271,   271,   271,   272,   273,   273,
-     274,   274,   275,   275,   276,   276,   277,   278,   278,   279,
-     279,   280,   280,   280,   280,   281,   281,   281,   282,   283,
-     283,   284,   284,   284,   284,   284,   284,   284,   285,   285,
-     286,   286,   287,   287,   288,   289,   289,   290,   290,   291,
-     291,   291,   292,   292,   293,   294,   295,   295,   296,   297,
-     297,   298,   298,   299,   300,   301,   302,   302,   303,   304,
-     304,   305,   306,   306,   306,   306,   306
-};
+#define YYPACT_NINF -189
 
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
-static const yytype_uint8 yyr2[] =
+#define yypact_value_is_default(Yystate) \
+  (!!((Yystate) == (-189)))
+
+#define YYTABLE_NINF -7
+
+#define yytable_value_is_error(Yytable_value) \
+  0
+
+  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+     STATE-NUM.  */
+static const yytype_int16 yypact[] =
 {
-       0,     2,     1,     3,     2,     2,     0,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       3,     1,     1,     1,     1,     1,     1,     2,     1,     1,
-       1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
-       1,     1,     1,     2,     1,     2,     1,     1,     1,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     0,     2,     2,     2,     1,     1,     1,     1,     1,
-       2,     2,     1,     2,     2,     2,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     2,     3,     2,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
-       2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     2,     3,     5,
-       3,     4,     4,     3,     0,     2,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     2,     1,     2,     1,     1,     1,     2,     1,     2,
-       1,     1,     1,     1,     1,     1,     1,     1,     3,     2,
-       1,     2,     2,     2,     2,     2,     1,     1,     1,     1,
-       1,     1,     2,     2,     1,     2,     1,     1,     1,     2,
-       2,     2,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     2,     1,     2,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     2,     2,     2,     2,     3,     1,     2,     2,
-       2,     2,     3,     2,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     2,     0,     4,     1,     0,
-       0,     2,     2,     2,     2,     1,     1,     3,     3,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
-       1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
-       2,     1,     1,     1,     5,     2,     1,     2,     1,     1,
-       1,     1,     1,     1,     5,     1,     3,     2,     3,     1,
-       1,     2,     1,     5,     4,     3,     2,     1,     6,     3,
-       2,     3,     1,     1,     1,     1,     1
+      20,  -174,   -32,  -189,  -189,  -189,   -29,  -189,   315,     3,
+    -133,  -189,   315,  -189,   119,   -48,  -189,  -126,  -189,  -118,
+    -115,  -189,  -189,  -113,  -189,  -189,   -48,    -5,   374,   -48,
+    -189,  -189,  -105,  -189,  -100,  -189,  -189,     1,    81,    46,
+       2,   -31,  -189,  -189,   -90,   119,   -88,  -189,   148,   380,
+     -81,   -53,    23,  -189,  -189,  -189,    87,   207,  -106,  -189,
+     -48,  -189,   -48,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,    -9,    29,   -62,   -61,  -189,    -7,  -189,
+    -189,  -102,  -189,  -189,  -189,    32,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,   315,  -189,
+    -189,  -189,  -189,  -189,  -189,     3,  -189,    42,    78,  -189,
+     315,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,   112,  -189,   -39,   367,  -189,  -189,  -189,
+    -113,  -189,  -189,   -48,  -189,  -189,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,   374,  -189,    60,   -48,  -189,  -189,   -34,
+    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,    81,  -189,
+    -189,    97,   102,  -189,  -189,    44,  -189,  -189,  -189,  -189,
+     -31,  -189,    71,   -63,  -189,   119,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,   148,  -189,
+      -9,  -189,  -189,   -36,  -189,  -189,  -189,  -189,  -189,  -189,
+    -189,  -189,   380,  -189,    75,    -9,  -189,  -189,    76,   -53,
+    -189,  -189,  -189,    77,  -189,   -43,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,     0,  -150,
+    -189,  -189,  -189,  -189,  -189,    89,  -189,    -6,  -189,  -189,
+    -189,  -189,    39,    13,  -189,  -189,  -189,  -189,    15,    99,
+    -189,  -189,   112,  -189,    -9,   -36,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,  -189,   475,  -189,  -189,   475,   475,   -81,
+    -189,  -189,    18,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,   -58,   144,  -189,  -189,  -189,   353,  -189,
+    -189,  -189,  -189,  -189,  -189,  -189,  -189,   -96,    -3,   -13,
+    -189,  -189,  -189,  -189,    27,  -189,  -189,    11,  -189,  -189,
+    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,   475,   475,  -189,   163,   -81,   133,  -189,
+     141,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
+     -52,  -189,    45,     5,    19,  -125,  -189,     8,  -189,    -9,
+    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,   475,
+    -189,  -189,  -189,  -189,    14,  -189,  -189,  -189,   -48,  -189,
+    -189,  -189,    22,  -189,  -189,  -189,    21,    24,    -9,    36,
+    -164,  -189,    33,    -9,  -189,  -189,  -189,    10,    69,  -189,
+    -189,  -189,  -189,  -189,    31,    48,    40,  -189,    52,  -189,
+      -9,  -189,  -189
 };
 
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
-   Performed when YYTABLE doesn't specify something else to do.  Zero
-   means the default is an error.  */
+  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+     Performed when YYTABLE does not specify something else to do.  Zero
+     means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,     0,     0,    24,    58,   234,     0,    71,     0,     0,
-     246,   237,     0,   227,     0,     0,   239,     0,   259,     0,
-       0,   240,   238,     0,   241,    25,     0,     0,     0,     0,
-     260,   235,     0,    23,     0,   242,    22,     0,     0,     0,
-       0,     0,   243,    21,     0,     0,     0,   236,     0,     0,
-       0,     0,     0,    56,    57,   295,     0,     2,     0,     7,
+       0,     0,     0,    24,    58,   235,     0,    71,     0,     0,
+     247,   238,     0,   228,     0,     0,   240,     0,   260,     0,
+       0,   241,   239,     0,   242,    25,     0,     0,     0,     0,
+     261,   236,     0,    23,     0,   243,    22,     0,     0,     0,
+       0,     0,   244,    21,     0,     0,     0,   237,     0,     0,
+       0,     0,     0,    56,    57,   296,     0,     2,     0,     7,
        0,     8,     0,     9,    10,    13,    11,    12,    14,    15,
-      16,    17,    18,     0,     0,     0,     0,   220,     0,   221,
+      16,    17,    18,     0,     0,     0,     0,   221,     0,   222,
       19,     0,     5,    62,    63,    64,   195,   196,   197,   198,
-     201,   199,   200,   202,   203,   204,   205,   190,   192,   193,
-     194,   154,   155,   156,   126,   152,     0,   244,   228,   189,
-     101,   102,   103,   104,   108,   105,   106,   107,   109,    29,
-      30,    28,     0,    26,     0,     6,    65,    66,   256,   229,
-     255,   288,    59,    61,   160,   161,   162,   163,   164,   165,
-     166,   167,   127,   158,     0,    60,    70,   286,   230,    67,
-     271,   272,   273,   274,   275,   276,   277,   268,   270,   134,
-      29,    30,   134,   134,    26,    68,   188,   186,   187,   182,
-     184,     0,     0,   231,    96,   100,    97,   210,   211,   212,
-     213,   214,   215,   216,   217,   218,   219,   206,   208,     0,
-      91,    86,     0,    87,    95,    93,    94,    92,    90,    88,
-      89,    80,    82,     0,     0,   250,   282,     0,    69,   281,
-     283,   279,   233,     1,     0,     4,    31,    55,   293,   292,
-     222,   223,   224,   225,   267,   266,   265,     0,     0,    79,
-      75,    76,    77,    78,     0,    72,     0,   191,   151,   153,
-     245,    98,     0,   178,   179,   180,   181,     0,     0,   176,
-     177,   168,   170,     0,     0,    27,   226,   254,   287,   157,
-     159,   285,   269,   130,   134,   134,   133,   128,     0,   183,
-     185,     0,    99,   207,   209,   291,   289,   290,    85,    81,
-      83,    84,   232,     0,   280,   278,     3,    20,   261,   262,
-     263,   258,   264,   257,   299,   300,     0,     0,     0,    74,
-      73,   118,   117,     0,   115,   116,     0,   110,   113,   114,
-     174,   175,   173,   169,   171,   172,   136,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-     150,   135,   131,   132,   134,   249,     0,     0,   251,     0,
-      37,    38,    39,    54,    47,    49,    48,    51,    40,    41,
-      42,    43,    50,    52,    44,    32,    33,    36,    34,     0,
-      35,     0,     0,     0,     0,   302,     0,   297,     0,   111,
-     125,   121,   123,   119,   120,   122,   124,   112,   129,   248,
-     247,   253,   252,     0,    45,    46,    53,     0,   296,   294,
-     301,     0,   298,   284,   305,     0,     0,     0,     0,     0,
-     307,     0,     0,   303,   306,   304,     0,     0,   312,   313,
-     314,   315,   316,     0,     0,     0,   308,     0,   310,     0,
-     309,   311
+     201,   199,   200,   202,   203,   204,   205,   206,   190,   192,
+     193,   194,   154,   155,   156,   126,   152,     0,   245,   229,
+     189,   101,   102,   103,   104,   108,   105,   106,   107,   109,
+      29,    30,    28,     0,    26,     0,     6,    65,    66,   257,
+     230,   256,   289,    59,    61,   160,   161,   162,   163,   164,
+     165,   166,   167,   127,   158,     0,    60,    70,   287,   231,
+      67,   272,   273,   274,   275,   276,   277,   278,   269,   271,
+     134,    29,    30,   134,   134,    26,    68,   188,   186,   187,
+     182,   184,     0,     0,   232,    96,   100,    97,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   207,   209,
+       0,    91,    86,     0,    87,    95,    93,    94,    92,    90,
+      88,    89,    80,    82,     0,     0,   251,   283,     0,    69,
+     282,   284,   280,   234,     1,     0,     4,    31,    55,   294,
+     293,   223,   224,   225,   226,   268,   267,   266,     0,     0,
+      79,    75,    76,    77,    78,     0,    72,     0,   191,   151,
+     153,   246,    98,     0,   178,   179,   180,   181,     0,     0,
+     176,   177,   168,   170,     0,     0,    27,   227,   255,   288,
+     157,   159,   286,   270,   130,   134,   134,   133,   128,     0,
+     183,   185,     0,    99,   208,   210,   292,   290,   291,    85,
+      81,    83,    84,   233,     0,   281,   279,     3,    20,   262,
+     263,   264,   259,   265,   258,   300,   301,     0,     0,     0,
+      74,    73,   118,   117,     0,   115,   116,     0,   110,   113,
+     114,   174,   175,   173,   169,   171,   172,   136,   137,   138,
+     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
+     149,   150,   135,   131,   132,   134,   250,     0,     0,   252,
+       0,    37,    38,    39,    54,    47,    49,    48,    51,    40,
+      41,    42,    43,    50,    52,    44,    32,    33,    36,    34,
+       0,    35,     0,     0,     0,     0,   303,     0,   298,     0,
+     111,   125,   121,   123,   119,   120,   122,   124,   112,   129,
+     249,   248,   254,   253,     0,    45,    46,    53,     0,   297,
+     295,   302,     0,   299,   285,   306,     0,     0,     0,     0,
+       0,   308,     0,     0,   304,   307,   305,     0,     0,   313,
+     314,   315,   316,   317,     0,     0,     0,   309,     0,   311,
+       0,   310,   312
 };
 
-/* YYDEFGOTO[NTERM-NUM].  */
-static const yytype_int16 yydefgoto[] =
-{
-      -1,    56,    57,    58,    59,    60,   131,   123,   124,   287,
-     355,   356,   357,   358,   359,   360,   361,    61,    62,    63,
-      64,    85,   235,   236,    65,   201,   202,   203,   204,    66,
-     174,   118,   241,   307,   308,   309,   377,    67,   263,   331,
-     104,   105,   106,   142,   143,   144,    68,   251,   252,   253,
-     254,    69,   169,   170,   171,    70,    97,    98,    99,   100,
-      71,   187,   188,   189,    72,    73,    74,    75,    76,   108,
-     173,   380,   282,   338,   129,   130,    77,    78,   293,   227,
-      79,   157,   158,   212,   208,   209,   210,   148,   132,   278,
-     220,    80,    81,   296,   297,   298,   364,   365,   396,   366,
-     399,   400,   413,   414,   415
-};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-   STATE-NUM.  */
-#define YYPACT_NINF -188
-static const yytype_int16 yypact[] =
+  /* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 yypgoto[] =
 {
-       5,  -160,   -28,  -188,  -188,  -188,   -24,  -188,    60,     0,
-    -119,  -188,    60,  -188,   118,     7,  -188,  -117,  -188,  -110,
-    -108,  -188,  -188,  -101,  -188,  -188,     7,    -1,   345,     7,
-    -188,  -188,   -96,  -188,   -95,  -188,  -188,    21,    -3,    73,
-      33,    11,  -188,  -188,   -94,   118,   -61,  -188,    43,   446,
-     -57,   -58,    41,  -188,  -188,  -188,   105,   179,   -79,  -188,
-       7,  -188,     7,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,  -188,    -7,    48,   -48,   -39,  -188,    24,  -188,
-    -188,   -86,  -188,  -188,  -188,    42,  -188,  -188,  -188,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,    60,  -188,  -188,
-    -188,  -188,  -188,  -188,     0,  -188,    59,    89,  -188,    60,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,    80,  -188,     9,   338,  -188,  -188,  -188,  -101,
-    -188,  -188,     7,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,   345,  -188,    67,     7,  -188,  -188,    12,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,    -3,  -188,  -188,
-     107,   116,  -188,  -188,    83,  -188,  -188,  -188,  -188,    11,
-    -188,   113,   -20,  -188,   118,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,    43,  -188,    -7,
-    -188,  -188,   -25,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
-    -188,   446,  -188,   127,    -7,  -188,  -188,   129,   -58,  -188,
-    -188,  -188,   142,  -188,    19,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,     4,  -158,  -188,
-    -188,  -188,  -188,  -188,   145,  -188,    49,  -188,  -188,  -188,
-    -188,   233,    55,  -188,  -188,  -188,  -188,    64,   157,  -188,
-    -188,    80,  -188,    -7,   -25,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,  -188,   445,  -188,  -188,   445,   445,   -57,  -188,
-    -188,    82,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,   -44,   202,  -188,  -188,  -188,   324,  -188,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,   -30,    58,    50,  -188,
-    -188,  -188,  -188,    88,  -188,  -188,     3,  -188,  -188,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,   445,   445,  -188,   221,   -57,   188,  -188,   191,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,   -51,
-    -188,    99,    61,    75,  -114,  -188,    65,  -188,    -7,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,   445,  -188,
-    -188,  -188,  -188,    68,  -188,  -188,  -188,     7,  -188,  -188,
-    -188,    76,  -188,  -188,  -188,    71,    78,    -7,    74,  -178,
-    -188,    90,    -7,  -188,  -188,  -188,    77,    32,  -188,  -188,
-    -188,  -188,  -188,   101,    93,    84,  -188,    94,  -188,    -7,
-    -188,  -188
+    -189,  -189,  -189,   -41,  -189,  -189,   -15,   -38,  -189,  -189,
+    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,  -189,  -189,  -189,    16,  -189,  -189,  -189,
+    -189,   -35,  -189,  -189,  -189,  -189,  -189,  -189,  -157,  -189,
+    -189,   138,  -189,  -189,   106,  -189,  -189,  -189,    -2,  -189,
+    -189,  -189,  -189,    83,  -189,  -189,   239,   -79,  -189,  -189,
+    -189,  -189,    66,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
+    -189,  -189,  -189,  -189,  -189,   126,  -189,  -189,  -189,  -189,
+    -189,  -189,   101,  -189,  -189,    51,  -189,  -189,   242,    17,
+    -188,  -189,  -189,  -189,   -24,  -189,  -189,   -97,  -189,  -189,
+    -189,  -123,  -189,  -130,  -189
 };
 
-/* YYPGOTO[NTERM-NUM].  */
-static const yytype_int16 yypgoto[] =
+  /* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
 {
-    -188,  -188,  -188,   -41,  -188,  -188,   -15,   -38,  -188,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,  -188,  -188,  -188,  -188,    81,  -188,  -188,  -188,
-    -188,   -37,  -188,  -188,  -188,  -188,  -188,  -188,  -111,  -188,
-    -188,   170,  -188,  -188,   133,  -188,  -188,  -188,    37,  -188,
-    -188,  -188,  -188,   115,  -188,  -188,   277,   -53,  -188,  -188,
-    -188,  -188,   103,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
-    -188,  -188,  -188,  -188,  -188,   162,  -188,  -188,  -188,  -188,
-    -188,  -188,   143,  -188,  -188,    91,  -188,  -188,   274,    52,
-    -187,  -188,  -188,  -188,     8,  -188,  -188,   -56,  -188,  -188,
-    -188,   -87,  -188,  -100,  -188
+      -1,    56,    57,    58,    59,    60,   132,   124,   125,   288,
+     356,   357,   358,   359,   360,   361,   362,    61,    62,    63,
+      64,    85,   236,   237,    65,   202,   203,   204,   205,    66,
+     175,   119,   242,   308,   309,   310,   378,    67,   264,   332,
+     105,   106,   107,   143,   144,   145,    68,   252,   253,   254,
+     255,    69,   170,   171,   172,    70,    98,    99,   100,   101,
+      71,   188,   189,   190,    72,    73,    74,    75,    76,   109,
+     174,   381,   283,   339,   130,   131,    77,    78,   294,   228,
+      79,   158,   159,   213,   209,   210,   211,   149,   133,   279,
+     221,    80,    81,   297,   298,   299,   365,   366,   397,   367,
+     400,   401,   414,   415,   416
 };
 
-/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
-   positive, shift that token.  If negative, reduce the rule which
-   number is the opposite.  If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -7
+  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+     positive, shift that token.  If negative, reduce the rule whose
+     number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-     122,   164,   274,   206,   150,   151,     1,   370,   175,   288,
-     384,   101,   205,   398,   275,     2,   214,   281,   336,     3,
-       4,     5,   152,   403,   163,   218,    82,     6,     7,   371,
-     294,   295,   362,    83,     8,     9,   276,    84,    10,   107,
-      11,   125,    12,    13,   237,   216,    14,   217,   126,   177,
-     127,   266,   267,   166,   219,    15,   237,   128,   224,    16,
-     133,   153,   146,   147,   172,    17,   314,    18,    86,   289,
-     229,   290,    87,   119,   178,   120,    19,    20,    88,   225,
-      21,    22,   149,   242,   256,    23,    24,   389,   337,    25,
-      26,   154,   179,   230,   165,   180,   231,   176,    27,   102,
-     159,   121,   211,   226,   103,   213,   167,   215,   372,   221,
-     222,    28,    29,    30,   228,   373,   362,   258,    31,   223,
-     239,   240,   385,   243,   244,   245,   246,    32,   260,    89,
-     258,    33,   374,    34,   264,    35,    36,   272,   110,   160,
-     207,   161,   111,   265,   277,    37,    38,    39,    40,    41,
-      42,    43,    44,   332,   333,    45,   155,    46,   294,   295,
-     168,   156,   291,    90,    91,   121,    47,   255,   181,   268,
-     261,    48,    49,    50,   270,    51,    52,   271,   232,   233,
-      92,   392,    53,    54,   375,   234,   292,   376,   280,     2,
-     283,    -6,    55,     3,     4,     5,   182,   183,   184,   185,
-     112,     6,     7,   285,   186,   286,   299,   300,     8,     9,
-     401,    93,    10,   310,    11,   406,    12,    13,   312,   247,
-      14,   162,   311,   378,   408,   409,   410,   411,   412,    15,
-     334,   121,   421,    16,    94,    95,    96,   248,   339,    17,
-     335,    18,   249,   250,   367,   113,   369,   368,   379,   382,
-      19,    20,   383,   114,    21,    22,   115,   386,   387,    23,
-      24,   388,   301,    25,    26,   391,   395,   393,   397,   398,
-     302,   402,    27,   303,   238,   259,   405,   407,   116,   418,
-     420,   419,   279,   117,   269,    28,    29,    30,   313,   109,
-     273,   257,    31,   408,   409,   410,   411,   412,   381,   284,
-     262,    32,   416,   145,   363,    33,   315,    34,   390,    35,
-      36,   304,   404,   417,     0,     0,     0,     0,     0,    37,
-      38,    39,    40,    41,    42,    43,    44,     0,     0,    45,
-       0,    46,     0,   340,     0,     0,     0,     0,     0,     0,
-      47,   341,   305,     0,     0,    48,    49,    50,     2,    51,
-      52,     0,     3,     4,     5,     0,    53,    54,     0,     0,
-       6,     7,     0,     0,     0,    -6,    55,     8,     9,     0,
-       0,    10,   394,    11,     0,    12,    13,   342,   343,    14,
-       0,     0,     0,     0,     0,     0,     0,     0,    15,     0,
-       0,     0,    16,     0,   344,     0,     0,     0,    17,     0,
-      18,   134,   135,   136,   137,   306,     0,     0,     0,    19,
-      20,     0,     0,    21,    22,     0,   345,     0,    23,    24,
-       0,     0,    25,    26,   346,     0,   347,     0,     0,     0,
-       0,    27,   138,     0,   139,     0,   140,     0,     0,     0,
-     348,     0,   141,     0,    28,    29,    30,     0,     0,     0,
-       0,    31,     0,     0,     0,     0,     0,   349,   350,   190,
-      32,     0,     0,     0,    33,   191,    34,   192,    35,    36,
+     123,   165,   275,   276,   337,   289,   267,   268,   207,   385,
+     176,   167,   206,    82,   102,   371,   215,   282,   120,   238,
+     121,     1,   363,   219,   164,   277,   108,   225,   399,    83,
+       2,   238,    84,   126,     3,     4,     5,   372,   404,   295,
+     296,   127,     6,     7,   128,   217,   129,   218,   226,     8,
+       9,   363,   220,    10,   147,    11,   134,    12,    13,   148,
+     230,    14,   150,   166,   168,   290,   315,   291,   302,   173,
+      15,   177,   227,   160,    16,   338,   303,   390,   122,   304,
+      17,   216,    18,   231,   212,   257,   232,   214,   151,   152,
+     222,    19,    20,   295,   296,    21,    22,   223,   224,   229,
+      23,    24,   103,   240,    25,    26,   153,   104,   333,   334,
+     241,   122,   161,    27,   162,   243,   373,   305,   259,   169,
+     256,   261,   386,   374,   265,   262,    28,    29,    30,   266,
+     269,   259,   271,    31,   278,   272,   281,   284,   286,   111,
+     273,   375,    32,   112,   287,   154,   208,    33,   306,    34,
+     300,    35,    36,   301,   178,   244,   245,   246,   247,   292,
+     313,    37,    38,    39,    40,    41,    42,    43,    44,   233,
+     234,    45,   311,    46,   312,   155,   235,   336,   379,   179,
+     340,   393,    47,   293,   368,   369,   370,    48,    49,    50,
+     380,    51,    52,   376,   383,   163,   377,   180,    53,    54,
+     181,   113,   384,   388,   387,   122,   389,    -6,    55,   392,
+     402,   408,   307,   396,   394,   407,   399,     2,   280,   398,
+     406,     3,     4,     5,   409,   410,   411,   412,   413,     6,
+       7,   335,   422,   417,   403,   419,     8,     9,   420,   421,
+      10,   156,    11,   239,    12,    13,   157,   114,    14,   260,
+     314,   110,   248,   270,   274,   115,   258,    15,   116,   263,
+     285,    16,   409,   410,   411,   412,   413,    17,   391,    18,
+     249,   146,   316,   364,   182,   250,   251,   405,    19,    20,
+     117,     0,    21,    22,   418,   118,     0,    23,    24,     0,
+       0,    25,    26,     0,     0,     0,     0,     0,     0,   382,
+      27,     0,   183,   184,   185,   186,     0,     0,     0,     0,
+     187,     0,     0,    28,    29,    30,     0,     0,     0,     0,
+      31,     0,     0,    86,     0,     0,     0,    87,     0,    32,
+       0,     0,     0,    88,    33,     0,    34,     0,    35,    36,
        0,     0,     0,     0,     0,     0,     0,     0,    37,    38,
       39,    40,    41,    42,    43,    44,     0,     0,    45,     0,
-      46,     0,   316,   351,   193,   352,     0,     0,     0,    47,
-     317,     0,     0,   353,    48,    49,    50,   354,    51,    52,
-       0,     0,     0,     0,     0,    53,    54,     0,   318,   319,
-       0,     0,   320,     0,     0,    55,     0,     0,   321,     0,
-       0,     0,     0,     0,   194,     0,   195,     0,     0,     0,
-       0,     0,   196,     0,   197,     0,     0,   198,     0,     0,
-       0,     0,     0,     0,     0,   322,   323,     0,     0,   324,
-     325,     0,   326,   327,   328,     0,   329,     0,     0,   199,
-     200,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      46,     0,   341,     0,     0,     0,     0,     0,     0,    47,
+     342,     0,     0,   395,    48,    49,    50,     2,    51,    52,
+       0,     3,     4,     5,    89,    53,    54,     0,     0,     6,
+       7,     0,     0,   191,    -6,    55,     8,     9,     0,   192,
+      10,   193,    11,     0,    12,    13,   343,   344,    14,     0,
+       0,     0,     0,     0,     0,     0,     0,    15,    90,    91,
+       0,    16,     0,   345,     0,     0,     0,    17,   194,    18,
+     135,   136,   137,   138,     0,    92,     0,     0,    19,    20,
+      93,     0,    21,    22,     0,   346,     0,    23,    24,     0,
+       0,    25,    26,   347,     0,   348,     0,     0,     0,     0,
+      27,   139,     0,   140,     0,   141,     0,    94,   195,   349,
+     196,   142,     0,    28,    29,    30,   197,     0,   198,     0,
+      31,   199,     0,     0,     0,     0,     0,   350,   351,    32,
+      95,    96,    97,     0,    33,     0,    34,     0,    35,    36,
+       0,     0,     0,   200,   201,     0,     0,     0,    37,    38,
+      39,    40,    41,    42,    43,    44,     0,     0,    45,     0,
+      46,     0,   317,   352,     0,   353,     0,     0,     0,    47,
+     318,     0,     0,   354,    48,    49,    50,   355,    51,    52,
+       0,     0,     0,     0,     0,    53,    54,     0,   319,   320,
+       0,     0,   321,     0,     0,    55,     0,     0,   322,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   323,   324,     0,     0,   325,
+     326,     0,   327,   328,   329,     0,   330,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   330
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   331
 };
 
-#define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-188)))
-
-#define yytable_value_is_error(Yytable_value) \
-  YYID (0)
-
 static const yytype_int16 yycheck[] =
 {
-      15,    39,   189,    61,     7,     8,     1,     4,    45,     5,
-      61,    11,    50,   191,    39,    10,    57,   204,    62,    14,
-      15,    16,    25,   201,    39,    32,   186,    22,    23,    26,
-     188,   189,   146,    61,    29,    30,    61,    61,    33,   158,
-      35,   158,    37,    38,    97,    60,    41,    62,   158,     6,
-     158,   162,   163,    42,    61,    50,   109,   158,    34,    54,
-      61,    64,   158,   158,   158,    60,   253,    62,     8,    65,
-      28,    67,    12,    66,    31,    68,    71,    72,    18,    55,
-      75,    76,    61,     3,   125,    80,    81,   201,   132,    84,
-      85,    94,    49,    51,    61,    52,    54,   158,    93,    99,
-      27,   158,    61,    79,   104,     0,    95,   186,   105,    61,
-     158,   106,   107,   108,   200,   112,   146,   132,   113,   158,
-      61,    32,   173,    43,    44,    45,    46,   122,    61,    69,
-     145,   126,   129,   128,    27,   130,   131,   174,    20,    66,
-     198,    68,    24,    27,   169,   140,   141,   142,   143,   144,
-     145,   146,   147,   264,   265,   150,   159,   152,   188,   189,
-     149,   164,   158,   103,   104,   158,   161,   158,   125,    86,
-     158,   166,   167,   168,    61,   170,   171,   197,   136,   137,
-     120,   368,   177,   178,   181,   143,   182,   184,    61,    10,
-      61,   186,   187,    14,    15,    16,   153,   154,   155,   156,
-      82,    22,    23,    61,   161,   186,    61,   158,    29,    30,
-     397,   151,    33,   158,    35,   402,    37,    38,    61,   139,
-      41,   148,   158,   334,   192,   193,   194,   195,   196,    50,
-     268,   158,   419,    54,   174,   175,   176,   157,    36,    60,
-     158,    62,   162,   163,   186,   127,   158,   197,    27,    61,
-      71,    72,    61,   135,    75,    76,   138,   158,   197,    80,
-      81,   186,    29,    84,    85,   200,   190,   199,   197,   191,
-      37,   197,    93,    40,   104,   142,   186,   200,   160,   186,
-     186,   197,   201,   165,   169,   106,   107,   108,   251,    12,
-     187,   129,   113,   192,   193,   194,   195,   196,   336,   208,
-     157,   122,   201,    29,   296,   126,   254,   128,   364,   130,
-     131,    78,   399,   413,    -1,    -1,    -1,    -1,    -1,   140,
-     141,   142,   143,   144,   145,   146,   147,    -1,    -1,   150,
-      -1,   152,    -1,     9,    -1,    -1,    -1,    -1,    -1,    -1,
-     161,    17,   109,    -1,    -1,   166,   167,   168,    10,   170,
-     171,    -1,    14,    15,    16,    -1,   177,   178,    -1,    -1,
-      22,    23,    -1,    -1,    -1,   186,   187,    29,    30,    -1,
-      -1,    33,   387,    35,    -1,    37,    38,    53,    54,    41,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
-      -1,    -1,    54,    -1,    70,    -1,    -1,    -1,    60,    -1,
-      62,    56,    57,    58,    59,   172,    -1,    -1,    -1,    71,
-      72,    -1,    -1,    75,    76,    -1,    92,    -1,    80,    81,
-      -1,    -1,    84,    85,   100,    -1,   102,    -1,    -1,    -1,
-      -1,    93,    87,    -1,    89,    -1,    91,    -1,    -1,    -1,
-     116,    -1,    97,    -1,   106,   107,   108,    -1,    -1,    -1,
-      -1,   113,    -1,    -1,    -1,    -1,    -1,   133,   134,    13,
-     122,    -1,    -1,    -1,   126,    19,   128,    21,   130,   131,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,   141,
-     142,   143,   144,   145,   146,   147,    -1,    -1,   150,    -1,
-     152,    -1,    47,   169,    48,   171,    -1,    -1,    -1,   161,
-      55,    -1,    -1,   179,   166,   167,   168,   183,   170,   171,
-      -1,    -1,    -1,    -1,    -1,   177,   178,    -1,    73,    74,
-      -1,    -1,    77,    -1,    -1,   187,    -1,    -1,    83,    -1,
-      -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    -1,    -1,
-      -1,    -1,    96,    -1,    98,    -1,    -1,   101,    -1,    -1,
+      15,    39,   190,    39,    62,     5,   163,   164,    61,    61,
+      45,    42,    50,   187,    11,     4,    57,   205,    66,    98,
+      68,     1,   147,    32,    39,    61,   159,    34,   192,    61,
+      10,   110,    61,   159,    14,    15,    16,    26,   202,   189,
+     190,   159,    22,    23,   159,    60,   159,    62,    55,    29,
+      30,   147,    61,    33,   159,    35,    61,    37,    38,   159,
+      28,    41,    61,    61,    95,    65,   254,    67,    29,   159,
+      50,   159,    79,    27,    54,   133,    37,   202,   159,    40,
+      60,   187,    62,    51,    61,   126,    54,     0,     7,     8,
+      61,    71,    72,   189,   190,    75,    76,   159,   159,   201,
+      80,    81,    99,    61,    84,    85,    25,   104,   265,   266,
+      32,   159,    66,    93,    68,     3,   105,    78,   133,   150,
+     159,    61,   174,   112,    27,   159,   106,   107,   108,    27,
+      86,   146,    61,   113,   170,   198,    61,    61,    61,    20,
+     175,   130,   122,    24,   187,    64,   199,   127,   109,   129,
+      61,   131,   132,   159,     6,    43,    44,    45,    46,   159,
+      61,   141,   142,   143,   144,   145,   146,   147,   148,   137,
+     138,   151,   159,   153,   159,    94,   144,   159,   335,    31,
+      36,   369,   162,   183,   187,   198,   159,   167,   168,   169,
+      27,   171,   172,   182,    61,   149,   185,    49,   178,   179,
+      52,    82,    61,   198,   159,   159,   187,   187,   188,   201,
+     398,   201,   173,   191,   200,   403,   192,    10,   202,   198,
+     187,    14,    15,    16,   193,   194,   195,   196,   197,    22,
+      23,   269,   420,   202,   198,   187,    29,    30,   198,   187,
+      33,   160,    35,   105,    37,    38,   165,   128,    41,   143,
+     252,    12,   140,   170,   188,   136,   130,    50,   139,   158,
+     209,    54,   193,   194,   195,   196,   197,    60,   365,    62,
+     158,    29,   255,   297,   126,   163,   164,   400,    71,    72,
+     161,    -1,    75,    76,   414,   166,    -1,    80,    81,    -1,
+      -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,   337,
+      93,    -1,   154,   155,   156,   157,    -1,    -1,    -1,    -1,
+     162,    -1,    -1,   106,   107,   108,    -1,    -1,    -1,    -1,
+     113,    -1,    -1,     8,    -1,    -1,    -1,    12,    -1,   122,
+      -1,    -1,    -1,    18,   127,    -1,   129,    -1,   131,   132,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,   142,
+     143,   144,   145,   146,   147,   148,    -1,    -1,   151,    -1,
+     153,    -1,     9,    -1,    -1,    -1,    -1,    -1,    -1,   162,
+      17,    -1,    -1,   388,   167,   168,   169,    10,   171,   172,
+      -1,    14,    15,    16,    69,   178,   179,    -1,    -1,    22,
+      23,    -1,    -1,    13,   187,   188,    29,    30,    -1,    19,
+      33,    21,    35,    -1,    37,    38,    53,    54,    41,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,   103,   104,
+      -1,    54,    -1,    70,    -1,    -1,    -1,    60,    48,    62,
+      56,    57,    58,    59,    -1,   120,    -1,    -1,    71,    72,
+     125,    -1,    75,    76,    -1,    92,    -1,    80,    81,    -1,
+      -1,    84,    85,   100,    -1,   102,    -1,    -1,    -1,    -1,
+      93,    87,    -1,    89,    -1,    91,    -1,   152,    88,   116,
+      90,    97,    -1,   106,   107,   108,    96,    -1,    98,    -1,
+     113,   101,    -1,    -1,    -1,    -1,    -1,   134,   135,   122,
+     175,   176,   177,    -1,   127,    -1,   129,    -1,   131,   132,
+      -1,    -1,    -1,   123,   124,    -1,    -1,    -1,   141,   142,
+     143,   144,   145,   146,   147,   148,    -1,    -1,   151,    -1,
+     153,    -1,    47,   170,    -1,   172,    -1,    -1,    -1,   162,
+      55,    -1,    -1,   180,   167,   168,   169,   184,   171,   172,
+      -1,    -1,    -1,    -1,    -1,   178,   179,    -1,    73,    74,
+      -1,    -1,    77,    -1,    -1,   188,    -1,    -1,    83,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,   114,
-     115,    -1,   117,   118,   119,    -1,   121,    -1,    -1,   123,
-     124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     115,    -1,   117,   118,   119,    -1,   121,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   179
+      -1,    -1,    -1,    -1,    -1,   180
 };
 
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
-   symbol of state STATE-NUM.  */
+  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+     symbol of state STATE-NUM.  */
 static const yytype_uint16 yystos[] =
 {
        0,     1,    10,    14,    15,    16,    22,    23,    29,    30,
       33,    35,    37,    38,    41,    50,    54,    60,    62,    71,
       72,    75,    76,    80,    81,    84,    85,    93,   106,   107,
-     108,   113,   122,   126,   128,   130,   131,   140,   141,   142,
-     143,   144,   145,   146,   147,   150,   152,   161,   166,   167,
-     168,   170,   171,   177,   178,   187,   203,   204,   205,   206,
-     207,   219,   220,   221,   222,   226,   231,   239,   248,   253,
-     257,   262,   266,   267,   268,   269,   270,   278,   279,   282,
-     293,   294,   186,    61,    61,   223,     8,    12,    18,    69,
-     103,   104,   120,   151,   174,   175,   176,   258,   259,   260,
-     261,    11,    99,   104,   242,   243,   244,   158,   271,   258,
-      20,    24,    82,   127,   135,   138,   160,   165,   233,    66,
-      68,   158,   208,   209,   210,   158,   158,   158,   158,   276,
-     277,   208,   290,    61,    56,    57,    58,    59,    87,    89,
-      91,    97,   245,   246,   247,   290,   158,   158,   289,    61,
-       7,     8,    25,    64,    94,   159,   164,   283,   284,    27,
-      66,    68,   148,   208,   209,    61,    42,    95,   149,   254,
-     255,   256,   158,   272,   232,   233,   158,     6,    31,    49,
-      52,   125,   153,   154,   155,   156,   161,   263,   264,   265,
-      13,    19,    21,    48,    88,    90,    96,    98,   101,   123,
-     124,   227,   228,   229,   230,   209,    61,   198,   286,   287,
-     288,    61,   285,     0,   205,   186,   208,   208,    32,    61,
-     292,    61,   158,   158,    34,    55,    79,   281,   200,    28,
-      51,    54,   136,   137,   143,   224,   225,   259,   243,    61,
-      32,   234,     3,    43,    44,    45,    46,   139,   157,   162,
-     163,   249,   250,   251,   252,   158,   205,   277,   208,   246,
-      61,   158,   284,   240,    27,    27,   240,   240,    86,   255,
-      61,   197,   233,   264,   292,    39,    61,   169,   291,   228,
-      61,   292,   274,    61,   287,    61,   186,   211,     5,    65,
-      67,   158,   182,   280,   188,   189,   295,   296,   297,    61,
-     158,    29,    37,    40,    78,   109,   172,   235,   236,   237,
-     158,   158,    61,   250,   292,   291,    47,    55,    73,    74,
-      77,    83,   110,   111,   114,   115,   117,   118,   119,   121,
-     179,   241,   240,   240,   209,   158,    62,   132,   275,    36,
-       9,    17,    53,    54,    70,    92,   100,   102,   116,   133,
-     134,   169,   171,   179,   183,   212,   213,   214,   215,   216,
-     217,   218,   146,   296,   298,   299,   301,   186,   197,   158,
-       4,    26,   105,   112,   129,   181,   184,   238,   240,    27,
-     273,   209,    61,    61,    61,   173,   158,   197,   186,   201,
-     299,   200,   292,   199,   208,   190,   300,   197,   191,   302,
-     303,   292,   197,   201,   303,   186,   292,   200,   192,   193,
-     194,   195,   196,   304,   305,   306,   201,   305,   186,   197,
-     186,   292
+     108,   113,   122,   127,   129,   131,   132,   141,   142,   143,
+     144,   145,   146,   147,   148,   151,   153,   162,   167,   168,
+     169,   171,   172,   178,   179,   188,   204,   205,   206,   207,
+     208,   220,   221,   222,   223,   227,   232,   240,   249,   254,
+     258,   263,   267,   268,   269,   270,   271,   279,   280,   283,
+     294,   295,   187,    61,    61,   224,     8,    12,    18,    69,
+     103,   104,   120,   125,   152,   175,   176,   177,   259,   260,
+     261,   262,    11,    99,   104,   243,   244,   245,   159,   272,
+     259,    20,    24,    82,   128,   136,   139,   161,   166,   234,
+      66,    68,   159,   209,   210,   211,   159,   159,   159,   159,
+     277,   278,   209,   291,    61,    56,    57,    58,    59,    87,
+      89,    91,    97,   246,   247,   248,   291,   159,   159,   290,
+      61,     7,     8,    25,    64,    94,   160,   165,   284,   285,
+      27,    66,    68,   149,   209,   210,    61,    42,    95,   150,
+     255,   256,   257,   159,   273,   233,   234,   159,     6,    31,
+      49,    52,   126,   154,   155,   156,   157,   162,   264,   265,
+     266,    13,    19,    21,    48,    88,    90,    96,    98,   101,
+     123,   124,   228,   229,   230,   231,   210,    61,   199,   287,
+     288,   289,    61,   286,     0,   206,   187,   209,   209,    32,
+      61,   293,    61,   159,   159,    34,    55,    79,   282,   201,
+      28,    51,    54,   137,   138,   144,   225,   226,   260,   244,
+      61,    32,   235,     3,    43,    44,    45,    46,   140,   158,
+     163,   164,   250,   251,   252,   253,   159,   206,   278,   209,
+     247,    61,   159,   285,   241,    27,    27,   241,   241,    86,
+     256,    61,   198,   234,   265,   293,    39,    61,   170,   292,
+     229,    61,   293,   275,    61,   288,    61,   187,   212,     5,
+      65,    67,   159,   183,   281,   189,   190,   296,   297,   298,
+      61,   159,    29,    37,    40,    78,   109,   173,   236,   237,
+     238,   159,   159,    61,   251,   293,   292,    47,    55,    73,
+      74,    77,    83,   110,   111,   114,   115,   117,   118,   119,
+     121,   180,   242,   241,   241,   210,   159,    62,   133,   276,
+      36,     9,    17,    53,    54,    70,    92,   100,   102,   116,
+     134,   135,   170,   172,   180,   184,   213,   214,   215,   216,
+     217,   218,   219,   147,   297,   299,   300,   302,   187,   198,
+     159,     4,    26,   105,   112,   130,   182,   185,   239,   241,
+      27,   274,   210,    61,    61,    61,   174,   159,   198,   187,
+     202,   300,   201,   293,   200,   209,   191,   301,   198,   192,
+     303,   304,   293,   198,   202,   304,   187,   293,   201,   193,
+     194,   195,   196,   197,   305,   306,   307,   202,   306,   187,
+     198,   187,   293
 };
 
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                (-2)
-#define YYEOF          0
-
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT                goto yyabortlab
-#define YYERROR                goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  However,
-   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
-   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
-   discussed.  */
-
-#define YYFAIL         goto yyerrlab
-#if defined YYFAIL
-  /* This is here to suppress warnings from the GCC cpp's
-     -Wunused-macros.  Normally we don't worry about that warning, but
-     some users do, and we want to make it easy for users to remove
-     YYFAIL uses, which will produce warnings from Bison 2.5.  */
-#endif
+  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint16 yyr1[] =
+{
+       0,   203,   204,   205,   205,   205,   206,   206,   206,   206,
+     206,   206,   206,   206,   206,   206,   206,   206,   206,   206,
+     207,   208,   208,   208,   208,   208,   209,   209,   210,   211,
+     211,   212,   212,   213,   213,   213,   214,   215,   215,   215,
+     215,   215,   215,   215,   215,   216,   216,   217,   217,   217,
+     217,   217,   217,   218,   219,   220,   221,   221,   222,   222,
+     222,   222,   223,   223,   223,   223,   223,   223,   223,   223,
+     223,   224,   224,   225,   225,   226,   226,   226,   226,   226,
+     227,   228,   228,   229,   229,   229,   230,   230,   230,   230,
+     230,   230,   231,   231,   231,   231,   232,   232,   232,   233,
+     233,   234,   234,   234,   234,   234,   234,   234,   234,   235,
+     235,   236,   236,   236,   236,   237,   237,   238,   238,   239,
+     239,   239,   239,   239,   239,   239,   240,   240,   240,   240,
+     240,   240,   240,   240,   241,   241,   242,   242,   242,   242,
+     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
+     242,   243,   243,   244,   245,   245,   245,   246,   246,   247,
+     248,   248,   248,   248,   248,   248,   248,   248,   249,   250,
+     250,   251,   251,   251,   251,   251,   252,   252,   253,   253,
+     253,   253,   254,   255,   255,   256,   257,   257,   257,   258,
+     258,   259,   259,   260,   260,   261,   261,   261,   261,   261,
+     261,   262,   262,   262,   262,   262,   262,   263,   264,   264,
+     265,   266,   266,   266,   266,   266,   266,   266,   266,   266,
+     266,   267,   267,   267,   267,   267,   267,   267,   267,   267,
+     267,   267,   267,   267,   267,   268,   268,   268,   269,   269,
+     270,   270,   271,   271,   271,   272,   272,   272,   273,   274,
+     274,   275,   275,   276,   276,   277,   277,   278,   279,   279,
+     280,   280,   281,   281,   281,   281,   282,   282,   282,   283,
+     284,   284,   285,   285,   285,   285,   285,   285,   285,   286,
+     286,   287,   287,   288,   288,   289,   290,   290,   291,   291,
+     292,   292,   292,   293,   293,   294,   295,   296,   296,   297,
+     298,   298,   299,   299,   300,   301,   302,   303,   303,   304,
+     305,   305,   306,   307,   307,   307,   307,   307
+};
+
+  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     1,     3,     2,     2,     0,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       3,     1,     1,     1,     1,     1,     1,     2,     1,     1,
+       1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
+       1,     1,     1,     2,     1,     2,     1,     1,     1,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     0,     2,     2,     2,     1,     1,     1,     1,     1,
+       2,     2,     1,     2,     2,     2,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     2,     2,     3,     2,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
+       2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     2,     2,     3,     5,
+       3,     4,     4,     3,     0,     2,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     2,     1,     2,     1,     1,     1,     2,     1,     2,
+       1,     1,     1,     1,     1,     1,     1,     1,     3,     2,
+       1,     2,     2,     2,     2,     2,     1,     1,     1,     1,
+       1,     1,     2,     2,     1,     2,     1,     1,     1,     2,
+       2,     2,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     2,     2,     1,
+       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     2,     2,     2,     2,     3,     1,     2,
+       2,     2,     2,     3,     2,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     2,     0,     4,     1,
+       0,     0,     2,     2,     2,     2,     1,     1,     3,     3,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
+       2,     1,     1,     1,     1,     1,     1,     1,     1,     2,
+       1,     2,     1,     1,     1,     5,     2,     1,     2,     1,
+       1,     1,     1,     1,     1,     5,     1,     3,     2,     3,
+       1,     1,     2,     1,     5,     4,     3,     2,     1,     6,
+       3,     2,     3,     1,     1,     1,     1,     1
+};
+
+
+#define yyerrok         (yyerrstatus = 0)
+#define yyclearin       (yychar = YYEMPTY)
+#define YYEMPTY         (-2)
+#define YYEOF           0
+
+#define YYACCEPT        goto yyacceptlab
+#define YYABORT         goto yyabortlab
+#define YYERROR         goto yyerrorlab
+
 
 #define YYRECOVERING()  (!!yyerrstatus)
 
@@ -1584,27 +1458,15 @@ do                                                              \
   else                                                          \
     {                                                           \
       yyerror (YY_("syntax error: cannot back up")); \
-      YYERROR;                                                 \
-    }                                                          \
-while (YYID (0))
+      YYERROR;                                                  \
+    }                                                           \
+while (0)
 
 /* Error token number */
-#define YYTERROR       1
-#define YYERRCODE      256
+#define YYTERROR        1
+#define YYERRCODE       256
 
 
-/* This macro is provided for backward compatibility. */
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex ()
-#endif
 
 /* Enable debugging if requested.  */
 #if YYDEBUG
@@ -1614,40 +1476,36 @@ while (YYID (0))
 #  define YYFPRINTF fprintf
 # endif
 
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (YYID (0))
+# define YYDPRINTF(Args)                        \
+do {                                            \
+  if (yydebug)                                  \
+    YYFPRINTF Args;                             \
+} while (0)
+
+/* This macro is provided for backward compatibility. */
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
+
 
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                   \
-do {                                                                     \
-  if (yydebug)                                                           \
-    {                                                                    \
-      YYFPRINTF (stderr, "%s ", Title);                                          \
-      yy_symbol_print (stderr,                                           \
-                 Type, Value); \
-      YYFPRINTF (stderr, "\n");                                                  \
-    }                                                                    \
-} while (YYID (0))
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
+do {                                                                      \
+  if (yydebug)                                                            \
+    {                                                                     \
+      YYFPRINTF (stderr, "%s ", Title);                                   \
+      yy_symbol_print (stderr,                                            \
+                  Type, Value); \
+      YYFPRINTF (stderr, "\n");                                           \
+    }                                                                     \
+} while (0)
 
 
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT.  |
+`----------------------------------------*/
 
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE const * const yyvaluep;
-#endif
 {
   FILE *yyo = yyoutput;
   YYUSE (yyo);
@@ -1656,8 +1514,6 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
 # ifdef YYPRINT
   if (yytype < YYNTOKENS)
     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
-  YYUSE (yyoutput);
 # endif
   YYUSE (yytype);
 }
@@ -1667,22 +1523,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
 | Print this symbol on YYOUTPUT.  |
 `--------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE const * const yyvaluep;
-#endif
 {
-  if (yytype < YYNTOKENS)
-    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-  else
-    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+  YYFPRINTF (yyoutput, "%s %s (",
+             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
 
   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
   YYFPRINTF (yyoutput, ")");
@@ -1693,16 +1538,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
 | TOP (included).                                                   |
 `------------------------------------------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
-    yytype_int16 *yybottom;
-    yytype_int16 *yytop;
-#endif
 {
   YYFPRINTF (stderr, "Stack now");
   for (; yybottom <= yytop; yybottom++)
@@ -1713,49 +1550,42 @@ yy_stack_print (yybottom, yytop)
   YYFPRINTF (stderr, "\n");
 }
 
-# define YY_STACK_PRINT(Bottom, Top)                           \
-do {                                                           \
-  if (yydebug)                                                 \
-    yy_stack_print ((Bottom), (Top));                          \
-} while (YYID (0))
+# define YY_STACK_PRINT(Bottom, Top)                            \
+do {                                                            \
+  if (yydebug)                                                  \
+    yy_stack_print ((Bottom), (Top));                           \
+} while (0)
 
 
 /*------------------------------------------------.
 | Report that the YYRULE is going to be reduced.  |
 `------------------------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
-#else
 static void
-yy_reduce_print (yyvsp, yyrule)
-    YYSTYPE *yyvsp;
-    int yyrule;
-#endif
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
 {
+  unsigned long int yylno = yyrline[yyrule];
   int yynrhs = yyr2[yyrule];
   int yyi;
-  unsigned long int yylno = yyrline[yyrule];
   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
-            yyrule - 1, yylno);
+             yyrule - 1, yylno);
   /* The symbols being reduced.  */
   for (yyi = 0; yyi < yynrhs; yyi++)
     {
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
-      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
-                      &(yyvsp[(yyi + 1) - (yynrhs)])
-                                      );
+      yy_symbol_print (stderr,
+                       yystos[yyssp[yyi + 1 - yynrhs]],
+                       &(yyvsp[(yyi + 1) - (yynrhs)])
+                                              );
       YYFPRINTF (stderr, "\n");
     }
 }
 
-# define YY_REDUCE_PRINT(Rule)         \
-do {                                   \
-  if (yydebug)                         \
-    yy_reduce_print (yyvsp, Rule); \
-} while (YYID (0))
+# define YY_REDUCE_PRINT(Rule)          \
+do {                                    \
+  if (yydebug)                          \
+    yy_reduce_print (yyssp, yyvsp, Rule); \
+} while (0)
 
 /* Nonzero means print parse trace.  It is left uninitialized so that
    multiple parsers can coexist.  */
@@ -1769,7 +1599,7 @@ int yydebug;
 
 
 /* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
+#ifndef YYINITDEPTH
 # define YYINITDEPTH 200
 #endif
 
@@ -1792,15 +1622,8 @@ int yydebug;
 #   define yystrlen strlen
 #  else
 /* Return the length of YYSTR.  */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static YYSIZE_T
 yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
-    const char *yystr;
-#endif
 {
   YYSIZE_T yylen;
   for (yylen = 0; yystr[yylen]; yylen++)
@@ -1816,16 +1639,8 @@ yystrlen (yystr)
 #  else
 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    YYDEST.  */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static char *
 yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
-    char *yydest;
-    const char *yysrc;
-#endif
 {
   char *yyd = yydest;
   const char *yys = yysrc;
@@ -1855,27 +1670,27 @@ yytnamerr (char *yyres, const char *yystr)
       char const *yyp = yystr;
 
       for (;;)
-       switch (*++yyp)
-         {
-         case '\'':
-         case ',':
-           goto do_not_strip_quotes;
-
-         case '\\':
-           if (*++yyp != '\\')
-             goto do_not_strip_quotes;
-           /* Fall through.  */
-         default:
-           if (yyres)
-             yyres[yyn] = *yyp;
-           yyn++;
-           break;
-
-         case '"':
-           if (yyres)
-             yyres[yyn] = '\0';
-           return yyn;
-         }
+        switch (*++yyp)
+          {
+          case '\'':
+          case ',':
+            goto do_not_strip_quotes;
+
+          case '\\':
+            if (*++yyp != '\\')
+              goto do_not_strip_quotes;
+            /* Fall through.  */
+          default:
+            if (yyres)
+              yyres[yyn] = *yyp;
+            yyn++;
+            break;
+
+          case '"':
+            if (yyres)
+              yyres[yyn] = '\0';
+            return yyn;
+          }
     do_not_strip_quotes: ;
     }
 
@@ -1898,11 +1713,11 @@ static int
 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yytype_int16 *yyssp, int yytoken)
 {
-  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
+  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
   YYSIZE_T yysize = yysize0;
   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
   /* Internationalized format string. */
-  const char *yyformat = YY_NULL;
+  const char *yyformat = YY_NULLPTR;
   /* Arguments of yyformat. */
   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
   /* Number of reported tokens (one for the "unexpected", one per
@@ -1910,10 +1725,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
   int yycount = 0;
 
   /* There are many possibilities here to consider:
-     - Assume YYFAIL is not used.  It's too flawed to consider.  See
-       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
-       for details.  YYERROR is fine as it does not invoke this
-       function.
      - If this state is a consistent state with a default action, then
        the only way this function was invoked is if the default action
        is an error action.  In that case, don't check for expected
@@ -1963,7 +1774,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                   }
                 yyarg[yycount++] = yytname[yyx];
                 {
-                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
                   if (! (yysize <= yysize1
                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
                     return 2;
@@ -2030,26 +1841,17 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 | Release the memory associated to this symbol.  |
 `-----------------------------------------------*/
 
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep)
-    const char *yymsg;
-    int yytype;
-    YYSTYPE *yyvaluep;
-#endif
 {
   YYUSE (yyvaluep);
-
   if (!yymsg)
     yymsg = "Deleting";
   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
 
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   YYUSE (yytype);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
 }
 
 
@@ -2058,18 +1860,8 @@ yydestruct (yymsg, yytype, yyvaluep)
 /* The lookahead symbol.  */
 int yychar;
 
-
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-
 /* The semantic value of the lookahead symbol.  */
-YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
-
+YYSTYPE yylval;
 /* Number of syntax errors so far.  */
 int yynerrs;
 
@@ -2078,35 +1870,16 @@ int yynerrs;
 | yyparse.  |
 `----------*/
 
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
-    void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 int
 yyparse (void)
-#else
-int
-yyparse ()
-
-#endif
-#endif
 {
     int yystate;
     /* Number of tokens to shift before error messages enabled.  */
     int yyerrstatus;
 
     /* The stacks and their tools:
-       `yyss': related to states.
-       `yyvs': related to semantic values.
+       'yyss': related to states.
+       'yyvs': related to semantic values.
 
        Refer to the stacks through separate pointers, to allow yyoverflow
        to reallocate them elsewhere.  */
@@ -2174,23 +1947,23 @@ yyparse ()
 
 #ifdef yyoverflow
       {
-       /* Give user a chance to reallocate the stack.  Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       yytype_int16 *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  This used to be a
-          conditional around just the two extra args, but that might
-          be undefined if yyoverflow is a macro.  */
-       yyoverflow (YY_("memory exhausted"),
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-
-       yyss = yyss1;
-       yyvs = yyvs1;
+        /* Give user a chance to reallocate the stack.  Use copies of
+           these so that the &'s don't force the real ones into
+           memory.  */
+        YYSTYPE *yyvs1 = yyvs;
+        yytype_int16 *yyss1 = yyss;
+
+        /* Each stack pointer address is followed by the size of the
+           data in use in that stack, in bytes.  This used to be a
+           conditional around just the two extra args, but that might
+           be undefined if yyoverflow is a macro.  */
+        yyoverflow (YY_("memory exhausted"),
+                    &yyss1, yysize * sizeof (*yyssp),
+                    &yyvs1, yysize * sizeof (*yyvsp),
+                    &yystacksize);
+
+        yyss = yyss1;
+        yyvs = yyvs1;
       }
 #else /* no yyoverflow */
 # ifndef YYSTACK_RELOCATE
@@ -2198,22 +1971,22 @@ yyparse ()
 # else
       /* Extend the stack our own way.  */
       if (YYMAXDEPTH <= yystacksize)
-       goto yyexhaustedlab;
+        goto yyexhaustedlab;
       yystacksize *= 2;
       if (YYMAXDEPTH < yystacksize)
-       yystacksize = YYMAXDEPTH;
+        yystacksize = YYMAXDEPTH;
 
       {
-       yytype_int16 *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyexhaustedlab;
-       YYSTACK_RELOCATE (yyss_alloc, yyss);
-       YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+        yytype_int16 *yyss1 = yyss;
+        union yyalloc *yyptr =
+          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+        if (! yyptr)
+          goto yyexhaustedlab;
+        YYSTACK_RELOCATE (yyss_alloc, yyss);
+        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
 #  undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
+        if (yyss1 != yyssa)
+          YYSTACK_FREE (yyss1);
       }
 # endif
 #endif /* no yyoverflow */
@@ -2222,10 +1995,10 @@ yyparse ()
       yyvsp = yyvs + yysize - 1;
 
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
+                  (unsigned long int) yystacksize));
 
       if (yyss + yystacksize - 1 <= yyssp)
-       YYABORT;
+        YYABORT;
     }
 
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -2254,7 +2027,7 @@ yybackup:
   if (yychar == YYEMPTY)
     {
       YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
+      yychar = yylex ();
     }
 
   if (yychar <= YYEOF)
@@ -2319,7 +2092,7 @@ yyreduce:
   yylen = yyr2[yyn];
 
   /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
+     '$$ = $1'.
 
      Otherwise, the following line sets YYVAL to garbage.
      This behavior is undocumented and Bison
@@ -2333,8 +2106,7 @@ yyreduce:
   switch (yyn)
     {
         case 5:
-/* Line 1787 of yacc.c  */
-#line 376 "../../ntpd/ntp_parser.y"
+#line 377 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        /* I will need to incorporate much more fine grained
                         * error messages. The following should suffice for
@@ -2347,433 +2119,433 @@ yyreduce:
                                ip_ctx->errpos.nline,
                                ip_ctx->errpos.ncol);
                }
+#line 2123 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 20:
-/* Line 1787 of yacc.c  */
-#line 412 "../../ntpd/ntp_parser.y"
+#line 413 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        peer_node *my_node;
 
-                       my_node = create_peer_node((yyvsp[(1) - (3)].Integer), (yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo));
+                       my_node = create_peer_node((yyvsp[-2].Integer), (yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
                        APPEND_G_FIFO(cfgt.peers, my_node);
                }
+#line 2134 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 27:
-/* Line 1787 of yacc.c  */
-#line 431 "../../ntpd/ntp_parser.y"
-    { (yyval.Address_node) = create_address_node((yyvsp[(2) - (2)].String), (yyvsp[(1) - (2)].Integer)); }
+#line 432 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); }
+#line 2140 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 28:
-/* Line 1787 of yacc.c  */
-#line 436 "../../ntpd/ntp_parser.y"
-    { (yyval.Address_node) = create_address_node((yyvsp[(1) - (1)].String), AF_UNSPEC); }
+#line 437 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); }
+#line 2146 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 29:
-/* Line 1787 of yacc.c  */
-#line 441 "../../ntpd/ntp_parser.y"
+#line 442 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = AF_INET; }
+#line 2152 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 30:
-/* Line 1787 of yacc.c  */
-#line 443 "../../ntpd/ntp_parser.y"
+#line 444 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = AF_INET6; }
+#line 2158 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 31:
-/* Line 1787 of yacc.c  */
-#line 448 "../../ntpd/ntp_parser.y"
+#line 449 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
+#line 2164 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 32:
-/* Line 1787 of yacc.c  */
-#line 450 "../../ntpd/ntp_parser.y"
+#line 451 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2173 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 36:
-/* Line 1787 of yacc.c  */
-#line 464 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); }
+#line 465 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
+#line 2179 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 45:
-/* Line 1787 of yacc.c  */
-#line 480 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
+#line 481 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
+#line 2185 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 46:
-/* Line 1787 of yacc.c  */
-#line 482 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_uval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
+#line 483 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
+#line 2191 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 53:
-/* Line 1787 of yacc.c  */
-#line 496 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
+#line 497 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
+#line 2197 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 55:
-/* Line 1787 of yacc.c  */
-#line 510 "../../ntpd/ntp_parser.y"
+#line 511 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        unpeer_node *my_node;
 
-                       my_node = create_unpeer_node((yyvsp[(2) - (2)].Address_node));
+                       my_node = create_unpeer_node((yyvsp[0].Address_node));
                        if (my_node)
                                APPEND_G_FIFO(cfgt.unpeers, my_node);
                }
+#line 2209 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 58:
-/* Line 1787 of yacc.c  */
-#line 531 "../../ntpd/ntp_parser.y"
+#line 532 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { cfgt.broadcastclient = 1; }
+#line 2215 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 59:
-/* Line 1787 of yacc.c  */
-#line 533 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[(2) - (2)].Address_fifo)); }
+#line 534 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); }
+#line 2221 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 60:
-/* Line 1787 of yacc.c  */
-#line 535 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[(2) - (2)].Address_fifo)); }
+#line 536 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); }
+#line 2227 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 61:
-/* Line 1787 of yacc.c  */
-#line 537 "../../ntpd/ntp_parser.y"
-    { cfgt.mdnstries = (yyvsp[(2) - (2)].Integer); }
+#line 538 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { cfgt.mdnstries = (yyvsp[0].Integer); }
+#line 2233 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 62:
-/* Line 1787 of yacc.c  */
-#line 548 "../../ntpd/ntp_parser.y"
+#line 549 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        attr_val *atrv;
 
-                       atrv = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
+                       atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
                        APPEND_G_FIFO(cfgt.vars, atrv);
                }
+#line 2244 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 63:
-/* Line 1787 of yacc.c  */
-#line 555 "../../ntpd/ntp_parser.y"
-    { cfgt.auth.control_key = (yyvsp[(2) - (2)].Integer); }
+#line 556 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { cfgt.auth.control_key = (yyvsp[0].Integer); }
+#line 2250 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 64:
-/* Line 1787 of yacc.c  */
-#line 557 "../../ntpd/ntp_parser.y"
+#line 558 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        cfgt.auth.cryptosw++;
-                       CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[(2) - (2)].Attr_val_fifo));
+                       CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo));
                }
+#line 2259 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 65:
-/* Line 1787 of yacc.c  */
-#line 562 "../../ntpd/ntp_parser.y"
-    { cfgt.auth.keys = (yyvsp[(2) - (2)].String); }
+#line 563 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { cfgt.auth.keys = (yyvsp[0].String); }
+#line 2265 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 66:
-/* Line 1787 of yacc.c  */
-#line 564 "../../ntpd/ntp_parser.y"
-    { cfgt.auth.keysdir = (yyvsp[(2) - (2)].String); }
+#line 565 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { cfgt.auth.keysdir = (yyvsp[0].String); }
+#line 2271 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 67:
-/* Line 1787 of yacc.c  */
-#line 566 "../../ntpd/ntp_parser.y"
-    { cfgt.auth.request_key = (yyvsp[(2) - (2)].Integer); }
+#line 567 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { cfgt.auth.request_key = (yyvsp[0].Integer); }
+#line 2277 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 68:
-/* Line 1787 of yacc.c  */
-#line 568 "../../ntpd/ntp_parser.y"
-    { cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); }
+#line 569 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { cfgt.auth.revoke = (yyvsp[0].Integer); }
+#line 2283 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 69:
-/* Line 1787 of yacc.c  */
-#line 570 "../../ntpd/ntp_parser.y"
+#line 571 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       cfgt.auth.trusted_key_list = (yyvsp[(2) - (2)].Attr_val_fifo);
+                       cfgt.auth.trusted_key_list = (yyvsp[0].Attr_val_fifo);
 
                        // if (!cfgt.auth.trusted_key_list)
                        //      cfgt.auth.trusted_key_list = $2;
                        // else
                        //      LINK_SLIST(cfgt.auth.trusted_key_list, $2, link);
                }
+#line 2296 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 70:
-/* Line 1787 of yacc.c  */
-#line 579 "../../ntpd/ntp_parser.y"
-    { cfgt.auth.ntp_signd_socket = (yyvsp[(2) - (2)].String); }
+#line 580 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); }
+#line 2302 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 71:
-/* Line 1787 of yacc.c  */
-#line 584 "../../ntpd/ntp_parser.y"
+#line 585 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
+#line 2308 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 72:
-/* Line 1787 of yacc.c  */
-#line 586 "../../ntpd/ntp_parser.y"
+#line 587 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2317 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 73:
-/* Line 1787 of yacc.c  */
-#line 594 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
+#line 595 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
+#line 2323 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 74:
-/* Line 1787 of yacc.c  */
-#line 596 "../../ntpd/ntp_parser.y"
+#line 597 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val) = NULL;
-                       cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer);
+                       cfgt.auth.revoke = (yyvsp[0].Integer);
                        msyslog(LOG_WARNING,
                                "'crypto revoke %d' is deprecated, "
                                "please use 'revoke %d' instead.",
                                cfgt.auth.revoke, cfgt.auth.revoke);
                }
+#line 2336 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 80:
-/* Line 1787 of yacc.c  */
-#line 621 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[(2) - (2)].Attr_val_fifo)); }
+#line 622 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); }
+#line 2342 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 81:
-/* Line 1787 of yacc.c  */
-#line 626 "../../ntpd/ntp_parser.y"
+#line 627 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2351 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 82:
-/* Line 1787 of yacc.c  */
-#line 631 "../../ntpd/ntp_parser.y"
+#line 632 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2360 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 83:
-/* Line 1787 of yacc.c  */
-#line 639 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); }
+#line 640 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
+#line 2366 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 84:
-/* Line 1787 of yacc.c  */
-#line 641 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); }
+#line 642 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
+#line 2372 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 85:
-/* Line 1787 of yacc.c  */
-#line 643 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); }
+#line 644 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
+#line 2378 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 96:
-/* Line 1787 of yacc.c  */
-#line 669 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[(2) - (2)].Int_fifo)); }
+#line 670 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); }
+#line 2384 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 97:
-/* Line 1787 of yacc.c  */
-#line 671 "../../ntpd/ntp_parser.y"
+#line 672 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
-                               cfgt.stats_dir = (yyvsp[(2) - (2)].String);
+                               cfgt.stats_dir = (yyvsp[0].String);
                        } else {
-                               YYFREE((yyvsp[(2) - (2)].String));
+                               YYFREE((yyvsp[0].String));
                                yyerror("statsdir remote configuration ignored");
                        }
                }
+#line 2397 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 98:
-/* Line 1787 of yacc.c  */
-#line 680 "../../ntpd/ntp_parser.y"
+#line 681 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        filegen_node *fgn;
 
-                       fgn = create_filegen_node((yyvsp[(2) - (3)].Integer), (yyvsp[(3) - (3)].Attr_val_fifo));
+                       fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo));
                        APPEND_G_FIFO(cfgt.filegen_opts, fgn);
                }
+#line 2408 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 99:
-/* Line 1787 of yacc.c  */
-#line 690 "../../ntpd/ntp_parser.y"
+#line 691 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo);
-                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
+                       (yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
+                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
+#line 2417 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 100:
-/* Line 1787 of yacc.c  */
-#line 695 "../../ntpd/ntp_parser.y"
+#line 696 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Int_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer)));
+                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
+#line 2426 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 109:
-/* Line 1787 of yacc.c  */
-#line 714 "../../ntpd/ntp_parser.y"
+#line 715 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
+#line 2432 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 110:
-/* Line 1787 of yacc.c  */
-#line 716 "../../ntpd/ntp_parser.y"
+#line 717 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2441 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 111:
-/* Line 1787 of yacc.c  */
-#line 724 "../../ntpd/ntp_parser.y"
+#line 725 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
-                               (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String));
+                               (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
                        } else {
                                (yyval.Attr_val) = NULL;
-                               YYFREE((yyvsp[(2) - (2)].String));
+                               YYFREE((yyvsp[0].String));
                                yyerror("filegen file remote config ignored");
                        }
                }
+#line 2455 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 112:
-/* Line 1787 of yacc.c  */
-#line 734 "../../ntpd/ntp_parser.y"
+#line 735 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
-                               (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
+                               (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
                        } else {
                                (yyval.Attr_val) = NULL;
                                yyerror("filegen type remote config ignored");
                        }
                }
+#line 2468 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 113:
-/* Line 1787 of yacc.c  */
-#line 743 "../../ntpd/ntp_parser.y"
+#line 744 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        const char *err;
 
                        if (lex_from_file()) {
-                               (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer));
+                               (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
                        } else {
                                (yyval.Attr_val) = NULL;
-                               if (T_Link == (yyvsp[(1) - (1)].Integer))
+                               if (T_Link == (yyvsp[0].Integer))
                                        err = "filegen link remote config ignored";
                                else
                                        err = "filegen nolink remote config ignored";
                                yyerror(err);
                        }
                }
+#line 2487 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 114:
-/* Line 1787 of yacc.c  */
-#line 758 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); }
+#line 759 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
+#line 2493 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 126:
-/* Line 1787 of yacc.c  */
-#line 788 "../../ntpd/ntp_parser.y"
+#line 789 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[(2) - (2)].Attr_val_fifo));
+                       CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo));
                }
+#line 2501 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 127:
-/* Line 1787 of yacc.c  */
-#line 792 "../../ntpd/ntp_parser.y"
+#line 793 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[(2) - (2)].Attr_val_fifo));
+                       CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo));
                }
+#line 2509 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 128:
-/* Line 1787 of yacc.c  */
-#line 796 "../../ntpd/ntp_parser.y"
+#line 797 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
-                       rn = create_restrict_node((yyvsp[(2) - (3)].Address_node), NULL, (yyvsp[(3) - (3)].Int_fifo),
+                       rn = create_restrict_node((yyvsp[-1].Address_node), NULL, (yyvsp[0].Int_fifo),
                                                  lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
+#line 2521 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 129:
-/* Line 1787 of yacc.c  */
-#line 804 "../../ntpd/ntp_parser.y"
+#line 805 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
-                       rn = create_restrict_node((yyvsp[(2) - (5)].Address_node), (yyvsp[(4) - (5)].Address_node), (yyvsp[(5) - (5)].Int_fifo),
+                       rn = create_restrict_node((yyvsp[-3].Address_node), (yyvsp[-1].Address_node), (yyvsp[0].Int_fifo),
                                                  lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
+#line 2533 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 130:
-/* Line 1787 of yacc.c  */
-#line 812 "../../ntpd/ntp_parser.y"
+#line 813 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
-                       rn = create_restrict_node(NULL, NULL, (yyvsp[(3) - (3)].Int_fifo),
+                       rn = create_restrict_node(NULL, NULL, (yyvsp[0].Int_fifo),
                                                  lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
+#line 2545 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 131:
-/* Line 1787 of yacc.c  */
-#line 820 "../../ntpd/ntp_parser.y"
+#line 821 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
@@ -2784,15 +2556,15 @@ yyreduce:
                                create_address_node(
                                        estrdup("0.0.0.0"),
                                        AF_INET),
-                               (yyvsp[(4) - (4)].Int_fifo),
+                               (yyvsp[0].Int_fifo),
                                lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
+#line 2564 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 132:
-/* Line 1787 of yacc.c  */
-#line 835 "../../ntpd/ntp_parser.y"
+#line 836 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
@@ -2803,327 +2575,327 @@ yyreduce:
                                create_address_node(
                                        estrdup("::"),
                                        AF_INET6),
-                               (yyvsp[(4) - (4)].Int_fifo),
+                               (yyvsp[0].Int_fifo),
                                lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
+#line 2583 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 133:
-/* Line 1787 of yacc.c  */
-#line 850 "../../ntpd/ntp_parser.y"
+#line 851 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node * rn;
 
-                       APPEND_G_FIFO((yyvsp[(3) - (3)].Int_fifo), create_int_node((yyvsp[(2) - (3)].Integer)));
+                       APPEND_G_FIFO((yyvsp[0].Int_fifo), create_int_node((yyvsp[-1].Integer)));
                        rn = create_restrict_node(
-                               NULL, NULL, (yyvsp[(3) - (3)].Int_fifo), lex_current()->curpos.nline);
+                               NULL, NULL, (yyvsp[0].Int_fifo), lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
+#line 2596 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 134:
-/* Line 1787 of yacc.c  */
-#line 862 "../../ntpd/ntp_parser.y"
+#line 863 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Int_fifo) = NULL; }
+#line 2602 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 135:
-/* Line 1787 of yacc.c  */
-#line 864 "../../ntpd/ntp_parser.y"
+#line 865 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo);
-                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
+                       (yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
+                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
+#line 2611 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 151:
-/* Line 1787 of yacc.c  */
-#line 890 "../../ntpd/ntp_parser.y"
+#line 891 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2620 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 152:
-/* Line 1787 of yacc.c  */
-#line 895 "../../ntpd/ntp_parser.y"
+#line 896 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2629 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 153:
-/* Line 1787 of yacc.c  */
-#line 903 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
+#line 904 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
+#line 2635 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 157:
-/* Line 1787 of yacc.c  */
-#line 914 "../../ntpd/ntp_parser.y"
+#line 915 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2644 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 158:
-/* Line 1787 of yacc.c  */
-#line 919 "../../ntpd/ntp_parser.y"
+#line 920 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2653 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 159:
-/* Line 1787 of yacc.c  */
-#line 927 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
+#line 928 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
+#line 2659 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 168:
-/* Line 1787 of yacc.c  */
-#line 947 "../../ntpd/ntp_parser.y"
+#line 948 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        addr_opts_node *aon;
 
-                       aon = create_addr_opts_node((yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo));
+                       aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
                        APPEND_G_FIFO(cfgt.fudge, aon);
                }
+#line 2670 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 169:
-/* Line 1787 of yacc.c  */
-#line 957 "../../ntpd/ntp_parser.y"
+#line 958 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2679 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 170:
-/* Line 1787 of yacc.c  */
-#line 962 "../../ntpd/ntp_parser.y"
+#line 963 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2688 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 171:
-/* Line 1787 of yacc.c  */
-#line 970 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); }
+#line 971 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
+#line 2694 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 172:
-/* Line 1787 of yacc.c  */
-#line 972 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
+#line 973 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
+#line 2700 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 173:
-/* Line 1787 of yacc.c  */
-#line 974 "../../ntpd/ntp_parser.y"
+#line 975 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       if ((yyvsp[(2) - (2)].Integer) >= 0 && (yyvsp[(2) - (2)].Integer) <= 16) {
-                               (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
+                       if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) {
+                               (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
                        } else {
                                (yyval.Attr_val) = NULL;
                                yyerror("fudge factor: stratum value not in [0..16], ignored");
                        }
                }
+#line 2713 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 174:
-/* Line 1787 of yacc.c  */
-#line 983 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
+#line 984 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
+#line 2719 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 175:
-/* Line 1787 of yacc.c  */
-#line 985 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
+#line 986 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
+#line 2725 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 182:
-/* Line 1787 of yacc.c  */
-#line 1006 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[(2) - (2)].Attr_val_fifo)); }
+#line 1007 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); }
+#line 2731 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 183:
-/* Line 1787 of yacc.c  */
-#line 1011 "../../ntpd/ntp_parser.y"
+#line 1012 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2740 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 184:
-/* Line 1787 of yacc.c  */
-#line 1016 "../../ntpd/ntp_parser.y"
+#line 1017 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2749 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 185:
-/* Line 1787 of yacc.c  */
-#line 1024 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
+#line 1025 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
+#line 2755 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 189:
-/* Line 1787 of yacc.c  */
-#line 1040 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); }
+#line 1041 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); }
+#line 2761 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 190:
-/* Line 1787 of yacc.c  */
-#line 1042 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); }
+#line 1043 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); }
+#line 2767 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 191:
-/* Line 1787 of yacc.c  */
-#line 1047 "../../ntpd/ntp_parser.y"
+#line 1048 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2776 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 192:
-/* Line 1787 of yacc.c  */
-#line 1052 "../../ntpd/ntp_parser.y"
+#line 1053 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2785 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 193:
-/* Line 1787 of yacc.c  */
-#line 1060 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); }
+#line 1061 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
+#line 2791 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 194:
-/* Line 1787 of yacc.c  */
-#line 1062 "../../ntpd/ntp_parser.y"
+#line 1063 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
-                               (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer));
+                               (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
                        } else {
                                char err_str[128];
 
                                (yyval.Attr_val) = NULL;
                                snprintf(err_str, sizeof(err_str),
                                         "enable/disable %s remote configuration ignored",
-                                        keyword((yyvsp[(1) - (1)].Integer)));
+                                        keyword((yyvsp[0].Integer)));
                                yyerror(err_str);
                        }
                }
+#line 2809 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 206:
-/* Line 1787 of yacc.c  */
-#line 1100 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[(2) - (2)].Attr_val_fifo)); }
+  case 207:
+#line 1102 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); }
+#line 2815 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 207:
-/* Line 1787 of yacc.c  */
-#line 1105 "../../ntpd/ntp_parser.y"
+  case 208:
+#line 1107 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2824 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 208:
-/* Line 1787 of yacc.c  */
-#line 1110 "../../ntpd/ntp_parser.y"
+  case 209:
+#line 1112 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 2833 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 209:
-/* Line 1787 of yacc.c  */
-#line 1118 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); }
+  case 210:
+#line 1120 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
+#line 2839 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 222:
-/* Line 1787 of yacc.c  */
-#line 1143 "../../ntpd/ntp_parser.y"
+  case 223:
+#line 1145 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        attr_val *av;
 
-                       av = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double));
+                       av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double));
                        APPEND_G_FIFO(cfgt.vars, av);
                }
+#line 2850 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 223:
-/* Line 1787 of yacc.c  */
-#line 1150 "../../ntpd/ntp_parser.y"
+  case 224:
+#line 1152 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        attr_val *av;
 
-                       av = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
+                       av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
                        APPEND_G_FIFO(cfgt.vars, av);
                }
+#line 2861 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 224:
-/* Line 1787 of yacc.c  */
-#line 1157 "../../ntpd/ntp_parser.y"
+  case 225:
+#line 1159 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        attr_val *av;
 
-                       av = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String));
+                       av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
                        APPEND_G_FIFO(cfgt.vars, av);
                }
+#line 2872 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 225:
-/* Line 1787 of yacc.c  */
-#line 1164 "../../ntpd/ntp_parser.y"
+  case 226:
+#line 1166 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        char error_text[64];
                        attr_val *av;
 
                        if (lex_from_file()) {
-                               av = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String));
+                               av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
                                APPEND_G_FIFO(cfgt.vars, av);
                        } else {
-                               YYFREE((yyvsp[(2) - (2)].String));
+                               YYFREE((yyvsp[0].String));
                                snprintf(error_text, sizeof(error_text),
                                         "%s remote config ignored",
-                                        keyword((yyvsp[(1) - (2)].Integer)));
+                                        keyword((yyvsp[-1].Integer)));
                                yyerror(error_text);
                        }
                }
+#line 2892 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 226:
-/* Line 1787 of yacc.c  */
-#line 1180 "../../ntpd/ntp_parser.y"
+  case 227:
+#line 1182 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (!lex_from_file()) {
-                               YYFREE((yyvsp[(2) - (3)].String)); /* avoid leak */
+                               YYFREE((yyvsp[-1].String)); /* avoid leak */
                                yyerror("remote includefile ignored");
                                break;
                        }
@@ -3131,108 +2903,108 @@ yyreduce:
                                fprintf(stderr, "getconfig: Maximum include file level exceeded.\n");
                                msyslog(LOG_ERR, "getconfig: Maximum include file level exceeded.");
                        } else {
-                               const char * path = FindConfig((yyvsp[(2) - (3)].String)); /* might return $2! */
+                               const char * path = FindConfig((yyvsp[-1].String)); /* might return $2! */
                                if (!lex_push_file(path, "r")) {
                                        fprintf(stderr, "getconfig: Couldn't open <%s>\n", path);
                                        msyslog(LOG_ERR, "getconfig: Couldn't open <%s>", path);
                                }
                        }
-                       YYFREE((yyvsp[(2) - (3)].String)); /* avoid leak */
+                       YYFREE((yyvsp[-1].String)); /* avoid leak */
                }
-    break;
-
-  case 227:
-/* Line 1787 of yacc.c  */
-#line 1199 "../../ntpd/ntp_parser.y"
-    { lex_flush_stack(); }
+#line 2915 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 228:
-/* Line 1787 of yacc.c  */
-#line 1201 "../../ntpd/ntp_parser.y"
-    { /* see drift_parm below for actions */ }
+#line 1201 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { lex_flush_stack(); }
+#line 2921 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 229:
-/* Line 1787 of yacc.c  */
-#line 1203 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[(2) - (2)].Attr_val_fifo)); }
+#line 1203 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { /* see drift_parm below for actions */ }
+#line 2927 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 230:
-/* Line 1787 of yacc.c  */
-#line 1205 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[(2) - (2)].String_fifo)); }
+#line 1205 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); }
+#line 2933 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 231:
-/* Line 1787 of yacc.c  */
-#line 1207 "../../ntpd/ntp_parser.y"
-    { APPEND_G_FIFO(cfgt.setvar, (yyvsp[(2) - (2)].Set_var)); }
+#line 1207 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); }
+#line 2939 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 232:
-/* Line 1787 of yacc.c  */
-#line 1209 "../../ntpd/ntp_parser.y"
+#line 1209 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); }
+#line 2945 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
+    break;
+
+  case 233:
+#line 1211 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        addr_opts_node *aon;
 
-                       aon = create_addr_opts_node((yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo));
+                       aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
                        APPEND_G_FIFO(cfgt.trap, aon);
                }
+#line 2956 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 233:
-/* Line 1787 of yacc.c  */
-#line 1216 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[(2) - (2)].Attr_val_fifo)); }
+  case 234:
+#line 1218 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); }
+#line 2962 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 238:
-/* Line 1787 of yacc.c  */
-#line 1231 "../../ntpd/ntp_parser.y"
+  case 239:
+#line 1233 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
 #ifndef LEAP_SMEAR
                        yyerror("Built without LEAP_SMEAR support.");
 #endif
                }
+#line 2972 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 244:
-/* Line 1787 of yacc.c  */
-#line 1251 "../../ntpd/ntp_parser.y"
+  case 245:
+#line 1253 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                attr_val *av;
-                               av = create_attr_sval(T_Driftfile, (yyvsp[(1) - (1)].String));
+                               av = create_attr_sval(T_Driftfile, (yyvsp[0].String));
                                APPEND_G_FIFO(cfgt.vars, av);
                        } else {
-                               YYFREE((yyvsp[(1) - (1)].String));
+                               YYFREE((yyvsp[0].String));
                                yyerror("driftfile remote configuration ignored");
                        }
                }
+#line 2987 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 245:
-/* Line 1787 of yacc.c  */
-#line 1262 "../../ntpd/ntp_parser.y"
+  case 246:
+#line 1264 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                attr_val *av;
-                               av = create_attr_sval(T_Driftfile, (yyvsp[(1) - (2)].String));
+                               av = create_attr_sval(T_Driftfile, (yyvsp[-1].String));
                                APPEND_G_FIFO(cfgt.vars, av);
-                               av = create_attr_dval(T_WanderThreshold, (yyvsp[(2) - (2)].Double));
+                               av = create_attr_dval(T_WanderThreshold, (yyvsp[0].Double));
                                APPEND_G_FIFO(cfgt.vars, av);
                        } else {
-                               YYFREE((yyvsp[(1) - (2)].String));
+                               YYFREE((yyvsp[-1].String));
                                yyerror("driftfile remote configuration ignored");
                        }
                }
+#line 3004 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 246:
-/* Line 1787 of yacc.c  */
-#line 1275 "../../ntpd/ntp_parser.y"
+  case 247:
+#line 1277 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                attr_val *av;
@@ -3242,386 +3014,386 @@ yyreduce:
                                yyerror("driftfile remote configuration ignored");
                        }
                }
+#line 3018 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 247:
-/* Line 1787 of yacc.c  */
-#line 1288 "../../ntpd/ntp_parser.y"
-    { (yyval.Set_var) = create_setvar_node((yyvsp[(1) - (4)].String), (yyvsp[(3) - (4)].String), (yyvsp[(4) - (4)].Integer)); }
+  case 248:
+#line 1290 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); }
+#line 3024 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 249:
-/* Line 1787 of yacc.c  */
-#line 1294 "../../ntpd/ntp_parser.y"
+  case 250:
+#line 1296 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 0; }
+#line 3030 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 250:
-/* Line 1787 of yacc.c  */
-#line 1299 "../../ntpd/ntp_parser.y"
+  case 251:
+#line 1301 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
+#line 3036 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 251:
-/* Line 1787 of yacc.c  */
-#line 1301 "../../ntpd/ntp_parser.y"
+  case 252:
+#line 1303 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 3045 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 252:
-/* Line 1787 of yacc.c  */
-#line 1309 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
+  case 253:
+#line 1311 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
+#line 3051 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 253:
-/* Line 1787 of yacc.c  */
-#line 1311 "../../ntpd/ntp_parser.y"
+  case 254:
+#line 1313 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), estrdup((yyvsp[(2) - (2)].Address_node)->address));
-                       destroy_address_node((yyvsp[(2) - (2)].Address_node));
+                       (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address));
+                       destroy_address_node((yyvsp[0].Address_node));
                }
+#line 3060 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 254:
-/* Line 1787 of yacc.c  */
-#line 1319 "../../ntpd/ntp_parser.y"
+  case 255:
+#line 1321 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 3069 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 255:
-/* Line 1787 of yacc.c  */
-#line 1324 "../../ntpd/ntp_parser.y"
+  case 256:
+#line 1326 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 3078 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 256:
-/* Line 1787 of yacc.c  */
-#line 1332 "../../ntpd/ntp_parser.y"
+  case 257:
+#line 1334 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        char    prefix;
                        char *  type;
 
-                       switch ((yyvsp[(1) - (1)].String)[0]) {
+                       switch ((yyvsp[0].String)[0]) {
 
                        case '+':
                        case '-':
                        case '=':
-                               prefix = (yyvsp[(1) - (1)].String)[0];
-                               type = (yyvsp[(1) - (1)].String) + 1;
+                               prefix = (yyvsp[0].String)[0];
+                               type = (yyvsp[0].String) + 1;
                                break;
 
                        default:
                                prefix = '=';
-                               type = (yyvsp[(1) - (1)].String);
+                               type = (yyvsp[0].String);
                        }
 
                        (yyval.Attr_val) = create_attr_sval(prefix, estrdup(type));
-                       YYFREE((yyvsp[(1) - (1)].String));
+                       YYFREE((yyvsp[0].String));
                }
+#line 3104 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 257:
-/* Line 1787 of yacc.c  */
-#line 1357 "../../ntpd/ntp_parser.y"
+  case 258:
+#line 1359 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        nic_rule_node *nrn;
 
-                       nrn = create_nic_rule_node((yyvsp[(3) - (3)].Integer), NULL, (yyvsp[(2) - (3)].Integer));
+                       nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer));
                        APPEND_G_FIFO(cfgt.nic_rules, nrn);
                }
+#line 3115 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 258:
-/* Line 1787 of yacc.c  */
-#line 1364 "../../ntpd/ntp_parser.y"
+  case 259:
+#line 1366 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        nic_rule_node *nrn;
 
-                       nrn = create_nic_rule_node(0, (yyvsp[(3) - (3)].String), (yyvsp[(2) - (3)].Integer));
+                       nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer));
                        APPEND_G_FIFO(cfgt.nic_rules, nrn);
                }
-    break;
-
-  case 268:
-/* Line 1787 of yacc.c  */
-#line 1392 "../../ntpd/ntp_parser.y"
-    { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[(2) - (2)].Int_fifo)); }
+#line 3126 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 269:
-/* Line 1787 of yacc.c  */
-#line 1397 "../../ntpd/ntp_parser.y"
-    {
-                       (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo);
-                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
-               }
+#line 1394 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); }
+#line 3132 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 270:
-/* Line 1787 of yacc.c  */
-#line 1402 "../../ntpd/ntp_parser.y"
+#line 1399 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Int_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer)));
+                       (yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
+                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
+#line 3141 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 278:
-/* Line 1787 of yacc.c  */
-#line 1426 "../../ntpd/ntp_parser.y"
+  case 271:
+#line 1404 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
+                       (yyval.Int_fifo) = NULL;
+                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
+#line 3150 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 279:
-/* Line 1787 of yacc.c  */
-#line 1431 "../../ntpd/ntp_parser.y"
+#line 1428 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(1) - (1)].Integer)));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
                }
+#line 3159 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 280:
-/* Line 1787 of yacc.c  */
-#line 1439 "../../ntpd/ntp_parser.y"
+#line 1433 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
+                       (yyval.Attr_val_fifo) = NULL;
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
                }
+#line 3168 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 281:
-/* Line 1787 of yacc.c  */
-#line 1444 "../../ntpd/ntp_parser.y"
+#line 1441 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
+#line 3177 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 282:
-/* Line 1787 of yacc.c  */
-#line 1452 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[(1) - (1)].Integer)); }
+#line 1446 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    {
+                       (yyval.Attr_val_fifo) = NULL;
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
+               }
+#line 3186 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 284:
-/* Line 1787 of yacc.c  */
-#line 1458 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[(2) - (5)].Integer), (yyvsp[(4) - (5)].Integer)); }
+  case 283:
+#line 1454 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); }
+#line 3192 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 285:
-/* Line 1787 of yacc.c  */
-#line 1463 "../../ntpd/ntp_parser.y"
-    {
-                       (yyval.String_fifo) = (yyvsp[(1) - (2)].String_fifo);
-                       APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(2) - (2)].String)));
-               }
+#line 1460 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); }
+#line 3198 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 286:
-/* Line 1787 of yacc.c  */
-#line 1468 "../../ntpd/ntp_parser.y"
+#line 1465 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.String_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(1) - (1)].String)));
+                       (yyval.String_fifo) = (yyvsp[-1].String_fifo);
+                       APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
                }
+#line 3207 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 287:
-/* Line 1787 of yacc.c  */
-#line 1476 "../../ntpd/ntp_parser.y"
+#line 1470 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Address_fifo) = (yyvsp[(1) - (2)].Address_fifo);
-                       APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(2) - (2)].Address_node));
+                       (yyval.String_fifo) = NULL;
+                       APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
                }
+#line 3216 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 288:
-/* Line 1787 of yacc.c  */
-#line 1481 "../../ntpd/ntp_parser.y"
+#line 1478 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Address_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(1) - (1)].Address_node));
+                       (yyval.Address_fifo) = (yyvsp[-1].Address_fifo);
+                       APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
                }
+#line 3225 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 289:
-/* Line 1787 of yacc.c  */
-#line 1489 "../../ntpd/ntp_parser.y"
+#line 1483 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    {
+                       (yyval.Address_fifo) = NULL;
+                       APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
+               }
+#line 3234 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
+    break;
+
+  case 290:
+#line 1491 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       if ((yyvsp[(1) - (1)].Integer) != 0 && (yyvsp[(1) - (1)].Integer) != 1) {
+                       if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) {
                                yyerror("Integer value is not boolean (0 or 1). Assuming 1");
                                (yyval.Integer) = 1;
                        } else {
-                               (yyval.Integer) = (yyvsp[(1) - (1)].Integer);
+                               (yyval.Integer) = (yyvsp[0].Integer);
                        }
                }
+#line 3247 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 290:
-/* Line 1787 of yacc.c  */
-#line 1497 "../../ntpd/ntp_parser.y"
+  case 291:
+#line 1499 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 1; }
+#line 3253 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 291:
-/* Line 1787 of yacc.c  */
-#line 1498 "../../ntpd/ntp_parser.y"
+  case 292:
+#line 1500 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 0; }
+#line 3259 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 292:
-/* Line 1787 of yacc.c  */
-#line 1502 "../../ntpd/ntp_parser.y"
-    { (yyval.Double) = (double)(yyvsp[(1) - (1)].Integer); }
+  case 293:
+#line 1504 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Double) = (double)(yyvsp[0].Integer); }
+#line 3265 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 294:
-/* Line 1787 of yacc.c  */
-#line 1513 "../../ntpd/ntp_parser.y"
+  case 295:
+#line 1515 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        sim_node *sn;
 
-                       sn =  create_sim_node((yyvsp[(3) - (5)].Attr_val_fifo), (yyvsp[(4) - (5)].Sim_server_fifo));
+                       sn =  create_sim_node((yyvsp[-2].Attr_val_fifo), (yyvsp[-1].Sim_server_fifo));
                        APPEND_G_FIFO(cfgt.sim_details, sn);
 
                        /* Revert from ; to \n for end-of-command */
                        old_config_style = 1;
                }
+#line 3279 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 295:
-/* Line 1787 of yacc.c  */
-#line 1530 "../../ntpd/ntp_parser.y"
+  case 296:
+#line 1532 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { old_config_style = 0; }
+#line 3285 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 296:
-/* Line 1787 of yacc.c  */
-#line 1535 "../../ntpd/ntp_parser.y"
+  case 297:
+#line 1537 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
+#line 3294 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 297:
-/* Line 1787 of yacc.c  */
-#line 1540 "../../ntpd/ntp_parser.y"
+  case 298:
+#line 1542 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
+#line 3303 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 298:
-/* Line 1787 of yacc.c  */
-#line 1548 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); }
+  case 299:
+#line 1550 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
+#line 3309 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 301:
-/* Line 1787 of yacc.c  */
-#line 1558 "../../ntpd/ntp_parser.y"
+  case 302:
+#line 1560 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Sim_server_fifo) = (yyvsp[(1) - (2)].Sim_server_fifo);
-                       APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(2) - (2)].Sim_server));
+                       (yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo);
+                       APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
                }
+#line 3318 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 302:
-/* Line 1787 of yacc.c  */
-#line 1563 "../../ntpd/ntp_parser.y"
+  case 303:
+#line 1565 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_server_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(1) - (1)].Sim_server));
+                       APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
                }
-    break;
-
-  case 303:
-/* Line 1787 of yacc.c  */
-#line 1571 "../../ntpd/ntp_parser.y"
-    { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[(1) - (5)].Address_node), (yyvsp[(3) - (5)].Double), (yyvsp[(4) - (5)].Sim_script_fifo))); }
+#line 3327 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 304:
-/* Line 1787 of yacc.c  */
-#line 1576 "../../ntpd/ntp_parser.y"
-    { (yyval.Double) = (yyvsp[(3) - (4)].Double); }
+#line 1573 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); }
+#line 3333 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 305:
-/* Line 1787 of yacc.c  */
-#line 1581 "../../ntpd/ntp_parser.y"
-    { (yyval.Address_node) = (yyvsp[(3) - (3)].Address_node); }
+#line 1578 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Double) = (yyvsp[-1].Double); }
+#line 3339 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 306:
-/* Line 1787 of yacc.c  */
-#line 1586 "../../ntpd/ntp_parser.y"
-    {
-                       (yyval.Sim_script_fifo) = (yyvsp[(1) - (2)].Sim_script_fifo);
-                       APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(2) - (2)].Sim_script));
-               }
+#line 1583 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Address_node) = (yyvsp[0].Address_node); }
+#line 3345 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 307:
-/* Line 1787 of yacc.c  */
-#line 1591 "../../ntpd/ntp_parser.y"
+#line 1588 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Sim_script_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(1) - (1)].Sim_script));
+                       (yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo);
+                       APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
                }
+#line 3354 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 308:
-/* Line 1787 of yacc.c  */
-#line 1599 "../../ntpd/ntp_parser.y"
-    { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[(3) - (6)].Double), (yyvsp[(5) - (6)].Attr_val_fifo))); }
+#line 1593 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    {
+                       (yyval.Sim_script_fifo) = NULL;
+                       APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
+               }
+#line 3363 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 309:
-/* Line 1787 of yacc.c  */
-#line 1604 "../../ntpd/ntp_parser.y"
+#line 1601 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); }
+#line 3369 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
+    break;
+
+  case 310:
+#line 1606 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo);
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val));
+                       (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
+#line 3378 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 310:
-/* Line 1787 of yacc.c  */
-#line 1609 "../../ntpd/ntp_parser.y"
+  case 311:
+#line 1611 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
-                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
+#line 3387 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 311:
-/* Line 1787 of yacc.c  */
-#line 1617 "../../ntpd/ntp_parser.y"
-    { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); }
+  case 312:
+#line 1619 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
+#line 3393 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
 
-/* Line 1787 of yacc.c  */
-#line 3625 "ntp_parser.c"
+#line 3397 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -3643,7 +3415,7 @@ yyreduce:
 
   *++yyvsp = yyval;
 
-  /* Now `shift' the result of the reduction.  Determine what state
+  /* Now 'shift' the result of the reduction.  Determine what state
      that goes to, based on the state we popped back to and the rule
      number reduced by.  */
 
@@ -3658,9 +3430,9 @@ yyreduce:
   goto yynewstate;
 
 
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
+/*--------------------------------------.
+| yyerrlab -- here on detecting error |
+`--------------------------------------*/
 yyerrlab:
   /* Make sure we have latest lookahead translation.  See comments at
      user semantic actions for why this is necessary.  */
@@ -3711,20 +3483,20 @@ yyerrlab:
   if (yyerrstatus == 3)
     {
       /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
+         error, discard it.  */
 
       if (yychar <= YYEOF)
-       {
-         /* Return failure if at end of input.  */
-         if (yychar == YYEOF)
-           YYABORT;
-       }
+        {
+          /* Return failure if at end of input.  */
+          if (yychar == YYEOF)
+            YYABORT;
+        }
       else
-       {
-         yydestruct ("Error: discarding",
-                     yytoken, &yylval);
-         yychar = YYEMPTY;
-       }
+        {
+          yydestruct ("Error: discarding",
+                      yytoken, &yylval);
+          yychar = YYEMPTY;
+        }
     }
 
   /* Else will try to reuse lookahead token after shifting the error
@@ -3743,7 +3515,7 @@ yyerrorlab:
   if (/*CONSTCOND*/ 0)
      goto yyerrorlab;
 
-  /* Do not reclaim the symbols of the rule which action triggered
+  /* Do not reclaim the symbols of the rule whose action triggered
      this YYERROR.  */
   YYPOPSTACK (yylen);
   yylen = 0;
@@ -3756,29 +3528,29 @@ yyerrorlab:
 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
 `-------------------------------------------------------------*/
 yyerrlab1:
-  yyerrstatus = 3;     /* Each real token shifted decrements this.  */
+  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
 
   for (;;)
     {
       yyn = yypact[yystate];
       if (!yypact_value_is_default (yyn))
-       {
-         yyn += YYTERROR;
-         if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
-           {
-             yyn = yytable[yyn];
-             if (0 < yyn)
-               break;
-           }
-       }
+        {
+          yyn += YYTERROR;
+          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+            {
+              yyn = yytable[yyn];
+              if (0 < yyn)
+                break;
+            }
+        }
 
       /* Pop the current state because it cannot handle the error token.  */
       if (yyssp == yyss)
-       YYABORT;
+        YYABORT;
 
 
       yydestruct ("Error: popping",
-                 yystos[yystate], yyvsp);
+                  yystos[yystate], yyvsp);
       YYPOPSTACK (1);
       yystate = *yyssp;
       YY_STACK_PRINT (yyss, yyssp);
@@ -3829,14 +3601,14 @@ yyreturn:
       yydestruct ("Cleanup: discarding lookahead",
                   yytoken, &yylval);
     }
-  /* Do not reclaim the symbols of the rule which action triggered
+  /* Do not reclaim the symbols of the rule whose action triggered
      this YYABORT or YYACCEPT.  */
   YYPOPSTACK (yylen);
   YY_STACK_PRINT (yyss, yyssp);
   while (yyssp != yyss)
     {
       yydestruct ("Cleanup: popping",
-                 yystos[*yyssp], yyvsp);
+                  yystos[*yyssp], yyvsp);
       YYPOPSTACK (1);
     }
 #ifndef yyoverflow
@@ -3847,13 +3619,9 @@ yyreturn:
   if (yymsg != yymsgbuf)
     YYSTACK_FREE (yymsg);
 #endif
-  /* Make sure YYID is used.  */
-  return YYID (yyresult);
+  return yyresult;
 }
-
-
-/* Line 2050 of yacc.c  */
-#line 1628 "../../ntpd/ntp_parser.y"
+#line 1630 "../../ntpd/ntp_parser.y" /* yacc.c:1906  */
 
 
 void
index ae729b5f83b76567d8af53cfa8dcfc321c238a06..3409e25a06330db230056c9327fd4ab25b22125d 100644 (file)
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7.12-4996.  */
+/* A Bison parser, made by GNU Bison 3.0.4.  */
 
 /* Bison interface for Yacc-like parsers in C
-   
-      Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
-   
+
+   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
-   
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-   
+
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
    special exception, which will cause the skeleton and the resulting
    Bison output files to be licensed under the GNU General Public
    License without this special exception.
-   
+
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
-#ifndef YY_YY_NTP_PARSER_H_INCLUDED
-# define YY_YY_NTP_PARSER_H_INCLUDED
-/* Enabling traces.  */
+#ifndef YY_YY_Y_TAB_H_INCLUDED
+# define YY_YY_Y_TAB_H_INCLUDED
+/* Debug traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 1
 #endif
 extern int yydebug;
 #endif
 
-/* Tokens.  */
+/* Token type.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     T_Abbrev = 258,
-     T_Age = 259,
-     T_All = 260,
-     T_Allan = 261,
-     T_Allpeers = 262,
-     T_Auth = 263,
-     T_Autokey = 264,
-     T_Automax = 265,
-     T_Average = 266,
-     T_Bclient = 267,
-     T_Beacon = 268,
-     T_Broadcast = 269,
-     T_Broadcastclient = 270,
-     T_Broadcastdelay = 271,
-     T_Burst = 272,
-     T_Calibrate = 273,
-     T_Ceiling = 274,
-     T_Clockstats = 275,
-     T_Cohort = 276,
-     T_ControlKey = 277,
-     T_Crypto = 278,
-     T_Cryptostats = 279,
-     T_Ctl = 280,
-     T_Day = 281,
-     T_Default = 282,
-     T_Digest = 283,
-     T_Disable = 284,
-     T_Discard = 285,
-     T_Dispersion = 286,
-     T_Double = 287,
-     T_Driftfile = 288,
-     T_Drop = 289,
-     T_Dscp = 290,
-     T_Ellipsis = 291,
-     T_Enable = 292,
-     T_End = 293,
-     T_False = 294,
-     T_File = 295,
-     T_Filegen = 296,
-     T_Filenum = 297,
-     T_Flag1 = 298,
-     T_Flag2 = 299,
-     T_Flag3 = 300,
-     T_Flag4 = 301,
-     T_Flake = 302,
-     T_Floor = 303,
-     T_Freq = 304,
-     T_Fudge = 305,
-     T_Host = 306,
-     T_Huffpuff = 307,
-     T_Iburst = 308,
-     T_Ident = 309,
-     T_Ignore = 310,
-     T_Incalloc = 311,
-     T_Incmem = 312,
-     T_Initalloc = 313,
-     T_Initmem = 314,
-     T_Includefile = 315,
-     T_Integer = 316,
-     T_Interface = 317,
-     T_Intrange = 318,
-     T_Io = 319,
-     T_Ipv4 = 320,
-     T_Ipv4_flag = 321,
-     T_Ipv6 = 322,
-     T_Ipv6_flag = 323,
-     T_Kernel = 324,
-     T_Key = 325,
-     T_Keys = 326,
-     T_Keysdir = 327,
-     T_Kod = 328,
-     T_Mssntp = 329,
-     T_Leapfile = 330,
-     T_Leapsmearinterval = 331,
-     T_Limited = 332,
-     T_Link = 333,
-     T_Listen = 334,
-     T_Logconfig = 335,
-     T_Logfile = 336,
-     T_Loopstats = 337,
-     T_Lowpriotrap = 338,
-     T_Manycastclient = 339,
-     T_Manycastserver = 340,
-     T_Mask = 341,
-     T_Maxage = 342,
-     T_Maxclock = 343,
-     T_Maxdepth = 344,
-     T_Maxdist = 345,
-     T_Maxmem = 346,
-     T_Maxpoll = 347,
-     T_Mdnstries = 348,
-     T_Mem = 349,
-     T_Memlock = 350,
-     T_Minclock = 351,
-     T_Mindepth = 352,
-     T_Mindist = 353,
-     T_Minimum = 354,
-     T_Minpoll = 355,
-     T_Minsane = 356,
-     T_Mode = 357,
-     T_Mode7 = 358,
-     T_Monitor = 359,
-     T_Month = 360,
-     T_Mru = 361,
-     T_Multicastclient = 362,
-     T_Nic = 363,
-     T_Nolink = 364,
-     T_Nomodify = 365,
-     T_Nomrulist = 366,
-     T_None = 367,
-     T_Nonvolatile = 368,
-     T_Nopeer = 369,
-     T_Noquery = 370,
-     T_Noselect = 371,
-     T_Noserve = 372,
-     T_Notrap = 373,
-     T_Notrust = 374,
-     T_Ntp = 375,
-     T_Ntpport = 376,
-     T_NtpSignDsocket = 377,
-     T_Orphan = 378,
-     T_Orphanwait = 379,
-     T_Panic = 380,
-     T_Peer = 381,
-     T_Peerstats = 382,
-     T_Phone = 383,
-     T_Pid = 384,
-     T_Pidfile = 385,
-     T_Pool = 386,
-     T_Port = 387,
-     T_Preempt = 388,
-     T_Prefer = 389,
-     T_Protostats = 390,
-     T_Pw = 391,
-     T_Randfile = 392,
-     T_Rawstats = 393,
-     T_Refid = 394,
-     T_Requestkey = 395,
-     T_Reset = 396,
-     T_Restrict = 397,
-     T_Revoke = 398,
-     T_Rlimit = 399,
-     T_Saveconfigdir = 400,
-     T_Server = 401,
-     T_Setvar = 402,
-     T_Source = 403,
-     T_Stacksize = 404,
-     T_Statistics = 405,
-     T_Stats = 406,
-     T_Statsdir = 407,
-     T_Step = 408,
-     T_Stepback = 409,
-     T_Stepfwd = 410,
-     T_Stepout = 411,
-     T_Stratum = 412,
-     T_String = 413,
-     T_Sys = 414,
-     T_Sysstats = 415,
-     T_Tick = 416,
-     T_Time1 = 417,
-     T_Time2 = 418,
-     T_Timer = 419,
-     T_Timingstats = 420,
-     T_Tinker = 421,
-     T_Tos = 422,
-     T_Trap = 423,
-     T_True = 424,
-     T_Trustedkey = 425,
-     T_Ttl = 426,
-     T_Type = 427,
-     T_U_int = 428,
-     T_UEcrypto = 429,
-     T_UEcryptonak = 430,
-     T_UEdigest = 431,
-     T_Unconfig = 432,
-     T_Unpeer = 433,
-     T_Version = 434,
-     T_WanderThreshold = 435,
-     T_Week = 436,
-     T_Wildcard = 437,
-     T_Xleave = 438,
-     T_Year = 439,
-     T_Flag = 440,
-     T_EOC = 441,
-     T_Simulate = 442,
-     T_Beep_Delay = 443,
-     T_Sim_Duration = 444,
-     T_Server_Offset = 445,
-     T_Duration = 446,
-     T_Freq_Offset = 447,
-     T_Wander = 448,
-     T_Jitter = 449,
-     T_Prop_Delay = 450,
-     T_Proc_Delay = 451
-   };
+  enum yytokentype
+  {
+    T_Abbrev = 258,
+    T_Age = 259,
+    T_All = 260,
+    T_Allan = 261,
+    T_Allpeers = 262,
+    T_Auth = 263,
+    T_Autokey = 264,
+    T_Automax = 265,
+    T_Average = 266,
+    T_Bclient = 267,
+    T_Beacon = 268,
+    T_Broadcast = 269,
+    T_Broadcastclient = 270,
+    T_Broadcastdelay = 271,
+    T_Burst = 272,
+    T_Calibrate = 273,
+    T_Ceiling = 274,
+    T_Clockstats = 275,
+    T_Cohort = 276,
+    T_ControlKey = 277,
+    T_Crypto = 278,
+    T_Cryptostats = 279,
+    T_Ctl = 280,
+    T_Day = 281,
+    T_Default = 282,
+    T_Digest = 283,
+    T_Disable = 284,
+    T_Discard = 285,
+    T_Dispersion = 286,
+    T_Double = 287,
+    T_Driftfile = 288,
+    T_Drop = 289,
+    T_Dscp = 290,
+    T_Ellipsis = 291,
+    T_Enable = 292,
+    T_End = 293,
+    T_False = 294,
+    T_File = 295,
+    T_Filegen = 296,
+    T_Filenum = 297,
+    T_Flag1 = 298,
+    T_Flag2 = 299,
+    T_Flag3 = 300,
+    T_Flag4 = 301,
+    T_Flake = 302,
+    T_Floor = 303,
+    T_Freq = 304,
+    T_Fudge = 305,
+    T_Host = 306,
+    T_Huffpuff = 307,
+    T_Iburst = 308,
+    T_Ident = 309,
+    T_Ignore = 310,
+    T_Incalloc = 311,
+    T_Incmem = 312,
+    T_Initalloc = 313,
+    T_Initmem = 314,
+    T_Includefile = 315,
+    T_Integer = 316,
+    T_Interface = 317,
+    T_Intrange = 318,
+    T_Io = 319,
+    T_Ipv4 = 320,
+    T_Ipv4_flag = 321,
+    T_Ipv6 = 322,
+    T_Ipv6_flag = 323,
+    T_Kernel = 324,
+    T_Key = 325,
+    T_Keys = 326,
+    T_Keysdir = 327,
+    T_Kod = 328,
+    T_Mssntp = 329,
+    T_Leapfile = 330,
+    T_Leapsmearinterval = 331,
+    T_Limited = 332,
+    T_Link = 333,
+    T_Listen = 334,
+    T_Logconfig = 335,
+    T_Logfile = 336,
+    T_Loopstats = 337,
+    T_Lowpriotrap = 338,
+    T_Manycastclient = 339,
+    T_Manycastserver = 340,
+    T_Mask = 341,
+    T_Maxage = 342,
+    T_Maxclock = 343,
+    T_Maxdepth = 344,
+    T_Maxdist = 345,
+    T_Maxmem = 346,
+    T_Maxpoll = 347,
+    T_Mdnstries = 348,
+    T_Mem = 349,
+    T_Memlock = 350,
+    T_Minclock = 351,
+    T_Mindepth = 352,
+    T_Mindist = 353,
+    T_Minimum = 354,
+    T_Minpoll = 355,
+    T_Minsane = 356,
+    T_Mode = 357,
+    T_Mode7 = 358,
+    T_Monitor = 359,
+    T_Month = 360,
+    T_Mru = 361,
+    T_Multicastclient = 362,
+    T_Nic = 363,
+    T_Nolink = 364,
+    T_Nomodify = 365,
+    T_Nomrulist = 366,
+    T_None = 367,
+    T_Nonvolatile = 368,
+    T_Nopeer = 369,
+    T_Noquery = 370,
+    T_Noselect = 371,
+    T_Noserve = 372,
+    T_Notrap = 373,
+    T_Notrust = 374,
+    T_Ntp = 375,
+    T_Ntpport = 376,
+    T_NtpSignDsocket = 377,
+    T_Orphan = 378,
+    T_Orphanwait = 379,
+    T_PCEdigest = 380,
+    T_Panic = 381,
+    T_Peer = 382,
+    T_Peerstats = 383,
+    T_Phone = 384,
+    T_Pid = 385,
+    T_Pidfile = 386,
+    T_Pool = 387,
+    T_Port = 388,
+    T_Preempt = 389,
+    T_Prefer = 390,
+    T_Protostats = 391,
+    T_Pw = 392,
+    T_Randfile = 393,
+    T_Rawstats = 394,
+    T_Refid = 395,
+    T_Requestkey = 396,
+    T_Reset = 397,
+    T_Restrict = 398,
+    T_Revoke = 399,
+    T_Rlimit = 400,
+    T_Saveconfigdir = 401,
+    T_Server = 402,
+    T_Setvar = 403,
+    T_Source = 404,
+    T_Stacksize = 405,
+    T_Statistics = 406,
+    T_Stats = 407,
+    T_Statsdir = 408,
+    T_Step = 409,
+    T_Stepback = 410,
+    T_Stepfwd = 411,
+    T_Stepout = 412,
+    T_Stratum = 413,
+    T_String = 414,
+    T_Sys = 415,
+    T_Sysstats = 416,
+    T_Tick = 417,
+    T_Time1 = 418,
+    T_Time2 = 419,
+    T_Timer = 420,
+    T_Timingstats = 421,
+    T_Tinker = 422,
+    T_Tos = 423,
+    T_Trap = 424,
+    T_True = 425,
+    T_Trustedkey = 426,
+    T_Ttl = 427,
+    T_Type = 428,
+    T_U_int = 429,
+    T_UEcrypto = 430,
+    T_UEcryptonak = 431,
+    T_UEdigest = 432,
+    T_Unconfig = 433,
+    T_Unpeer = 434,
+    T_Version = 435,
+    T_WanderThreshold = 436,
+    T_Week = 437,
+    T_Wildcard = 438,
+    T_Xleave = 439,
+    T_Year = 440,
+    T_Flag = 441,
+    T_EOC = 442,
+    T_Simulate = 443,
+    T_Beep_Delay = 444,
+    T_Sim_Duration = 445,
+    T_Server_Offset = 446,
+    T_Duration = 447,
+    T_Freq_Offset = 448,
+    T_Wander = 449,
+    T_Jitter = 450,
+    T_Prop_Delay = 451,
+    T_Proc_Delay = 452
+  };
 #endif
 /* Tokens.  */
 #define T_Abbrev 258
@@ -365,86 +365,86 @@ extern int yydebug;
 #define T_NtpSignDsocket 377
 #define T_Orphan 378
 #define T_Orphanwait 379
-#define T_Panic 380
-#define T_Peer 381
-#define T_Peerstats 382
-#define T_Phone 383
-#define T_Pid 384
-#define T_Pidfile 385
-#define T_Pool 386
-#define T_Port 387
-#define T_Preempt 388
-#define T_Prefer 389
-#define T_Protostats 390
-#define T_Pw 391
-#define T_Randfile 392
-#define T_Rawstats 393
-#define T_Refid 394
-#define T_Requestkey 395
-#define T_Reset 396
-#define T_Restrict 397
-#define T_Revoke 398
-#define T_Rlimit 399
-#define T_Saveconfigdir 400
-#define T_Server 401
-#define T_Setvar 402
-#define T_Source 403
-#define T_Stacksize 404
-#define T_Statistics 405
-#define T_Stats 406
-#define T_Statsdir 407
-#define T_Step 408
-#define T_Stepback 409
-#define T_Stepfwd 410
-#define T_Stepout 411
-#define T_Stratum 412
-#define T_String 413
-#define T_Sys 414
-#define T_Sysstats 415
-#define T_Tick 416
-#define T_Time1 417
-#define T_Time2 418
-#define T_Timer 419
-#define T_Timingstats 420
-#define T_Tinker 421
-#define T_Tos 422
-#define T_Trap 423
-#define T_True 424
-#define T_Trustedkey 425
-#define T_Ttl 426
-#define T_Type 427
-#define T_U_int 428
-#define T_UEcrypto 429
-#define T_UEcryptonak 430
-#define T_UEdigest 431
-#define T_Unconfig 432
-#define T_Unpeer 433
-#define T_Version 434
-#define T_WanderThreshold 435
-#define T_Week 436
-#define T_Wildcard 437
-#define T_Xleave 438
-#define T_Year 439
-#define T_Flag 440
-#define T_EOC 441
-#define T_Simulate 442
-#define T_Beep_Delay 443
-#define T_Sim_Duration 444
-#define T_Server_Offset 445
-#define T_Duration 446
-#define T_Freq_Offset 447
-#define T_Wander 448
-#define T_Jitter 449
-#define T_Prop_Delay 450
-#define T_Proc_Delay 451
-
-
+#define T_PCEdigest 380
+#define T_Panic 381
+#define T_Peer 382
+#define T_Peerstats 383
+#define T_Phone 384
+#define T_Pid 385
+#define T_Pidfile 386
+#define T_Pool 387
+#define T_Port 388
+#define T_Preempt 389
+#define T_Prefer 390
+#define T_Protostats 391
+#define T_Pw 392
+#define T_Randfile 393
+#define T_Rawstats 394
+#define T_Refid 395
+#define T_Requestkey 396
+#define T_Reset 397
+#define T_Restrict 398
+#define T_Revoke 399
+#define T_Rlimit 400
+#define T_Saveconfigdir 401
+#define T_Server 402
+#define T_Setvar 403
+#define T_Source 404
+#define T_Stacksize 405
+#define T_Statistics 406
+#define T_Stats 407
+#define T_Statsdir 408
+#define T_Step 409
+#define T_Stepback 410
+#define T_Stepfwd 411
+#define T_Stepout 412
+#define T_Stratum 413
+#define T_String 414
+#define T_Sys 415
+#define T_Sysstats 416
+#define T_Tick 417
+#define T_Time1 418
+#define T_Time2 419
+#define T_Timer 420
+#define T_Timingstats 421
+#define T_Tinker 422
+#define T_Tos 423
+#define T_Trap 424
+#define T_True 425
+#define T_Trustedkey 426
+#define T_Ttl 427
+#define T_Type 428
+#define T_U_int 429
+#define T_UEcrypto 430
+#define T_UEcryptonak 431
+#define T_UEdigest 432
+#define T_Unconfig 433
+#define T_Unpeer 434
+#define T_Version 435
+#define T_WanderThreshold 436
+#define T_Week 437
+#define T_Wildcard 438
+#define T_Xleave 439
+#define T_Year 440
+#define T_Flag 441
+#define T_EOC 442
+#define T_Simulate 443
+#define T_Beep_Delay 444
+#define T_Sim_Duration 445
+#define T_Server_Offset 446
+#define T_Duration 447
+#define T_Freq_Offset 448
+#define T_Wander 449
+#define T_Jitter 450
+#define T_Prop_Delay 451
+#define T_Proc_Delay 452
 
+/* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+
+union YYSTYPE
 {
-/* Line 2053 of yacc.c  */
-#line 51 "../../ntpd/ntp_parser.y"
+#line 51 "../../ntpd/ntp_parser.y" /* yacc.c:1909  */
 
        char *                  String;
        double                  Double;
@@ -463,29 +463,17 @@ typedef union YYSTYPE
        script_info *           Sim_script;
        script_info_fifo *      Sim_script_fifo;
 
+#line 467 "../../ntpd/ntp_parser.h" /* yacc.c:1909  */
+};
 
-/* Line 2053 of yacc.c  */
-#line 469 "ntp_parser.h"
-} YYSTYPE;
+typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 #endif
 
+
 extern YYSTYPE yylval;
 
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
 int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
 
-#endif /* !YY_YY_NTP_PARSER_H_INCLUDED  */
+#endif /* !YY_YY_Y_TAB_H_INCLUDED  */
index 92b438a4916e662f3540cd03a0dea6a48d8ef716..fcd77a19596edce0efc928310fe928f839556fce 100644 (file)
 %token <Integer>       T_NtpSignDsocket
 %token <Integer>       T_Orphan
 %token <Integer>       T_Orphanwait
+%token <Integer>       T_PCEdigest
 %token <Integer>       T_Panic
 %token <Integer>       T_Peer
 %token <Integer>       T_Peerstats
@@ -1085,6 +1086,7 @@ system_option_flag_keyword
 
 system_option_local_flag_keyword
        :       T_Mode7
+       |       T_PCEdigest
        |       T_Stats
        |       T_UEcrypto
        |       T_UEcryptonak
index 3ef52251b9ba6b1bc22d6bdf87f16cd25e339d7d..9d5793d232291e0a483cec122ffea7e6ceabc1e6 100644 (file)
@@ -165,7 +165,7 @@ u_long      sys_limitrejected;      /* rate exceeded */
 u_long sys_kodsent;            /* KoD sent */
 
 /*
- * Mechanism knobs: how soon do we unpeer()?
+ * Mechanism knobs: how soon do we peer_clear() or unpeer()?
  *
  * The default way is "on-receipt".  If this was a packet from a
  * well-behaved source, on-receipt will offer the fastest recovery.
@@ -173,6 +173,7 @@ u_long      sys_kodsent;            /* KoD sent */
  * for a bad-guy to DoS us.  So look and see what bites you harder
  * and choose according to your environment.
  */
+int peer_clear_digest_early    = 1;    /* bad digest (TEST5) and Autokey */
 int unpeer_crypto_early                = 1;    /* bad crypto (TEST9) */
 int unpeer_crypto_nak_early    = 1;    /* crypto_NAK (TEST5) */
 int unpeer_digest_early                = 1;    /* bad digest (TEST5) */
@@ -307,7 +308,7 @@ valid_NAK(
            hismode != MODE_ACTIVE &&
            hismode != MODE_PASSIVE
            ) {
-               return (INVALIDNAK);
+               return INVALIDNAK;
        }
 
        /* 
@@ -316,14 +317,14 @@ valid_NAK(
        rpkt = &rbufp->recv_pkt;
        keyid = ntohl(((u_int32 *)rpkt)[base_packet_length / 4]);
        if (keyid != 0) {
-               return (INVALIDNAK);
+               return INVALIDNAK;
        }
 
        /* 
         * Only valid if peer uses a key
         */
        if (!peer || !peer->keyid || !(peer->flags & FLAG_SKEY)) {
-               return (INVALIDNAK);
+               return INVALIDNAK;
        }
 
        /*
@@ -338,13 +339,13 @@ valid_NAK(
        if (L_ISZERO(&p_org) ||
            L_ISZERO( myorg) ||
            !L_ISEQU(&p_org, myorg)) {
-               return (INVALIDNAK);
+               return INVALIDNAK;
        }
 
        /* If we ever passed all that checks, we should be safe. Well,
         * as safe as we can ever be with an unauthenticated crypto-nak.
         */
-       return (VALIDNAK);
+       return VALIDNAK;
 }
 
 
@@ -1700,11 +1701,13 @@ receive(
                peer->flash |= TEST5;           /* bad auth */
                peer->badauth++;
                if (peer->flags & FLAG_PREEMPT) {
-                       if (unpeer_crypto_nak_early)
+                       if (unpeer_crypto_nak_early) {
                                unpeer(peer);
+                       }
+                       return;
                }
 #ifdef AUTOKEY
-               else if (peer->crypto)
+               if (peer->crypto)
                        peer_clear(peer, "AUTH");
 #endif /* AUTOKEY */
                return;
@@ -1725,6 +1728,16 @@ receive(
                if (   has_mac
                    && (hismode == MODE_ACTIVE || hismode == MODE_PASSIVE))
                        fast_xmit(rbufp, MODE_ACTIVE, 0, restrict_mask);
+               if (peer->flags & FLAG_PREEMPT) {
+                       if (unpeer_digest_early) {
+                               unpeer(peer);
+                       }
+                       return;
+               }
+#ifdef AUTOKEY
+               if (peer_clear_digest_early && peer->crypto)
+                       peer_clear(peer, "AUTH");
+#endif /* AUTOKEY */
                return;
        }
 
@@ -4688,6 +4701,14 @@ proto_config(
                        io_multicast_del(svalue);
                break;
 
+       /*
+        * Peer_clear Early policy choices
+        */
+
+       case PROTO_PCEDIGEST:   /* Digest */
+               peer_clear_digest_early = value;
+               break;
+
        /*
         * Unpeer Early policy choices
         */