diff options
author | Francis Dupont <fdupont@isc.org> | 2024-03-30 10:24:51 +0100 |
---|---|---|
committer | Razvan Becheriu <razvan@isc.org> | 2024-04-26 17:25:06 +0200 |
commit | 9f1cd969936bb350cce2b7ac21222f3c2f4f4dd5 (patch) | |
tree | 5cd4b3bf0d286859bf590fd896b742ec2d556d41 | |
parent | [#2976] Extended syntax (diff) | |
download | kea-9f1cd969936bb350cce2b7ac21222f3c2f4f4dd5.tar.xz kea-9f1cd969936bb350cce2b7ac21222f3c2f4f4dd5.zip |
[#2976] Regen flex/bison
-rw-r--r-- | src/bin/dhcp4/dhcp4_lexer.cc | 2156 | ||||
-rw-r--r-- | src/bin/dhcp4/dhcp4_parser.cc | 4265 | ||||
-rw-r--r-- | src/bin/dhcp4/dhcp4_parser.h | 1671 | ||||
-rw-r--r-- | src/bin/dhcp4/location.hh | 1 |
4 files changed, 4072 insertions, 4021 deletions
diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index 8c3175293a..26ced7680b 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ (yy_c_buf_p) = yy_cp; /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 234 -#define YY_END_OF_BUFFER 235 +#define YY_NUM_RULES 235 +#define YY_END_OF_BUFFER 236 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,21 +700,21 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[2356] = +static const flex_int16_t yy_accept[2373] = { 0, - 227, 227, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 233, 10, 11, 233, 1, 227, 224, 227, 227, - 233, 226, 225, 233, 233, 233, 233, 233, 220, 221, - 233, 233, 233, 222, 223, 5, 5, 5, 233, 233, - 233, 10, 11, 0, 0, 215, 0, 0, 0, 0, + 228, 228, 0, 0, 0, 0, 0, 0, 0, 0, + 236, 234, 10, 11, 234, 1, 228, 225, 228, 228, + 234, 227, 226, 234, 234, 234, 234, 234, 221, 222, + 234, 234, 234, 223, 224, 5, 5, 5, 234, 234, + 234, 10, 11, 0, 0, 216, 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, 1, - 227, 227, 0, 226, 227, 3, 2, 6, 0, 227, + 228, 228, 0, 227, 228, 3, 2, 6, 0, 228, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 218, 0, 0, 0, + 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 219, 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, @@ -725,7 +725,7 @@ static const flex_int16_t yy_accept[2356] = 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 217, 219, 0, 0, 0, 0, 0, 0, + 0, 0, 218, 220, 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, 0, @@ -737,7 +737,7 @@ static const flex_int16_t yy_accept[2356] = 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, 232, 230, 0, 229, 228, + 0, 0, 0, 0, 0, 233, 231, 0, 230, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, 188, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -752,215 +752,217 @@ static const flex_int16_t yy_accept[2356] = 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, - 19, 0, 0, 0, 0, 0, 231, 228, 0, 0, - 0, 0, 0, 0, 0, 190, 0, 0, 192, 0, + 0, 19, 0, 0, 0, 0, 0, 232, 229, 0, + 0, 0, 0, 0, 0, 0, 190, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 0, 0, 136, 0, 0, + 0, 92, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 96, 0, 0, 42, 0, + 0, 0, 0, 0, 0, 0, 96, 0, 0, 42, 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, 132, 0, 0, 35, 0, 0, 39, 0, - 0, 0, 0, 0, 0, 0, 0, 12, 194, 193, - 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, + 0, 0, 0, 0, 132, 0, 0, 35, 0, 0, + 39, 0, 0, 0, 0, 0, 0, 0, 0, 12, + 194, 193, 0, 0, 0, 0, 0, 146, 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, 0, 124, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 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, 37, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 0, 195, + 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, + 0, 0, 195, 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, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 122, 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, 100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 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, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 99, 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, 140, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 152, 119, 0, 0, 0, 0, 0, 0, 125, 36, - 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, + 0, 0, 0, 0, 152, 119, 0, 0, 0, 0, + 0, 0, 125, 36, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 43, 97, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 127, 43, 97, 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, 86, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, - 0, 0, 59, 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, 141, 0, + 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 40, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, + 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 69, 0, 0, 0, 0, 0, 0, 58, + 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, - 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 58, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 101, 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, 24, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 177, 0, 0, 0, 175, 0, - + 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 177, 0, 0, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, - 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 137, 0, 0, 23, 0, 148, 0, 0, + 139, 0, 0, 0, 0, 0, 0, 0, 143, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 181, 0, 94, 0, 0, 0, 0, 89, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, + 0, 0, 23, 0, 148, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, - 0, 0, 0, 0, 0, 0, 0, 151, 0, 38, - 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, - 0, 0, 0, 0, 0, 0, 115, 116, 0, 0, + 0, 94, 0, 0, 0, 0, 89, 0, 0, 0, + 0, 0, 0, 0, 151, 0, 38, 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 93, 0, 0, 0, 0, 0, 60, + 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 93, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 0, 0, 90, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, - 178, 0, 0, 176, 0, 0, 167, 166, 0, 0, - 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 0, 0, 0, 0, - 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 203, 0, 0, 90, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 160, 0, 0, 0, 169, 0, 0, 0, 0, - + 64, 0, 0, 0, 0, 0, 0, 0, 178, 0, + 0, 176, 0, 0, 167, 166, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 0, 0, 0, 0, 0, + 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 149, 0, 15, 0, 0, 44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 46, 65, 0, 0, - 144, 0, 0, 0, 135, 0, 0, 0, 0, 0, + + 160, 0, 0, 0, 169, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, + 0, 15, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 46, 65, 0, 0, 144, + 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 98, 0, 0, 197, 0, 0, 0, 0, 0, 0, 202, 0, 118, 0, 0, 0, 209, 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, 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, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, - 47, 0, 0, 0, 0, 0, 0, 205, 0, 0, - 129, 31, 0, 0, 0, 165, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, + 0, 47, 0, 0, 0, 0, 0, 0, 205, 0, + 0, 129, 31, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 200, 0, 173, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 29, 0, 0, 0, 0, 0, 28, - 0, 0, 179, 0, 0, 0, 56, 0, 0, 0, - 214, 0, 0, 121, 120, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 200, 0, 173, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, + 28, 0, 0, 179, 0, 0, 0, 56, 0, 0, + 0, 214, 0, 0, 121, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 61, 0, 0, 0, 0, 0, 0, 117, - 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 150, 0, 0, 0, 30, - 0, 0, 0, 0, 0, 201, 0, 0, 0, 0, - - 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, - 0, 0, 204, 0, 88, 0, 51, 0, 0, 0, - 0, 198, 0, 81, 0, 0, 196, 0, 32, 0, - 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, - 0, 0, 17, 0, 0, 0, 0, 0, 0, 185, + 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, + 0, 117, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 158, 0, 0, 0, 134, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, - 54, 0, 52, 0, 0, 0, 0, 48, 163, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, + 0, 30, 0, 0, 0, 0, 0, 201, 0, 0, + 0, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 186, 0, 0, 13, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, - 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 21, 0, 0, 204, 0, 88, 0, 0, 51, + 0, 0, 0, 0, 198, 0, 81, 0, 0, 196, + 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, + 85, 0, 0, 0, 0, 17, 0, 0, 0, 0, + 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 158, 0, 0, 0, 134, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, + + 0, 0, 0, 54, 0, 52, 0, 0, 0, 0, + 0, 48, 163, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, + 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 164, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 157, 0, 63, 62, 20, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, - 0, 0, 0, 0, 0, 0, 0, 82, 0, 114, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, - 0, 0, 0, 55, 0, 68, 0, 49, 184, 0, - 109, 0, 0, 0, 0, 0, 0, 0, 0, 87, + 63, 62, 20, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 78, 0, 0, 0, 0, 0, 0, 16, 0, 0, + 0, 0, 0, 82, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, - - 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 156, 0, 0, 0, 0, 0, 0, 55, + 0, 68, 0, 49, 184, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 215, 0, 87, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, + 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, + 0, 0, 0, 0, 0, 0, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 33, 0, 0, 0, 77, 0, 0, 0, - 0, 162, 0, 0, 0, 0, 0, 0, 207, 210, - 183, 0, 130, 110, 0, 0, 0, 0, 0, 0, - 0, 83, 0, 0, 73, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 154, 0, 0, 0, 0, - 0, 0, 159, 0, 0, 75, 0, 66, 0, 0, - 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, - 0, 0, 0, 0, 0, 153, 0, 0, 187, 0, - - 212, 208, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 33, + 0, 0, 0, 77, 0, 0, 0, 0, 162, 0, + 0, 0, 0, 0, 0, 207, 210, 183, 0, 130, + 110, 0, 0, 0, 0, 0, 0, 0, 83, 0, + 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 154, 0, 0, 0, 0, 0, 0, 159, + 0, 0, 75, 0, 66, 0, 0, 0, 0, 0, + + 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 153, 0, 0, 187, 0, 212, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 74, 0, 0, 0, 0, 0, 27, 25, 0, 0, - 0, 0, 79, 0, 0, 113, 0, 0, 71, 0, - 80, 0, 0, 211, 0, 0, 0, 0, 0, 70, - 0, 155, 26, 206, 0 + 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, + 0, 0, 0, 27, 25, 0, 0, 0, 0, 79, + 0, 0, 113, 0, 0, 71, 0, 80, 0, 0, + 211, 0, 0, 0, 0, 0, 70, 0, 155, 26, + 206, 0 } ; static const YY_CHAR yy_ec[256] = @@ -1007,285 +1009,286 @@ static const YY_CHAR yy_meta[77] = 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[2364] = +static const flex_int16_t yy_base[2381] = { 0, 0, 75, 21, 28, 39, 47, 53, 61, 95, 103, - 2805, 2806, 31, 2801, 151, 0, 216, 2806, 223, 230, - 13, 237, 2806, 2781, 124, 17, 4, 34, 2806, 2806, - 23, 43, 64, 2806, 2806, 2806, 56, 2789, 2739, 0, - 2779, 106, 2796, 2, 274, 2806, 2735, 85, 90, 2741, - 98, 77, 231, 235, 97, 200, 304, 229, 2733, 318, - 218, 62, 219, 220, 214, 257, 2742, 298, 307, 342, - 328, 229, 2725, 21, 347, 392, 327, 2744, 293, 0, - 404, 420, 435, 452, 445, 2806, 0, 2806, 409, 460, - 203, 228, 317, 260, 354, 343, 2806, 2741, 2785, 2806, - - 300, 2806, 474, 2772, 342, 254, 2738, 368, 17, 363, - 2777, 366, 402, 418, 335, 2781, 0, 538, 439, 2720, - 2717, 2721, 432, 2717, 299, 2725, 432, 2711, 2712, 2717, - 76, 2727, 2710, 2719, 2709, 2718, 390, 438, 63, 2711, - 2709, 428, 2760, 2764, 2707, 2700, 2756, 2693, 441, 2714, - 2714, 2708, 243, 2701, 2699, 2700, 2692, 2697, 2691, 444, - 2702, 395, 2687, 2686, 2700, 464, 2686, 434, 455, 2680, - 508, 242, 447, 2701, 2698, 2699, 458, 2697, 2735, 2734, - 475, 198, 2678, 472, 2679, 482, 2671, 2688, 2680, 2682, - 0, 484, 490, 507, 500, 514, 518, 2678, 2806, 2726, - - 546, 552, 2672, 511, 545, 553, 557, 2729, 556, 2728, - 550, 2727, 2806, 2806, 599, 393, 562, 2683, 2675, 2662, - 2673, 2677, 2678, 2658, 2669, 2673, 2670, 2669, 465, 532, - 2710, 2671, 2652, 2649, 2657, 2652, 2666, 2662, 2653, 2649, - 2661, 2661, 2649, 2651, 2654, 2634, 2638, 2651, 2653, 2650, - 2642, 2632, 2650, 2806, 2635, 2644, 82, 2685, 2628, 2637, - 2682, 2626, 2636, 2639, 526, 2635, 2677, 2619, 2621, 2632, - 2673, 575, 2615, 16, 2628, 2608, 2623, 570, 2613, 2619, - 476, 2610, 2608, 2608, 2614, 2605, 2604, 2611, 2601, 2663, - 2616, 2615, 2609, 538, 2616, 2611, 2603, 2593, 2608, 2594, - - 2606, 2601, 2605, 2586, 2602, 2588, 2594, 2601, 2583, 533, - 2588, 2585, 2584, 599, 2583, 2578, 2592, 577, 2591, 2637, - 2593, 607, 2584, 2572, 592, 2806, 2806, 594, 2806, 2806, - 2570, 572, 587, 600, 2621, 608, 2631, 596, 607, 2806, - 2630, 2806, 2624, 660, 2806, 2583, 593, 2560, 2569, 2620, - 2577, 2560, 2577, 2616, 2573, 2556, 2562, 2617, 2569, 2572, - 2563, 2566, 2552, 2563, 2610, 2604, 2559, 2556, 516, 2562, - 2605, 2537, 2598, 2548, 2543, 2537, 2539, 2542, 2592, 2546, - 2535, 2551, 2588, 2531, 632, 2545, 2530, 2529, 2542, 2540, - 2538, 2538, 2537, 2532, 2539, 2534, 2530, 576, 2528, 2531, - - 2526, 2512, 2524, 2520, 2573, 600, 603, 2567, 2806, 2511, - 2527, 2564, 2511, 2510, 2509, 2502, 2504, 2516, 2507, 2514, - 2495, 2512, 2507, 659, 2557, 2507, 2504, 2507, 2806, 2506, - 285, 2496, 2508, 605, 2483, 2484, 2505, 2496, 2486, 2478, - 2539, 2481, 2495, 615, 2481, 2493, 2492, 2491, 2486, 2531, - 2488, 2487, 2486, 2485, 2468, 2476, 2529, 2485, 2465, 2526, - 2806, 2465, 2464, 684, 2477, 2475, 2806, 2806, 2475, 2464, - 2456, 641, 2513, 2517, 2516, 2806, 2515, 628, 2806, 655, - 713, 2471, 654, 2513, 2452, 2463, 2505, 2455, 2457, 2459, - 2446, 2454, 2442, 2806, 2447, 2440, 2452, 2455, 2442, 2441, - - 2806, 691, 2443, 2440, 651, 2438, 2440, 2806, 2488, 2447, - 2444, 2429, 2443, 2441, 2441, 2435, 687, 2442, 2430, 2423, - 2477, 2806, 2421, 2437, 2474, 2432, 2430, 2428, 2429, 2413, - 2422, 2467, 2415, 2414, 2409, 2408, 2462, 2403, 643, 2422, - 2396, 2403, 2408, 2418, 2455, 2459, 2806, 2401, 2397, 691, - 2395, 2450, 2403, 2402, 2396, 2403, 2387, 2387, 2397, 2385, - 2399, 2399, 2387, 2383, 2381, 2806, 2390, 2440, 2806, 2379, - 2390, 2432, 2374, 2373, 2378, 2387, 2381, 2375, 2384, 2429, - 2423, 2382, 2366, 2361, 2419, 2380, 2355, 2361, 669, 2375, - 2368, 2372, 2355, 2416, 2354, 2354, 2408, 2350, 2351, 2350, - - 2348, 2365, 2806, 2361, 2401, 2806, 2349, 2347, 2806, 2358, - 2397, 2396, 2353, 2337, 2354, 2397, 680, 2806, 2806, 2806, - 631, 669, 668, 2334, 709, 2806, 2344, 2343, 682, 2350, - 2330, 2340, 2385, 2327, 2383, 2325, 2335, 2380, 2322, 2329, - 2322, 2324, 2333, 2315, 2315, 2330, 2329, 2313, 680, 2327, - 2326, 2326, 2308, 2313, 2357, 2321, 2318, 2312, 2360, 2301, - 2316, 2316, 2314, 2314, 2806, 2299, 2296, 2357, 2309, 2301, - 2307, 2298, 2306, 2291, 2345, 2306, 2288, 2300, 2292, 606, - 2283, 2282, 2276, 2281, 2296, 2293, 2294, 2273, 2283, 2289, - 2335, 2287, 2279, 2270, 2806, 2271, 2273, 2268, 2281, 2273, - - 2272, 2277, 2319, 2318, 2266, 742, 2275, 2315, 2257, 2313, - 2257, 2260, 2253, 2268, 2806, 2266, 2245, 2249, 2263, 2258, - 2254, 2302, 2251, 2258, 2299, 2806, 2241, 2255, 2250, 12, - 73, 251, 357, 398, 374, 475, 495, 632, 690, 712, - 2806, 656, 672, 692, 755, 698, 701, 702, 700, 758, - 721, 718, 704, 711, 715, 708, 2806, 724, 716, 2806, - 736, 750, 750, 742, 758, 720, 717, 718, 727, 739, - 733, 723, 719, 733, 734, 784, 745, 791, 748, 749, - 788, 793, 744, 744, 750, 760, 765, 751, 754, 757, - 766, 766, 750, 810, 760, 770, 773, 814, 774, 767, - - 771, 768, 770, 820, 821, 782, 829, 783, 785, 2806, - 788, 783, 774, 789, 794, 791, 793, 795, 794, 782, - 796, 794, 802, 841, 800, 848, 849, 796, 788, 798, - 849, 805, 857, 2806, 858, 808, 810, 806, 800, 816, - 804, 814, 866, 862, 822, 811, 824, 2806, 814, 815, - 826, 815, 828, 818, 831, 878, 879, 880, 820, 831, - 816, 839, 830, 819, 825, 883, 844, 828, 840, 887, - 888, 832, 839, 891, 852, 847, 852, 850, 897, 836, - 848, 851, 855, 847, 844, 2806, 911, 867, 868, 856, - 870, 860, 863, 874, 859, 866, 872, 873, 865, 879, - - 903, 895, 924, 925, 899, 872, 886, 891, 888, 870, - 877, 891, 939, 893, 890, 891, 889, 898, 2806, 894, - 889, 904, 901, 887, 889, 908, 904, 906, 895, 902, - 904, 913, 956, 919, 958, 917, 907, 905, 904, 915, - 911, 970, 914, 925, 910, 911, 917, 933, 929, 924, - 974, 2806, 935, 935, 928, 939, 937, 985, 924, 926, - 938, 946, 944, 931, 929, 994, 948, 934, 940, 938, - 2806, 2806, 948, 953, 958, 946, 956, 958, 2806, 2806, - 959, 946, 964, 951, 953, 946, 963, 2806, 952, 970, - 957, 1010, 958, 960, 1014, 957, 961, 979, 1023, 2806, - - 2806, 2806, 965, 969, 968, 965, 981, 1029, 979, 969, - 970, 966, 979, 990, 991, 986, 1033, 988, 990, 983, - 985, 981, 987, 987, 989, 1004, 987, 1049, 1003, 1008, - 985, 1008, 994, 993, 2806, 1000, 1001, 1053, 1054, 1003, - 1016, 1057, 1012, 1002, 1017, 1011, 1019, 1006, 1037, 1047, - 1035, 1043, 1055, 1072, 1018, 1013, 1072, 1073, 1032, 1075, - 2806, 1081, 1021, 1037, 1041, 1085, 1032, 1031, 1026, 1027, - 1039, 1034, 1030, 1039, 1034, 1035, 1045, 1056, 1098, 1046, - 1043, 1061, 1053, 1048, 1109, 1063, 1064, 1055, 2806, 1069, - 1058, 1061, 1069, 1071, 1056, 1068, 1073, 1070, 1068, 1118, - - 1081, 1065, 1066, 2806, 1082, 1085, 1068, 1085, 1080, 1132, - 1072, 1091, 2806, 1090, 1093, 1079, 1074, 1092, 1135, 1090, - 1086, 1083, 1139, 1140, 1099, 1085, 1103, 1103, 1103, 1104, - 1105, 1091, 1106, 1098, 1105, 1095, 1096, 1114, 1113, 1100, - 1117, 2806, 1109, 1115, 1118, 1166, 1110, 2806, 1113, 1118, - 1166, 1114, 1126, 1120, 1121, 1119, 1116, 1122, 1132, 1180, - 1121, 1122, 1122, 1184, 1125, 1137, 1130, 2806, 1126, 1134, - 1132, 1186, 1125, 1147, 1133, 1134, 1135, 1136, 1142, 1150, - 1141, 1146, 1156, 1157, 1158, 1163, 1207, 1175, 1204, 1187, - 1179, 1184, 2806, 1167, 1163, 1159, 1173, 1156, 1156, 2806, - - 1157, 1220, 1160, 2806, 1171, 1161, 1181, 1180, 1171, 1182, - 1228, 1178, 1187, 1180, 1184, 1188, 1171, 1188, 1189, 1184, - 1242, 1186, 2806, 1239, 1183, 1186, 1204, 1186, 1187, 1187, - 1208, 1205, 1193, 1211, 1199, 1213, 1199, 1207, 1216, 1196, - 1211, 1218, 1263, 1206, 1260, 2806, 1266, 1267, 1206, 1216, - 1226, 1210, 1230, 1218, 1214, 1221, 1230, 1218, 1225, 1226, - 1238, 1282, 1226, 1284, 1225, 1224, 1228, 1245, 1289, 1236, - 1235, 1241, 1242, 1240, 1238, 1233, 1297, 1245, 1299, 1295, - 1301, 2806, 1239, 1256, 1249, 1240, 1259, 1247, 1257, 1258, - 1254, 1249, 1268, 1268, 2806, 1253, 1249, 1255, 2806, 1256, - - 1319, 1275, 1256, 1275, 1276, 1278, 1320, 1270, 1327, 1328, - 1278, 1283, 1277, 1275, 1286, 1285, 1269, 1274, 1280, 1293, - 2806, 1307, 1320, 1308, 1322, 1309, 1344, 1281, 1303, 1298, - 1298, 1302, 1350, 2806, 1290, 1290, 1293, 1310, 1305, 1309, - 1304, 2806, 1313, 1297, 1314, 1294, 1315, 1305, 1304, 1360, - 1311, 2806, 1328, 1328, 1369, 1313, 1322, 1372, 1327, 1332, - 1318, 1381, 1321, 1322, 1336, 1334, 1326, 1332, 1328, 1346, - 1347, 1348, 2806, 1387, 1339, 2806, 1349, 2806, 1334, 1345, - 1336, 1355, 1348, 1346, 1339, 1351, 1398, 1359, 1348, 1355, - 1356, 1362, 2806, 1355, 2806, 1410, 1360, 1349, 1413, 2806, - - 1414, 1353, 1359, 1360, 1367, 1414, 1373, 2806, 1374, 2806, - 1361, 2806, 1361, 1364, 1378, 1383, 1366, 1428, 1382, 1383, - 1426, 1389, 1376, 1381, 1435, 1431, 1381, 1438, 2806, 1386, - 1383, 1441, 1442, 1396, 1397, 1399, 2806, 2806, 1391, 1386, - 1443, 1389, 1405, 1451, 1390, 1402, 1391, 1408, 1451, 1434, - 1435, 1427, 1460, 2806, 1414, 1407, 1416, 1407, 1418, 2806, - 1466, 1400, 1411, 1426, 1465, 1414, 1425, 1411, 1427, 1428, - 1425, 1472, 1432, 1434, 1423, 1433, 1439, 1426, 1424, 1489, - 1485, 1440, 1487, 1493, 1447, 2806, 1433, 1449, 1440, 1443, - 1452, 1453, 1450, 1440, 1443, 1443, 1444, 1455, 1450, 1508, - - 1452, 1510, 1450, 1455, 1514, 1510, 1448, 1463, 1456, 1459, - 1472, 1473, 1471, 1523, 2806, 1469, 1475, 2806, 2806, 1480, - 1472, 1473, 1483, 1468, 1527, 1471, 1471, 1535, 1536, 1477, - 1487, 1539, 2806, 1484, 1485, 1487, 1543, 1484, 1482, 1485, - 2806, 1502, 1507, 2806, 1504, 1492, 2806, 2806, 1505, 1488, - 1508, 1509, 1495, 1497, 1559, 1506, 2806, 1561, 1507, 1501, - 1564, 1529, 1547, 1562, 1549, 2806, 1568, 1524, 1572, 1519, - 1569, 2806, 1514, 1576, 1523, 1517, 1514, 1517, 1519, 1577, - 1537, 1579, 1529, 1541, 1544, 1541, 1533, 1536, 1531, 1539, - 1530, 2806, 1538, 1553, 1538, 2806, 1540, 1597, 1542, 1599, - - 1558, 1558, 1561, 1561, 1558, 1605, 1564, 1565, 1557, 1558, - 2806, 1559, 2806, 1569, 1561, 2806, 1567, 1573, 1574, 1571, - 1618, 1563, 1578, 1579, 1571, 2806, 1581, 1569, 1570, 1570, - 1571, 1577, 1576, 1574, 1631, 1589, 2806, 2806, 1633, 1577, - 2806, 1578, 1579, 1585, 2806, 1594, 1582, 1590, 1647, 1592, - 1584, 1597, 1591, 1601, 1612, 1605, 1611, 1601, 1659, 1609, - 2806, 1618, 2806, 1615, 1663, 2806, 1613, 1641, 1642, 1648, - 1633, 1641, 2806, 1670, 2806, 1625, 1610, 1673, 2806, 1674, - 1628, 1633, 1615, 1678, 1619, 1675, 1639, 1632, 1628, 1621, - 1629, 1681, 1636, 1637, 1627, 1632, 1644, 1698, 1649, 1700, - - 1647, 1697, 1658, 1658, 1654, 1701, 1646, 1651, 1649, 1711, - 1652, 1660, 1666, 1654, 1716, 1712, 1672, 1719, 1677, 1666, - 1660, 1723, 1662, 1663, 1677, 1727, 1681, 1681, 1730, 1731, - 1670, 1687, 1683, 1681, 1688, 1672, 1733, 1734, 1735, 1695, - 1688, 1687, 1687, 1682, 1683, 1701, 2806, 1692, 1698, 1703, - 1690, 1691, 1690, 1692, 1750, 1693, 2806, 1689, 1707, 1759, - 2806, 1714, 1728, 1742, 1741, 1730, 1732, 2806, 1766, 1716, - 2806, 2806, 1707, 1718, 1770, 2806, 1724, 1715, 1720, 1718, - 1771, 1726, 1731, 1717, 1720, 1736, 1725, 1723, 1737, 1724, - 2806, 1726, 2806, 1744, 1731, 1743, 1790, 1730, 1735, 1798, - - 1743, 1753, 1754, 2806, 1802, 1739, 1799, 1754, 1801, 2806, - 1749, 1808, 2806, 1748, 1763, 1751, 2806, 1761, 1762, 1814, - 2806, 1769, 1773, 2806, 2806, 1812, 1775, 1751, 1769, 1770, - 1779, 1761, 1768, 1780, 1779, 1770, 1823, 1772, 1768, 1773, - 1832, 1771, 1772, 1835, 1831, 1837, 1784, 1839, 1789, 1779, - 1795, 1788, 2806, 1844, 1822, 1846, 1828, 1843, 1849, 2806, - 1795, 1851, 1790, 2806, 1792, 1794, 1804, 1851, 1796, 1811, - 1798, 1860, 1814, 1800, 1807, 1807, 1865, 1819, 1820, 1807, - 1809, 1823, 1809, 1874, 1824, 2806, 1871, 1819, 1816, 2806, - 1832, 1819, 1832, 1819, 1840, 2806, 1837, 1885, 1835, 1832, - - 1833, 2806, 1889, 1845, 1828, 1830, 1846, 1839, 1829, 1845, - 1846, 1855, 1845, 1900, 1857, 1841, 1850, 1899, 1905, 2806, - 1855, 1907, 2806, 1853, 2806, 1847, 2806, 1854, 1911, 1912, - 1909, 2806, 1910, 2806, 1892, 1898, 2806, 1870, 2806, 1914, - 1863, 1874, 1875, 1860, 1861, 1869, 1926, 2806, 1871, 1923, - 1924, 1876, 2806, 1871, 1889, 1871, 1877, 1890, 1885, 2806, - 1882, 1887, 1885, 1940, 1881, 1895, 1945, 1890, 1887, 1887, - 2806, 1902, 1903, 1904, 2806, 1905, 1895, 1907, 1955, 1905, - 1957, 1896, 1904, 1905, 1918, 2806, 1919, 1900, 1901, 1908, - 2806, 1910, 2806, 1924, 1921, 1964, 1922, 2806, 2806, 1926, - - 1952, 1953, 1951, 1914, 1914, 1923, 1930, 1923, 1922, 1933, - 1920, 2806, 1936, 1924, 1927, 1986, 1923, 1942, 1984, 1945, - 1938, 1937, 1946, 1948, 1952, 2806, 1991, 1943, 2806, 1949, - 1941, 2003, 1943, 2005, 2006, 2007, 1962, 2009, 2806, 1948, - 2806, 2006, 1965, 1966, 1953, 1961, 1972, 1959, 1970, 1956, - 1954, 1962, 1961, 1966, 1958, 2003, 2027, 2009, 2029, 1979, - 1968, 1981, 1971, 1988, 1987, 2031, 1972, 1991, 1992, 2806, - 1997, 1990, 2032, 1996, 1983, 1998, 2046, 2000, 2003, 1998, - 2003, 1992, 2001, 2806, 2055, 2806, 2806, 2806, 2013, 2806, - 2057, 1996, 2059, 2060, 2000, 2062, 2007, 2059, 2060, 2019, - - 2062, 2005, 2009, 2027, 2071, 2027, 2054, 2806, 2050, 2806, - 2020, 2014, 2011, 2073, 2036, 2029, 2025, 2082, 2022, 2024, - 2023, 2030, 2076, 2027, 2089, 2030, 2806, 2035, 2045, 2047, - 2049, 2032, 2040, 2806, 2035, 2806, 2047, 2806, 2806, 2053, - 2806, 2055, 2055, 2046, 2105, 2046, 2056, 2041, 2054, 2806, - 2056, 2087, 2093, 2065, 2063, 2115, 2053, 2055, 2052, 2076, - 2806, 2063, 2070, 2071, 2074, 2124, 2064, 2806, 2121, 2065, - 2073, 2082, 2068, 2084, 2083, 2086, 2079, 2074, 2074, 2086, - 2083, 2806, 2094, 2082, 2138, 2086, 2098, 2126, 2147, 2148, - 2092, 2806, 2092, 2104, 2152, 2098, 2100, 2098, 2099, 2157, - - 2806, 2107, 2094, 2109, 2114, 2106, 2112, 2164, 2165, 2166, - 2120, 2168, 2169, 2110, 2114, 2111, 2127, 2110, 2122, 2116, - 2178, 2806, 2806, 2123, 2134, 2181, 2806, 2135, 2120, 2138, - 2129, 2806, 2130, 2144, 2140, 2133, 2128, 2134, 2806, 2806, - 2806, 2192, 2806, 2806, 2132, 2140, 2135, 2191, 2154, 2151, - 2199, 2806, 2195, 2158, 2806, 2202, 2141, 2204, 2144, 2157, - 2156, 2157, 2147, 2159, 2155, 2806, 2150, 2213, 2163, 2172, - 2165, 2212, 2806, 2163, 2157, 2806, 2169, 2806, 2216, 2222, - 2161, 2177, 2225, 2178, 2227, 2228, 2806, 2182, 2176, 2169, - 2189, 2176, 2188, 2179, 2183, 2806, 2233, 2179, 2806, 2189, - - 2806, 2806, 2180, 2188, 2238, 2195, 2188, 2200, 2247, 2192, - 2192, 2188, 2190, 2205, 2253, 2254, 2193, 2209, 2194, 2211, - 2806, 2259, 2203, 2210, 2262, 2203, 2806, 2806, 2213, 2265, - 2210, 2267, 2806, 2215, 2214, 2806, 2270, 2216, 2806, 2210, - 2806, 2210, 2227, 2806, 2228, 2276, 2219, 2278, 2279, 2806, - 2280, 2806, 2806, 2806, 2806, 2286, 2289, 2292, 2293, 2295, - 2298, 2301, 2304 + 2822, 2823, 31, 2818, 151, 0, 216, 2823, 223, 230, + 13, 237, 2823, 2798, 124, 17, 4, 34, 2823, 2823, + 23, 43, 64, 2823, 2823, 2823, 56, 2806, 2756, 0, + 2796, 106, 2813, 2, 274, 2823, 2752, 85, 90, 2758, + 98, 77, 231, 235, 97, 200, 304, 229, 2750, 318, + 218, 62, 219, 220, 214, 257, 2759, 298, 307, 342, + 328, 229, 2742, 21, 347, 392, 327, 2761, 293, 0, + 404, 420, 435, 452, 445, 2823, 0, 2823, 409, 460, + 203, 228, 317, 260, 354, 343, 2823, 2758, 2802, 2823, + + 300, 2823, 474, 2789, 342, 254, 2755, 368, 17, 363, + 2794, 366, 402, 418, 335, 2798, 0, 538, 439, 2737, + 2734, 2738, 432, 2734, 299, 2742, 432, 2728, 2729, 2734, + 76, 2744, 2727, 2736, 2726, 2735, 390, 438, 63, 2728, + 2726, 428, 2777, 2781, 2724, 2717, 2773, 2710, 441, 2731, + 2731, 2725, 243, 2718, 2716, 2717, 2709, 2714, 2708, 444, + 2719, 395, 2704, 2703, 2717, 464, 2703, 434, 455, 2697, + 508, 242, 447, 2718, 2715, 2716, 458, 2714, 2752, 2751, + 475, 198, 2695, 472, 2696, 482, 2688, 2705, 2697, 2699, + 0, 484, 490, 507, 500, 514, 518, 2695, 2823, 2743, + + 546, 552, 2689, 511, 545, 553, 557, 2746, 556, 2745, + 550, 2744, 2823, 2823, 599, 393, 562, 2700, 2692, 2679, + 2690, 2694, 2695, 2675, 2686, 2690, 2687, 2686, 465, 532, + 2727, 2688, 2669, 2666, 2674, 2669, 2683, 2679, 2670, 2666, + 2678, 2678, 2666, 2668, 2671, 2651, 2655, 2668, 2670, 2667, + 2659, 2649, 2667, 2823, 2652, 2661, 82, 2702, 2645, 2654, + 2699, 2643, 2653, 2656, 526, 2652, 2694, 2636, 2638, 2649, + 2690, 575, 2632, 16, 2645, 2625, 2640, 570, 2630, 2636, + 476, 2627, 2625, 2625, 2631, 2622, 2621, 2628, 2618, 2680, + 2633, 2632, 2626, 538, 2633, 2628, 2620, 2610, 2625, 2611, + + 2623, 2618, 2622, 2603, 2619, 2605, 2611, 2618, 537, 533, + 2606, 2603, 2602, 624, 2601, 2596, 2610, 591, 2609, 2655, + 2611, 599, 2602, 2590, 592, 2823, 2823, 594, 2823, 2823, + 2588, 572, 587, 600, 2639, 609, 2649, 600, 611, 2823, + 2648, 2823, 2642, 654, 2823, 2601, 602, 2578, 2587, 2638, + 2595, 2578, 2595, 2634, 2591, 2574, 2580, 2635, 2587, 2590, + 2581, 2584, 2570, 2581, 2628, 2622, 2577, 2574, 516, 2580, + 2623, 2555, 2616, 2566, 2561, 2555, 2557, 2560, 2610, 2564, + 2553, 2569, 2606, 2549, 627, 2563, 2548, 2547, 2560, 2558, + 2556, 2556, 2555, 2550, 2557, 2552, 2548, 591, 2546, 2549, + + 2544, 2530, 2542, 2538, 2591, 600, 618, 2585, 2823, 2529, + 2545, 2582, 2529, 2528, 2527, 2520, 2522, 2534, 2525, 2532, + 2513, 2530, 2525, 677, 2575, 2525, 2522, 2525, 2823, 2524, + 285, 2514, 2526, 624, 2501, 2502, 2523, 2514, 2504, 2496, + 2557, 2499, 2513, 634, 2499, 2511, 2510, 2509, 2505, 2503, + 2548, 2505, 2504, 2503, 2502, 2485, 2493, 2546, 2502, 2482, + 2543, 2823, 2482, 2481, 686, 2494, 2492, 2823, 2823, 2492, + 2481, 2473, 635, 2530, 2534, 2533, 2823, 2532, 647, 2823, + 659, 731, 2488, 647, 2530, 2469, 2480, 2522, 2472, 2474, + 2476, 2463, 2471, 2459, 2823, 2464, 2457, 2469, 2472, 2459, + + 2458, 2823, 661, 2460, 2457, 644, 2455, 2457, 2823, 2505, + 2464, 2461, 2446, 2460, 2458, 2458, 2452, 704, 2459, 2447, + 2440, 2494, 2823, 2438, 2454, 2491, 2449, 2447, 2445, 2446, + 2430, 2439, 2484, 2432, 2431, 2426, 2425, 2479, 2420, 669, + 2439, 2413, 2420, 2425, 2435, 2472, 2476, 2823, 2418, 2414, + 707, 2412, 2467, 2420, 2419, 2413, 2420, 2404, 2404, 2414, + 2402, 2416, 2416, 2404, 2400, 2398, 2823, 2407, 2457, 2823, + 2396, 2407, 2449, 2391, 2390, 2395, 2404, 2398, 2392, 2401, + 2446, 2440, 2399, 2383, 2378, 2436, 2397, 2372, 2378, 632, + 2392, 2385, 2389, 2372, 2433, 2427, 2370, 2370, 2424, 2366, + + 2367, 2366, 2364, 2381, 2823, 2377, 2417, 2823, 2365, 2363, + 2823, 2374, 2413, 2412, 2369, 2353, 2370, 2413, 698, 2823, + 2823, 2823, 692, 698, 694, 2350, 728, 2823, 2360, 2359, + 674, 2366, 2346, 2356, 2401, 2343, 2399, 2341, 2351, 2396, + 2338, 2345, 2338, 2340, 2349, 2331, 2331, 2346, 2345, 2329, + 674, 2343, 2342, 2342, 2324, 2329, 2373, 2337, 2334, 2328, + 2376, 2317, 2332, 2332, 2330, 2330, 2823, 2315, 2312, 2373, + 2325, 2317, 2323, 2314, 2322, 2307, 2361, 2322, 2304, 2316, + 2308, 590, 2299, 2298, 2292, 2297, 2312, 2309, 2310, 2289, + 2299, 2305, 2351, 2303, 2295, 2286, 2823, 2287, 2289, 2284, + + 2297, 2289, 2288, 2293, 2335, 2334, 2282, 756, 2291, 2331, + 2273, 2329, 2273, 2276, 2269, 2284, 2823, 2282, 2261, 2265, + 2279, 2274, 2270, 2318, 2267, 2274, 2315, 2823, 2257, 2267, + 8, 87, 255, 301, 398, 429, 420, 537, 610, 608, + 688, 690, 2823, 670, 652, 683, 684, 746, 699, 702, + 711, 697, 755, 719, 717, 702, 709, 713, 706, 2823, + 722, 714, 2823, 734, 748, 754, 740, 761, 724, 722, + 722, 731, 743, 737, 726, 722, 736, 737, 787, 750, + 793, 750, 758, 791, 792, 750, 753, 754, 764, 769, + 755, 758, 761, 770, 770, 754, 814, 764, 774, 777, + + 818, 778, 771, 775, 772, 774, 824, 825, 786, 833, + 787, 789, 2823, 792, 787, 778, 793, 798, 795, 797, + 799, 798, 786, 800, 798, 806, 845, 804, 852, 853, + 800, 792, 802, 853, 809, 861, 2823, 862, 812, 814, + 810, 804, 820, 808, 818, 870, 866, 826, 815, 828, + 2823, 818, 819, 830, 819, 832, 822, 835, 882, 883, + 884, 824, 835, 820, 843, 834, 823, 829, 887, 848, + 832, 844, 891, 892, 836, 843, 895, 856, 851, 856, + 854, 901, 840, 852, 855, 861, 862, 852, 849, 2823, + 918, 872, 873, 861, 875, 865, 868, 879, 864, 871, + + 877, 878, 870, 884, 908, 900, 929, 930, 904, 877, + 891, 896, 893, 875, 882, 896, 944, 898, 895, 896, + 894, 903, 2823, 899, 894, 909, 906, 892, 894, 913, + 909, 911, 900, 907, 909, 918, 961, 924, 963, 922, + 912, 910, 909, 920, 916, 975, 919, 930, 915, 916, + 922, 938, 934, 929, 979, 2823, 940, 940, 933, 944, + 942, 990, 929, 931, 943, 951, 949, 936, 934, 999, + 953, 939, 945, 943, 2823, 2823, 953, 958, 963, 951, + 961, 963, 2823, 2823, 964, 951, 969, 956, 958, 951, + 968, 2823, 957, 975, 962, 1015, 963, 965, 1019, 962, + + 966, 984, 1028, 2823, 2823, 2823, 970, 974, 973, 970, + 986, 1034, 984, 974, 975, 971, 984, 995, 996, 991, + 1038, 993, 995, 988, 990, 986, 992, 992, 994, 1009, + 992, 1054, 1008, 1013, 990, 1011, 1014, 1000, 999, 2823, + 1006, 1007, 1059, 1060, 1009, 1022, 1063, 1018, 1008, 1023, + 1017, 1025, 1012, 1043, 1053, 1041, 1049, 1061, 1078, 1024, + 1019, 1078, 1079, 1038, 1081, 2823, 1087, 1027, 1043, 1047, + 1091, 1038, 1037, 1032, 1033, 1045, 1040, 1036, 1045, 1040, + 1041, 1051, 1062, 1104, 1052, 1049, 1067, 1059, 1054, 1115, + 1069, 1070, 1061, 2823, 1075, 1064, 1067, 1075, 1077, 1062, + + 1074, 1079, 1076, 1074, 1124, 1087, 1071, 1072, 2823, 1088, + 1091, 1074, 1091, 1086, 1138, 1078, 1097, 2823, 1096, 1099, + 1085, 1080, 1098, 1141, 1096, 1092, 1089, 1145, 1146, 1105, + 1091, 1109, 1109, 1109, 1110, 1111, 1097, 1112, 1104, 1111, + 1101, 1102, 1120, 1119, 1106, 1123, 2823, 1115, 1121, 1124, + 1172, 1116, 2823, 1119, 1124, 1172, 1120, 1132, 1126, 1127, + 1125, 1122, 1128, 1138, 1186, 1127, 1128, 1128, 1190, 1131, + 1143, 1136, 2823, 1132, 1140, 1138, 1141, 1193, 1133, 1154, + 1140, 1141, 1142, 1143, 1149, 1157, 1148, 1153, 1163, 1164, + 1165, 1170, 1214, 1182, 1211, 1194, 1186, 1191, 2823, 1174, + + 1170, 1166, 1180, 1163, 1163, 2823, 1164, 1227, 1167, 2823, + 1178, 1168, 1188, 1187, 1178, 1189, 1235, 1185, 1194, 1187, + 1191, 1195, 1178, 1195, 1196, 1191, 1249, 1193, 2823, 1246, + 1190, 1193, 1211, 1193, 1194, 1194, 1215, 1212, 1200, 1218, + 1206, 1220, 1206, 1214, 1223, 1203, 1218, 1225, 1270, 1213, + 1267, 2823, 1273, 1274, 1213, 1223, 1233, 1217, 1237, 1225, + 1221, 1228, 1237, 1225, 1232, 1233, 1245, 1289, 1233, 1291, + 1232, 1231, 1235, 1252, 1296, 1243, 1242, 1248, 1249, 1247, + 1245, 1240, 1304, 1252, 1306, 1302, 1308, 2823, 1246, 1263, + 1256, 1247, 1266, 1254, 1264, 1265, 1261, 1256, 1275, 1275, + + 2823, 1260, 1256, 1262, 2823, 1263, 1326, 1282, 1263, 1282, + 1283, 1269, 1286, 1328, 1278, 1335, 1336, 1286, 1291, 1285, + 1283, 1294, 1293, 1277, 1282, 1288, 1301, 2823, 1315, 1328, + 1316, 1330, 1317, 1352, 1289, 1311, 1306, 1306, 1310, 1358, + 2823, 1298, 1298, 1301, 1318, 1313, 1317, 1312, 2823, 1321, + 1305, 1322, 1302, 1323, 1313, 1312, 1368, 1319, 2823, 1336, + 1336, 1377, 1321, 1330, 1380, 1335, 1340, 1326, 1389, 1329, + 1330, 1344, 1342, 1334, 1340, 1336, 1354, 1355, 1356, 2823, + 1395, 1347, 2823, 1357, 2823, 1342, 1353, 1344, 1363, 1356, + 1354, 1347, 1359, 1406, 1367, 1356, 1363, 1364, 1370, 2823, + + 1363, 2823, 1418, 1368, 1357, 1421, 2823, 1422, 1361, 1367, + 1368, 1375, 1422, 1381, 2823, 1382, 2823, 1369, 2823, 1369, + 1372, 1386, 1391, 1374, 1436, 1390, 1391, 1434, 1397, 1384, + 1389, 1443, 1439, 1389, 1446, 2823, 1394, 1391, 1449, 1450, + 1446, 1405, 1406, 1408, 2823, 2823, 1400, 1395, 1452, 1398, + 1414, 1460, 1399, 1411, 1400, 1417, 1460, 1443, 1444, 1436, + 1469, 2823, 1423, 1416, 1425, 1416, 1427, 2823, 1475, 1409, + 1420, 1435, 1474, 1423, 1434, 1420, 1436, 1437, 1434, 1481, + 1441, 1443, 1432, 1442, 1448, 1435, 1434, 1498, 1494, 1449, + 1496, 1502, 1456, 2823, 1442, 1458, 1449, 1452, 1461, 1462, + + 1459, 1449, 1452, 1452, 1453, 1464, 1459, 1517, 1461, 1519, + 1459, 1464, 1523, 1519, 1457, 1472, 1465, 1468, 1481, 1482, + 1480, 1532, 2823, 1478, 1484, 2823, 2823, 1489, 1481, 1482, + 1492, 1477, 1536, 1480, 1480, 1544, 1545, 1486, 1496, 1548, + 2823, 1493, 1494, 1496, 1552, 1493, 1491, 1494, 2823, 1511, + 1516, 2823, 1513, 1501, 2823, 2823, 1505, 1515, 1498, 1518, + 1519, 1505, 1507, 1569, 1516, 2823, 1571, 1517, 1511, 1574, + 1539, 1557, 1572, 1559, 2823, 1578, 1534, 1582, 1529, 1579, + 2823, 1524, 1586, 1533, 1527, 1524, 1527, 1529, 1587, 1547, + 1589, 1539, 1551, 1554, 1551, 1543, 1546, 1541, 1549, 1540, + + 2823, 1548, 1563, 1548, 2823, 1550, 1607, 1552, 1609, 1568, + 1568, 1571, 1571, 1568, 1615, 1574, 1575, 1567, 1568, 2823, + 1569, 2823, 1579, 1571, 2823, 1577, 1583, 1584, 1581, 1628, + 1573, 1588, 1589, 1581, 2823, 1591, 1579, 1580, 1580, 1581, + 1587, 1586, 1584, 1641, 1599, 2823, 2823, 1643, 1587, 2823, + 1588, 1589, 1595, 2823, 1604, 1592, 1600, 1657, 1602, 1594, + 1607, 1601, 1611, 1607, 1623, 1616, 1622, 1612, 1670, 1620, + 2823, 1629, 2823, 1626, 1674, 2823, 1624, 1652, 1653, 1659, + 1644, 1652, 2823, 1681, 2823, 1636, 1621, 1684, 2823, 1685, + 1639, 1644, 1626, 1689, 1630, 1686, 1650, 1643, 1639, 1632, + + 1640, 1692, 1647, 1648, 1638, 1643, 1655, 1709, 1660, 1711, + 1658, 1708, 1669, 1669, 1665, 1712, 1657, 1662, 1660, 1722, + 1663, 1671, 1677, 1665, 1727, 1723, 1683, 1730, 1688, 1677, + 1671, 1734, 1673, 1674, 1688, 1738, 1692, 1692, 1741, 1742, + 1681, 1698, 1694, 1692, 1699, 1683, 1744, 1745, 1746, 1706, + 1699, 1698, 1698, 1693, 1694, 1712, 2823, 1703, 1709, 1714, + 1701, 1702, 1702, 1702, 1704, 1762, 1705, 2823, 1701, 1719, + 1771, 2823, 1726, 1740, 1754, 1753, 1742, 1744, 2823, 1778, + 1728, 2823, 2823, 1719, 1730, 1782, 2823, 1737, 1727, 1732, + 1730, 1783, 1738, 1743, 1729, 1732, 1748, 1737, 1735, 1749, + + 1736, 2823, 1738, 2823, 1756, 1743, 1755, 1802, 1742, 1747, + 1810, 1755, 1765, 1766, 2823, 1814, 1751, 1811, 1766, 1813, + 2823, 1761, 1820, 2823, 1760, 1775, 1763, 2823, 1773, 1774, + 1826, 2823, 1781, 1785, 2823, 2823, 1824, 1787, 1763, 1781, + 1782, 1791, 1773, 1780, 1792, 1791, 1782, 1835, 1784, 1780, + 1785, 1844, 1783, 1784, 1847, 1843, 1849, 1799, 1797, 1852, + 1802, 1792, 1808, 1801, 2823, 1857, 1835, 1859, 1841, 1856, + 1862, 2823, 1808, 1864, 1803, 2823, 1805, 1807, 1817, 1864, + 1809, 1824, 1811, 1873, 1827, 1813, 1820, 1820, 1878, 1832, + 1833, 1820, 1822, 1836, 1822, 1887, 1837, 2823, 1884, 1832, + + 1829, 2823, 1845, 1832, 1845, 1832, 1853, 2823, 1850, 1898, + 1848, 1845, 1846, 2823, 1902, 1858, 1841, 1843, 1859, 1852, + 1842, 1858, 1859, 1868, 1858, 1913, 1870, 1854, 1863, 1912, + 1918, 2823, 1868, 1920, 2823, 1866, 2823, 1865, 1861, 2823, + 1868, 1925, 1927, 1923, 2823, 1924, 2823, 1906, 1912, 2823, + 1884, 2823, 1928, 1877, 1888, 1889, 1874, 1875, 1883, 1940, + 2823, 1885, 1937, 1938, 1890, 2823, 1885, 1903, 1885, 1891, + 1904, 1899, 2823, 1896, 1901, 1899, 1954, 1895, 1909, 1959, + 1904, 1901, 1901, 2823, 1916, 1917, 1918, 2823, 1919, 1909, + 1921, 1969, 1919, 1971, 1910, 1918, 1919, 1932, 2823, 1933, + + 1914, 1915, 1922, 2823, 1924, 2823, 1938, 1935, 1927, 1979, + 1937, 2823, 2823, 1941, 1967, 1968, 1966, 1929, 1929, 1938, + 1945, 1938, 1937, 1948, 1935, 2823, 1951, 1939, 1942, 2001, + 1938, 1957, 1999, 1960, 1953, 1952, 1961, 1963, 1967, 2823, + 2006, 1958, 2823, 1964, 1956, 2018, 1958, 2020, 2021, 2022, + 1977, 2024, 2823, 1963, 2823, 2021, 1980, 1981, 1968, 1976, + 1987, 1974, 1985, 1971, 1969, 1977, 1976, 1977, 1983, 1974, + 2019, 2043, 2025, 2045, 1995, 1984, 1997, 1987, 2004, 2003, + 2047, 1988, 2007, 2008, 2823, 2013, 2006, 2048, 2012, 1999, + 2014, 2062, 2016, 2019, 2014, 2019, 2008, 2017, 2823, 2071, + + 2823, 2823, 2823, 2029, 2823, 2073, 2012, 2075, 2076, 2016, + 2078, 2023, 2075, 2076, 2035, 2078, 2021, 2025, 2086, 2044, + 2088, 2044, 2071, 2823, 2067, 2823, 2037, 2031, 2028, 2090, + 2053, 2046, 2042, 2099, 2039, 2041, 2040, 2047, 2093, 2044, + 2106, 2047, 2823, 2052, 2062, 2064, 2066, 2049, 2057, 2823, + 2052, 2823, 2064, 2823, 2823, 2070, 2823, 2072, 2072, 2063, + 2122, 2063, 2073, 2058, 2823, 2071, 2823, 2073, 2104, 2110, + 2082, 2080, 2132, 2070, 2072, 2069, 2093, 2823, 2080, 2087, + 2088, 2091, 2141, 2081, 2823, 2138, 2082, 2090, 2099, 2085, + 2101, 2100, 2103, 2096, 2091, 2091, 2103, 2100, 2823, 2111, + + 2099, 2155, 2103, 2115, 2143, 2164, 2165, 2109, 2823, 2109, + 2121, 2169, 2115, 2117, 2115, 2116, 2174, 2823, 2124, 2111, + 2126, 2131, 2123, 2129, 2181, 2182, 2183, 2137, 2185, 2186, + 2127, 2131, 2128, 2144, 2127, 2139, 2133, 2195, 2823, 2823, + 2140, 2151, 2198, 2823, 2152, 2137, 2155, 2146, 2823, 2147, + 2161, 2157, 2150, 2145, 2151, 2823, 2823, 2823, 2209, 2823, + 2823, 2149, 2157, 2152, 2208, 2171, 2168, 2216, 2823, 2212, + 2175, 2823, 2219, 2158, 2221, 2161, 2174, 2173, 2174, 2164, + 2176, 2172, 2823, 2167, 2230, 2180, 2189, 2182, 2229, 2823, + 2180, 2174, 2823, 2186, 2823, 2233, 2239, 2178, 2194, 2242, + + 2195, 2244, 2245, 2823, 2199, 2193, 2186, 2206, 2193, 2205, + 2196, 2200, 2823, 2250, 2196, 2823, 2206, 2823, 2823, 2197, + 2205, 2255, 2212, 2205, 2217, 2264, 2209, 2209, 2205, 2207, + 2222, 2270, 2271, 2210, 2226, 2211, 2228, 2823, 2276, 2220, + 2227, 2279, 2220, 2823, 2823, 2230, 2282, 2227, 2284, 2823, + 2232, 2231, 2823, 2287, 2233, 2823, 2227, 2823, 2227, 2244, + 2823, 2245, 2293, 2236, 2295, 2296, 2823, 2297, 2823, 2823, + 2823, 2823, 2303, 2306, 2309, 2310, 2312, 2315, 2318, 2321 } ; -static const flex_int16_t yy_def[2364] = +static const flex_int16_t yy_def[2381] = { 0, - 2356, 2356, 2357, 2357, 2356, 2356, 2356, 2356, 2356, 2356, - 2355, 2355, 2355, 2355, 2355, 2358, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2359, - 2355, 2355, 2355, 2360, 15, 2355, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2361, 45, 45, 45, + 2373, 2373, 2374, 2374, 2373, 2373, 2373, 2373, 2373, 2373, + 2372, 2372, 2372, 2372, 2372, 2375, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2376, + 2372, 2372, 2372, 2377, 15, 2372, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2378, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2358, - 2355, 2355, 2355, 2355, 2355, 2355, 2362, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2359, 2355, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2375, + 2372, 2372, 2372, 2372, 2372, 2372, 2379, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2376, 2372, - 2360, 2355, 2355, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2363, 45, 2361, 45, 45, + 2377, 2372, 2372, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2380, 45, 2378, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1293,14 +1296,14 @@ static const flex_int16_t yy_def[2364] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2362, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 45, + 2379, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2363, 2355, 2355, 118, 45, 45, 45, 45, 45, + 45, 2380, 2372, 2372, 118, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1308,242 +1311,243 @@ static const flex_int16_t yy_def[2364] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 2355, - 45, 2355, 45, 118, 2355, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 45, 45, 45, 45, 45, 45, 45, 45, 2372, + 45, 2372, 45, 118, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 2355, 2355, 2355, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45, - 118, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, + 45, 2372, 45, 45, 45, 45, 45, 2372, 2372, 2372, + 45, 45, 45, 45, 45, 45, 2372, 45, 45, 2372, + 45, 118, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 2355, 45, 45, + 45, 2372, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45, + 45, 45, 45, 45, 45, 45, 2372, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 2355, 45, 45, 2355, 45, - 45, 45, 2355, 45, 45, 45, 45, 2355, 2355, 2355, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, + 45, 45, 45, 45, 2372, 45, 45, 2372, 45, 45, + 2372, 45, 45, 45, 2372, 45, 45, 45, 45, 2372, + 2372, 2372, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 2355, + 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2372, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, + 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 2355, 45, 45, 45, 45, 45, 45, 2355, 2355, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355, + 45, 45, 45, 45, 2372, 2372, 45, 45, 45, 45, + 45, 45, 2372, 2372, 45, 45, 45, 45, 45, 45, + 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 2355, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2372, 2372, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, + 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, + 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 2355, + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2372, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 2355, 45, - + 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 2372, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 2355, 45, 2355, 45, 45, + 2372, 45, 45, 45, 45, 45, 45, 45, 2372, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 2355, 45, 45, 45, 45, 2355, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2372, + 45, 45, 2372, 45, 2372, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2372, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 2355, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, - 45, 45, 45, 45, 45, 45, 2355, 2355, 45, 45, + 45, 2372, 45, 45, 45, 45, 2372, 45, 45, 45, + 45, 45, 45, 45, 2372, 45, 2372, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 2355, + 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, + 45, 45, 45, 45, 2372, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2372, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 2355, 2355, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 2355, 45, 45, 2355, 2355, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 2355, 45, 45, 45, 45, - + 45, 45, 2372, 45, 45, 2372, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 2355, 45, 45, 2355, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 2355, 45, 45, - 2355, 45, 45, 45, 2355, 45, 45, 45, 45, 45, + 2372, 45, 45, 45, 45, 45, 45, 45, 2372, 45, + 45, 2372, 45, 45, 2372, 2372, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, + 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, + 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 2355, 45, 45, 2355, 45, 45, 45, 45, - 45, 45, 2355, 45, 2355, 45, 45, 45, 2355, 45, + + 2372, 45, 45, 45, 2372, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2372, + 45, 2372, 45, 45, 2372, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2372, 2372, 45, 45, 2372, + 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2372, 45, 2372, 45, 45, 2372, 45, 45, 45, 45, + 45, 45, 2372, 45, 2372, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 2355, 45, 45, - 2355, 2355, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 2355, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 2355, - 45, 45, 2355, 45, 45, 45, 2355, 45, 45, 45, - 2355, 45, 45, 2355, 2355, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, + 45, 2372, 45, 45, 45, 45, 45, 45, 2372, 45, + 45, 2372, 2372, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 2372, 45, 2372, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, + 2372, 45, 45, 2372, 45, 45, 45, 2372, 45, 45, + 45, 2372, 45, 45, 2372, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 2355, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 2355, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, - - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355, - 45, 45, 2355, 45, 2355, 45, 2355, 45, 45, 45, - 45, 2355, 45, 2355, 45, 45, 2355, 45, 2355, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 2355, + 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, + 45, 2372, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 2355, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, - 2355, 45, 2355, 45, 45, 45, 45, 2355, 2355, 45, + 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, + 45, 2372, 45, 45, 45, 45, 45, 2372, 45, 45, + 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2372, 45, 45, 2372, 45, 2372, 45, 45, 2372, + 45, 45, 45, 45, 2372, 45, 2372, 45, 45, 2372, + 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, + 2372, 45, 45, 45, 45, 2372, 45, 45, 45, 45, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2372, 45, 45, 45, 2372, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, + + 45, 45, 45, 2372, 45, 2372, 45, 45, 45, 45, + 45, 2372, 2372, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2372, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2372, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 2355, 2355, 2355, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 2355, + 2372, 2372, 2372, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, - 45, 45, 45, 2355, 45, 2355, 45, 2355, 2355, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 2355, + 45, 45, 45, 2372, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 2355, 45, 45, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 2372, + 45, 2372, 45, 2372, 2372, 45, 2372, 45, 45, 45, + 45, 45, 45, 45, 2372, 45, 2372, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, + 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 45, + 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2372, 2372, + 45, 45, 45, 2372, 45, 45, 45, 45, 2372, 45, + 45, 45, 45, 45, 45, 2372, 2372, 2372, 45, 2372, + 2372, 45, 45, 45, 45, 45, 45, 45, 2372, 45, + 45, 2372, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2372, 45, 45, 45, 45, 45, 45, 2372, + 45, 45, 2372, 45, 2372, 45, 45, 45, 45, 45, + + 45, 45, 45, 2372, 45, 45, 45, 45, 45, 45, + 45, 45, 2372, 45, 45, 2372, 45, 2372, 2372, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 2355, 45, 45, 45, 2355, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 2355, 2355, - 2355, 45, 2355, 2355, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 2355, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 2355, 45, 2355, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45, - - 2355, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 2355, 2355, 45, 45, - 45, 45, 2355, 45, 45, 2355, 45, 45, 2355, 45, - 2355, 45, 45, 2355, 45, 45, 45, 45, 45, 2355, - 45, 2355, 2355, 2355, 0, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355 + 45, 45, 45, 45, 45, 45, 45, 2372, 45, 45, + 45, 45, 45, 2372, 2372, 45, 45, 45, 45, 2372, + 45, 45, 2372, 45, 45, 2372, 45, 2372, 45, 45, + 2372, 45, 45, 45, 45, 45, 2372, 45, 2372, 2372, + 2372, 0, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372 } ; -static const flex_int16_t yy_nxt[2883] = +static const flex_int16_t yy_nxt[2900] = { 0, - 2355, 13, 14, 13, 2355, 15, 16, 102, 17, 18, + 2372, 13, 14, 13, 2372, 15, 16, 102, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 86, 409, 37, 14, 37, 87, 25, 26, 38, 37, - 14, 37, 42, 27, 42, 38, 2355, 2355, 28, 91, + 14, 37, 42, 27, 42, 38, 2372, 2372, 28, 91, 13, 14, 13, 92, 29, 91, 30, 103, 13, 14, 13, 205, 25, 31, 13, 14, 13, 42, 40, 42, - 872, 32, 13, 14, 13, 91, 40, 33, 410, 170, + 874, 32, 13, 14, 13, 91, 40, 33, 410, 170, 93, 94, 92, 171, 34, 35, 13, 14, 13, 205, 15, 16, 92, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 39, 13, 14, 13, 93, @@ -1551,7 +1555,7 @@ static const flex_int16_t yy_nxt[2883] = 93, 25, 26, 39, 13, 14, 13, 42, 27, 42, 135, 95, 136, 28, 109, 246, 41, 105, 106, 29, 108, 30, 114, 137, 41, 234, 235, 25, 31, 96, - 389, 247, 89, 138, 89, 873, 32, 90, 90, 90, + 389, 247, 89, 138, 89, 875, 32, 90, 90, 90, 90, 90, 33, 109, 105, 106, 108, 390, 114, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 45, @@ -1568,295 +1572,297 @@ static const flex_int16_t yy_nxt[2883] = 193, 105, 192, 83, 316, 111, 129, 108, 83, 130, 131, 113, 140, 132, 133, 83, 142, 166, 139, 141, 202, 167, 83, 110, 143, 112, 134, 193, 119, 83, - 45, 168, 192, 111, 120, 574, 45, 121, 45, 45, + 45, 168, 192, 111, 120, 575, 45, 121, 45, 45, 113, 45, 301, 302, 45, 102, 202, 45, 144, 117, - 264, 145, 45, 45, 265, 45, 45, 874, 146, 195, + 264, 145, 45, 45, 265, 45, 45, 876, 146, 195, 147, 115, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 103, 106, 575, 115, 45, + 45, 45, 45, 45, 45, 103, 106, 576, 115, 45, 149, 150, 114, 45, 151, 153, 194, 45, 190, 154, - 152, 211, 225, 155, 226, 45, 123, 875, 110, 45, + 152, 211, 225, 155, 226, 45, 123, 877, 110, 45, 124, 45, 118, 106, 125, 156, 111, 126, 186, 157, 127, 161, 194, 201, 128, 194, 193, 211, 187, 162, 158, 163, 159, 188, 160, 172, 164, 165, 345, 173, - 204, 208, 174, 206, 111, 275, 179, 180, 876, 175, + 204, 208, 174, 206, 111, 275, 179, 180, 878, 175, 176, 197, 201, 196, 177, 178, 112, 85, 85, 85, 85, 85, 90, 90, 90, 90, 90, 204, 113, 208, - 83, 81, 206, 82, 82, 82, 82, 82, 241, 877, + 83, 81, 206, 82, 82, 82, 82, 82, 241, 879, 242, 209, 181, 89, 182, 89, 83, 183, 90, 90, 90, 90, 90, 210, 276, 346, 83, 184, 85, 85, 85, 85, 85, 81, 185, 84, 84, 84, 84, 84, 209, 83, 83, 90, 90, 90, 90, 90, 83, 101, - 201, 210, 221, 228, 206, 878, 101, 250, 243, 259, + 201, 210, 221, 228, 206, 880, 101, 250, 243, 259, 251, 222, 229, 230, 252, 223, 285, 83, 216, 286, 287, 244, 260, 288, 83, 245, 309, 289, 303, 217, 208, 209, 304, 272, 280, 273, 305, 210, 291, 101, - 310, 325, 326, 101, 419, 359, 505, 101, 360, 281, - 282, 283, 506, 327, 420, 101, 398, 325, 314, 101, - 318, 101, 101, 214, 327, 320, 326, 879, 336, 326, + 310, 325, 326, 101, 419, 359, 506, 101, 360, 281, + 282, 283, 507, 327, 420, 101, 398, 325, 314, 101, + 318, 101, 101, 214, 327, 320, 326, 881, 336, 326, 325, 215, 215, 215, 215, 215, 292, 293, 294, 327, 215, 215, 215, 215, 215, 215, 328, 295, 333, 296, 330, 297, 298, 329, 299, 300, 334, 336, 337, 338, 414, 339, 341, 343, 333, 361, 215, 215, 215, 215, - 215, 215, 399, 362, 333, 400, 450, 433, 451, 363, - - 434, 338, 334, 341, 340, 338, 337, 339, 341, 455, - 347, 343, 344, 344, 344, 344, 344, 463, 467, 415, - 467, 344, 344, 344, 344, 344, 344, 407, 470, 341, - 472, 473, 477, 416, 475, 478, 472, 522, 471, 477, - 538, 539, 523, 459, 467, 540, 468, 344, 344, 344, - 344, 344, 344, 548, 621, 763, 822, 823, 473, 472, - 475, 477, 478, 549, 566, 483, 578, 589, 550, 567, - 579, 590, 464, 481, 481, 481, 481, 481, 616, 735, - 621, 763, 481, 481, 481, 481, 481, 481, 622, 609, - 623, 616, 665, 524, 610, 687, 620, 666, 525, 880, - - 881, 698, 652, 764, 765, 688, 761, 616, 481, 481, - 481, 481, 481, 481, 760, 653, 622, 654, 623, 767, - 625, 762, 882, 883, 884, 568, 45, 45, 45, 45, - 45, 764, 761, 765, 736, 45, 45, 45, 45, 45, - 45, 642, 770, 791, 885, 643, 792, 848, 888, 771, - 762, 889, 849, 644, 890, 645, 646, 647, 648, 649, - 886, 45, 45, 45, 45, 45, 45, 891, 892, 893, - 894, 887, 895, 896, 897, 898, 899, 900, 901, 902, - 904, 903, 906, 907, 905, 908, 909, 910, 911, 850, - 912, 913, 914, 915, 916, 917, 919, 920, 924, 921, - - 922, 918, 923, 925, 926, 927, 902, 901, 903, 904, - 905, 928, 929, 930, 931, 932, 933, 934, 935, 936, - 937, 938, 939, 940, 941, 942, 943, 944, 945, 948, - 949, 950, 946, 951, 952, 953, 947, 954, 955, 956, - 957, 958, 959, 960, 961, 963, 964, 965, 966, 967, - 968, 969, 970, 971, 972, 973, 974, 975, 962, 977, - 976, 978, 979, 980, 981, 982, 983, 984, 985, 986, + 215, 215, 399, 362, 333, 400, 451, 433, 452, 363, + + 434, 338, 334, 449, 450, 338, 337, 339, 341, 464, + 347, 343, 344, 344, 344, 344, 344, 341, 468, 415, + 468, 344, 344, 344, 344, 344, 344, 407, 471, 340, + 473, 474, 523, 416, 456, 476, 478, 524, 472, 479, + 825, 826, 737, 341, 468, 473, 469, 344, 344, 344, + 344, 344, 344, 549, 478, 539, 540, 460, 474, 473, + 541, 476, 882, 550, 465, 478, 479, 482, 482, 482, + 482, 482, 618, 623, 484, 883, 482, 482, 482, 482, + 482, 482, 567, 551, 618, 579, 590, 568, 525, 580, + 591, 611, 624, 526, 625, 654, 612, 738, 884, 623, + + 885, 618, 482, 482, 482, 482, 482, 482, 655, 667, + 656, 644, 622, 627, 668, 645, 766, 700, 886, 887, + 624, 689, 625, 646, 764, 647, 648, 649, 650, 651, + 768, 690, 767, 763, 773, 888, 889, 794, 770, 765, + 795, 774, 766, 569, 45, 45, 45, 45, 45, 892, + 764, 890, 893, 45, 45, 45, 45, 45, 45, 768, + 767, 851, 891, 894, 895, 896, 852, 897, 765, 898, + 899, 900, 901, 902, 903, 904, 905, 906, 908, 45, + 45, 45, 45, 45, 45, 907, 910, 909, 911, 912, + 913, 914, 915, 916, 917, 918, 919, 920, 923, 924, + + 921, 928, 929, 853, 906, 905, 922, 908, 925, 926, + 930, 927, 907, 909, 931, 932, 933, 934, 935, 936, + 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, + 947, 948, 949, 952, 953, 954, 950, 955, 956, 957, + 951, 958, 959, 960, 961, 962, 963, 964, 965, 967, + 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, + 978, 979, 966, 981, 980, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, - 1017, 1018, 1019, 1020, 1022, 1023, 1024, 1027, 1028, 1029, - 1021, 1032, 1030, 1025, 1033, 1034, 1035, 1026, 1031, 1036, - 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, + 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1027, + 1028, 1031, 1032, 1033, 1025, 1036, 1034, 1029, 1037, 1038, + 1039, 1030, 1035, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, - 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1049, - 1076, 1077, 1050, 1078, 1079, 1053, 1080, 1081, 1082, 1083, - 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, + 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, + 1077, 1078, 1079, 1080, 1054, 1081, 1082, 1055, 1083, 1084, + 1058, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, - 1104, 1106, 1107, 1108, 1109, 1105, 1110, 1111, 1112, 1113, + 1104, 1105, 1106, 1107, 1108, 1109, 1111, 1112, 1113, 1114, - 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, - 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1134, - 1135, 1136, 1133, 1137, 1138, 1139, 1140, 1141, 1142, 1143, + 1110, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, + 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, + 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1138, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, - 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1193, 1191, 1194, - 1195, 1192, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, + 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, + 1194, 1195, 1196, 1199, 1197, 1200, 1201, 1198, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, - 1214, 1215, 1189, 1188, 1216, 1190, 1191, 1192, 1217, 1218, - 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, + 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1195, 1194, + 1222, 1196, 1197, 1198, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, - 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, - 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, + 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, + 1249, 1250, 1251, 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, - 1270, 1271, 1272, 1273, 1274, 1276, 1277, 1278, 1279, 1280, - 1281, 1282, 1283, 1284, 1285, 1275, 1286, 1287, 1288, 1289, - 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, - 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1247, 1308, - - 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, - 1319, 1320, 1321, 1322, 1323, 1325, 1324, 1326, 1327, 1328, - 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, + 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, + 1280, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, + 1291, 1281, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, + 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, + + 1310, 1311, 1312, 1313, 1253, 1314, 1315, 1316, 1317, 1318, + 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, + 1329, 1330, 1332, 1331, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, - 1349, 1350, 1322, 1324, 1325, 1326, 1351, 1352, 1353, 1354, - 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, + 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1329, + 1331, 1332, 1333, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, - 1375, 1376, 1378, 1380, 1381, 1382, 1377, 1383, 1384, 1385, - 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, + 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1385, + 1387, 1388, 1389, 1384, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, - 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1379, - 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, + 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, + 1426, 1427, 1428, 1429, 1430, 1431, 1386, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, - 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1452, 1454, - 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, + 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, + 1455, 1456, 1457, 1458, 1459, 1461, 1460, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, - 1475, 1450, 1476, 1449, 1452, 1451, 1453, 1477, 1478, 1479, - 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, + 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1458, + 1484, 1457, 1460, 1459, 1461, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, - 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1538, 1539, 1540, - 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, + 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, + 1540, 1541, 1542, 1543, 1544, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, - 1571, 1572, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, - 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1563, - 1564, 1591, 1537, 1565, 1592, 1593, 1594, 1595, 1596, 1597, - - 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, - 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1573, 1616, - 1617, 1618, 1619, 1621, 1622, 1623, 1624, 1625, 1626, 1627, - 1620, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, - 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1647, - 1648, 1649, 1650, 1646, 1651, 1652, 1653, 1654, 1655, 1656, - 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, - 1668, 1669, 1670, 1673, 1667, 1672, 1674, 1675, 1676, 1677, - 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, - 1688, 1689, 1690, 1691, 1692, 1693, 1671, 1669, 1694, 1668, - - 1695, 1672, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, - 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, - 1714, 1715, 1716, 1717, 1671, 1718, 1719, 1720, 1721, 1722, - 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, - 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1745, - 1742, 1746, 1747, 1743, 1748, 1749, 1744, 1750, 1751, 1752, - 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, - 1763, 1764, 1766, 1765, 1767, 1768, 1769, 1770, 1771, 1772, - 1773, 1774, 1775, 1776, 1777, 1778, 1781, 1782, 1783, 1779, - 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1763, 1764, 1765, - - 1780, 1766, 1767, 1791, 1792, 1793, 1794, 1795, 1796, 1797, - 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1806, 1807, 1808, - 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, + 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, + 1581, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, + 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1572, 1573, + + 1545, 1600, 1574, 1601, 1602, 1603, 1604, 1605, 1606, 1607, + 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, + 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1582, 1625, 1626, + 1627, 1628, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1629, + 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, + 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1656, 1657, + 1658, 1659, 1655, 1660, 1661, 1662, 1663, 1664, 1665, 1666, + 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, + 1678, 1679, 1680, 1683, 1677, 1682, 1684, 1685, 1686, 1687, + 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, + + 1698, 1699, 1700, 1701, 1702, 1703, 1681, 1679, 1704, 1678, + 1705, 1682, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, + 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, + 1724, 1725, 1726, 1727, 1681, 1728, 1729, 1730, 1731, 1732, + 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, + 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1755, + 1752, 1756, 1757, 1753, 1758, 1759, 1754, 1760, 1761, 1762, + 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, + 1773, 1774, 1775, 1777, 1776, 1778, 1779, 1780, 1781, 1782, + 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1792, 1793, 1794, + + 1790, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1774, 1775, + 1776, 1791, 1777, 1778, 1802, 1803, 1804, 1805, 1806, 1807, + 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, - 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1858, 1857, - 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1805, 1866, 1867, - 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, - 1878, 1879, 1880, 1856, 1881, 1855, 1857, 1858, 1882, 1859, + 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, + 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, + 1870, 1869, 1871, 1872, 1873, 1874, 1875, 1876, 1816, 1877, + 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, - 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, - 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, + 1888, 1889, 1890, 1891, 1892, 1868, 1893, 1867, 1869, 1870, + 1894, 1871, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, - 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1933, 1935, 1960, - 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, - 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, + 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, + 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, + 1946, 1948, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, - 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 1995, 2000, - 2001, 2002, 2004, 2003, 2005, 2006, 2007, 2008, 2009, 2010, - 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, - 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2002, 2003, - 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, - 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, + 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011, + 2012, 2008, 2013, 2014, 2015, 2016, 2018, 2017, 2019, 2020, + 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, + 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, + 2041, 2042, 2016, 2017, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, - 2079, 2080, 2081, 2056, 2057, 2082, 2058, 2083, 2084, 2085, - 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, - 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2104, 2105, 2103, + 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, + 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2071, 2072, + 2097, 2073, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, - 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, - 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2107, 2109, - 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, - 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, + 2116, 2117, 2119, 2120, 2118, 2121, 2122, 2123, 2124, 2125, + 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, + 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, + 2146, 2147, 2148, 2149, 2123, 2125, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, - 2174, 2175, 2176, 2177, 2152, 2178, 2153, 2179, 2180, 2181, - 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2190, 2189, 2191, - 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, - 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, - 2212, 2213, 2214, 2188, 2189, 2215, 2216, 2217, 2218, 2219, - 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, - 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, - 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2221, 2247, 2248, - 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, - 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, + 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, + 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, + 2194, 2169, 2195, 2170, 2196, 2197, 2198, 2199, 2200, 2201, + 2202, 2203, 2204, 2205, 2207, 2206, 2208, 2209, 2210, 2211, + 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, + 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, + 2205, 2206, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, + 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, + 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, + 2260, 2261, 2262, 2263, 2238, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, - 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2308, 2307, + 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, - 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, + 2319, 2320, 2321, 2322, 2323, 2325, 2324, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348, - 2349, 2350, 2351, 2352, 2353, 2354, 12, 12, 12, 36, - 36, 36, 80, 99, 80, 101, 101, 101, 116, 116, - - 116, 191, 871, 191, 212, 212, 212, 870, 869, 868, - 867, 866, 865, 864, 863, 862, 861, 860, 859, 858, - 857, 856, 855, 854, 853, 852, 851, 847, 846, 845, - 844, 843, 842, 841, 840, 839, 838, 837, 836, 835, - 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, - 824, 821, 820, 819, 818, 817, 816, 815, 814, 813, - 812, 811, 810, 809, 808, 807, 806, 805, 804, 803, - 802, 801, 800, 799, 798, 797, 796, 795, 794, 793, - 790, 789, 788, 787, 786, 785, 784, 783, 782, 781, - 780, 779, 778, 777, 776, 775, 774, 773, 772, 769, - - 768, 766, 760, 759, 758, 757, 756, 755, 754, 753, - 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, - 742, 741, 740, 739, 738, 737, 734, 733, 732, 731, - 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, - 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, - 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, - 700, 699, 697, 696, 695, 694, 693, 692, 691, 690, - 689, 686, 685, 684, 683, 682, 681, 680, 679, 678, - 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, - 667, 664, 663, 662, 661, 660, 659, 658, 657, 656, - - 655, 651, 650, 641, 640, 639, 638, 637, 636, 635, - 634, 633, 632, 631, 630, 629, 628, 627, 626, 624, - 620, 619, 618, 617, 615, 614, 613, 612, 611, 608, - 607, 606, 605, 604, 603, 602, 601, 600, 599, 598, - 597, 596, 595, 594, 593, 592, 591, 588, 587, 586, - 585, 584, 583, 582, 581, 580, 577, 576, 573, 572, - 571, 570, 569, 565, 564, 563, 562, 561, 560, 559, - 558, 557, 556, 555, 554, 553, 552, 551, 547, 546, - 545, 544, 543, 542, 541, 537, 536, 535, 534, 533, - 532, 531, 530, 529, 528, 527, 526, 521, 520, 519, - - 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, - 508, 507, 504, 503, 502, 501, 500, 499, 498, 497, - 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, - 486, 485, 484, 482, 480, 479, 476, 474, 469, 466, - 465, 462, 461, 460, 458, 457, 456, 454, 453, 452, - 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, - 439, 438, 437, 436, 435, 432, 431, 430, 429, 428, - 427, 426, 425, 424, 423, 422, 421, 418, 417, 413, - 412, 411, 408, 406, 405, 404, 403, 402, 401, 397, - 396, 395, 394, 393, 392, 391, 388, 387, 386, 385, - - 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, - 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, - 364, 358, 357, 356, 355, 354, 353, 352, 351, 350, - 349, 348, 213, 342, 340, 335, 332, 331, 324, 323, - 322, 321, 319, 317, 313, 312, 311, 308, 307, 306, - 290, 284, 279, 278, 277, 274, 271, 270, 269, 268, - 267, 266, 263, 262, 261, 258, 257, 256, 255, 254, - 253, 249, 248, 240, 239, 238, 237, 236, 233, 232, - 231, 227, 224, 220, 219, 218, 213, 207, 203, 200, - 199, 198, 189, 169, 148, 122, 107, 104, 43, 100, - - 98, 97, 88, 43, 2355, 11, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355 + 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, + 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, + + 2369, 2370, 2371, 12, 12, 12, 36, 36, 36, 80, + 99, 80, 101, 101, 101, 116, 116, 116, 191, 873, + 191, 212, 212, 212, 872, 871, 870, 869, 868, 867, + 866, 865, 864, 863, 862, 861, 860, 859, 858, 857, + 856, 855, 854, 850, 849, 848, 847, 846, 845, 844, + 843, 842, 841, 840, 839, 838, 837, 836, 835, 834, + 833, 832, 831, 830, 829, 828, 827, 824, 823, 822, + 821, 820, 819, 818, 817, 816, 815, 814, 813, 812, + 811, 810, 809, 808, 807, 806, 805, 804, 803, 802, + 801, 800, 799, 798, 797, 796, 793, 792, 791, 790, + + 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, + 779, 778, 777, 776, 775, 772, 771, 769, 763, 762, + 761, 760, 759, 758, 757, 756, 755, 754, 753, 752, + 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, + 741, 740, 739, 736, 735, 734, 733, 732, 731, 730, + 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, + 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, + 709, 708, 707, 706, 705, 704, 703, 702, 701, 699, + 698, 697, 696, 695, 694, 693, 692, 691, 688, 687, + 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, + + 676, 675, 674, 673, 672, 671, 670, 669, 666, 665, + 664, 663, 662, 661, 660, 659, 658, 657, 653, 652, + 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, + 633, 632, 631, 630, 629, 628, 626, 622, 621, 620, + 619, 617, 616, 615, 614, 613, 610, 609, 608, 607, + 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, + 596, 595, 594, 593, 592, 589, 588, 587, 586, 585, + 584, 583, 582, 581, 578, 577, 574, 573, 572, 571, + 570, 566, 565, 564, 563, 562, 561, 560, 559, 558, + 557, 556, 555, 554, 553, 552, 548, 547, 546, 545, + + 544, 543, 542, 538, 537, 536, 535, 534, 533, 532, + 531, 530, 529, 528, 527, 522, 521, 520, 519, 518, + 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, + 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, + 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, + 485, 483, 481, 480, 477, 475, 470, 467, 466, 463, + 462, 461, 459, 458, 457, 455, 454, 453, 448, 447, + 446, 445, 444, 443, 442, 441, 440, 439, 438, 437, + 436, 435, 432, 431, 430, 429, 428, 427, 426, 425, + 424, 423, 422, 421, 418, 417, 413, 412, 411, 408, + + 406, 405, 404, 403, 402, 401, 397, 396, 395, 394, + 393, 392, 391, 388, 387, 386, 385, 384, 383, 382, + 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, + 371, 370, 369, 368, 367, 366, 365, 364, 358, 357, + 356, 355, 354, 353, 352, 351, 350, 349, 348, 213, + 342, 340, 335, 332, 331, 324, 323, 322, 321, 319, + 317, 313, 312, 311, 308, 307, 306, 290, 284, 279, + 278, 277, 274, 271, 270, 269, 268, 267, 266, 263, + 262, 261, 258, 257, 256, 255, 254, 253, 249, 248, + 240, 239, 238, 237, 236, 233, 232, 231, 227, 224, + + 220, 219, 218, 213, 207, 203, 200, 199, 198, 189, + 169, 148, 122, 107, 104, 43, 100, 98, 97, 88, + 43, 2372, 11, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372 + } ; -static const flex_int16_t yy_chk[2883] = +static const flex_int16_t yy_chk[2900] = { 0, 0, 1, 1, 1, 0, 1, 1, 44, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1864,7 +1870,7 @@ static const flex_int16_t yy_chk[2883] = 4, 4, 13, 1, 13, 4, 0, 0, 1, 26, 5, 5, 5, 27, 1, 31, 1, 44, 6, 6, 6, 109, 1, 1, 7, 7, 7, 37, 7, 37, - 730, 1, 8, 8, 8, 26, 8, 1, 274, 74, + 731, 1, 8, 8, 8, 26, 8, 1, 274, 74, 28, 31, 27, 74, 1, 1, 2, 2, 2, 109, 2, 2, 32, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 9, 9, 9, 28, @@ -1872,7 +1878,7 @@ static const flex_int16_t yy_chk[2883] = 33, 2, 2, 6, 10, 10, 10, 42, 2, 42, 62, 32, 62, 2, 52, 139, 9, 48, 49, 2, 51, 2, 55, 62, 10, 131, 131, 2, 2, 33, - 257, 139, 25, 62, 25, 731, 2, 25, 25, 25, + 257, 139, 25, 62, 25, 732, 2, 25, 25, 25, 25, 25, 2, 52, 48, 49, 51, 257, 55, 2, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1892,289 +1898,291 @@ static const flex_int16_t yy_chk[2883] = 45, 72, 94, 53, 58, 431, 45, 58, 45, 45, 54, 45, 172, 172, 45, 101, 106, 45, 66, 57, - 153, 66, 45, 45, 153, 45, 57, 732, 66, 94, + 153, 66, 45, 45, 153, 45, 57, 733, 66, 94, 66, 79, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 101, 60, 431, 79, 57, 68, 68, 77, 57, 68, 69, 93, 57, 79, 69, - 68, 115, 125, 69, 125, 57, 60, 733, 70, 57, + 68, 115, 125, 69, 125, 57, 60, 734, 70, 57, 60, 57, 57, 60, 60, 69, 70, 60, 77, 69, 60, 71, 96, 105, 60, 93, 95, 115, 77, 71, 70, 71, 70, 77, 70, 75, 71, 71, 216, 75, - 108, 112, 75, 110, 70, 162, 76, 76, 734, 75, + 108, 112, 75, 110, 70, 162, 76, 76, 735, 75, 75, 96, 105, 95, 75, 75, 76, 81, 81, 81, 81, 81, 89, 89, 89, 89, 89, 108, 76, 112, - 81, 82, 110, 82, 82, 82, 82, 82, 137, 735, + 81, 82, 110, 82, 82, 82, 82, 82, 137, 736, 137, 113, 76, 83, 76, 83, 82, 76, 83, 83, 83, 83, 83, 114, 162, 216, 81, 76, 85, 85, 85, 85, 85, 84, 76, 84, 84, 84, 84, 84, 113, 85, 82, 90, 90, 90, 90, 90, 84, 103, - 119, 114, 123, 127, 160, 736, 103, 142, 138, 149, + 119, 114, 123, 127, 160, 737, 103, 142, 138, 149, 142, 123, 127, 127, 142, 123, 168, 85, 119, 168, 168, 138, 149, 169, 84, 138, 177, 169, 173, 119, 181, 184, 173, 160, 166, 160, 173, 186, 171, 103, 177, 192, 193, 103, 281, 229, 369, 103, 229, 166, 166, 166, 369, 194, 281, 103, 265, 195, 181, 103, - 184, 103, 103, 118, 197, 186, 196, 737, 204, 193, + 184, 103, 103, 118, 197, 186, 196, 738, 204, 193, 192, 118, 118, 118, 118, 118, 171, 171, 171, 194, 118, 118, 118, 118, 118, 118, 195, 171, 201, 171, 197, 171, 171, 196, 171, 171, 202, 204, 205, 206, 278, 207, 209, 211, 217, 230, 118, 118, 118, 118, 118, 118, 265, 230, 201, 265, 310, 294, 310, 230, - 294, 272, 202, 318, 314, 206, 205, 207, 209, 314, - 217, 211, 215, 215, 215, 215, 215, 322, 325, 278, - 328, 215, 215, 215, 215, 215, 215, 272, 332, 318, - 333, 334, 338, 278, 336, 339, 347, 385, 332, 407, - 398, 398, 385, 318, 325, 398, 328, 215, 215, 215, - 215, 215, 215, 406, 478, 621, 680, 680, 334, 333, - 336, 338, 339, 406, 424, 347, 434, 444, 407, 424, - 434, 444, 322, 344, 344, 344, 344, 344, 472, 589, - 478, 621, 344, 344, 344, 344, 344, 344, 480, 464, - 480, 483, 517, 385, 464, 539, 550, 517, 385, 738, - - 739, 550, 505, 622, 623, 539, 617, 472, 344, 344, - 344, 344, 344, 344, 625, 505, 480, 505, 480, 625, - 483, 617, 740, 742, 743, 424, 481, 481, 481, 481, - 481, 622, 617, 623, 589, 481, 481, 481, 481, 481, - 481, 502, 629, 649, 744, 502, 649, 706, 746, 629, - 617, 747, 706, 502, 748, 502, 502, 502, 502, 502, - 745, 481, 481, 481, 481, 481, 481, 749, 750, 751, - 752, 745, 753, 754, 755, 756, 758, 759, 761, 762, - 764, 763, 766, 767, 765, 768, 769, 770, 771, 706, - 772, 773, 774, 775, 776, 777, 778, 779, 781, 780, - - 780, 777, 780, 782, 783, 784, 762, 761, 763, 764, - 765, 785, 786, 787, 788, 789, 790, 791, 792, 793, - 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, - 804, 805, 802, 806, 807, 808, 802, 809, 811, 812, - 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, - 823, 824, 825, 826, 827, 828, 829, 830, 817, 831, - 830, 832, 833, 835, 836, 837, 838, 839, 840, 841, - 842, 843, 844, 845, 846, 847, 849, 850, 851, 852, - 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, - 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, - - 873, 874, 875, 876, 877, 878, 878, 879, 880, 881, - 876, 883, 882, 878, 884, 885, 887, 878, 882, 888, - 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, - 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, - 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, - 920, 921, 922, 923, 924, 925, 926, 927, 928, 901, - 929, 930, 902, 931, 932, 905, 933, 934, 935, 936, - 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, - 947, 948, 949, 950, 951, 953, 954, 955, 956, 957, - 958, 959, 960, 961, 962, 958, 963, 964, 965, 966, - - 967, 968, 969, 970, 973, 974, 975, 976, 977, 978, - 981, 982, 983, 984, 985, 986, 987, 989, 990, 991, - 992, 993, 990, 994, 995, 996, 997, 998, 999, 1003, - 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, - 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, - 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, - 1034, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, - 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1054, 1052, 1055, - 1056, 1053, 1057, 1058, 1059, 1060, 1062, 1063, 1064, 1065, - 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, - - 1076, 1077, 1050, 1049, 1078, 1051, 1052, 1053, 1079, 1080, - 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1090, 1091, - 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, - 1102, 1103, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, - 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, - 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, - 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1143, 1144, - 1145, 1146, 1147, 1149, 1150, 1138, 1151, 1152, 1153, 1154, - 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, - 1165, 1166, 1167, 1169, 1170, 1171, 1172, 1173, 1110, 1174, - - 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, - 1185, 1186, 1187, 1188, 1189, 1191, 1190, 1192, 1194, 1195, - 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1205, 1206, 1207, - 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, - 1218, 1219, 1188, 1190, 1191, 1192, 1220, 1221, 1222, 1224, - 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, - 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, - 1245, 1247, 1248, 1249, 1250, 1251, 1247, 1252, 1253, 1254, - 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, - 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, - - 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1283, 1284, 1285, - 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1248, - 1296, 1297, 1298, 1300, 1301, 1302, 1303, 1304, 1305, 1306, - 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, - 1317, 1318, 1319, 1320, 1322, 1323, 1324, 1326, 1325, 1327, - 1328, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1337, 1338, - 1339, 1340, 1341, 1343, 1344, 1345, 1346, 1347, 1348, 1349, - 1350, 1323, 1351, 1322, 1325, 1324, 1326, 1353, 1354, 1355, - 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, - 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1374, 1375, 1377, - - 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, - 1389, 1390, 1391, 1392, 1394, 1396, 1397, 1398, 1399, 1401, - 1402, 1403, 1404, 1405, 1406, 1407, 1409, 1411, 1413, 1414, - 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, - 1425, 1426, 1427, 1428, 1430, 1431, 1432, 1433, 1434, 1435, - 1436, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, - 1448, 1449, 1450, 1451, 1452, 1453, 1455, 1456, 1457, 1458, - 1459, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, - 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1450, - 1451, 1479, 1421, 1452, 1480, 1481, 1482, 1483, 1484, 1485, - - 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, - 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1461, 1505, - 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1516, - 1508, 1517, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, - 1528, 1529, 1530, 1531, 1532, 1534, 1535, 1536, 1537, 1538, - 1539, 1540, 1542, 1537, 1542, 1543, 1545, 1546, 1549, 1550, - 1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1560, 1561, - 1562, 1563, 1564, 1567, 1561, 1565, 1568, 1569, 1570, 1571, - 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, - 1583, 1584, 1585, 1586, 1587, 1588, 1564, 1563, 1589, 1562, - - 1590, 1565, 1591, 1593, 1594, 1595, 1597, 1598, 1599, 1600, - 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, - 1612, 1614, 1615, 1617, 1564, 1618, 1619, 1620, 1621, 1622, - 1623, 1624, 1625, 1627, 1628, 1629, 1630, 1631, 1632, 1633, - 1634, 1635, 1636, 1639, 1640, 1642, 1643, 1644, 1646, 1647, - 1646, 1648, 1649, 1646, 1650, 1651, 1646, 1652, 1653, 1654, - 1655, 1656, 1657, 1658, 1659, 1660, 1662, 1664, 1665, 1667, - 1668, 1669, 1671, 1670, 1672, 1674, 1676, 1677, 1678, 1680, - 1681, 1682, 1683, 1684, 1685, 1686, 1688, 1689, 1690, 1687, - 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1668, 1669, 1670, - - 1687, 1671, 1672, 1698, 1699, 1700, 1701, 1702, 1703, 1704, - 1705, 1706, 1707, 1708, 1709, 1709, 1710, 1711, 1712, 1713, - 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, - 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, - 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, - 1744, 1745, 1746, 1748, 1749, 1750, 1751, 1752, 1753, 1754, - 1755, 1756, 1758, 1759, 1760, 1762, 1763, 1764, 1766, 1765, - 1767, 1769, 1770, 1773, 1774, 1775, 1777, 1710, 1778, 1779, - 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, - 1790, 1792, 1794, 1764, 1795, 1763, 1765, 1766, 1796, 1767, - - 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1805, 1806, 1807, - 1808, 1809, 1811, 1812, 1814, 1815, 1816, 1818, 1819, 1820, - 1822, 1823, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, - 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, - 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1854, - 1855, 1856, 1857, 1858, 1859, 1861, 1862, 1863, 1865, 1866, - 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, - 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1855, 1857, 1884, - 1885, 1887, 1888, 1889, 1891, 1892, 1893, 1894, 1895, 1897, - 1898, 1899, 1900, 1901, 1903, 1904, 1905, 1906, 1907, 1908, - - 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, - 1919, 1921, 1922, 1924, 1926, 1928, 1929, 1930, 1924, 1931, - 1933, 1935, 1938, 1936, 1940, 1941, 1942, 1943, 1944, 1945, - 1946, 1947, 1949, 1950, 1951, 1952, 1954, 1955, 1956, 1957, - 1958, 1959, 1961, 1962, 1963, 1964, 1965, 1966, 1935, 1936, - 1967, 1968, 1969, 1970, 1972, 1973, 1974, 1976, 1977, 1978, - 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1987, 1988, 1989, - 1990, 1992, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003, - 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, - 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, - - 2025, 2027, 2028, 2001, 2002, 2030, 2003, 2031, 2032, 2033, - 2034, 2035, 2036, 2037, 2038, 2040, 2042, 2043, 2044, 2045, - 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2052, - 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, - 2065, 2066, 2067, 2068, 2069, 2071, 2072, 2073, 2074, 2075, - 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2056, 2058, - 2085, 2089, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, - 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2109, - 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, - 2121, 2122, 2123, 2124, 2125, 2126, 2128, 2129, 2130, 2131, - - 2132, 2133, 2135, 2137, 2107, 2140, 2109, 2142, 2143, 2144, - 2145, 2146, 2147, 2148, 2149, 2151, 2152, 2154, 2153, 2155, - 2156, 2157, 2158, 2159, 2160, 2162, 2163, 2164, 2165, 2166, - 2167, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, - 2178, 2179, 2180, 2152, 2153, 2181, 2183, 2184, 2185, 2186, - 2187, 2188, 2189, 2190, 2191, 2193, 2194, 2195, 2196, 2197, - 2198, 2199, 2200, 2202, 2203, 2204, 2205, 2206, 2207, 2208, - 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2188, 2216, 2217, - 2218, 2219, 2220, 2221, 2224, 2225, 2226, 2228, 2229, 2230, - 2231, 2233, 2234, 2235, 2236, 2237, 2238, 2242, 2245, 2246, - - 2247, 2248, 2249, 2250, 2251, 2253, 2254, 2256, 2257, 2258, - 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2267, 2268, 2269, - 2270, 2271, 2272, 2274, 2275, 2277, 2279, 2280, 2281, 2282, - 2283, 2284, 2285, 2286, 2288, 2289, 2290, 2291, 2292, 2291, - 2293, 2294, 2295, 2297, 2298, 2300, 2303, 2304, 2305, 2306, - 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, - 2317, 2318, 2319, 2320, 2322, 2323, 2324, 2325, 2326, 2329, - 2330, 2331, 2332, 2334, 2335, 2337, 2338, 2340, 2342, 2343, - 2345, 2346, 2347, 2348, 2349, 2351, 2356, 2356, 2356, 2357, - 2357, 2357, 2358, 2359, 2358, 2360, 2360, 2360, 2361, 2361, - - 2361, 2362, 729, 2362, 2363, 2363, 2363, 728, 727, 725, - 724, 723, 722, 721, 720, 719, 718, 717, 716, 714, - 713, 712, 711, 710, 709, 708, 707, 705, 704, 703, - 702, 701, 700, 699, 698, 697, 696, 694, 693, 692, - 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, - 681, 679, 678, 677, 676, 675, 674, 673, 672, 671, - 670, 669, 668, 667, 666, 664, 663, 662, 661, 660, - 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, - 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, - 638, 637, 636, 635, 634, 633, 632, 631, 630, 628, - - 627, 624, 616, 615, 614, 613, 612, 611, 610, 608, - 607, 605, 604, 602, 601, 600, 599, 598, 597, 596, - 595, 594, 593, 592, 591, 590, 588, 587, 586, 585, - 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, - 574, 573, 572, 571, 570, 568, 567, 565, 564, 563, - 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, - 552, 551, 549, 548, 546, 545, 544, 543, 542, 541, - 540, 538, 537, 536, 535, 534, 533, 532, 531, 530, - 529, 528, 527, 526, 525, 524, 523, 521, 520, 519, - 518, 516, 515, 514, 513, 512, 511, 510, 509, 507, - - 506, 504, 503, 500, 499, 498, 497, 496, 495, 493, - 492, 491, 490, 489, 488, 487, 486, 485, 484, 482, - 477, 475, 474, 473, 471, 470, 469, 466, 465, 463, - 462, 460, 459, 458, 457, 456, 455, 454, 453, 452, - 451, 450, 449, 448, 447, 446, 445, 443, 442, 441, - 440, 439, 438, 437, 436, 435, 433, 432, 430, 428, - 427, 426, 425, 423, 422, 421, 420, 419, 418, 417, - 416, 415, 414, 413, 412, 411, 410, 408, 405, 404, - 403, 402, 401, 400, 399, 397, 396, 395, 394, 393, - 392, 391, 390, 389, 388, 387, 386, 384, 383, 382, + 294, 272, 202, 309, 309, 206, 205, 207, 209, 322, + 217, 211, 215, 215, 215, 215, 215, 318, 325, 278, + 328, 215, 215, 215, 215, 215, 215, 272, 332, 314, + 333, 334, 385, 278, 314, 336, 338, 385, 332, 339, + 682, 682, 590, 318, 325, 347, 328, 215, 215, 215, + 215, 215, 215, 406, 407, 398, 398, 318, 334, 333, + 398, 336, 739, 406, 322, 338, 339, 344, 344, 344, + 344, 344, 473, 479, 347, 740, 344, 344, 344, 344, + 344, 344, 424, 407, 484, 434, 444, 424, 385, 434, + 444, 465, 481, 385, 481, 506, 465, 590, 741, 479, + + 742, 473, 344, 344, 344, 344, 344, 344, 506, 518, + 506, 503, 551, 484, 518, 503, 623, 551, 744, 745, + 481, 540, 481, 503, 619, 503, 503, 503, 503, 503, + 625, 540, 624, 627, 631, 746, 747, 651, 627, 619, + 651, 631, 623, 424, 482, 482, 482, 482, 482, 749, + 619, 748, 750, 482, 482, 482, 482, 482, 482, 625, + 624, 708, 748, 751, 752, 753, 708, 754, 619, 755, + 756, 757, 758, 759, 761, 762, 764, 765, 767, 482, + 482, 482, 482, 482, 482, 766, 769, 768, 770, 771, + 772, 773, 774, 775, 776, 777, 778, 779, 781, 782, + + 780, 784, 785, 708, 765, 764, 780, 767, 783, 783, + 786, 783, 766, 768, 787, 788, 789, 790, 791, 792, + 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, + 803, 804, 805, 806, 807, 808, 805, 809, 810, 811, + 805, 812, 814, 815, 816, 817, 818, 819, 820, 821, + 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, + 832, 833, 820, 834, 833, 835, 836, 838, 839, 840, + 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, + 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, + 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, + + 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, + 881, 882, 883, 884, 879, 886, 885, 881, 887, 888, + 889, 881, 885, 891, 892, 893, 894, 895, 896, 897, + 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, + 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, + 918, 919, 920, 921, 922, 924, 925, 926, 927, 928, + 929, 930, 931, 932, 905, 933, 934, 906, 935, 936, + 909, 937, 938, 939, 940, 941, 942, 943, 944, 945, + 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, + 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, + + 962, 967, 968, 969, 970, 971, 972, 973, 974, 977, + 978, 979, 980, 981, 982, 985, 986, 987, 988, 989, + 990, 991, 993, 994, 995, 996, 997, 994, 998, 999, + 1000, 1001, 1002, 1003, 1007, 1008, 1009, 1010, 1011, 1012, + 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, + 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, + 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1041, 1042, 1043, + 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, + 1054, 1055, 1056, 1059, 1057, 1060, 1061, 1058, 1062, 1063, + 1064, 1065, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, + + 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1055, 1054, + 1083, 1056, 1057, 1058, 1084, 1085, 1086, 1087, 1088, 1089, + 1090, 1091, 1092, 1093, 1095, 1096, 1097, 1098, 1099, 1100, + 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1110, 1111, + 1112, 1113, 1114, 1115, 1116, 1117, 1119, 1120, 1121, 1122, + 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, + 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, + 1143, 1144, 1145, 1146, 1148, 1149, 1150, 1151, 1152, 1154, + 1155, 1143, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, + 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1174, + + 1175, 1176, 1177, 1178, 1115, 1179, 1180, 1181, 1182, 1183, + 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, + 1194, 1195, 1197, 1196, 1198, 1200, 1201, 1202, 1203, 1204, + 1205, 1207, 1208, 1209, 1211, 1212, 1213, 1214, 1215, 1216, + 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1194, + 1196, 1197, 1198, 1226, 1227, 1228, 1230, 1231, 1232, 1233, + 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, + 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1253, 1254, + 1255, 1256, 1257, 1253, 1258, 1259, 1260, 1261, 1262, 1263, + 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, + + 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, + 1284, 1285, 1286, 1287, 1289, 1290, 1291, 1292, 1293, 1294, + 1295, 1296, 1297, 1298, 1299, 1300, 1254, 1302, 1303, 1304, + 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, + 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, + 1326, 1327, 1329, 1330, 1331, 1333, 1332, 1334, 1335, 1336, + 1337, 1338, 1339, 1340, 1342, 1343, 1344, 1345, 1346, 1347, + 1348, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1330, + 1358, 1329, 1332, 1331, 1333, 1360, 1361, 1362, 1363, 1364, + 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, + + 1375, 1376, 1377, 1378, 1379, 1381, 1382, 1384, 1386, 1387, + 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, + 1398, 1399, 1401, 1403, 1404, 1405, 1406, 1408, 1409, 1410, + 1411, 1412, 1413, 1414, 1416, 1418, 1420, 1421, 1422, 1423, + 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, + 1434, 1435, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, + 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, + 1457, 1458, 1459, 1460, 1461, 1463, 1464, 1465, 1466, 1467, + 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, + 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1458, 1459, + + 1428, 1487, 1460, 1488, 1489, 1490, 1491, 1492, 1493, 1495, + 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, + 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1469, 1513, 1514, + 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1524, 1516, + 1525, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, + 1537, 1538, 1539, 1540, 1542, 1543, 1544, 1545, 1546, 1547, + 1548, 1550, 1545, 1550, 1551, 1553, 1554, 1557, 1558, 1559, + 1560, 1561, 1562, 1563, 1564, 1565, 1567, 1568, 1569, 1570, + 1571, 1572, 1573, 1576, 1570, 1574, 1577, 1578, 1579, 1580, + 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, + + 1592, 1593, 1594, 1595, 1596, 1597, 1573, 1572, 1598, 1571, + 1599, 1574, 1600, 1602, 1603, 1604, 1606, 1607, 1608, 1609, + 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, + 1621, 1623, 1624, 1626, 1573, 1627, 1628, 1629, 1630, 1631, + 1632, 1633, 1634, 1636, 1637, 1638, 1639, 1640, 1641, 1642, + 1643, 1644, 1645, 1648, 1649, 1651, 1652, 1653, 1655, 1656, + 1655, 1657, 1658, 1655, 1659, 1660, 1655, 1661, 1662, 1663, + 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1672, 1674, 1675, + 1677, 1678, 1679, 1681, 1680, 1682, 1684, 1686, 1687, 1688, + 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1698, 1699, 1700, + + 1697, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1678, 1679, + 1680, 1697, 1681, 1682, 1708, 1709, 1710, 1711, 1712, 1713, + 1714, 1715, 1716, 1717, 1718, 1719, 1719, 1720, 1721, 1722, + 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, + 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, + 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, + 1753, 1754, 1755, 1756, 1758, 1759, 1760, 1761, 1762, 1763, + 1764, 1765, 1766, 1767, 1769, 1770, 1771, 1773, 1774, 1775, + 1777, 1776, 1778, 1780, 1781, 1784, 1785, 1786, 1720, 1788, + 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, + + 1799, 1800, 1801, 1803, 1805, 1775, 1806, 1774, 1776, 1777, + 1807, 1778, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1816, + 1817, 1818, 1819, 1820, 1822, 1823, 1825, 1826, 1827, 1829, + 1830, 1831, 1833, 1834, 1837, 1838, 1839, 1840, 1841, 1842, + 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, + 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, + 1863, 1864, 1866, 1867, 1868, 1869, 1870, 1871, 1873, 1874, + 1875, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, + 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, + 1867, 1869, 1896, 1897, 1899, 1900, 1901, 1903, 1904, 1905, + + 1906, 1907, 1909, 1910, 1911, 1912, 1913, 1915, 1916, 1917, + 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, + 1928, 1929, 1930, 1931, 1933, 1934, 1936, 1938, 1939, 1941, + 1942, 1936, 1943, 1944, 1946, 1948, 1951, 1949, 1953, 1954, + 1955, 1956, 1957, 1958, 1959, 1960, 1962, 1963, 1964, 1965, + 1967, 1968, 1969, 1970, 1971, 1972, 1974, 1975, 1976, 1977, + 1978, 1979, 1948, 1949, 1980, 1981, 1982, 1983, 1985, 1986, + 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, + 1998, 2000, 2001, 2002, 2003, 2005, 2007, 2008, 2009, 2010, + 2011, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, + + 2023, 2024, 2025, 2027, 2028, 2029, 2030, 2031, 2032, 2033, + 2034, 2035, 2036, 2037, 2038, 2039, 2041, 2042, 2015, 2016, + 2044, 2017, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, + 2054, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, + 2065, 2066, 2067, 2068, 2066, 2069, 2070, 2071, 2072, 2073, + 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, + 2084, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, + 2095, 2096, 2097, 2098, 2071, 2073, 2100, 2104, 2106, 2107, + 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, + 2118, 2119, 2120, 2121, 2122, 2123, 2125, 2127, 2128, 2129, + + 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, + 2140, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2151, + 2153, 2123, 2156, 2125, 2158, 2159, 2160, 2161, 2162, 2163, + 2164, 2166, 2168, 2169, 2171, 2170, 2172, 2173, 2174, 2175, + 2176, 2177, 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2187, + 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, + 2169, 2170, 2198, 2200, 2201, 2202, 2203, 2204, 2205, 2206, + 2207, 2208, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, + 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, + 2229, 2230, 2231, 2232, 2205, 2233, 2234, 2235, 2236, 2237, + + 2238, 2241, 2242, 2243, 2245, 2246, 2247, 2248, 2250, 2251, + 2252, 2253, 2254, 2255, 2259, 2262, 2263, 2264, 2265, 2266, + 2267, 2268, 2270, 2271, 2273, 2274, 2275, 2276, 2277, 2278, + 2279, 2280, 2281, 2282, 2284, 2285, 2286, 2287, 2288, 2289, + 2291, 2292, 2294, 2296, 2297, 2298, 2299, 2300, 2301, 2302, + 2303, 2305, 2306, 2307, 2308, 2309, 2308, 2310, 2311, 2312, + 2314, 2315, 2317, 2320, 2321, 2322, 2323, 2324, 2325, 2326, + 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, + 2337, 2339, 2340, 2341, 2342, 2343, 2346, 2347, 2348, 2349, + 2351, 2352, 2354, 2355, 2357, 2359, 2360, 2362, 2363, 2364, + + 2365, 2366, 2368, 2373, 2373, 2373, 2374, 2374, 2374, 2375, + 2376, 2375, 2377, 2377, 2377, 2378, 2378, 2378, 2379, 730, + 2379, 2380, 2380, 2380, 729, 727, 726, 725, 724, 723, + 722, 721, 720, 719, 718, 716, 715, 714, 713, 712, + 711, 710, 709, 707, 706, 705, 704, 703, 702, 701, + 700, 699, 698, 696, 695, 694, 693, 692, 691, 690, + 689, 688, 687, 686, 685, 684, 683, 681, 680, 679, + 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, + 668, 666, 665, 664, 663, 662, 661, 660, 659, 658, + 657, 656, 655, 654, 653, 652, 650, 649, 648, 647, + + 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, + 636, 635, 634, 633, 632, 630, 629, 626, 618, 617, + 616, 615, 614, 613, 612, 610, 609, 607, 606, 604, + 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, + 593, 592, 591, 589, 588, 587, 586, 585, 584, 583, + 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, + 572, 571, 569, 568, 566, 565, 564, 563, 562, 561, + 560, 559, 558, 557, 556, 555, 554, 553, 552, 550, + 549, 547, 546, 545, 544, 543, 542, 541, 539, 538, + 537, 536, 535, 534, 533, 532, 531, 530, 529, 528, + + 527, 526, 525, 524, 522, 521, 520, 519, 517, 516, + 515, 514, 513, 512, 511, 510, 508, 507, 505, 504, + 501, 500, 499, 498, 497, 496, 494, 493, 492, 491, + 490, 489, 488, 487, 486, 485, 483, 478, 476, 475, + 474, 472, 471, 470, 467, 466, 464, 463, 461, 460, + 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, + 449, 448, 447, 446, 445, 443, 442, 441, 440, 439, + 438, 437, 436, 435, 433, 432, 430, 428, 427, 426, + 425, 423, 422, 421, 420, 419, 418, 417, 416, 415, + 414, 413, 412, 411, 410, 408, 405, 404, 403, 402, + + 401, 400, 399, 397, 396, 395, 394, 393, 392, 391, + 390, 389, 388, 387, 386, 384, 383, 382, 381, 380, + 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, + 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, + 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, + 348, 346, 343, 341, 337, 335, 331, 324, 323, 321, + 320, 319, 317, 316, 315, 313, 312, 311, 308, 307, + 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, + 296, 295, 293, 292, 291, 290, 289, 288, 287, 286, + 285, 284, 283, 282, 280, 279, 277, 276, 275, 273, + + 271, 270, 269, 268, 267, 266, 264, 263, 262, 261, + 260, 259, 258, 256, 255, 253, 252, 251, 250, 249, + 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, + 238, 237, 236, 235, 234, 233, 232, 231, 228, 227, + 226, 225, 224, 223, 222, 221, 220, 219, 218, 212, + 210, 208, 203, 200, 198, 190, 189, 188, 187, 185, + 183, 180, 179, 178, 176, 175, 174, 170, 167, 165, + 164, 163, 161, 159, 158, 157, 156, 155, 154, 152, + 151, 150, 148, 147, 146, 145, 144, 143, 141, 140, + 136, 135, 134, 133, 132, 130, 129, 128, 126, 124, + + 122, 121, 120, 116, 111, 107, 104, 99, 98, 78, + 73, 67, 59, 50, 47, 43, 41, 39, 38, 24, + 14, 11, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, + 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372 - 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, - 371, 370, 368, 367, 366, 365, 364, 363, 362, 361, - 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, - 350, 349, 348, 346, 343, 341, 337, 335, 331, 324, - 323, 321, 320, 319, 317, 316, 315, 313, 312, 311, - 309, 308, 307, 306, 305, 304, 303, 302, 301, 300, - 299, 298, 297, 296, 295, 293, 292, 291, 290, 289, - 288, 287, 286, 285, 284, 283, 282, 280, 279, 277, - 276, 275, 273, 271, 270, 269, 268, 267, 266, 264, - 263, 262, 261, 260, 259, 258, 256, 255, 253, 252, - - 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, - 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, - 231, 228, 227, 226, 225, 224, 223, 222, 221, 220, - 219, 218, 212, 210, 208, 203, 200, 198, 190, 189, - 188, 187, 185, 183, 180, 179, 178, 176, 175, 174, - 170, 167, 165, 164, 163, 161, 159, 158, 157, 156, - 155, 154, 152, 151, 150, 148, 147, 146, 145, 144, - 143, 141, 140, 136, 135, 134, 133, 132, 130, 129, - 128, 126, 124, 122, 121, 120, 116, 111, 107, 104, - 99, 98, 78, 73, 67, 59, 50, 47, 43, 41, - - 39, 38, 24, 14, 11, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355 } ; static yy_state_type yy_last_accepting_state; @@ -2183,7 +2191,7 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[234] = +static const flex_int16_t yy_rule_linenum[235] = { 0, 147, 149, 151, 156, 157, 162, 163, 164, 176, 179, 184, 191, 200, 209, 218, 227, 236, 245, 254, 264, @@ -2208,9 +2216,9 @@ static const flex_int16_t yy_rule_linenum[234] = 1966, 1976, 1986, 1996, 2006, 2016, 2026, 2035, 2044, 2053, 2062, 2073, 2084, 2097, 2110, 2123, 2132, 2141, 2150, 2159, - 2168, 2177, 2186, 2195, 2207, 2308, 2324, 2373, 2381, 2396, - 2397, 2398, 2399, 2400, 2401, 2403, 2421, 2434, 2439, 2443, - 2445, 2447, 2449 + 2168, 2177, 2186, 2195, 2207, 2216, 2317, 2333, 2382, 2390, + 2405, 2406, 2407, 2408, 2409, 2410, 2412, 2430, 2443, 2448, + 2452, 2454, 2456, 2458 } ; /* The intent behind this definition is that it'll catch @@ -2265,7 +2273,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) -#line 2268 "dhcp4_lexer.cc" +#line 2276 "dhcp4_lexer.cc" /* noyywrap disables automatic rewinding for the next file to parse. Since we always parse only a single string, there's no need to do any wraps. And using yywrap requires linking with -lfl, which provides the default yywrap @@ -2291,8 +2299,8 @@ using namespace isc::dhcp; by moving it ahead by yyleng bytes. yyleng specifies the length of the currently matched token. */ #define YY_USER_ACTION driver.loc_.columns(yyleng); -#line 2294 "dhcp4_lexer.cc" -#line 2295 "dhcp4_lexer.cc" +#line 2302 "dhcp4_lexer.cc" +#line 2303 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2620,7 +2628,7 @@ YY_DECL } -#line 2623 "dhcp4_lexer.cc" +#line 2631 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2649,13 +2657,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2356 ) + if ( yy_current_state >= 2373 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 2355 ); + while ( yy_current_state != 2372 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2674,13 +2682,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 234 ) + else if ( yy_act < 235 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 234 ) + else if ( yy_act == 235 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 235 ) + else if ( yy_act == 236 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -5410,6 +5418,18 @@ case 215: YY_RULE_SETUP #line 2207 "dhcp4_lexer.ll" { + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP4: + return isc::dhcp::Dhcp4Parser::make_STASH_AGENT_OPTIONS(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("stash-agent-options", driver.loc_); + } +} + YY_BREAK +case 216: +YY_RULE_SETUP +#line 2216 "dhcp4_lexer.ll" +{ /* A string has been matched. It contains the actual string and single quotes. We need to get those quotes out of the way and just use its content, e.g. for 'foo' we should get foo */ @@ -5510,10 +5530,10 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 216: -/* rule 216 can match eol */ +case 217: +/* rule 217 can match eol */ YY_RULE_SETUP -#line 2308 "dhcp4_lexer.ll" +#line 2317 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ std::string raw(yytext+1); @@ -5530,10 +5550,10 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 217: -/* rule 217 can match eol */ +case 218: +/* rule 218 can match eol */ YY_RULE_SETUP -#line 2324 "dhcp4_lexer.ll" +#line 2333 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ std::string raw(yytext+1); @@ -5583,9 +5603,9 @@ YY_RULE_SETUP pos); } YY_BREAK -case 218: +case 219: YY_RULE_SETUP -#line 2373 "dhcp4_lexer.ll" +#line 2382 "dhcp4_lexer.ll" { /* Bad string with an open escape at the end */ std::string raw(yytext+1); @@ -5594,9 +5614,9 @@ YY_RULE_SETUP raw.size() + 1); } YY_BREAK -case 219: +case 220: YY_RULE_SETUP -#line 2381 "dhcp4_lexer.ll" +#line 2390 "dhcp4_lexer.ll" { /* Bad string with an open unicode escape at the end */ std::string raw(yytext+1); @@ -5612,39 +5632,39 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 220: +case 221: YY_RULE_SETUP -#line 2396 "dhcp4_lexer.ll" +#line 2405 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 221: +case 222: YY_RULE_SETUP -#line 2397 "dhcp4_lexer.ll" +#line 2406 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 222: +case 223: YY_RULE_SETUP -#line 2398 "dhcp4_lexer.ll" +#line 2407 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 223: +case 224: YY_RULE_SETUP -#line 2399 "dhcp4_lexer.ll" +#line 2408 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 224: +case 225: YY_RULE_SETUP -#line 2400 "dhcp4_lexer.ll" +#line 2409 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK -case 225: +case 226: YY_RULE_SETUP -#line 2401 "dhcp4_lexer.ll" +#line 2410 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK -case 226: +case 227: YY_RULE_SETUP -#line 2403 "dhcp4_lexer.ll" +#line 2412 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -5663,9 +5683,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 227: +case 228: YY_RULE_SETUP -#line 2421 "dhcp4_lexer.ll" +#line 2430 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5679,43 +5699,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 228: +case 229: YY_RULE_SETUP -#line 2434 "dhcp4_lexer.ll" +#line 2443 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 229: +case 230: YY_RULE_SETUP -#line 2439 "dhcp4_lexer.ll" +#line 2448 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 230: +case 231: YY_RULE_SETUP -#line 2443 "dhcp4_lexer.ll" +#line 2452 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 231: +case 232: YY_RULE_SETUP -#line 2445 "dhcp4_lexer.ll" +#line 2454 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 232: +case 233: YY_RULE_SETUP -#line 2447 "dhcp4_lexer.ll" +#line 2456 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 233: +case 234: YY_RULE_SETUP -#line 2449 "dhcp4_lexer.ll" +#line 2458 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2451 "dhcp4_lexer.ll" +#line 2460 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -5739,12 +5759,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 234: +case 235: YY_RULE_SETUP -#line 2474 "dhcp4_lexer.ll" +#line 2483 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 5747 "dhcp4_lexer.cc" +#line 5767 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -6063,7 +6083,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2356 ) + if ( yy_current_state >= 2373 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -6096,11 +6116,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2356 ) + if ( yy_current_state >= 2373 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 2355); + yy_is_jam = (yy_current_state == 2372); return yy_is_jam ? 0 : yy_current_state; } @@ -6849,7 +6869,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2474 "dhcp4_lexer.ll" +#line 2483 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index 59d65a417b..c5ab763a70 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -411,85 +411,85 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 417 "dhcp4_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 423 "dhcp4_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 429 "dhcp4_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 435 "dhcp4_parser.cc" break; case symbol_kind::S_value: // value -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 441 "dhcp4_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 447 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 453 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 459 "dhcp4_parser.cc" break; case symbol_kind::S_socket_type: // socket_type -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 465 "dhcp4_parser.cc" break; case symbol_kind::S_outbound_interface_value: // outbound_interface_value -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 471 "dhcp4_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 477 "dhcp4_parser.cc" break; case symbol_kind::S_on_fail_mode: // on_fail_mode -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 483 "dhcp4_parser.cc" break; case symbol_kind::S_hr_mode: // hr_mode -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 489 "dhcp4_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 495 "dhcp4_parser.cc" break; @@ -771,127 +771,127 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 320 "dhcp4_parser.yy" +#line 321 "dhcp4_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 777 "dhcp4_parser.cc" break; case 4: // $@2: %empty -#line 321 "dhcp4_parser.yy" +#line 322 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 783 "dhcp4_parser.cc" break; case 6: // $@3: %empty -#line 322 "dhcp4_parser.yy" +#line 323 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 789 "dhcp4_parser.cc" break; case 8: // $@4: %empty -#line 323 "dhcp4_parser.yy" +#line 324 "dhcp4_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 795 "dhcp4_parser.cc" break; case 10: // $@5: %empty -#line 324 "dhcp4_parser.yy" +#line 325 "dhcp4_parser.yy" { ctx.ctx_ = ctx.SUBNET4; } #line 801 "dhcp4_parser.cc" break; case 12: // $@6: %empty -#line 325 "dhcp4_parser.yy" +#line 326 "dhcp4_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 807 "dhcp4_parser.cc" break; case 14: // $@7: %empty -#line 326 "dhcp4_parser.yy" +#line 327 "dhcp4_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 813 "dhcp4_parser.cc" break; case 16: // $@8: %empty -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 819 "dhcp4_parser.cc" break; case 18: // $@9: %empty -#line 328 "dhcp4_parser.yy" +#line 329 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 825 "dhcp4_parser.cc" break; case 20: // $@10: %empty -#line 329 "dhcp4_parser.yy" +#line 330 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 831 "dhcp4_parser.cc" break; case 22: // $@11: %empty -#line 330 "dhcp4_parser.yy" +#line 331 "dhcp4_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 837 "dhcp4_parser.cc" break; case 24: // $@12: %empty -#line 331 "dhcp4_parser.yy" +#line 332 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 843 "dhcp4_parser.cc" break; case 26: // $@13: %empty -#line 332 "dhcp4_parser.yy" +#line 333 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 849 "dhcp4_parser.cc" break; case 28: // value: "integer" -#line 340 "dhcp4_parser.yy" +#line 341 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 855 "dhcp4_parser.cc" break; case 29: // value: "floating point" -#line 341 "dhcp4_parser.yy" +#line 342 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 861 "dhcp4_parser.cc" break; case 30: // value: "boolean" -#line 342 "dhcp4_parser.yy" +#line 343 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 867 "dhcp4_parser.cc" break; case 31: // value: "constant string" -#line 343 "dhcp4_parser.yy" +#line 344 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 873 "dhcp4_parser.cc" break; case 32: // value: "null" -#line 344 "dhcp4_parser.yy" +#line 345 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 879 "dhcp4_parser.cc" break; case 33: // value: map2 -#line 345 "dhcp4_parser.yy" +#line 346 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 885 "dhcp4_parser.cc" break; case 34: // value: list_generic -#line 346 "dhcp4_parser.yy" +#line 347 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 891 "dhcp4_parser.cc" break; case 35: // sub_json: value -#line 349 "dhcp4_parser.yy" +#line 350 "dhcp4_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -900,7 +900,7 @@ namespace isc { namespace dhcp { break; case 36: // $@14: %empty -#line 354 "dhcp4_parser.yy" +#line 355 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -911,7 +911,7 @@ namespace isc { namespace dhcp { break; case 37: // map2: "{" $@14 map_content "}" -#line 359 "dhcp4_parser.yy" +#line 360 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -921,13 +921,13 @@ namespace isc { namespace dhcp { break; case 38: // map_value: map2 -#line 365 "dhcp4_parser.yy" +#line 366 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 927 "dhcp4_parser.cc" break; case 41: // not_empty_map: "constant string" ":" value -#line 372 "dhcp4_parser.yy" +#line 373 "dhcp4_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -937,7 +937,7 @@ namespace isc { namespace dhcp { break; case 42: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 377 "dhcp4_parser.yy" +#line 378 "dhcp4_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -948,7 +948,7 @@ namespace isc { namespace dhcp { break; case 43: // not_empty_map: not_empty_map "," -#line 383 "dhcp4_parser.yy" +#line 384 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -956,7 +956,7 @@ namespace isc { namespace dhcp { break; case 44: // $@15: %empty -#line 388 "dhcp4_parser.yy" +#line 389 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -965,7 +965,7 @@ namespace isc { namespace dhcp { break; case 45: // list_generic: "[" $@15 list_content "]" -#line 391 "dhcp4_parser.yy" +#line 392 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -973,7 +973,7 @@ namespace isc { namespace dhcp { break; case 48: // not_empty_list: value -#line 399 "dhcp4_parser.yy" +#line 400 "dhcp4_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -982,7 +982,7 @@ namespace isc { namespace dhcp { break; case 49: // not_empty_list: not_empty_list "," value -#line 403 "dhcp4_parser.yy" +#line 404 "dhcp4_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -991,7 +991,7 @@ namespace isc { namespace dhcp { break; case 50: // not_empty_list: not_empty_list "," -#line 407 "dhcp4_parser.yy" +#line 408 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -999,7 +999,7 @@ namespace isc { namespace dhcp { break; case 51: // $@16: %empty -#line 413 "dhcp4_parser.yy" +#line 414 "dhcp4_parser.yy" { // List parsing about to start } @@ -1007,7 +1007,7 @@ namespace isc { namespace dhcp { break; case 52: // list_strings: "[" $@16 list_strings_content "]" -#line 415 "dhcp4_parser.yy" +#line 416 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -1016,7 +1016,7 @@ namespace isc { namespace dhcp { break; case 55: // not_empty_list_strings: "constant string" -#line 424 "dhcp4_parser.yy" +#line 425 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1025,7 +1025,7 @@ namespace isc { namespace dhcp { break; case 56: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 428 "dhcp4_parser.yy" +#line 429 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1034,7 +1034,7 @@ namespace isc { namespace dhcp { break; case 57: // not_empty_list_strings: not_empty_list_strings "," -#line 432 "dhcp4_parser.yy" +#line 433 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1042,7 +1042,7 @@ namespace isc { namespace dhcp { break; case 58: // unknown_map_entry: "constant string" ":" -#line 442 "dhcp4_parser.yy" +#line 443 "dhcp4_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -1053,7 +1053,7 @@ namespace isc { namespace dhcp { break; case 59: // $@17: %empty -#line 451 "dhcp4_parser.yy" +#line 452 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1064,7 +1064,7 @@ namespace isc { namespace dhcp { break; case 60: // syntax_map: "{" $@17 global_object "}" -#line 456 "dhcp4_parser.yy" +#line 457 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1077,7 +1077,7 @@ namespace isc { namespace dhcp { break; case 61: // $@18: %empty -#line 466 "dhcp4_parser.yy" +#line 467 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1092,7 +1092,7 @@ namespace isc { namespace dhcp { break; case 62: // global_object: "Dhcp4" $@18 ":" "{" global_params "}" -#line 475 "dhcp4_parser.yy" +#line 476 "dhcp4_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1102,7 +1102,7 @@ namespace isc { namespace dhcp { break; case 64: // global_object_comma: global_object "," -#line 483 "dhcp4_parser.yy" +#line 484 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1110,7 +1110,7 @@ namespace isc { namespace dhcp { break; case 65: // $@19: %empty -#line 489 "dhcp4_parser.yy" +#line 490 "dhcp4_parser.yy" { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1120,7 +1120,7 @@ namespace isc { namespace dhcp { break; case 66: // sub_dhcp4: "{" $@19 global_params "}" -#line 493 "dhcp4_parser.yy" +#line 494 "dhcp4_parser.yy" { // No global parameter is required // parsing completed @@ -1129,15 +1129,15 @@ namespace isc { namespace dhcp { break; case 69: // global_params: global_params "," -#line 500 "dhcp4_parser.yy" +#line 501 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } #line 1137 "dhcp4_parser.cc" break; - case 138: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 577 "dhcp4_parser.yy" + case 139: // valid_lifetime: "valid-lifetime" ":" "integer" +#line 579 "dhcp4_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1146,8 +1146,8 @@ namespace isc { namespace dhcp { #line 1147 "dhcp4_parser.cc" break; - case 139: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 583 "dhcp4_parser.yy" + case 140: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" +#line 585 "dhcp4_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1156,8 +1156,8 @@ namespace isc { namespace dhcp { #line 1157 "dhcp4_parser.cc" break; - case 140: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 589 "dhcp4_parser.yy" + case 141: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" +#line 591 "dhcp4_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1166,8 +1166,8 @@ namespace isc { namespace dhcp { #line 1167 "dhcp4_parser.cc" break; - case 141: // renew_timer: "renew-timer" ":" "integer" -#line 595 "dhcp4_parser.yy" + case 142: // renew_timer: "renew-timer" ":" "integer" +#line 597 "dhcp4_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1176,8 +1176,8 @@ namespace isc { namespace dhcp { #line 1177 "dhcp4_parser.cc" break; - case 142: // rebind_timer: "rebind-timer" ":" "integer" -#line 601 "dhcp4_parser.yy" + case 143: // rebind_timer: "rebind-timer" ":" "integer" +#line 603 "dhcp4_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1186,8 +1186,8 @@ namespace isc { namespace dhcp { #line 1187 "dhcp4_parser.cc" break; - case 143: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 607 "dhcp4_parser.yy" + case 144: // calculate_tee_times: "calculate-tee-times" ":" "boolean" +#line 609 "dhcp4_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1196,8 +1196,8 @@ namespace isc { namespace dhcp { #line 1197 "dhcp4_parser.cc" break; - case 144: // t1_percent: "t1-percent" ":" "floating point" -#line 613 "dhcp4_parser.yy" + case 145: // t1_percent: "t1-percent" ":" "floating point" +#line 615 "dhcp4_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1206,8 +1206,8 @@ namespace isc { namespace dhcp { #line 1207 "dhcp4_parser.cc" break; - case 145: // t2_percent: "t2-percent" ":" "floating point" -#line 619 "dhcp4_parser.yy" + case 146: // t2_percent: "t2-percent" ":" "floating point" +#line 621 "dhcp4_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1216,8 +1216,8 @@ namespace isc { namespace dhcp { #line 1217 "dhcp4_parser.cc" break; - case 146: // cache_threshold: "cache-threshold" ":" "floating point" -#line 625 "dhcp4_parser.yy" + case 147: // cache_threshold: "cache-threshold" ":" "floating point" +#line 627 "dhcp4_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1226,8 +1226,8 @@ namespace isc { namespace dhcp { #line 1227 "dhcp4_parser.cc" break; - case 147: // cache_max_age: "cache-max-age" ":" "integer" -#line 631 "dhcp4_parser.yy" + case 148: // cache_max_age: "cache-max-age" ":" "integer" +#line 633 "dhcp4_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1236,8 +1236,8 @@ namespace isc { namespace dhcp { #line 1237 "dhcp4_parser.cc" break; - case 148: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 637 "dhcp4_parser.yy" + case 149: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 639 "dhcp4_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1246,8 +1246,8 @@ namespace isc { namespace dhcp { #line 1247 "dhcp4_parser.cc" break; - case 149: // $@20: %empty -#line 643 "dhcp4_parser.yy" + case 150: // $@20: %empty +#line 645 "dhcp4_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1255,8 +1255,8 @@ namespace isc { namespace dhcp { #line 1256 "dhcp4_parser.cc" break; - case 150: // server_tag: "server-tag" $@20 ":" "constant string" -#line 646 "dhcp4_parser.yy" + case 151: // server_tag: "server-tag" $@20 ":" "constant string" +#line 648 "dhcp4_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); @@ -1265,8 +1265,8 @@ namespace isc { namespace dhcp { #line 1266 "dhcp4_parser.cc" break; - case 151: // parked_packet_limit: "parked-packet-limit" ":" "integer" -#line 652 "dhcp4_parser.yy" + case 152: // parked_packet_limit: "parked-packet-limit" ":" "integer" +#line 654 "dhcp4_parser.yy" { ctx.unique("parked-packet-limit", ctx.loc2pos(yystack_[2].location)); ElementPtr ppl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1275,8 +1275,8 @@ namespace isc { namespace dhcp { #line 1276 "dhcp4_parser.cc" break; - case 152: // $@21: %empty -#line 658 "dhcp4_parser.yy" + case 153: // $@21: %empty +#line 660 "dhcp4_parser.yy" { ctx.unique("allocator", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1284,8 +1284,8 @@ namespace isc { namespace dhcp { #line 1285 "dhcp4_parser.cc" break; - case 153: // allocator: "allocator" $@21 ":" "constant string" -#line 661 "dhcp4_parser.yy" + case 154: // allocator: "allocator" $@21 ":" "constant string" +#line 663 "dhcp4_parser.yy" { ElementPtr al(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("allocator", al); @@ -1294,8 +1294,8 @@ namespace isc { namespace dhcp { #line 1295 "dhcp4_parser.cc" break; - case 154: // echo_client_id: "echo-client-id" ":" "boolean" -#line 667 "dhcp4_parser.yy" + case 155: // echo_client_id: "echo-client-id" ":" "boolean" +#line 669 "dhcp4_parser.yy" { ctx.unique("echo-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1304,8 +1304,8 @@ namespace isc { namespace dhcp { #line 1305 "dhcp4_parser.cc" break; - case 155: // match_client_id: "match-client-id" ":" "boolean" -#line 673 "dhcp4_parser.yy" + case 156: // match_client_id: "match-client-id" ":" "boolean" +#line 675 "dhcp4_parser.yy" { ctx.unique("match-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1314,8 +1314,8 @@ namespace isc { namespace dhcp { #line 1315 "dhcp4_parser.cc" break; - case 156: // authoritative: "authoritative" ":" "boolean" -#line 679 "dhcp4_parser.yy" + case 157: // authoritative: "authoritative" ":" "boolean" +#line 681 "dhcp4_parser.yy" { ctx.unique("authoritative", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1324,8 +1324,8 @@ namespace isc { namespace dhcp { #line 1325 "dhcp4_parser.cc" break; - case 157: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 685 "dhcp4_parser.yy" + case 158: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 687 "dhcp4_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1334,8 +1334,8 @@ namespace isc { namespace dhcp { #line 1335 "dhcp4_parser.cc" break; - case 158: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 691 "dhcp4_parser.yy" + case 159: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 693 "dhcp4_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1344,8 +1344,8 @@ namespace isc { namespace dhcp { #line 1345 "dhcp4_parser.cc" break; - case 159: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 697 "dhcp4_parser.yy" + case 160: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 699 "dhcp4_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1354,8 +1354,8 @@ namespace isc { namespace dhcp { #line 1355 "dhcp4_parser.cc" break; - case 160: // $@22: %empty -#line 703 "dhcp4_parser.yy" + case 161: // $@22: %empty +#line 705 "dhcp4_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); @@ -1363,8 +1363,8 @@ namespace isc { namespace dhcp { #line 1364 "dhcp4_parser.cc" break; - case 161: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value -#line 706 "dhcp4_parser.yy" + case 162: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value +#line 708 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1372,40 +1372,40 @@ namespace isc { namespace dhcp { #line 1373 "dhcp4_parser.cc" break; - case 162: // ddns_replace_client_name_value: "when-present" -#line 712 "dhcp4_parser.yy" + case 163: // ddns_replace_client_name_value: "when-present" +#line 714 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } #line 1381 "dhcp4_parser.cc" break; - case 163: // ddns_replace_client_name_value: "never" -#line 715 "dhcp4_parser.yy" + case 164: // ddns_replace_client_name_value: "never" +#line 717 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } #line 1389 "dhcp4_parser.cc" break; - case 164: // ddns_replace_client_name_value: "always" -#line 718 "dhcp4_parser.yy" + case 165: // ddns_replace_client_name_value: "always" +#line 720 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } #line 1397 "dhcp4_parser.cc" break; - case 165: // ddns_replace_client_name_value: "when-not-present" -#line 721 "dhcp4_parser.yy" + case 166: // ddns_replace_client_name_value: "when-not-present" +#line 723 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } #line 1405 "dhcp4_parser.cc" break; - case 166: // ddns_replace_client_name_value: "boolean" -#line 724 "dhcp4_parser.yy" + case 167: // ddns_replace_client_name_value: "boolean" +#line 726 "dhcp4_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1413,8 +1413,8 @@ namespace isc { namespace dhcp { #line 1414 "dhcp4_parser.cc" break; - case 167: // $@23: %empty -#line 730 "dhcp4_parser.yy" + case 168: // $@23: %empty +#line 732 "dhcp4_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1422,8 +1422,8 @@ namespace isc { namespace dhcp { #line 1423 "dhcp4_parser.cc" break; - case 168: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" -#line 733 "dhcp4_parser.yy" + case 169: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" +#line 735 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); @@ -1432,8 +1432,8 @@ namespace isc { namespace dhcp { #line 1433 "dhcp4_parser.cc" break; - case 169: // $@24: %empty -#line 739 "dhcp4_parser.yy" + case 170: // $@24: %empty +#line 741 "dhcp4_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1441,8 +1441,8 @@ namespace isc { namespace dhcp { #line 1442 "dhcp4_parser.cc" break; - case 170: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" -#line 742 "dhcp4_parser.yy" + case 171: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" +#line 744 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); @@ -1451,8 +1451,8 @@ namespace isc { namespace dhcp { #line 1452 "dhcp4_parser.cc" break; - case 171: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 748 "dhcp4_parser.yy" + case 172: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 750 "dhcp4_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1461,8 +1461,8 @@ namespace isc { namespace dhcp { #line 1462 "dhcp4_parser.cc" break; - case 172: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 757 "dhcp4_parser.yy" + case 173: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" +#line 759 "dhcp4_parser.yy" { ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1475,8 +1475,8 @@ namespace isc { namespace dhcp { #line 1476 "dhcp4_parser.cc" break; - case 173: // $@25: %empty -#line 767 "dhcp4_parser.yy" + case 174: // $@25: %empty +#line 769 "dhcp4_parser.yy" { ctx.unique("ddns-conflict-resolution-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DDNS_CONFLICT_RESOLUTION_MODE); @@ -1484,8 +1484,8 @@ namespace isc { namespace dhcp { #line 1485 "dhcp4_parser.cc" break; - case 174: // ddns_conflict_resolution_mode: "ddns-conflict-resolution-mode" $@25 ":" ddns_conflict_resolution_mode_value -#line 770 "dhcp4_parser.yy" + case 175: // ddns_conflict_resolution_mode: "ddns-conflict-resolution-mode" $@25 ":" ddns_conflict_resolution_mode_value +#line 772 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-conflict-resolution-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1493,40 +1493,40 @@ namespace isc { namespace dhcp { #line 1494 "dhcp4_parser.cc" break; - case 175: // ddns_conflict_resolution_mode_value: "check-with-dhcid" -#line 776 "dhcp4_parser.yy" + case 176: // ddns_conflict_resolution_mode_value: "check-with-dhcid" +#line 778 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("check-with-dhcid", ctx.loc2pos(yystack_[0].location))); } #line 1502 "dhcp4_parser.cc" break; - case 176: // ddns_conflict_resolution_mode_value: "no-check-with-dhcid" -#line 779 "dhcp4_parser.yy" + case 177: // ddns_conflict_resolution_mode_value: "no-check-with-dhcid" +#line 781 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("no-check-with-dhcid", ctx.loc2pos(yystack_[0].location))); } #line 1510 "dhcp4_parser.cc" break; - case 177: // ddns_conflict_resolution_mode_value: "check-exists-with-dhcid" -#line 782 "dhcp4_parser.yy" + case 178: // ddns_conflict_resolution_mode_value: "check-exists-with-dhcid" +#line 784 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("check-exists-with-dhcid", ctx.loc2pos(yystack_[0].location))); } #line 1518 "dhcp4_parser.cc" break; - case 178: // ddns_conflict_resolution_mode_value: "no-check-without-dhcid" -#line 785 "dhcp4_parser.yy" + case 179: // ddns_conflict_resolution_mode_value: "no-check-without-dhcid" +#line 787 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("no-check-without-dhcid", ctx.loc2pos(yystack_[0].location))); } #line 1526 "dhcp4_parser.cc" break; - case 179: // ddns_ttl_percent: "ddns-ttl-percent" ":" "floating point" -#line 790 "dhcp4_parser.yy" + case 180: // ddns_ttl_percent: "ddns-ttl-percent" ":" "floating point" +#line 792 "dhcp4_parser.yy" { ctx.unique("ddns-ttl-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1535,8 +1535,8 @@ namespace isc { namespace dhcp { #line 1536 "dhcp4_parser.cc" break; - case 180: // $@26: %empty -#line 796 "dhcp4_parser.yy" + case 181: // $@26: %empty +#line 798 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1544,8 +1544,8 @@ namespace isc { namespace dhcp { #line 1545 "dhcp4_parser.cc" break; - case 181: // hostname_char_set: "hostname-char-set" $@26 ":" "constant string" -#line 799 "dhcp4_parser.yy" + case 182: // hostname_char_set: "hostname-char-set" $@26 ":" "constant string" +#line 801 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); @@ -1554,8 +1554,8 @@ namespace isc { namespace dhcp { #line 1555 "dhcp4_parser.cc" break; - case 182: // $@27: %empty -#line 805 "dhcp4_parser.yy" + case 183: // $@27: %empty +#line 807 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1563,8 +1563,8 @@ namespace isc { namespace dhcp { #line 1564 "dhcp4_parser.cc" break; - case 183: // hostname_char_replacement: "hostname-char-replacement" $@27 ":" "constant string" -#line 808 "dhcp4_parser.yy" + case 184: // hostname_char_replacement: "hostname-char-replacement" $@27 ":" "constant string" +#line 810 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); @@ -1573,8 +1573,8 @@ namespace isc { namespace dhcp { #line 1574 "dhcp4_parser.cc" break; - case 184: // store_extended_info: "store-extended-info" ":" "boolean" -#line 814 "dhcp4_parser.yy" + case 185: // store_extended_info: "store-extended-info" ":" "boolean" +#line 816 "dhcp4_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1583,8 +1583,8 @@ namespace isc { namespace dhcp { #line 1584 "dhcp4_parser.cc" break; - case 185: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 820 "dhcp4_parser.yy" + case 186: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 822 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1593,8 +1593,8 @@ namespace isc { namespace dhcp { #line 1594 "dhcp4_parser.cc" break; - case 186: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 826 "dhcp4_parser.yy" + case 187: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 828 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1603,8 +1603,8 @@ namespace isc { namespace dhcp { #line 1604 "dhcp4_parser.cc" break; - case 187: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" -#line 832 "dhcp4_parser.yy" + case 188: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" +#line 834 "dhcp4_parser.yy" { ctx.unique("early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location)); ElementPtr early(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1613,8 +1613,8 @@ namespace isc { namespace dhcp { #line 1614 "dhcp4_parser.cc" break; - case 188: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 838 "dhcp4_parser.yy" + case 189: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 840 "dhcp4_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1623,8 +1623,8 @@ namespace isc { namespace dhcp { #line 1624 "dhcp4_parser.cc" break; - case 189: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" -#line 844 "dhcp4_parser.yy" + case 190: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" +#line 846 "dhcp4_parser.yy" { ctx.unique("reservations-lookup-first", ctx.loc2pos(yystack_[2].location)); ElementPtr first(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1633,8 +1633,8 @@ namespace isc { namespace dhcp { #line 1634 "dhcp4_parser.cc" break; - case 190: // offer_lifetime: "offer-lifetime" ":" "integer" -#line 850 "dhcp4_parser.yy" + case 191: // offer_lifetime: "offer-lifetime" ":" "integer" +#line 852 "dhcp4_parser.yy" { ctx.unique("offer-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr offer_lifetime(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1643,8 +1643,18 @@ namespace isc { namespace dhcp { #line 1644 "dhcp4_parser.cc" break; - case 191: // $@28: %empty -#line 856 "dhcp4_parser.yy" + case 192: // stash_agent_options: "stash-agent-options" ":" "boolean" +#line 858 "dhcp4_parser.yy" + { + ctx.unique("stash-agent-options", ctx.loc2pos(yystack_[2].location)); + ElementPtr stash(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("stash-agent-options", stash); +} +#line 1654 "dhcp4_parser.cc" + break; + + case 193: // $@28: %empty +#line 864 "dhcp4_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1652,48 +1662,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1656 "dhcp4_parser.cc" +#line 1666 "dhcp4_parser.cc" break; - case 192: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" -#line 862 "dhcp4_parser.yy" + case 194: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" +#line 870 "dhcp4_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1666 "dhcp4_parser.cc" +#line 1676 "dhcp4_parser.cc" break; - case 195: // interfaces_config_params: interfaces_config_params "," -#line 870 "dhcp4_parser.yy" + case 197: // interfaces_config_params: interfaces_config_params "," +#line 878 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1674 "dhcp4_parser.cc" +#line 1684 "dhcp4_parser.cc" break; - case 206: // $@29: %empty -#line 887 "dhcp4_parser.yy" + case 208: // $@29: %empty +#line 895 "dhcp4_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1684 "dhcp4_parser.cc" +#line 1694 "dhcp4_parser.cc" break; - case 207: // sub_interfaces4: "{" $@29 interfaces_config_params "}" -#line 891 "dhcp4_parser.yy" + case 209: // sub_interfaces4: "{" $@29 interfaces_config_params "}" +#line 899 "dhcp4_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1693 "dhcp4_parser.cc" +#line 1703 "dhcp4_parser.cc" break; - case 208: // $@30: %empty -#line 896 "dhcp4_parser.yy" + case 210: // $@30: %empty +#line 904 "dhcp4_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1701,124 +1711,124 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1705 "dhcp4_parser.cc" +#line 1715 "dhcp4_parser.cc" break; - case 209: // interfaces_list: "interfaces" $@30 ":" list_strings -#line 902 "dhcp4_parser.yy" + case 211: // interfaces_list: "interfaces" $@30 ":" list_strings +#line 910 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1714 "dhcp4_parser.cc" +#line 1724 "dhcp4_parser.cc" break; - case 210: // $@31: %empty -#line 907 "dhcp4_parser.yy" + case 212: // $@31: %empty +#line 915 "dhcp4_parser.yy" { ctx.unique("dhcp-socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DHCP_SOCKET_TYPE); } -#line 1723 "dhcp4_parser.cc" +#line 1733 "dhcp4_parser.cc" break; - case 211: // dhcp_socket_type: "dhcp-socket-type" $@31 ":" socket_type -#line 910 "dhcp4_parser.yy" + case 213: // dhcp_socket_type: "dhcp-socket-type" $@31 ":" socket_type +#line 918 "dhcp4_parser.yy" { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1732 "dhcp4_parser.cc" +#line 1742 "dhcp4_parser.cc" break; - case 212: // socket_type: "raw" -#line 915 "dhcp4_parser.yy" + case 214: // socket_type: "raw" +#line 923 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } -#line 1738 "dhcp4_parser.cc" +#line 1748 "dhcp4_parser.cc" break; - case 213: // socket_type: "udp" -#line 916 "dhcp4_parser.yy" + case 215: // socket_type: "udp" +#line 924 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } -#line 1744 "dhcp4_parser.cc" +#line 1754 "dhcp4_parser.cc" break; - case 214: // $@32: %empty -#line 919 "dhcp4_parser.yy" + case 216: // $@32: %empty +#line 927 "dhcp4_parser.yy" { ctx.unique("outbound-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.OUTBOUND_INTERFACE); } -#line 1753 "dhcp4_parser.cc" +#line 1763 "dhcp4_parser.cc" break; - case 215: // outbound_interface: "outbound-interface" $@32 ":" outbound_interface_value -#line 922 "dhcp4_parser.yy" + case 217: // outbound_interface: "outbound-interface" $@32 ":" outbound_interface_value +#line 930 "dhcp4_parser.yy" { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1762 "dhcp4_parser.cc" +#line 1772 "dhcp4_parser.cc" break; - case 216: // outbound_interface_value: "same-as-inbound" -#line 927 "dhcp4_parser.yy" + case 218: // outbound_interface_value: "same-as-inbound" +#line 935 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } -#line 1770 "dhcp4_parser.cc" +#line 1780 "dhcp4_parser.cc" break; - case 217: // outbound_interface_value: "use-routing" -#line 929 "dhcp4_parser.yy" + case 219: // outbound_interface_value: "use-routing" +#line 937 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } -#line 1778 "dhcp4_parser.cc" +#line 1788 "dhcp4_parser.cc" break; - case 218: // re_detect: "re-detect" ":" "boolean" -#line 933 "dhcp4_parser.yy" + case 220: // re_detect: "re-detect" ":" "boolean" +#line 941 "dhcp4_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1788 "dhcp4_parser.cc" +#line 1798 "dhcp4_parser.cc" break; - case 219: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" -#line 939 "dhcp4_parser.yy" + case 221: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" +#line 947 "dhcp4_parser.yy" { ctx.unique("service-sockets-require-all", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-require-all", b); } -#line 1798 "dhcp4_parser.cc" +#line 1808 "dhcp4_parser.cc" break; - case 220: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" -#line 945 "dhcp4_parser.yy" + case 222: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" +#line 953 "dhcp4_parser.yy" { ctx.unique("service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-retry-wait-time", n); } -#line 1808 "dhcp4_parser.cc" +#line 1818 "dhcp4_parser.cc" break; - case 221: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" -#line 951 "dhcp4_parser.yy" + case 223: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" +#line 959 "dhcp4_parser.yy" { ctx.unique("service-sockets-max-retries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-max-retries", n); } -#line 1818 "dhcp4_parser.cc" +#line 1828 "dhcp4_parser.cc" break; - case 222: // $@33: %empty -#line 957 "dhcp4_parser.yy" + case 224: // $@33: %empty +#line 965 "dhcp4_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1826,22 +1836,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1830 "dhcp4_parser.cc" +#line 1840 "dhcp4_parser.cc" break; - case 223: // lease_database: "lease-database" $@33 ":" "{" database_map_params "}" -#line 963 "dhcp4_parser.yy" + case 225: // lease_database: "lease-database" $@33 ":" "{" database_map_params "}" +#line 971 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1841 "dhcp4_parser.cc" +#line 1851 "dhcp4_parser.cc" break; - case 224: // $@34: %empty -#line 970 "dhcp4_parser.yy" + case 226: // $@34: %empty +#line 978 "dhcp4_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1849,37 +1859,37 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 1853 "dhcp4_parser.cc" +#line 1863 "dhcp4_parser.cc" break; - case 225: // sanity_checks: "sanity-checks" $@34 ":" "{" sanity_checks_params "}" -#line 976 "dhcp4_parser.yy" + case 227: // sanity_checks: "sanity-checks" $@34 ":" "{" sanity_checks_params "}" +#line 984 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1862 "dhcp4_parser.cc" +#line 1872 "dhcp4_parser.cc" break; - case 228: // sanity_checks_params: sanity_checks_params "," -#line 983 "dhcp4_parser.yy" + case 230: // sanity_checks_params: sanity_checks_params "," +#line 991 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1870 "dhcp4_parser.cc" +#line 1880 "dhcp4_parser.cc" break; - case 231: // $@35: %empty -#line 992 "dhcp4_parser.yy" + case 233: // $@35: %empty +#line 1000 "dhcp4_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1879 "dhcp4_parser.cc" +#line 1889 "dhcp4_parser.cc" break; - case 232: // lease_checks: "lease-checks" $@35 ":" "constant string" -#line 995 "dhcp4_parser.yy" + case 234: // lease_checks: "lease-checks" $@35 ":" "constant string" +#line 1003 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1895,20 +1905,20 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 1899 "dhcp4_parser.cc" +#line 1909 "dhcp4_parser.cc" break; - case 233: // $@36: %empty -#line 1011 "dhcp4_parser.yy" + case 235: // $@36: %empty +#line 1019 "dhcp4_parser.yy" { ctx.unique("extended-info-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1908 "dhcp4_parser.cc" +#line 1918 "dhcp4_parser.cc" break; - case 234: // extended_info_checks: "extended-info-checks" $@36 ":" "constant string" -#line 1014 "dhcp4_parser.yy" + case 236: // extended_info_checks: "extended-info-checks" $@36 ":" "constant string" +#line 1022 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1923,11 +1933,11 @@ namespace isc { namespace dhcp { ", supported values are: none, fix, strict, pedantic"); } } -#line 1927 "dhcp4_parser.cc" +#line 1937 "dhcp4_parser.cc" break; - case 235: // $@37: %empty -#line 1029 "dhcp4_parser.yy" + case 237: // $@37: %empty +#line 1037 "dhcp4_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1935,22 +1945,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1939 "dhcp4_parser.cc" +#line 1949 "dhcp4_parser.cc" break; - case 236: // hosts_database: "hosts-database" $@37 ":" "{" database_map_params "}" -#line 1035 "dhcp4_parser.yy" + case 238: // hosts_database: "hosts-database" $@37 ":" "{" database_map_params "}" +#line 1043 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1950 "dhcp4_parser.cc" +#line 1960 "dhcp4_parser.cc" break; - case 237: // $@38: %empty -#line 1042 "dhcp4_parser.yy" + case 239: // $@38: %empty +#line 1050 "dhcp4_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1958,400 +1968,400 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1962 "dhcp4_parser.cc" +#line 1972 "dhcp4_parser.cc" break; - case 238: // hosts_databases: "hosts-databases" $@38 ":" "[" database_list "]" -#line 1048 "dhcp4_parser.yy" + case 240: // hosts_databases: "hosts-databases" $@38 ":" "[" database_list "]" +#line 1056 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1971 "dhcp4_parser.cc" +#line 1981 "dhcp4_parser.cc" break; - case 243: // not_empty_database_list: not_empty_database_list "," -#line 1059 "dhcp4_parser.yy" + case 245: // not_empty_database_list: not_empty_database_list "," +#line 1067 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1979 "dhcp4_parser.cc" +#line 1989 "dhcp4_parser.cc" break; - case 244: // $@39: %empty -#line 1064 "dhcp4_parser.yy" + case 246: // $@39: %empty +#line 1072 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1989 "dhcp4_parser.cc" +#line 1999 "dhcp4_parser.cc" break; - case 245: // database: "{" $@39 database_map_params "}" -#line 1068 "dhcp4_parser.yy" + case 247: // database: "{" $@39 database_map_params "}" +#line 1076 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1999 "dhcp4_parser.cc" +#line 2009 "dhcp4_parser.cc" break; - case 248: // database_map_params: database_map_params "," -#line 1076 "dhcp4_parser.yy" + case 250: // database_map_params: database_map_params "," +#line 1084 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2007 "dhcp4_parser.cc" +#line 2017 "dhcp4_parser.cc" break; - case 272: // $@40: %empty -#line 1106 "dhcp4_parser.yy" + case 274: // $@40: %empty +#line 1114 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); } -#line 2016 "dhcp4_parser.cc" +#line 2026 "dhcp4_parser.cc" break; - case 273: // database_type: "type" $@40 ":" db_type -#line 1109 "dhcp4_parser.yy" + case 275: // database_type: "type" $@40 ":" db_type +#line 1117 "dhcp4_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2025 "dhcp4_parser.cc" +#line 2035 "dhcp4_parser.cc" break; - case 274: // db_type: "memfile" -#line 1114 "dhcp4_parser.yy" + case 276: // db_type: "memfile" +#line 1122 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 2031 "dhcp4_parser.cc" +#line 2041 "dhcp4_parser.cc" break; - case 275: // db_type: "mysql" -#line 1115 "dhcp4_parser.yy" + case 277: // db_type: "mysql" +#line 1123 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 2037 "dhcp4_parser.cc" +#line 2047 "dhcp4_parser.cc" break; - case 276: // db_type: "postgresql" -#line 1116 "dhcp4_parser.yy" + case 278: // db_type: "postgresql" +#line 1124 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 2043 "dhcp4_parser.cc" +#line 2053 "dhcp4_parser.cc" break; - case 277: // $@41: %empty -#line 1119 "dhcp4_parser.yy" + case 279: // $@41: %empty +#line 1127 "dhcp4_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2052 "dhcp4_parser.cc" +#line 2062 "dhcp4_parser.cc" break; - case 278: // user: "user" $@41 ":" "constant string" -#line 1122 "dhcp4_parser.yy" + case 280: // user: "user" $@41 ":" "constant string" +#line 1130 "dhcp4_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 2062 "dhcp4_parser.cc" +#line 2072 "dhcp4_parser.cc" break; - case 279: // $@42: %empty -#line 1128 "dhcp4_parser.yy" + case 281: // $@42: %empty +#line 1136 "dhcp4_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2071 "dhcp4_parser.cc" +#line 2081 "dhcp4_parser.cc" break; - case 280: // password: "password" $@42 ":" "constant string" -#line 1131 "dhcp4_parser.yy" + case 282: // password: "password" $@42 ":" "constant string" +#line 1139 "dhcp4_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 2081 "dhcp4_parser.cc" +#line 2091 "dhcp4_parser.cc" break; - case 281: // $@43: %empty -#line 1137 "dhcp4_parser.yy" + case 283: // $@43: %empty +#line 1145 "dhcp4_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2090 "dhcp4_parser.cc" +#line 2100 "dhcp4_parser.cc" break; - case 282: // host: "host" $@43 ":" "constant string" -#line 1140 "dhcp4_parser.yy" + case 284: // host: "host" $@43 ":" "constant string" +#line 1148 "dhcp4_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 2100 "dhcp4_parser.cc" +#line 2110 "dhcp4_parser.cc" break; - case 283: // port: "port" ":" "integer" -#line 1146 "dhcp4_parser.yy" + case 285: // port: "port" ":" "integer" +#line 1154 "dhcp4_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 2110 "dhcp4_parser.cc" +#line 2120 "dhcp4_parser.cc" break; - case 284: // $@44: %empty -#line 1152 "dhcp4_parser.yy" + case 286: // $@44: %empty +#line 1160 "dhcp4_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2119 "dhcp4_parser.cc" +#line 2129 "dhcp4_parser.cc" break; - case 285: // name: "name" $@44 ":" "constant string" -#line 1155 "dhcp4_parser.yy" + case 287: // name: "name" $@44 ":" "constant string" +#line 1163 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 2129 "dhcp4_parser.cc" +#line 2139 "dhcp4_parser.cc" break; - case 286: // persist: "persist" ":" "boolean" -#line 1161 "dhcp4_parser.yy" + case 288: // persist: "persist" ":" "boolean" +#line 1169 "dhcp4_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 2139 "dhcp4_parser.cc" +#line 2149 "dhcp4_parser.cc" break; - case 287: // lfc_interval: "lfc-interval" ":" "integer" -#line 1167 "dhcp4_parser.yy" + case 289: // lfc_interval: "lfc-interval" ":" "integer" +#line 1175 "dhcp4_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 2149 "dhcp4_parser.cc" +#line 2159 "dhcp4_parser.cc" break; - case 288: // readonly: "readonly" ":" "boolean" -#line 1173 "dhcp4_parser.yy" + case 290: // readonly: "readonly" ":" "boolean" +#line 1181 "dhcp4_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 2159 "dhcp4_parser.cc" +#line 2169 "dhcp4_parser.cc" break; - case 289: // connect_timeout: "connect-timeout" ":" "integer" -#line 1179 "dhcp4_parser.yy" + case 291: // connect_timeout: "connect-timeout" ":" "integer" +#line 1187 "dhcp4_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 2169 "dhcp4_parser.cc" +#line 2179 "dhcp4_parser.cc" break; - case 290: // read_timeout: "read-timeout" ":" "integer" -#line 1185 "dhcp4_parser.yy" + case 292: // read_timeout: "read-timeout" ":" "integer" +#line 1193 "dhcp4_parser.yy" { ctx.unique("read-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("read-timeout", n); } -#line 2179 "dhcp4_parser.cc" +#line 2189 "dhcp4_parser.cc" break; - case 291: // write_timeout: "write-timeout" ":" "integer" -#line 1191 "dhcp4_parser.yy" + case 293: // write_timeout: "write-timeout" ":" "integer" +#line 1199 "dhcp4_parser.yy" { ctx.unique("write-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("write-timeout", n); } -#line 2189 "dhcp4_parser.cc" +#line 2199 "dhcp4_parser.cc" break; - case 292: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" -#line 1197 "dhcp4_parser.yy" + case 294: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" +#line 1205 "dhcp4_parser.yy" { ctx.unique("tcp-user-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-user-timeout", n); } -#line 2199 "dhcp4_parser.cc" +#line 2209 "dhcp4_parser.cc" break; - case 293: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1203 "dhcp4_parser.yy" + case 295: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 1211 "dhcp4_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 2209 "dhcp4_parser.cc" +#line 2219 "dhcp4_parser.cc" break; - case 294: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1209 "dhcp4_parser.yy" + case 296: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 1217 "dhcp4_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 2219 "dhcp4_parser.cc" +#line 2229 "dhcp4_parser.cc" break; - case 295: // $@45: %empty -#line 1215 "dhcp4_parser.yy" + case 297: // $@45: %empty +#line 1223 "dhcp4_parser.yy" { ctx.unique("on-fail", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_ON_FAIL); } -#line 2228 "dhcp4_parser.cc" +#line 2238 "dhcp4_parser.cc" break; - case 296: // on_fail: "on-fail" $@45 ":" on_fail_mode -#line 1218 "dhcp4_parser.yy" + case 298: // on_fail: "on-fail" $@45 ":" on_fail_mode +#line 1226 "dhcp4_parser.yy" { ctx.stack_.back()->set("on-fail", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2237 "dhcp4_parser.cc" +#line 2247 "dhcp4_parser.cc" break; - case 297: // on_fail_mode: "stop-retry-exit" -#line 1223 "dhcp4_parser.yy" + case 299: // on_fail_mode: "stop-retry-exit" +#line 1231 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stop-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2243 "dhcp4_parser.cc" +#line 2253 "dhcp4_parser.cc" break; - case 298: // on_fail_mode: "serve-retry-exit" -#line 1224 "dhcp4_parser.yy" + case 300: // on_fail_mode: "serve-retry-exit" +#line 1232 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2249 "dhcp4_parser.cc" +#line 2259 "dhcp4_parser.cc" break; - case 299: // on_fail_mode: "serve-retry-continue" -#line 1225 "dhcp4_parser.yy" + case 301: // on_fail_mode: "serve-retry-continue" +#line 1233 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-continue", ctx.loc2pos(yystack_[0].location))); } -#line 2255 "dhcp4_parser.cc" +#line 2265 "dhcp4_parser.cc" break; - case 300: // retry_on_startup: "retry-on-startup" ":" "boolean" -#line 1228 "dhcp4_parser.yy" + case 302: // retry_on_startup: "retry-on-startup" ":" "boolean" +#line 1236 "dhcp4_parser.yy" { ctx.unique("retry-on-startup", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("retry-on-startup", n); } -#line 2265 "dhcp4_parser.cc" +#line 2275 "dhcp4_parser.cc" break; - case 301: // max_row_errors: "max-row-errors" ":" "integer" -#line 1234 "dhcp4_parser.yy" + case 303: // max_row_errors: "max-row-errors" ":" "integer" +#line 1242 "dhcp4_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); } -#line 2275 "dhcp4_parser.cc" +#line 2285 "dhcp4_parser.cc" break; - case 302: // $@46: %empty -#line 1240 "dhcp4_parser.yy" + case 304: // $@46: %empty +#line 1248 "dhcp4_parser.yy" { ctx.unique("trust-anchor", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2284 "dhcp4_parser.cc" +#line 2294 "dhcp4_parser.cc" break; - case 303: // trust_anchor: "trust-anchor" $@46 ":" "constant string" -#line 1243 "dhcp4_parser.yy" + case 305: // trust_anchor: "trust-anchor" $@46 ":" "constant string" +#line 1251 "dhcp4_parser.yy" { ElementPtr ca(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("trust-anchor", ca); ctx.leave(); } -#line 2294 "dhcp4_parser.cc" +#line 2304 "dhcp4_parser.cc" break; - case 304: // $@47: %empty -#line 1249 "dhcp4_parser.yy" + case 306: // $@47: %empty +#line 1257 "dhcp4_parser.yy" { ctx.unique("cert-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2303 "dhcp4_parser.cc" +#line 2313 "dhcp4_parser.cc" break; - case 305: // cert_file: "cert-file" $@47 ":" "constant string" -#line 1252 "dhcp4_parser.yy" + case 307: // cert_file: "cert-file" $@47 ":" "constant string" +#line 1260 "dhcp4_parser.yy" { ElementPtr cert(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-file", cert); ctx.leave(); } -#line 2313 "dhcp4_parser.cc" +#line 2323 "dhcp4_parser.cc" break; - case 306: // $@48: %empty -#line 1258 "dhcp4_parser.yy" + case 308: // $@48: %empty +#line 1266 "dhcp4_parser.yy" { ctx.unique("key-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2322 "dhcp4_parser.cc" +#line 2332 "dhcp4_parser.cc" break; - case 307: // key_file: "key-file" $@48 ":" "constant string" -#line 1261 "dhcp4_parser.yy" + case 309: // key_file: "key-file" $@48 ":" "constant string" +#line 1269 "dhcp4_parser.yy" { ElementPtr key(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("key-file", key); ctx.leave(); } -#line 2332 "dhcp4_parser.cc" +#line 2342 "dhcp4_parser.cc" break; - case 308: // $@49: %empty -#line 1267 "dhcp4_parser.yy" + case 310: // $@49: %empty +#line 1275 "dhcp4_parser.yy" { ctx.unique("cipher-list", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2341 "dhcp4_parser.cc" +#line 2351 "dhcp4_parser.cc" break; - case 309: // cipher_list: "cipher-list" $@49 ":" "constant string" -#line 1270 "dhcp4_parser.yy" + case 311: // cipher_list: "cipher-list" $@49 ":" "constant string" +#line 1278 "dhcp4_parser.yy" { ElementPtr cl(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cipher-list", cl); ctx.leave(); } -#line 2351 "dhcp4_parser.cc" +#line 2361 "dhcp4_parser.cc" break; - case 310: // $@50: %empty -#line 1276 "dhcp4_parser.yy" + case 312: // $@50: %empty +#line 1284 "dhcp4_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2359,73 +2369,73 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2363 "dhcp4_parser.cc" +#line 2373 "dhcp4_parser.cc" break; - case 311: // host_reservation_identifiers: "host-reservation-identifiers" $@50 ":" "[" host_reservation_identifiers_list "]" -#line 1282 "dhcp4_parser.yy" + case 313: // host_reservation_identifiers: "host-reservation-identifiers" $@50 ":" "[" host_reservation_identifiers_list "]" +#line 1290 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2372 "dhcp4_parser.cc" +#line 2382 "dhcp4_parser.cc" break; - case 314: // host_reservation_identifiers_list: host_reservation_identifiers_list "," -#line 1289 "dhcp4_parser.yy" + case 316: // host_reservation_identifiers_list: host_reservation_identifiers_list "," +#line 1297 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2380 "dhcp4_parser.cc" +#line 2390 "dhcp4_parser.cc" break; - case 320: // duid_id: "duid" -#line 1301 "dhcp4_parser.yy" + case 322: // duid_id: "duid" +#line 1309 "dhcp4_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2389 "dhcp4_parser.cc" +#line 2399 "dhcp4_parser.cc" break; - case 321: // hw_address_id: "hw-address" -#line 1306 "dhcp4_parser.yy" + case 323: // hw_address_id: "hw-address" +#line 1314 "dhcp4_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2398 "dhcp4_parser.cc" +#line 2408 "dhcp4_parser.cc" break; - case 322: // circuit_id: "circuit-id" -#line 1311 "dhcp4_parser.yy" + case 324: // circuit_id: "circuit-id" +#line 1319 "dhcp4_parser.yy" { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); } -#line 2407 "dhcp4_parser.cc" +#line 2417 "dhcp4_parser.cc" break; - case 323: // client_id: "client-id" -#line 1316 "dhcp4_parser.yy" + case 325: // client_id: "client-id" +#line 1324 "dhcp4_parser.yy" { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); } -#line 2416 "dhcp4_parser.cc" +#line 2426 "dhcp4_parser.cc" break; - case 324: // flex_id: "flex-id" -#line 1321 "dhcp4_parser.yy" + case 326: // flex_id: "flex-id" +#line 1329 "dhcp4_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2425 "dhcp4_parser.cc" +#line 2435 "dhcp4_parser.cc" break; - case 325: // $@51: %empty -#line 1328 "dhcp4_parser.yy" + case 327: // $@51: %empty +#line 1336 "dhcp4_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2433,60 +2443,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2437 "dhcp4_parser.cc" +#line 2447 "dhcp4_parser.cc" break; - case 326: // dhcp_multi_threading: "multi-threading" $@51 ":" "{" multi_threading_params "}" -#line 1334 "dhcp4_parser.yy" + case 328: // dhcp_multi_threading: "multi-threading" $@51 ":" "{" multi_threading_params "}" +#line 1342 "dhcp4_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2448 "dhcp4_parser.cc" +#line 2458 "dhcp4_parser.cc" break; - case 329: // multi_threading_params: multi_threading_params "," -#line 1343 "dhcp4_parser.yy" + case 331: // multi_threading_params: multi_threading_params "," +#line 1351 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2456 "dhcp4_parser.cc" +#line 2466 "dhcp4_parser.cc" break; - case 336: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1356 "dhcp4_parser.yy" + case 338: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1364 "dhcp4_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2466 "dhcp4_parser.cc" +#line 2476 "dhcp4_parser.cc" break; - case 337: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1362 "dhcp4_parser.yy" + case 339: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1370 "dhcp4_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2476 "dhcp4_parser.cc" +#line 2486 "dhcp4_parser.cc" break; - case 338: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1368 "dhcp4_parser.yy" + case 340: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1376 "dhcp4_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2486 "dhcp4_parser.cc" +#line 2496 "dhcp4_parser.cc" break; - case 339: // $@52: %empty -#line 1374 "dhcp4_parser.yy" + case 341: // $@52: %empty +#line 1382 "dhcp4_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2494,113 +2504,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2498 "dhcp4_parser.cc" +#line 2508 "dhcp4_parser.cc" break; - case 340: // hooks_libraries: "hooks-libraries" $@52 ":" "[" hooks_libraries_list "]" -#line 1380 "dhcp4_parser.yy" + case 342: // hooks_libraries: "hooks-libraries" $@52 ":" "[" hooks_libraries_list "]" +#line 1388 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2507 "dhcp4_parser.cc" +#line 2517 "dhcp4_parser.cc" break; - case 345: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," -#line 1391 "dhcp4_parser.yy" + case 347: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," +#line 1399 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2515 "dhcp4_parser.cc" +#line 2525 "dhcp4_parser.cc" break; - case 346: // $@53: %empty -#line 1396 "dhcp4_parser.yy" + case 348: // $@53: %empty +#line 1404 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2525 "dhcp4_parser.cc" +#line 2535 "dhcp4_parser.cc" break; - case 347: // hooks_library: "{" $@53 hooks_params "}" -#line 1400 "dhcp4_parser.yy" + case 349: // hooks_library: "{" $@53 hooks_params "}" +#line 1408 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2535 "dhcp4_parser.cc" +#line 2545 "dhcp4_parser.cc" break; - case 348: // $@54: %empty -#line 1406 "dhcp4_parser.yy" + case 350: // $@54: %empty +#line 1414 "dhcp4_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2545 "dhcp4_parser.cc" +#line 2555 "dhcp4_parser.cc" break; - case 349: // sub_hooks_library: "{" $@54 hooks_params "}" -#line 1410 "dhcp4_parser.yy" + case 351: // sub_hooks_library: "{" $@54 hooks_params "}" +#line 1418 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2555 "dhcp4_parser.cc" +#line 2565 "dhcp4_parser.cc" break; - case 352: // hooks_params: hooks_params "," -#line 1418 "dhcp4_parser.yy" + case 354: // hooks_params: hooks_params "," +#line 1426 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2563 "dhcp4_parser.cc" +#line 2573 "dhcp4_parser.cc" break; - case 356: // $@55: %empty -#line 1428 "dhcp4_parser.yy" + case 358: // $@55: %empty +#line 1436 "dhcp4_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2572 "dhcp4_parser.cc" +#line 2582 "dhcp4_parser.cc" break; - case 357: // library: "library" $@55 ":" "constant string" -#line 1431 "dhcp4_parser.yy" + case 359: // library: "library" $@55 ":" "constant string" +#line 1439 "dhcp4_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2582 "dhcp4_parser.cc" +#line 2592 "dhcp4_parser.cc" break; - case 358: // $@56: %empty -#line 1437 "dhcp4_parser.yy" + case 360: // $@56: %empty +#line 1445 "dhcp4_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2591 "dhcp4_parser.cc" +#line 2601 "dhcp4_parser.cc" break; - case 359: // parameters: "parameters" $@56 ":" map_value -#line 1440 "dhcp4_parser.yy" + case 361: // parameters: "parameters" $@56 ":" map_value +#line 1448 "dhcp4_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2600 "dhcp4_parser.cc" +#line 2610 "dhcp4_parser.cc" break; - case 360: // $@57: %empty -#line 1446 "dhcp4_parser.yy" + case 362: // $@57: %empty +#line 1454 "dhcp4_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2608,89 +2618,89 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2612 "dhcp4_parser.cc" +#line 2622 "dhcp4_parser.cc" break; - case 361: // expired_leases_processing: "expired-leases-processing" $@57 ":" "{" expired_leases_params "}" -#line 1452 "dhcp4_parser.yy" + case 363: // expired_leases_processing: "expired-leases-processing" $@57 ":" "{" expired_leases_params "}" +#line 1460 "dhcp4_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2622 "dhcp4_parser.cc" +#line 2632 "dhcp4_parser.cc" break; - case 364: // expired_leases_params: expired_leases_params "," -#line 1460 "dhcp4_parser.yy" + case 366: // expired_leases_params: expired_leases_params "," +#line 1468 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2630 "dhcp4_parser.cc" +#line 2640 "dhcp4_parser.cc" break; - case 371: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1473 "dhcp4_parser.yy" + case 373: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1481 "dhcp4_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2640 "dhcp4_parser.cc" +#line 2650 "dhcp4_parser.cc" break; - case 372: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1479 "dhcp4_parser.yy" + case 374: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1487 "dhcp4_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 2650 "dhcp4_parser.cc" +#line 2660 "dhcp4_parser.cc" break; - case 373: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1485 "dhcp4_parser.yy" + case 375: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1493 "dhcp4_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2660 "dhcp4_parser.cc" +#line 2670 "dhcp4_parser.cc" break; - case 374: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1491 "dhcp4_parser.yy" + case 376: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1499 "dhcp4_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2670 "dhcp4_parser.cc" +#line 2680 "dhcp4_parser.cc" break; - case 375: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1497 "dhcp4_parser.yy" + case 377: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1505 "dhcp4_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2680 "dhcp4_parser.cc" +#line 2690 "dhcp4_parser.cc" break; - case 376: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1503 "dhcp4_parser.yy" + case 378: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1511 "dhcp4_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2690 "dhcp4_parser.cc" +#line 2700 "dhcp4_parser.cc" break; - case 377: // $@58: %empty -#line 1512 "dhcp4_parser.yy" + case 379: // $@58: %empty +#line 1520 "dhcp4_parser.yy" { ctx.unique("subnet4", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2698,38 +2708,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET4); } -#line 2702 "dhcp4_parser.cc" +#line 2712 "dhcp4_parser.cc" break; - case 378: // subnet4_list: "subnet4" $@58 ":" "[" subnet4_list_content "]" -#line 1518 "dhcp4_parser.yy" + case 380: // subnet4_list: "subnet4" $@58 ":" "[" subnet4_list_content "]" +#line 1526 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2711 "dhcp4_parser.cc" +#line 2721 "dhcp4_parser.cc" break; - case 383: // not_empty_subnet4_list: not_empty_subnet4_list "," -#line 1532 "dhcp4_parser.yy" + case 385: // not_empty_subnet4_list: not_empty_subnet4_list "," +#line 1540 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2719 "dhcp4_parser.cc" +#line 2729 "dhcp4_parser.cc" break; - case 384: // $@59: %empty -#line 1541 "dhcp4_parser.yy" + case 386: // $@59: %empty +#line 1549 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2729 "dhcp4_parser.cc" +#line 2739 "dhcp4_parser.cc" break; - case 385: // subnet4: "{" $@59 subnet4_params "}" -#line 1545 "dhcp4_parser.yy" + case 387: // subnet4: "{" $@59 subnet4_params "}" +#line 1553 "dhcp4_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2751,153 +2761,153 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2755 "dhcp4_parser.cc" +#line 2765 "dhcp4_parser.cc" break; - case 386: // $@60: %empty -#line 1567 "dhcp4_parser.yy" + case 388: // $@60: %empty +#line 1575 "dhcp4_parser.yy" { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2765 "dhcp4_parser.cc" +#line 2775 "dhcp4_parser.cc" break; - case 387: // sub_subnet4: "{" $@60 subnet4_params "}" -#line 1571 "dhcp4_parser.yy" + case 389: // sub_subnet4: "{" $@60 subnet4_params "}" +#line 1579 "dhcp4_parser.yy" { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2775 "dhcp4_parser.cc" +#line 2785 "dhcp4_parser.cc" break; - case 390: // subnet4_params: subnet4_params "," -#line 1580 "dhcp4_parser.yy" + case 392: // subnet4_params: subnet4_params "," +#line 1588 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2783 "dhcp4_parser.cc" +#line 2793 "dhcp4_parser.cc" break; - case 440: // $@61: %empty -#line 1637 "dhcp4_parser.yy" + case 442: // $@61: %empty +#line 1645 "dhcp4_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2792 "dhcp4_parser.cc" +#line 2802 "dhcp4_parser.cc" break; - case 441: // subnet: "subnet" $@61 ":" "constant string" -#line 1640 "dhcp4_parser.yy" + case 443: // subnet: "subnet" $@61 ":" "constant string" +#line 1648 "dhcp4_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2802 "dhcp4_parser.cc" +#line 2812 "dhcp4_parser.cc" break; - case 442: // $@62: %empty -#line 1646 "dhcp4_parser.yy" + case 444: // $@62: %empty +#line 1654 "dhcp4_parser.yy" { ctx.unique("4o6-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2811 "dhcp4_parser.cc" +#line 2821 "dhcp4_parser.cc" break; - case 443: // subnet_4o6_interface: "4o6-interface" $@62 ":" "constant string" -#line 1649 "dhcp4_parser.yy" + case 445: // subnet_4o6_interface: "4o6-interface" $@62 ":" "constant string" +#line 1657 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface", iface); ctx.leave(); } -#line 2821 "dhcp4_parser.cc" +#line 2831 "dhcp4_parser.cc" break; - case 444: // $@63: %empty -#line 1655 "dhcp4_parser.yy" + case 446: // $@63: %empty +#line 1663 "dhcp4_parser.yy" { ctx.unique("4o6-interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2830 "dhcp4_parser.cc" +#line 2840 "dhcp4_parser.cc" break; - case 445: // subnet_4o6_interface_id: "4o6-interface-id" $@63 ":" "constant string" -#line 1658 "dhcp4_parser.yy" + case 447: // subnet_4o6_interface_id: "4o6-interface-id" $@63 ":" "constant string" +#line 1666 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface-id", iface); ctx.leave(); } -#line 2840 "dhcp4_parser.cc" +#line 2850 "dhcp4_parser.cc" break; - case 446: // $@64: %empty -#line 1664 "dhcp4_parser.yy" + case 448: // $@64: %empty +#line 1672 "dhcp4_parser.yy" { ctx.unique("4o6-subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2849 "dhcp4_parser.cc" +#line 2859 "dhcp4_parser.cc" break; - case 447: // subnet_4o6_subnet: "4o6-subnet" $@64 ":" "constant string" -#line 1667 "dhcp4_parser.yy" + case 449: // subnet_4o6_subnet: "4o6-subnet" $@64 ":" "constant string" +#line 1675 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-subnet", iface); ctx.leave(); } -#line 2859 "dhcp4_parser.cc" +#line 2869 "dhcp4_parser.cc" break; - case 448: // $@65: %empty -#line 1673 "dhcp4_parser.yy" + case 450: // $@65: %empty +#line 1681 "dhcp4_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2868 "dhcp4_parser.cc" +#line 2878 "dhcp4_parser.cc" break; - case 449: // interface: "interface" $@65 ":" "constant string" -#line 1676 "dhcp4_parser.yy" + case 451: // interface: "interface" $@65 ":" "constant string" +#line 1684 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2878 "dhcp4_parser.cc" +#line 2888 "dhcp4_parser.cc" break; - case 450: // $@66: %empty -#line 1682 "dhcp4_parser.yy" + case 452: // $@66: %empty +#line 1690 "dhcp4_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2887 "dhcp4_parser.cc" +#line 2897 "dhcp4_parser.cc" break; - case 451: // client_class: "client-class" $@66 ":" "constant string" -#line 1685 "dhcp4_parser.yy" + case 453: // client_class: "client-class" $@66 ":" "constant string" +#line 1693 "dhcp4_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 2897 "dhcp4_parser.cc" +#line 2907 "dhcp4_parser.cc" break; - case 452: // $@67: %empty -#line 1691 "dhcp4_parser.yy" + case 454: // $@67: %empty +#line 1699 "dhcp4_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2905,102 +2915,102 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2909 "dhcp4_parser.cc" +#line 2919 "dhcp4_parser.cc" break; - case 453: // require_client_classes: "require-client-classes" $@67 ":" list_strings -#line 1697 "dhcp4_parser.yy" + case 455: // require_client_classes: "require-client-classes" $@67 ":" list_strings +#line 1705 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2918 "dhcp4_parser.cc" +#line 2928 "dhcp4_parser.cc" break; - case 454: // reservations_global: "reservations-global" ":" "boolean" -#line 1702 "dhcp4_parser.yy" + case 456: // reservations_global: "reservations-global" ":" "boolean" +#line 1710 "dhcp4_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-global", b); } -#line 2928 "dhcp4_parser.cc" +#line 2938 "dhcp4_parser.cc" break; - case 455: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1708 "dhcp4_parser.yy" + case 457: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1716 "dhcp4_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-in-subnet", b); } -#line 2938 "dhcp4_parser.cc" +#line 2948 "dhcp4_parser.cc" break; - case 456: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1714 "dhcp4_parser.yy" + case 458: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1722 "dhcp4_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-out-of-pool", b); } -#line 2948 "dhcp4_parser.cc" +#line 2958 "dhcp4_parser.cc" break; - case 457: // $@68: %empty -#line 1720 "dhcp4_parser.yy" + case 459: // $@68: %empty +#line 1728 "dhcp4_parser.yy" { ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.RESERVATION_MODE); } -#line 2957 "dhcp4_parser.cc" +#line 2967 "dhcp4_parser.cc" break; - case 458: // reservation_mode: "reservation-mode" $@68 ":" hr_mode -#line 1723 "dhcp4_parser.yy" + case 460: // reservation_mode: "reservation-mode" $@68 ":" hr_mode +#line 1731 "dhcp4_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2966 "dhcp4_parser.cc" +#line 2976 "dhcp4_parser.cc" break; - case 459: // hr_mode: "disabled" -#line 1728 "dhcp4_parser.yy" + case 461: // hr_mode: "disabled" +#line 1736 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 2972 "dhcp4_parser.cc" +#line 2982 "dhcp4_parser.cc" break; - case 460: // hr_mode: "out-of-pool" -#line 1729 "dhcp4_parser.yy" + case 462: // hr_mode: "out-of-pool" +#line 1737 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 2978 "dhcp4_parser.cc" +#line 2988 "dhcp4_parser.cc" break; - case 461: // hr_mode: "global" -#line 1730 "dhcp4_parser.yy" + case 463: // hr_mode: "global" +#line 1738 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } -#line 2984 "dhcp4_parser.cc" +#line 2994 "dhcp4_parser.cc" break; - case 462: // hr_mode: "all" -#line 1731 "dhcp4_parser.yy" + case 464: // hr_mode: "all" +#line 1739 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 2990 "dhcp4_parser.cc" +#line 3000 "dhcp4_parser.cc" break; - case 463: // id: "id" ":" "integer" -#line 1734 "dhcp4_parser.yy" + case 465: // id: "id" ":" "integer" +#line 1742 "dhcp4_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 3000 "dhcp4_parser.cc" +#line 3010 "dhcp4_parser.cc" break; - case 464: // $@69: %empty -#line 1742 "dhcp4_parser.yy" + case 466: // $@69: %empty +#line 1750 "dhcp4_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3008,54 +3018,54 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 3012 "dhcp4_parser.cc" +#line 3022 "dhcp4_parser.cc" break; - case 465: // shared_networks: "shared-networks" $@69 ":" "[" shared_networks_content "]" -#line 1748 "dhcp4_parser.yy" + case 467: // shared_networks: "shared-networks" $@69 ":" "[" shared_networks_content "]" +#line 1756 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3021 "dhcp4_parser.cc" +#line 3031 "dhcp4_parser.cc" break; - case 470: // shared_networks_list: shared_networks_list "," -#line 1761 "dhcp4_parser.yy" + case 472: // shared_networks_list: shared_networks_list "," +#line 1769 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3029 "dhcp4_parser.cc" +#line 3039 "dhcp4_parser.cc" break; - case 471: // $@70: %empty -#line 1766 "dhcp4_parser.yy" + case 473: // $@70: %empty +#line 1774 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3039 "dhcp4_parser.cc" +#line 3049 "dhcp4_parser.cc" break; - case 472: // shared_network: "{" $@70 shared_network_params "}" -#line 1770 "dhcp4_parser.yy" + case 474: // shared_network: "{" $@70 shared_network_params "}" +#line 1778 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 3047 "dhcp4_parser.cc" +#line 3057 "dhcp4_parser.cc" break; - case 475: // shared_network_params: shared_network_params "," -#line 1776 "dhcp4_parser.yy" + case 477: // shared_network_params: shared_network_params "," +#line 1784 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3055 "dhcp4_parser.cc" +#line 3065 "dhcp4_parser.cc" break; - case 520: // $@71: %empty -#line 1831 "dhcp4_parser.yy" + case 522: // $@71: %empty +#line 1839 "dhcp4_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3063,55 +3073,55 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 3067 "dhcp4_parser.cc" +#line 3077 "dhcp4_parser.cc" break; - case 521: // option_def_list: "option-def" $@71 ":" "[" option_def_list_content "]" -#line 1837 "dhcp4_parser.yy" + case 523: // option_def_list: "option-def" $@71 ":" "[" option_def_list_content "]" +#line 1845 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3076 "dhcp4_parser.cc" +#line 3086 "dhcp4_parser.cc" break; - case 522: // $@72: %empty -#line 1845 "dhcp4_parser.yy" + case 524: // $@72: %empty +#line 1853 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3085 "dhcp4_parser.cc" +#line 3095 "dhcp4_parser.cc" break; - case 523: // sub_option_def_list: "{" $@72 option_def_list "}" -#line 1848 "dhcp4_parser.yy" + case 525: // sub_option_def_list: "{" $@72 option_def_list "}" +#line 1856 "dhcp4_parser.yy" { // parsing completed } -#line 3093 "dhcp4_parser.cc" +#line 3103 "dhcp4_parser.cc" break; - case 528: // not_empty_option_def_list: not_empty_option_def_list "," -#line 1860 "dhcp4_parser.yy" + case 530: // not_empty_option_def_list: not_empty_option_def_list "," +#line 1868 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3101 "dhcp4_parser.cc" +#line 3111 "dhcp4_parser.cc" break; - case 529: // $@73: %empty -#line 1867 "dhcp4_parser.yy" + case 531: // $@73: %empty +#line 1875 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3111 "dhcp4_parser.cc" +#line 3121 "dhcp4_parser.cc" break; - case 530: // option_def_entry: "{" $@73 option_def_params "}" -#line 1871 "dhcp4_parser.yy" + case 532: // option_def_entry: "{" $@73 option_def_params "}" +#line 1879 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3119,21 +3129,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3123 "dhcp4_parser.cc" +#line 3133 "dhcp4_parser.cc" break; - case 531: // $@74: %empty -#line 1882 "dhcp4_parser.yy" + case 533: // $@74: %empty +#line 1890 "dhcp4_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3133 "dhcp4_parser.cc" +#line 3143 "dhcp4_parser.cc" break; - case 532: // sub_option_def: "{" $@74 option_def_params "}" -#line 1886 "dhcp4_parser.yy" + case 534: // sub_option_def: "{" $@74 option_def_params "}" +#line 1894 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3141,115 +3151,115 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3145 "dhcp4_parser.cc" +#line 3155 "dhcp4_parser.cc" break; - case 537: // not_empty_option_def_params: not_empty_option_def_params "," -#line 1902 "dhcp4_parser.yy" + case 539: // not_empty_option_def_params: not_empty_option_def_params "," +#line 1910 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3153 "dhcp4_parser.cc" +#line 3163 "dhcp4_parser.cc" break; - case 549: // code: "code" ":" "integer" -#line 1921 "dhcp4_parser.yy" + case 551: // code: "code" ":" "integer" +#line 1929 "dhcp4_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 3163 "dhcp4_parser.cc" +#line 3173 "dhcp4_parser.cc" break; - case 551: // $@75: %empty -#line 1929 "dhcp4_parser.yy" + case 553: // $@75: %empty +#line 1937 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3172 "dhcp4_parser.cc" +#line 3182 "dhcp4_parser.cc" break; - case 552: // option_def_type: "type" $@75 ":" "constant string" -#line 1932 "dhcp4_parser.yy" + case 554: // option_def_type: "type" $@75 ":" "constant string" +#line 1940 "dhcp4_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 3182 "dhcp4_parser.cc" +#line 3192 "dhcp4_parser.cc" break; - case 553: // $@76: %empty -#line 1938 "dhcp4_parser.yy" + case 555: // $@76: %empty +#line 1946 "dhcp4_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3191 "dhcp4_parser.cc" +#line 3201 "dhcp4_parser.cc" break; - case 554: // option_def_record_types: "record-types" $@76 ":" "constant string" -#line 1941 "dhcp4_parser.yy" + case 556: // option_def_record_types: "record-types" $@76 ":" "constant string" +#line 1949 "dhcp4_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 3201 "dhcp4_parser.cc" +#line 3211 "dhcp4_parser.cc" break; - case 555: // $@77: %empty -#line 1947 "dhcp4_parser.yy" + case 557: // $@77: %empty +#line 1955 "dhcp4_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3210 "dhcp4_parser.cc" +#line 3220 "dhcp4_parser.cc" break; - case 556: // space: "space" $@77 ":" "constant string" -#line 1950 "dhcp4_parser.yy" + case 558: // space: "space" $@77 ":" "constant string" +#line 1958 "dhcp4_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 3220 "dhcp4_parser.cc" +#line 3230 "dhcp4_parser.cc" break; - case 558: // $@78: %empty -#line 1958 "dhcp4_parser.yy" + case 560: // $@78: %empty +#line 1966 "dhcp4_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3229 "dhcp4_parser.cc" +#line 3239 "dhcp4_parser.cc" break; - case 559: // option_def_encapsulate: "encapsulate" $@78 ":" "constant string" -#line 1961 "dhcp4_parser.yy" + case 561: // option_def_encapsulate: "encapsulate" $@78 ":" "constant string" +#line 1969 "dhcp4_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 3239 "dhcp4_parser.cc" +#line 3249 "dhcp4_parser.cc" break; - case 560: // option_def_array: "array" ":" "boolean" -#line 1967 "dhcp4_parser.yy" + case 562: // option_def_array: "array" ":" "boolean" +#line 1975 "dhcp4_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 3249 "dhcp4_parser.cc" +#line 3259 "dhcp4_parser.cc" break; - case 561: // $@79: %empty -#line 1977 "dhcp4_parser.yy" + case 563: // $@79: %empty +#line 1985 "dhcp4_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3257,123 +3267,123 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 3261 "dhcp4_parser.cc" +#line 3271 "dhcp4_parser.cc" break; - case 562: // option_data_list: "option-data" $@79 ":" "[" option_data_list_content "]" -#line 1983 "dhcp4_parser.yy" + case 564: // option_data_list: "option-data" $@79 ":" "[" option_data_list_content "]" +#line 1991 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3270 "dhcp4_parser.cc" +#line 3280 "dhcp4_parser.cc" break; - case 567: // not_empty_option_data_list: not_empty_option_data_list "," -#line 1998 "dhcp4_parser.yy" + case 569: // not_empty_option_data_list: not_empty_option_data_list "," +#line 2006 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3278 "dhcp4_parser.cc" +#line 3288 "dhcp4_parser.cc" break; - case 568: // $@80: %empty -#line 2005 "dhcp4_parser.yy" + case 570: // $@80: %empty +#line 2013 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3288 "dhcp4_parser.cc" +#line 3298 "dhcp4_parser.cc" break; - case 569: // option_data_entry: "{" $@80 option_data_params "}" -#line 2009 "dhcp4_parser.yy" + case 571: // option_data_entry: "{" $@80 option_data_params "}" +#line 2017 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 3297 "dhcp4_parser.cc" +#line 3307 "dhcp4_parser.cc" break; - case 570: // $@81: %empty -#line 2017 "dhcp4_parser.yy" + case 572: // $@81: %empty +#line 2025 "dhcp4_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3307 "dhcp4_parser.cc" +#line 3317 "dhcp4_parser.cc" break; - case 571: // sub_option_data: "{" $@81 option_data_params "}" -#line 2021 "dhcp4_parser.yy" + case 573: // sub_option_data: "{" $@81 option_data_params "}" +#line 2029 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 3316 "dhcp4_parser.cc" +#line 3326 "dhcp4_parser.cc" break; - case 576: // not_empty_option_data_params: not_empty_option_data_params "," -#line 2037 "dhcp4_parser.yy" + case 578: // not_empty_option_data_params: not_empty_option_data_params "," +#line 2045 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3324 "dhcp4_parser.cc" +#line 3334 "dhcp4_parser.cc" break; - case 588: // $@82: %empty -#line 2058 "dhcp4_parser.yy" + case 590: // $@82: %empty +#line 2066 "dhcp4_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3333 "dhcp4_parser.cc" +#line 3343 "dhcp4_parser.cc" break; - case 589: // option_data_data: "data" $@82 ":" "constant string" -#line 2061 "dhcp4_parser.yy" + case 591: // option_data_data: "data" $@82 ":" "constant string" +#line 2069 "dhcp4_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 3343 "dhcp4_parser.cc" +#line 3353 "dhcp4_parser.cc" break; - case 592: // option_data_csv_format: "csv-format" ":" "boolean" -#line 2071 "dhcp4_parser.yy" + case 594: // option_data_csv_format: "csv-format" ":" "boolean" +#line 2079 "dhcp4_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr csv(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", csv); } -#line 3353 "dhcp4_parser.cc" +#line 3363 "dhcp4_parser.cc" break; - case 593: // option_data_always_send: "always-send" ":" "boolean" -#line 2077 "dhcp4_parser.yy" + case 595: // option_data_always_send: "always-send" ":" "boolean" +#line 2085 "dhcp4_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 3363 "dhcp4_parser.cc" +#line 3373 "dhcp4_parser.cc" break; - case 594: // option_data_never_send: "never-send" ":" "boolean" -#line 2083 "dhcp4_parser.yy" + case 596: // option_data_never_send: "never-send" ":" "boolean" +#line 2091 "dhcp4_parser.yy" { ctx.unique("never-send", ctx.loc2pos(yystack_[2].location)); ElementPtr cancel(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("never-send", cancel); } -#line 3373 "dhcp4_parser.cc" +#line 3383 "dhcp4_parser.cc" break; - case 595: // $@83: %empty -#line 2092 "dhcp4_parser.yy" + case 597: // $@83: %empty +#line 2100 "dhcp4_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3381,113 +3391,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 3385 "dhcp4_parser.cc" +#line 3395 "dhcp4_parser.cc" break; - case 596: // pools_list: "pools" $@83 ":" "[" pools_list_content "]" -#line 2098 "dhcp4_parser.yy" + case 598: // pools_list: "pools" $@83 ":" "[" pools_list_content "]" +#line 2106 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3394 "dhcp4_parser.cc" +#line 3404 "dhcp4_parser.cc" break; - case 601: // not_empty_pools_list: not_empty_pools_list "," -#line 2111 "dhcp4_parser.yy" + case 603: // not_empty_pools_list: not_empty_pools_list "," +#line 2119 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3402 "dhcp4_parser.cc" +#line 3412 "dhcp4_parser.cc" break; - case 602: // $@84: %empty -#line 2116 "dhcp4_parser.yy" + case 604: // $@84: %empty +#line 2124 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3412 "dhcp4_parser.cc" +#line 3422 "dhcp4_parser.cc" break; - case 603: // pool_list_entry: "{" $@84 pool_params "}" -#line 2120 "dhcp4_parser.yy" + case 605: // pool_list_entry: "{" $@84 pool_params "}" +#line 2128 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3422 "dhcp4_parser.cc" +#line 3432 "dhcp4_parser.cc" break; - case 604: // $@85: %empty -#line 2126 "dhcp4_parser.yy" + case 606: // $@85: %empty +#line 2134 "dhcp4_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3432 "dhcp4_parser.cc" +#line 3442 "dhcp4_parser.cc" break; - case 605: // sub_pool4: "{" $@85 pool_params "}" -#line 2130 "dhcp4_parser.yy" + case 607: // sub_pool4: "{" $@85 pool_params "}" +#line 2138 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3442 "dhcp4_parser.cc" +#line 3452 "dhcp4_parser.cc" break; - case 608: // pool_params: pool_params "," -#line 2138 "dhcp4_parser.yy" + case 610: // pool_params: pool_params "," +#line 2146 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3450 "dhcp4_parser.cc" +#line 3460 "dhcp4_parser.cc" break; - case 617: // $@86: %empty -#line 2153 "dhcp4_parser.yy" + case 619: // $@86: %empty +#line 2161 "dhcp4_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3459 "dhcp4_parser.cc" +#line 3469 "dhcp4_parser.cc" break; - case 618: // pool_entry: "pool" $@86 ":" "constant string" -#line 2156 "dhcp4_parser.yy" + case 620: // pool_entry: "pool" $@86 ":" "constant string" +#line 2164 "dhcp4_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 3469 "dhcp4_parser.cc" +#line 3479 "dhcp4_parser.cc" break; - case 619: // pool_id: "pool-id" ":" "integer" -#line 2162 "dhcp4_parser.yy" + case 621: // pool_id: "pool-id" ":" "integer" +#line 2170 "dhcp4_parser.yy" { ctx.unique("pool-id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool-id", id); } -#line 3479 "dhcp4_parser.cc" +#line 3489 "dhcp4_parser.cc" break; - case 620: // $@87: %empty -#line 2168 "dhcp4_parser.yy" + case 622: // $@87: %empty +#line 2176 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3487 "dhcp4_parser.cc" +#line 3497 "dhcp4_parser.cc" break; - case 621: // user_context: "user-context" $@87 ":" map_value -#line 2170 "dhcp4_parser.yy" + case 623: // user_context: "user-context" $@87 ":" map_value +#line 2178 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3510,19 +3520,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3514 "dhcp4_parser.cc" +#line 3524 "dhcp4_parser.cc" break; - case 622: // $@88: %empty -#line 2193 "dhcp4_parser.yy" + case 624: // $@88: %empty +#line 2201 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3522 "dhcp4_parser.cc" +#line 3532 "dhcp4_parser.cc" break; - case 623: // comment: "comment" $@88 ":" "constant string" -#line 2195 "dhcp4_parser.yy" + case 625: // comment: "comment" $@88 ":" "constant string" +#line 2203 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3547,11 +3557,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3551 "dhcp4_parser.cc" +#line 3561 "dhcp4_parser.cc" break; - case 624: // $@89: %empty -#line 2223 "dhcp4_parser.yy" + case 626: // $@89: %empty +#line 2231 "dhcp4_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3559,150 +3569,150 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3563 "dhcp4_parser.cc" +#line 3573 "dhcp4_parser.cc" break; - case 625: // reservations: "reservations" $@89 ":" "[" reservations_list "]" -#line 2229 "dhcp4_parser.yy" + case 627: // reservations: "reservations" $@89 ":" "[" reservations_list "]" +#line 2237 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3572 "dhcp4_parser.cc" +#line 3582 "dhcp4_parser.cc" break; - case 630: // not_empty_reservations_list: not_empty_reservations_list "," -#line 2240 "dhcp4_parser.yy" + case 632: // not_empty_reservations_list: not_empty_reservations_list "," +#line 2248 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3580 "dhcp4_parser.cc" +#line 3590 "dhcp4_parser.cc" break; - case 631: // $@90: %empty -#line 2245 "dhcp4_parser.yy" + case 633: // $@90: %empty +#line 2253 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3590 "dhcp4_parser.cc" +#line 3600 "dhcp4_parser.cc" break; - case 632: // reservation: "{" $@90 reservation_params "}" -#line 2249 "dhcp4_parser.yy" + case 634: // reservation: "{" $@90 reservation_params "}" +#line 2257 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3599 "dhcp4_parser.cc" +#line 3609 "dhcp4_parser.cc" break; - case 633: // $@91: %empty -#line 2254 "dhcp4_parser.yy" + case 635: // $@91: %empty +#line 2262 "dhcp4_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3609 "dhcp4_parser.cc" +#line 3619 "dhcp4_parser.cc" break; - case 634: // sub_reservation: "{" $@91 reservation_params "}" -#line 2258 "dhcp4_parser.yy" + case 636: // sub_reservation: "{" $@91 reservation_params "}" +#line 2266 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3618 "dhcp4_parser.cc" +#line 3628 "dhcp4_parser.cc" break; - case 639: // not_empty_reservation_params: not_empty_reservation_params "," -#line 2269 "dhcp4_parser.yy" + case 641: // not_empty_reservation_params: not_empty_reservation_params "," +#line 2277 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3626 "dhcp4_parser.cc" +#line 3636 "dhcp4_parser.cc" break; - case 655: // $@92: %empty -#line 2292 "dhcp4_parser.yy" + case 657: // $@92: %empty +#line 2300 "dhcp4_parser.yy" { ctx.unique("next-server", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3635 "dhcp4_parser.cc" +#line 3645 "dhcp4_parser.cc" break; - case 656: // next_server: "next-server" $@92 ":" "constant string" -#line 2295 "dhcp4_parser.yy" + case 658: // next_server: "next-server" $@92 ":" "constant string" +#line 2303 "dhcp4_parser.yy" { ElementPtr next_server(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("next-server", next_server); ctx.leave(); } -#line 3645 "dhcp4_parser.cc" +#line 3655 "dhcp4_parser.cc" break; - case 657: // $@93: %empty -#line 2301 "dhcp4_parser.yy" + case 659: // $@93: %empty +#line 2309 "dhcp4_parser.yy" { ctx.unique("server-hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3654 "dhcp4_parser.cc" +#line 3664 "dhcp4_parser.cc" break; - case 658: // server_hostname: "server-hostname" $@93 ":" "constant string" -#line 2304 "dhcp4_parser.yy" + case 660: // server_hostname: "server-hostname" $@93 ":" "constant string" +#line 2312 "dhcp4_parser.yy" { ElementPtr srv(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-hostname", srv); ctx.leave(); } -#line 3664 "dhcp4_parser.cc" +#line 3674 "dhcp4_parser.cc" break; - case 659: // $@94: %empty -#line 2310 "dhcp4_parser.yy" + case 661: // $@94: %empty +#line 2318 "dhcp4_parser.yy" { ctx.unique("boot-file-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3673 "dhcp4_parser.cc" +#line 3683 "dhcp4_parser.cc" break; - case 660: // boot_file_name: "boot-file-name" $@94 ":" "constant string" -#line 2313 "dhcp4_parser.yy" + case 662: // boot_file_name: "boot-file-name" $@94 ":" "constant string" +#line 2321 "dhcp4_parser.yy" { ElementPtr bootfile(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("boot-file-name", bootfile); ctx.leave(); } -#line 3683 "dhcp4_parser.cc" +#line 3693 "dhcp4_parser.cc" break; - case 661: // $@95: %empty -#line 2319 "dhcp4_parser.yy" + case 663: // $@95: %empty +#line 2327 "dhcp4_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3692 "dhcp4_parser.cc" +#line 3702 "dhcp4_parser.cc" break; - case 662: // ip_address: "ip-address" $@95 ":" "constant string" -#line 2322 "dhcp4_parser.yy" + case 664: // ip_address: "ip-address" $@95 ":" "constant string" +#line 2330 "dhcp4_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); ctx.leave(); } -#line 3702 "dhcp4_parser.cc" +#line 3712 "dhcp4_parser.cc" break; - case 663: // $@96: %empty -#line 2328 "dhcp4_parser.yy" + case 665: // $@96: %empty +#line 2336 "dhcp4_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3710,134 +3720,134 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3714 "dhcp4_parser.cc" +#line 3724 "dhcp4_parser.cc" break; - case 664: // ip_addresses: "ip-addresses" $@96 ":" list_strings -#line 2334 "dhcp4_parser.yy" + case 666: // ip_addresses: "ip-addresses" $@96 ":" list_strings +#line 2342 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3723 "dhcp4_parser.cc" +#line 3733 "dhcp4_parser.cc" break; - case 665: // $@97: %empty -#line 2339 "dhcp4_parser.yy" + case 667: // $@97: %empty +#line 2347 "dhcp4_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3732 "dhcp4_parser.cc" +#line 3742 "dhcp4_parser.cc" break; - case 666: // duid: "duid" $@97 ":" "constant string" -#line 2342 "dhcp4_parser.yy" + case 668: // duid: "duid" $@97 ":" "constant string" +#line 2350 "dhcp4_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3742 "dhcp4_parser.cc" +#line 3752 "dhcp4_parser.cc" break; - case 667: // $@98: %empty -#line 2348 "dhcp4_parser.yy" + case 669: // $@98: %empty +#line 2356 "dhcp4_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3751 "dhcp4_parser.cc" +#line 3761 "dhcp4_parser.cc" break; - case 668: // hw_address: "hw-address" $@98 ":" "constant string" -#line 2351 "dhcp4_parser.yy" + case 670: // hw_address: "hw-address" $@98 ":" "constant string" +#line 2359 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 3761 "dhcp4_parser.cc" +#line 3771 "dhcp4_parser.cc" break; - case 669: // $@99: %empty -#line 2357 "dhcp4_parser.yy" + case 671: // $@99: %empty +#line 2365 "dhcp4_parser.yy" { ctx.unique("client-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3770 "dhcp4_parser.cc" +#line 3780 "dhcp4_parser.cc" break; - case 670: // client_id_value: "client-id" $@99 ":" "constant string" -#line 2360 "dhcp4_parser.yy" + case 672: // client_id_value: "client-id" $@99 ":" "constant string" +#line 2368 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-id", hw); ctx.leave(); } -#line 3780 "dhcp4_parser.cc" +#line 3790 "dhcp4_parser.cc" break; - case 671: // $@100: %empty -#line 2366 "dhcp4_parser.yy" + case 673: // $@100: %empty +#line 2374 "dhcp4_parser.yy" { ctx.unique("circuit-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3789 "dhcp4_parser.cc" +#line 3799 "dhcp4_parser.cc" break; - case 672: // circuit_id_value: "circuit-id" $@100 ":" "constant string" -#line 2369 "dhcp4_parser.yy" + case 674: // circuit_id_value: "circuit-id" $@100 ":" "constant string" +#line 2377 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("circuit-id", hw); ctx.leave(); } -#line 3799 "dhcp4_parser.cc" +#line 3809 "dhcp4_parser.cc" break; - case 673: // $@101: %empty -#line 2375 "dhcp4_parser.yy" + case 675: // $@101: %empty +#line 2383 "dhcp4_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3808 "dhcp4_parser.cc" +#line 3818 "dhcp4_parser.cc" break; - case 674: // flex_id_value: "flex-id" $@101 ":" "constant string" -#line 2378 "dhcp4_parser.yy" + case 676: // flex_id_value: "flex-id" $@101 ":" "constant string" +#line 2386 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 3818 "dhcp4_parser.cc" +#line 3828 "dhcp4_parser.cc" break; - case 675: // $@102: %empty -#line 2384 "dhcp4_parser.yy" + case 677: // $@102: %empty +#line 2392 "dhcp4_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3827 "dhcp4_parser.cc" +#line 3837 "dhcp4_parser.cc" break; - case 676: // hostname: "hostname" $@102 ":" "constant string" -#line 2387 "dhcp4_parser.yy" + case 678: // hostname: "hostname" $@102 ":" "constant string" +#line 2395 "dhcp4_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3837 "dhcp4_parser.cc" +#line 3847 "dhcp4_parser.cc" break; - case 677: // $@103: %empty -#line 2393 "dhcp4_parser.yy" + case 679: // $@103: %empty +#line 2401 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3845,20 +3855,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3849 "dhcp4_parser.cc" +#line 3859 "dhcp4_parser.cc" break; - case 678: // reservation_client_classes: "client-classes" $@103 ":" list_strings -#line 2399 "dhcp4_parser.yy" + case 680: // reservation_client_classes: "client-classes" $@103 ":" list_strings +#line 2407 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3858 "dhcp4_parser.cc" +#line 3868 "dhcp4_parser.cc" break; - case 679: // $@104: %empty -#line 2407 "dhcp4_parser.yy" + case 681: // $@104: %empty +#line 2415 "dhcp4_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3866,20 +3876,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 3870 "dhcp4_parser.cc" +#line 3880 "dhcp4_parser.cc" break; - case 680: // relay: "relay" $@104 ":" "{" relay_map "}" -#line 2413 "dhcp4_parser.yy" + case 682: // relay: "relay" $@104 ":" "{" relay_map "}" +#line 2421 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3879 "dhcp4_parser.cc" +#line 3889 "dhcp4_parser.cc" break; - case 683: // $@105: %empty -#line 2425 "dhcp4_parser.yy" + case 685: // $@105: %empty +#line 2433 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3887,114 +3897,114 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 3891 "dhcp4_parser.cc" +#line 3901 "dhcp4_parser.cc" break; - case 684: // client_classes: "client-classes" $@105 ":" "[" client_classes_list "]" -#line 2431 "dhcp4_parser.yy" + case 686: // client_classes: "client-classes" $@105 ":" "[" client_classes_list "]" +#line 2439 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3900 "dhcp4_parser.cc" +#line 3910 "dhcp4_parser.cc" break; - case 687: // client_classes_list: client_classes_list "," -#line 2438 "dhcp4_parser.yy" + case 689: // client_classes_list: client_classes_list "," +#line 2446 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3908 "dhcp4_parser.cc" +#line 3918 "dhcp4_parser.cc" break; - case 688: // $@106: %empty -#line 2443 "dhcp4_parser.yy" + case 690: // $@106: %empty +#line 2451 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3918 "dhcp4_parser.cc" +#line 3928 "dhcp4_parser.cc" break; - case 689: // client_class_entry: "{" $@106 client_class_params "}" -#line 2447 "dhcp4_parser.yy" + case 691: // client_class_entry: "{" $@106 client_class_params "}" +#line 2455 "dhcp4_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3928 "dhcp4_parser.cc" +#line 3938 "dhcp4_parser.cc" break; - case 694: // not_empty_client_class_params: not_empty_client_class_params "," -#line 2459 "dhcp4_parser.yy" + case 696: // not_empty_client_class_params: not_empty_client_class_params "," +#line 2467 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3936 "dhcp4_parser.cc" +#line 3946 "dhcp4_parser.cc" break; - case 712: // $@107: %empty -#line 2484 "dhcp4_parser.yy" + case 714: // $@107: %empty +#line 2492 "dhcp4_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3945 "dhcp4_parser.cc" +#line 3955 "dhcp4_parser.cc" break; - case 713: // client_class_test: "test" $@107 ":" "constant string" -#line 2487 "dhcp4_parser.yy" + case 715: // client_class_test: "test" $@107 ":" "constant string" +#line 2495 "dhcp4_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 3955 "dhcp4_parser.cc" +#line 3965 "dhcp4_parser.cc" break; - case 714: // $@108: %empty -#line 2493 "dhcp4_parser.yy" + case 716: // $@108: %empty +#line 2501 "dhcp4_parser.yy" { ctx.unique("template-test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3964 "dhcp4_parser.cc" +#line 3974 "dhcp4_parser.cc" break; - case 715: // client_class_template_test: "template-test" $@108 ":" "constant string" -#line 2496 "dhcp4_parser.yy" + case 717: // client_class_template_test: "template-test" $@108 ":" "constant string" +#line 2504 "dhcp4_parser.yy" { ElementPtr template_test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("template-test", template_test); ctx.leave(); } -#line 3974 "dhcp4_parser.cc" +#line 3984 "dhcp4_parser.cc" break; - case 716: // only_if_required: "only-if-required" ":" "boolean" -#line 2502 "dhcp4_parser.yy" + case 718: // only_if_required: "only-if-required" ":" "boolean" +#line 2510 "dhcp4_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 3984 "dhcp4_parser.cc" +#line 3994 "dhcp4_parser.cc" break; - case 717: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2510 "dhcp4_parser.yy" + case 719: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2518 "dhcp4_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 3994 "dhcp4_parser.cc" +#line 4004 "dhcp4_parser.cc" break; - case 718: // $@109: %empty -#line 2518 "dhcp4_parser.yy" + case 720: // $@109: %empty +#line 2526 "dhcp4_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4002,66 +4012,66 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 4006 "dhcp4_parser.cc" +#line 4016 "dhcp4_parser.cc" break; - case 719: // control_socket: "control-socket" $@109 ":" "{" control_socket_params "}" -#line 2524 "dhcp4_parser.yy" + case 721: // control_socket: "control-socket" $@109 ":" "{" control_socket_params "}" +#line 2532 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4015 "dhcp4_parser.cc" +#line 4025 "dhcp4_parser.cc" break; - case 722: // control_socket_params: control_socket_params "," -#line 2531 "dhcp4_parser.yy" + case 724: // control_socket_params: control_socket_params "," +#line 2539 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4023 "dhcp4_parser.cc" +#line 4033 "dhcp4_parser.cc" break; - case 728: // $@110: %empty -#line 2543 "dhcp4_parser.yy" + case 730: // $@110: %empty +#line 2551 "dhcp4_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4032 "dhcp4_parser.cc" +#line 4042 "dhcp4_parser.cc" break; - case 729: // control_socket_type: "socket-type" $@110 ":" "constant string" -#line 2546 "dhcp4_parser.yy" + case 731: // control_socket_type: "socket-type" $@110 ":" "constant string" +#line 2554 "dhcp4_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 4042 "dhcp4_parser.cc" +#line 4052 "dhcp4_parser.cc" break; - case 730: // $@111: %empty -#line 2552 "dhcp4_parser.yy" + case 732: // $@111: %empty +#line 2560 "dhcp4_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4051 "dhcp4_parser.cc" +#line 4061 "dhcp4_parser.cc" break; - case 731: // control_socket_name: "socket-name" $@111 ":" "constant string" -#line 2555 "dhcp4_parser.yy" + case 733: // control_socket_name: "socket-name" $@111 ":" "constant string" +#line 2563 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 4061 "dhcp4_parser.cc" +#line 4071 "dhcp4_parser.cc" break; - case 732: // $@112: %empty -#line 2564 "dhcp4_parser.yy" + case 734: // $@112: %empty +#line 2572 "dhcp4_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4069,87 +4079,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 4073 "dhcp4_parser.cc" +#line 4083 "dhcp4_parser.cc" break; - case 733: // dhcp_queue_control: "dhcp-queue-control" $@112 ":" "{" queue_control_params "}" -#line 2570 "dhcp4_parser.yy" + case 735: // dhcp_queue_control: "dhcp-queue-control" $@112 ":" "{" queue_control_params "}" +#line 2578 "dhcp4_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4084 "dhcp4_parser.cc" +#line 4094 "dhcp4_parser.cc" break; - case 736: // queue_control_params: queue_control_params "," -#line 2579 "dhcp4_parser.yy" + case 738: // queue_control_params: queue_control_params "," +#line 2587 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4092 "dhcp4_parser.cc" +#line 4102 "dhcp4_parser.cc" break; - case 743: // enable_queue: "enable-queue" ":" "boolean" -#line 2592 "dhcp4_parser.yy" + case 745: // enable_queue: "enable-queue" ":" "boolean" +#line 2600 "dhcp4_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-queue", b); } -#line 4102 "dhcp4_parser.cc" +#line 4112 "dhcp4_parser.cc" break; - case 744: // $@113: %empty -#line 2598 "dhcp4_parser.yy" + case 746: // $@113: %empty +#line 2606 "dhcp4_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4111 "dhcp4_parser.cc" +#line 4121 "dhcp4_parser.cc" break; - case 745: // queue_type: "queue-type" $@113 ":" "constant string" -#line 2601 "dhcp4_parser.yy" + case 747: // queue_type: "queue-type" $@113 ":" "constant string" +#line 2609 "dhcp4_parser.yy" { ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("queue-type", qt); ctx.leave(); } -#line 4121 "dhcp4_parser.cc" +#line 4131 "dhcp4_parser.cc" break; - case 746: // capacity: "capacity" ":" "integer" -#line 2607 "dhcp4_parser.yy" + case 748: // capacity: "capacity" ":" "integer" +#line 2615 "dhcp4_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("capacity", c); } -#line 4131 "dhcp4_parser.cc" +#line 4141 "dhcp4_parser.cc" break; - case 747: // $@114: %empty -#line 2613 "dhcp4_parser.yy" + case 749: // $@114: %empty +#line 2621 "dhcp4_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4140 "dhcp4_parser.cc" +#line 4150 "dhcp4_parser.cc" break; - case 748: // arbitrary_map_entry: "constant string" $@114 ":" value -#line 2616 "dhcp4_parser.yy" + case 750: // arbitrary_map_entry: "constant string" $@114 ":" value +#line 2624 "dhcp4_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4149 "dhcp4_parser.cc" +#line 4159 "dhcp4_parser.cc" break; - case 749: // $@115: %empty -#line 2623 "dhcp4_parser.yy" + case 751: // $@115: %empty +#line 2631 "dhcp4_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4157,291 +4167,291 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 4161 "dhcp4_parser.cc" +#line 4171 "dhcp4_parser.cc" break; - case 750: // dhcp_ddns: "dhcp-ddns" $@115 ":" "{" dhcp_ddns_params "}" -#line 2629 "dhcp4_parser.yy" + case 752: // dhcp_ddns: "dhcp-ddns" $@115 ":" "{" dhcp_ddns_params "}" +#line 2637 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4172 "dhcp4_parser.cc" +#line 4182 "dhcp4_parser.cc" break; - case 751: // $@116: %empty -#line 2636 "dhcp4_parser.yy" + case 753: // $@116: %empty +#line 2644 "dhcp4_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4182 "dhcp4_parser.cc" +#line 4192 "dhcp4_parser.cc" break; - case 752: // sub_dhcp_ddns: "{" $@116 dhcp_ddns_params "}" -#line 2640 "dhcp4_parser.yy" + case 754: // sub_dhcp_ddns: "{" $@116 dhcp_ddns_params "}" +#line 2648 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 4192 "dhcp4_parser.cc" +#line 4202 "dhcp4_parser.cc" break; - case 755: // dhcp_ddns_params: dhcp_ddns_params "," -#line 2648 "dhcp4_parser.yy" + case 757: // dhcp_ddns_params: dhcp_ddns_params "," +#line 2656 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4200 "dhcp4_parser.cc" +#line 4210 "dhcp4_parser.cc" break; - case 774: // enable_updates: "enable-updates" ":" "boolean" -#line 2673 "dhcp4_parser.yy" + case 776: // enable_updates: "enable-updates" ":" "boolean" +#line 2681 "dhcp4_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 4210 "dhcp4_parser.cc" +#line 4220 "dhcp4_parser.cc" break; - case 775: // $@117: %empty -#line 2679 "dhcp4_parser.yy" + case 777: // $@117: %empty +#line 2687 "dhcp4_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4219 "dhcp4_parser.cc" +#line 4229 "dhcp4_parser.cc" break; - case 776: // server_ip: "server-ip" $@117 ":" "constant string" -#line 2682 "dhcp4_parser.yy" + case 778: // server_ip: "server-ip" $@117 ":" "constant string" +#line 2690 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 4229 "dhcp4_parser.cc" +#line 4239 "dhcp4_parser.cc" break; - case 777: // server_port: "server-port" ":" "integer" -#line 2688 "dhcp4_parser.yy" + case 779: // server_port: "server-port" ":" "integer" +#line 2696 "dhcp4_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 4239 "dhcp4_parser.cc" +#line 4249 "dhcp4_parser.cc" break; - case 778: // $@118: %empty -#line 2694 "dhcp4_parser.yy" + case 780: // $@118: %empty +#line 2702 "dhcp4_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4248 "dhcp4_parser.cc" +#line 4258 "dhcp4_parser.cc" break; - case 779: // sender_ip: "sender-ip" $@118 ":" "constant string" -#line 2697 "dhcp4_parser.yy" + case 781: // sender_ip: "sender-ip" $@118 ":" "constant string" +#line 2705 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 4258 "dhcp4_parser.cc" +#line 4268 "dhcp4_parser.cc" break; - case 780: // sender_port: "sender-port" ":" "integer" -#line 2703 "dhcp4_parser.yy" + case 782: // sender_port: "sender-port" ":" "integer" +#line 2711 "dhcp4_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 4268 "dhcp4_parser.cc" +#line 4278 "dhcp4_parser.cc" break; - case 781: // max_queue_size: "max-queue-size" ":" "integer" -#line 2709 "dhcp4_parser.yy" + case 783: // max_queue_size: "max-queue-size" ":" "integer" +#line 2717 "dhcp4_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 4278 "dhcp4_parser.cc" +#line 4288 "dhcp4_parser.cc" break; - case 782: // $@119: %empty -#line 2715 "dhcp4_parser.yy" + case 784: // $@119: %empty +#line 2723 "dhcp4_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 4287 "dhcp4_parser.cc" +#line 4297 "dhcp4_parser.cc" break; - case 783: // ncr_protocol: "ncr-protocol" $@119 ":" ncr_protocol_value -#line 2718 "dhcp4_parser.yy" + case 785: // ncr_protocol: "ncr-protocol" $@119 ":" ncr_protocol_value +#line 2726 "dhcp4_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4296 "dhcp4_parser.cc" +#line 4306 "dhcp4_parser.cc" break; - case 784: // ncr_protocol_value: "udp" -#line 2724 "dhcp4_parser.yy" + case 786: // ncr_protocol_value: "udp" +#line 2732 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 4302 "dhcp4_parser.cc" +#line 4312 "dhcp4_parser.cc" break; - case 785: // ncr_protocol_value: "tcp" -#line 2725 "dhcp4_parser.yy" + case 787: // ncr_protocol_value: "tcp" +#line 2733 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 4308 "dhcp4_parser.cc" +#line 4318 "dhcp4_parser.cc" break; - case 786: // $@120: %empty -#line 2728 "dhcp4_parser.yy" + case 788: // $@120: %empty +#line 2736 "dhcp4_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 4317 "dhcp4_parser.cc" +#line 4327 "dhcp4_parser.cc" break; - case 787: // ncr_format: "ncr-format" $@120 ":" "JSON" -#line 2731 "dhcp4_parser.yy" + case 789: // ncr_format: "ncr-format" $@120 ":" "JSON" +#line 2739 "dhcp4_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 4327 "dhcp4_parser.cc" +#line 4337 "dhcp4_parser.cc" break; - case 788: // $@121: %empty -#line 2738 "dhcp4_parser.yy" + case 790: // $@121: %empty +#line 2746 "dhcp4_parser.yy" { ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4336 "dhcp4_parser.cc" +#line 4346 "dhcp4_parser.cc" break; - case 789: // dep_qualifying_suffix: "qualifying-suffix" $@121 ":" "constant string" -#line 2741 "dhcp4_parser.yy" + case 791: // dep_qualifying_suffix: "qualifying-suffix" $@121 ":" "constant string" +#line 2749 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("qualifying-suffix", s); ctx.leave(); } -#line 4346 "dhcp4_parser.cc" +#line 4356 "dhcp4_parser.cc" break; - case 790: // dep_override_no_update: "override-no-update" ":" "boolean" -#line 2748 "dhcp4_parser.yy" + case 792: // dep_override_no_update: "override-no-update" ":" "boolean" +#line 2756 "dhcp4_parser.yy" { ctx.unique("override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 4356 "dhcp4_parser.cc" +#line 4366 "dhcp4_parser.cc" break; - case 791: // dep_override_client_update: "override-client-update" ":" "boolean" -#line 2755 "dhcp4_parser.yy" + case 793: // dep_override_client_update: "override-client-update" ":" "boolean" +#line 2763 "dhcp4_parser.yy" { ctx.unique("override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 4366 "dhcp4_parser.cc" +#line 4376 "dhcp4_parser.cc" break; - case 792: // $@122: %empty -#line 2762 "dhcp4_parser.yy" + case 794: // $@122: %empty +#line 2770 "dhcp4_parser.yy" { ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 4375 "dhcp4_parser.cc" +#line 4385 "dhcp4_parser.cc" break; - case 793: // dep_replace_client_name: "replace-client-name" $@122 ":" ddns_replace_client_name_value -#line 2765 "dhcp4_parser.yy" + case 795: // dep_replace_client_name: "replace-client-name" $@122 ":" ddns_replace_client_name_value +#line 2773 "dhcp4_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4384 "dhcp4_parser.cc" +#line 4394 "dhcp4_parser.cc" break; - case 794: // $@123: %empty -#line 2771 "dhcp4_parser.yy" + case 796: // $@123: %empty +#line 2779 "dhcp4_parser.yy" { ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4393 "dhcp4_parser.cc" +#line 4403 "dhcp4_parser.cc" break; - case 795: // dep_generated_prefix: "generated-prefix" $@123 ":" "constant string" -#line 2774 "dhcp4_parser.yy" + case 797: // dep_generated_prefix: "generated-prefix" $@123 ":" "constant string" +#line 2782 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("generated-prefix", s); ctx.leave(); } -#line 4403 "dhcp4_parser.cc" +#line 4413 "dhcp4_parser.cc" break; - case 796: // $@124: %empty -#line 2781 "dhcp4_parser.yy" + case 798: // $@124: %empty +#line 2789 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4412 "dhcp4_parser.cc" +#line 4422 "dhcp4_parser.cc" break; - case 797: // dep_hostname_char_set: "hostname-char-set" $@124 ":" "constant string" -#line 2784 "dhcp4_parser.yy" + case 799: // dep_hostname_char_set: "hostname-char-set" $@124 ":" "constant string" +#line 2792 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 4422 "dhcp4_parser.cc" +#line 4432 "dhcp4_parser.cc" break; - case 798: // $@125: %empty -#line 2791 "dhcp4_parser.yy" + case 800: // $@125: %empty +#line 2799 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4431 "dhcp4_parser.cc" +#line 4441 "dhcp4_parser.cc" break; - case 799: // dep_hostname_char_replacement: "hostname-char-replacement" $@125 ":" "constant string" -#line 2794 "dhcp4_parser.yy" + case 801: // dep_hostname_char_replacement: "hostname-char-replacement" $@125 ":" "constant string" +#line 2802 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 4441 "dhcp4_parser.cc" +#line 4451 "dhcp4_parser.cc" break; - case 800: // $@126: %empty -#line 2803 "dhcp4_parser.yy" + case 802: // $@126: %empty +#line 2811 "dhcp4_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4449,48 +4459,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 4453 "dhcp4_parser.cc" +#line 4463 "dhcp4_parser.cc" break; - case 801: // config_control: "config-control" $@126 ":" "{" config_control_params "}" -#line 2809 "dhcp4_parser.yy" + case 803: // config_control: "config-control" $@126 ":" "{" config_control_params "}" +#line 2817 "dhcp4_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 4463 "dhcp4_parser.cc" +#line 4473 "dhcp4_parser.cc" break; - case 802: // $@127: %empty -#line 2815 "dhcp4_parser.yy" + case 804: // $@127: %empty +#line 2823 "dhcp4_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4473 "dhcp4_parser.cc" +#line 4483 "dhcp4_parser.cc" break; - case 803: // sub_config_control: "{" $@127 config_control_params "}" -#line 2819 "dhcp4_parser.yy" + case 805: // sub_config_control: "{" $@127 config_control_params "}" +#line 2827 "dhcp4_parser.yy" { // No config_control params are required // parsing completed } -#line 4482 "dhcp4_parser.cc" +#line 4492 "dhcp4_parser.cc" break; - case 806: // config_control_params: config_control_params "," -#line 2827 "dhcp4_parser.yy" + case 808: // config_control_params: config_control_params "," +#line 2835 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4490 "dhcp4_parser.cc" +#line 4500 "dhcp4_parser.cc" break; - case 809: // $@128: %empty -#line 2837 "dhcp4_parser.yy" + case 811: // $@128: %empty +#line 2845 "dhcp4_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4498,30 +4508,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 4502 "dhcp4_parser.cc" +#line 4512 "dhcp4_parser.cc" break; - case 810: // config_databases: "config-databases" $@128 ":" "[" database_list "]" -#line 2843 "dhcp4_parser.yy" + case 812: // config_databases: "config-databases" $@128 ":" "[" database_list "]" +#line 2851 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4511 "dhcp4_parser.cc" +#line 4521 "dhcp4_parser.cc" break; - case 811: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2848 "dhcp4_parser.yy" + case 813: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 2856 "dhcp4_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 4521 "dhcp4_parser.cc" +#line 4531 "dhcp4_parser.cc" break; - case 812: // $@129: %empty -#line 2856 "dhcp4_parser.yy" + case 814: // $@129: %empty +#line 2864 "dhcp4_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4529,83 +4539,83 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 4533 "dhcp4_parser.cc" +#line 4543 "dhcp4_parser.cc" break; - case 813: // loggers: "loggers" $@129 ":" "[" loggers_entries "]" -#line 2862 "dhcp4_parser.yy" + case 815: // loggers: "loggers" $@129 ":" "[" loggers_entries "]" +#line 2870 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4542 "dhcp4_parser.cc" +#line 4552 "dhcp4_parser.cc" break; - case 816: // loggers_entries: loggers_entries "," -#line 2871 "dhcp4_parser.yy" + case 818: // loggers_entries: loggers_entries "," +#line 2879 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4550 "dhcp4_parser.cc" +#line 4560 "dhcp4_parser.cc" break; - case 817: // $@130: %empty -#line 2877 "dhcp4_parser.yy" + case 819: // $@130: %empty +#line 2885 "dhcp4_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 4560 "dhcp4_parser.cc" +#line 4570 "dhcp4_parser.cc" break; - case 818: // logger_entry: "{" $@130 logger_params "}" -#line 2881 "dhcp4_parser.yy" + case 820: // logger_entry: "{" $@130 logger_params "}" +#line 2889 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4568 "dhcp4_parser.cc" +#line 4578 "dhcp4_parser.cc" break; - case 821: // logger_params: logger_params "," -#line 2887 "dhcp4_parser.yy" + case 823: // logger_params: logger_params "," +#line 2895 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4576 "dhcp4_parser.cc" +#line 4586 "dhcp4_parser.cc" break; - case 829: // debuglevel: "debuglevel" ":" "integer" -#line 2901 "dhcp4_parser.yy" + case 831: // debuglevel: "debuglevel" ":" "integer" +#line 2909 "dhcp4_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 4586 "dhcp4_parser.cc" +#line 4596 "dhcp4_parser.cc" break; - case 830: // $@131: %empty -#line 2907 "dhcp4_parser.yy" + case 832: // $@131: %empty +#line 2915 "dhcp4_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4595 "dhcp4_parser.cc" +#line 4605 "dhcp4_parser.cc" break; - case 831: // severity: "severity" $@131 ":" "constant string" -#line 2910 "dhcp4_parser.yy" + case 833: // severity: "severity" $@131 ":" "constant string" +#line 2918 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 4605 "dhcp4_parser.cc" +#line 4615 "dhcp4_parser.cc" break; - case 832: // $@132: %empty -#line 2916 "dhcp4_parser.yy" + case 834: // $@132: %empty +#line 2924 "dhcp4_parser.yy" { ctx.unique("output-options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4613,122 +4623,122 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 4617 "dhcp4_parser.cc" +#line 4627 "dhcp4_parser.cc" break; - case 833: // output_options_list: "output-options" $@132 ":" "[" output_options_list_content "]" -#line 2922 "dhcp4_parser.yy" + case 835: // output_options_list: "output-options" $@132 ":" "[" output_options_list_content "]" +#line 2930 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4626 "dhcp4_parser.cc" +#line 4636 "dhcp4_parser.cc" break; - case 836: // output_options_list_content: output_options_list_content "," -#line 2929 "dhcp4_parser.yy" + case 838: // output_options_list_content: output_options_list_content "," +#line 2937 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4634 "dhcp4_parser.cc" +#line 4644 "dhcp4_parser.cc" break; - case 837: // $@133: %empty -#line 2934 "dhcp4_parser.yy" + case 839: // $@133: %empty +#line 2942 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4644 "dhcp4_parser.cc" +#line 4654 "dhcp4_parser.cc" break; - case 838: // output_entry: "{" $@133 output_params_list "}" -#line 2938 "dhcp4_parser.yy" + case 840: // output_entry: "{" $@133 output_params_list "}" +#line 2946 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4652 "dhcp4_parser.cc" +#line 4662 "dhcp4_parser.cc" break; - case 841: // output_params_list: output_params_list "," -#line 2944 "dhcp4_parser.yy" + case 843: // output_params_list: output_params_list "," +#line 2952 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4660 "dhcp4_parser.cc" +#line 4670 "dhcp4_parser.cc" break; - case 847: // $@134: %empty -#line 2956 "dhcp4_parser.yy" + case 849: // $@134: %empty +#line 2964 "dhcp4_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4669 "dhcp4_parser.cc" +#line 4679 "dhcp4_parser.cc" break; - case 848: // output: "output" $@134 ":" "constant string" -#line 2959 "dhcp4_parser.yy" + case 850: // output: "output" $@134 ":" "constant string" +#line 2967 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 4679 "dhcp4_parser.cc" +#line 4689 "dhcp4_parser.cc" break; - case 849: // flush: "flush" ":" "boolean" -#line 2965 "dhcp4_parser.yy" + case 851: // flush: "flush" ":" "boolean" +#line 2973 "dhcp4_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 4689 "dhcp4_parser.cc" +#line 4699 "dhcp4_parser.cc" break; - case 850: // maxsize: "maxsize" ":" "integer" -#line 2971 "dhcp4_parser.yy" + case 852: // maxsize: "maxsize" ":" "integer" +#line 2979 "dhcp4_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 4699 "dhcp4_parser.cc" +#line 4709 "dhcp4_parser.cc" break; - case 851: // maxver: "maxver" ":" "integer" -#line 2977 "dhcp4_parser.yy" + case 853: // maxver: "maxver" ":" "integer" +#line 2985 "dhcp4_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 4709 "dhcp4_parser.cc" +#line 4719 "dhcp4_parser.cc" break; - case 852: // $@135: %empty -#line 2983 "dhcp4_parser.yy" + case 854: // $@135: %empty +#line 2991 "dhcp4_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4718 "dhcp4_parser.cc" +#line 4728 "dhcp4_parser.cc" break; - case 853: // pattern: "pattern" $@135 ":" "constant string" -#line 2986 "dhcp4_parser.yy" + case 855: // pattern: "pattern" $@135 ":" "constant string" +#line 2994 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 4728 "dhcp4_parser.cc" +#line 4738 "dhcp4_parser.cc" break; - case 854: // $@136: %empty -#line 2992 "dhcp4_parser.yy" + case 856: // $@136: %empty +#line 3000 "dhcp4_parser.yy" { ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4736,68 +4746,68 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.COMPATIBILITY); } -#line 4740 "dhcp4_parser.cc" +#line 4750 "dhcp4_parser.cc" break; - case 855: // compatibility: "compatibility" $@136 ":" "{" compatibility_params "}" -#line 2998 "dhcp4_parser.yy" + case 857: // compatibility: "compatibility" $@136 ":" "{" compatibility_params "}" +#line 3006 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4749 "dhcp4_parser.cc" +#line 4759 "dhcp4_parser.cc" break; - case 858: // compatibility_params: compatibility_params "," -#line 3005 "dhcp4_parser.yy" + case 860: // compatibility_params: compatibility_params "," +#line 3013 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4757 "dhcp4_parser.cc" +#line 4767 "dhcp4_parser.cc" break; - case 864: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" -#line 3017 "dhcp4_parser.yy" + case 866: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" +#line 3025 "dhcp4_parser.yy" { ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lenient-option-parsing", b); } -#line 4767 "dhcp4_parser.cc" +#line 4777 "dhcp4_parser.cc" break; - case 865: // ignore_dhcp_server_identifier: "ignore-dhcp-server-identifier" ":" "boolean" -#line 3023 "dhcp4_parser.yy" + case 867: // ignore_dhcp_server_identifier: "ignore-dhcp-server-identifier" ":" "boolean" +#line 3031 "dhcp4_parser.yy" { ctx.unique("ignore-dhcp-server-identifier", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ignore-dhcp-server-identifier", b); } -#line 4777 "dhcp4_parser.cc" +#line 4787 "dhcp4_parser.cc" break; - case 866: // ignore_rai_link_selection: "ignore-rai-link-selection" ":" "boolean" -#line 3029 "dhcp4_parser.yy" + case 868: // ignore_rai_link_selection: "ignore-rai-link-selection" ":" "boolean" +#line 3037 "dhcp4_parser.yy" { ctx.unique("ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ignore-rai-link-selection", b); } -#line 4787 "dhcp4_parser.cc" +#line 4797 "dhcp4_parser.cc" break; - case 867: // exclude_first_last_24: "exclude-first-last-24" ":" "boolean" -#line 3035 "dhcp4_parser.yy" + case 869: // exclude_first_last_24: "exclude-first-last-24" ":" "boolean" +#line 3043 "dhcp4_parser.yy" { ctx.unique("exclude-first-last-24", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("exclude-first-last-24", b); } -#line 4797 "dhcp4_parser.cc" +#line 4807 "dhcp4_parser.cc" break; -#line 4801 "dhcp4_parser.cc" +#line 4811 "dhcp4_parser.cc" default: break; @@ -5149,147 +5159,147 @@ namespace isc { namespace dhcp { } - const short Dhcp4Parser::yypact_ninf_ = -1025; + const short Dhcp4Parser::yypact_ninf_ = -1029; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short Dhcp4Parser::yypact_[] = { - 423, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, 37, 31, 24, 60, 64, 82, - 94, 174, 182, 216, 219, 226, 228, 271, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, 31, -176, 181, 130, 154, 273, - -39, 535, -15, 550, 350, -114, 634, 103, -1025, 75, - 155, 268, 289, 297, -1025, 54, -1025, -1025, -1025, -1025, - 305, 321, 330, -1025, -1025, -1025, 331, -1025, -1025, -1025, - 334, 346, 348, 359, 369, 375, 378, 381, 382, 391, - 392, -1025, 401, 402, 403, 429, 430, -1025, -1025, -1025, - 438, 439, 441, 460, -1025, -1025, -1025, 464, -1025, -1025, - -1025, -1025, -1025, -1025, 466, 469, 470, -1025, -1025, -1025, - -1025, -1025, 471, -1025, -1025, -1025, -1025, -1025, -1025, 473, - 475, 477, -1025, -1025, 478, -1025, 62, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 480, 481, - 482, 484, -1025, 65, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - 485, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, 72, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, 487, -1025, -1025, -1025, - -1025, 83, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 341, - 367, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, 406, -1025, -1025, 488, -1025, -1025, -1025, - 489, -1025, -1025, 491, 494, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 497, 499, - 500, -1025, -1025, -1025, -1025, 503, 504, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - 91, -1025, -1025, -1025, 511, -1025, -1025, 513, -1025, 516, - 517, -1025, -1025, 519, 521, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, 110, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - 523, 120, -1025, -1025, -1025, -1025, 31, 31, -1025, 163, - 524, -1025, -1025, 525, 526, 527, 309, 312, 314, 536, - 537, 538, 317, 539, 540, 545, 332, 333, 335, 337, - 340, 327, 343, 347, 349, 342, 352, 548, 353, 356, - 339, 355, 357, 552, 582, 587, 372, 383, 370, 385, - 588, 595, 600, 388, 607, 608, 613, 615, 616, 617, - 398, 399, 400, 621, 622, 623, 624, 625, 422, 641, - 643, 646, 652, 653, 654, 435, 436, 440, 658, 665, - -1025, 130, -1025, 666, 667, 668, 455, 458, 461, 462, - 154, -1025, 681, 682, 683, 684, 691, 692, 476, 693, - 695, 696, 273, -1025, 697, 483, -39, -1025, 698, 703, - 704, 705, 707, 708, 709, 710, -1025, 535, -1025, 711, - 712, 495, 714, 715, 731, 512, -1025, 550, 733, 514, - 528, 529, -1025, 350, 753, 754, 23, -1025, 541, 755, - 760, 546, 765, 551, 555, 766, 768, 557, 558, 770, - 775, 779, 780, 634, -1025, 784, 567, 103, -1025, -1025, - -1025, 787, 785, 786, 788, 789, -1025, -1025, -1025, 576, - 577, 578, -1025, 793, 794, 797, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, 596, -1025, -1025, - -1025, -1025, -1025, -136, 597, 598, -1025, -1025, -1025, -1025, - 815, 816, 817, -1025, 604, 345, 821, 820, 609, 336, - -1025, -1025, -1025, 823, 824, 826, 827, 828, -1025, 829, - 830, 831, 832, 612, 619, -1025, -1025, -1025, 836, 835, - -1025, 838, 157, 255, -1025, -1025, -1025, -1025, -1025, 626, - 629, 630, 839, 631, 632, -1025, 838, 633, 849, -1025, - 636, -1025, -1025, 838, 637, 638, 639, 640, 642, 644, - 645, -1025, 647, 648, -1025, 649, 650, 651, -1025, -1025, - 655, -1025, -1025, -1025, -1025, 656, 820, -1025, -1025, 657, - 660, -1025, 661, -1025, -1025, 5, 662, -1025, -1025, -136, - 663, 664, 669, -1025, 840, -1025, -1025, 31, 130, 103, - 154, 258, -1025, -1025, -1025, 376, 376, 855, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, 857, 860, 866, - -1025, -1025, -1025, -1025, -1025, -1025, 867, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -35, 868, 872, 876, 162, - 105, 77, 115, 634, -1025, -1025, 879, -95, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 880, - -1025, -1025, -1025, -1025, 148, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, 855, -1025, 126, 128, 143, -1025, -1025, - 144, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 884, 885, - 887, 888, 889, 890, 891, 892, 893, 894, -1025, 895, - 896, -1025, -1025, -1025, -1025, -1025, 184, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - 187, -1025, 897, 898, -1025, -1025, 899, 901, -1025, -1025, - 900, 904, -1025, -1025, 902, 906, -1025, -1025, 905, 907, - -1025, -1025, -1025, -1025, -1025, -1025, 38, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, 87, -1025, -1025, 908, 909, -1025, - -1025, 910, 912, -1025, 913, 914, 915, 916, 917, 918, - 231, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 919, 920, - 921, -1025, 265, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, 266, -1025, -1025, -1025, 922, -1025, - 923, -1025, -1025, -1025, 276, -1025, -1025, -1025, -1025, -1025, - 293, -1025, 127, -1025, 924, 925, 926, 927, -1025, 329, - -1025, -1025, -1025, -1025, -1025, 713, -1025, 929, 930, -1025, - -1025, -1025, -1025, 928, 931, -1025, -1025, -1025, 934, 935, - 258, -1025, 936, 937, 938, 939, 680, 610, 722, 689, - 723, 724, 725, 726, 727, 728, 947, 729, 730, 950, - 951, 952, 953, 376, -1025, -1025, 376, -1025, 855, 273, - -1025, 857, 550, -1025, 860, 350, -1025, 866, 659, -1025, - 867, -35, -1025, 195, 868, -1025, 535, -1025, 872, -114, - -1025, 876, 736, 737, 738, 739, 741, 742, 162, -1025, - 743, 744, 747, 105, -1025, 966, 970, 77, -1025, 761, - 973, 756, 984, 115, -1025, -1025, 214, 879, -1025, 771, - 781, 783, 802, -95, -1025, -1025, 998, 1007, -39, -1025, - 880, 1026, -1025, -1025, 813, 814, -1025, 208, 819, 847, - 852, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -4, -1025, -1025, 911, 932, 933, 941, -1025, 364, - -1025, 366, -1025, 1029, -1025, 1036, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, 368, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, 1043, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, 1040, 1047, -1025, -1025, -1025, -1025, -1025, -1025, 1052, - -1025, 380, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, 942, 943, -1025, -1025, 944, -1025, - 31, -1025, -1025, 1057, -1025, -1025, -1025, -1025, -1025, 394, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, 948, 395, -1025, 838, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, 659, -1025, 1066, 1114, - 903, -1025, 195, -1025, -1025, -1025, -1025, -1025, -1025, 1116, - 946, 1117, 214, -1025, -1025, -1025, -1025, -1025, 949, 954, - -1025, -1025, 1118, -1025, 955, -1025, -1025, -1025, 1119, -1025, - -1025, 151, -1025, -16, 1119, -1025, -1025, 1121, 1124, 1125, - -1025, 410, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 1126, - 956, 957, 959, 1127, -16, -1025, 961, -1025, -1025, -1025, - 962, -1025, -1025, -1025 + 620, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, 31, 28, 27, 60, 64, 82, + 101, 127, 137, 139, 178, 256, 259, 266, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, 28, -186, 287, 140, 165, 333, + -40, 242, -16, 552, 222, -109, 637, 32, -1029, 49, + 88, 77, 306, 284, -1029, 54, -1029, -1029, -1029, -1029, + 311, 313, 314, -1029, -1029, -1029, 322, 332, -1029, -1029, + -1029, 337, 350, 354, 357, 370, 371, 372, 406, 407, + 408, 409, -1029, 420, 424, 426, 427, 428, -1029, -1029, + -1029, 429, 430, 431, 432, -1029, -1029, -1029, 433, -1029, + -1029, -1029, -1029, -1029, -1029, 434, 435, 436, -1029, -1029, + -1029, -1029, -1029, 439, -1029, -1029, -1029, -1029, -1029, -1029, + 441, 442, 445, -1029, -1029, 453, -1029, 62, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + 454, 455, 459, 462, -1029, 65, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, 463, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, 72, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, 466, -1029, + -1029, -1029, -1029, 91, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, 465, 472, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, 468, -1029, -1029, 473, -1029, + -1029, -1029, 476, -1029, -1029, 477, 481, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + 483, 484, 485, -1029, -1029, -1029, -1029, 486, 488, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, 98, -1029, -1029, -1029, 491, -1029, -1029, 492, + -1029, 493, 496, -1029, -1029, 498, 500, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, 115, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, 502, 125, -1029, -1029, -1029, -1029, 28, 28, + -1029, 270, 503, -1029, -1029, 506, 510, 514, 295, 303, + 307, 522, 526, 527, 310, 309, 532, 535, 537, 319, + 320, 321, 323, 324, 327, 330, 335, 336, 339, 342, + 541, 343, 346, 347, 348, 349, 553, 554, 563, 352, + 353, 351, 356, 566, 567, 578, 366, 590, 591, 592, + 593, 595, 596, 377, 382, 385, 608, 609, 610, 611, + 618, 400, 634, 635, 636, 643, 644, 646, 437, 438, + 443, 649, 650, -1029, 140, -1029, 651, 655, 656, 446, + 448, 451, 452, 165, -1029, 657, 660, 672, 674, 675, + 676, 458, 678, 679, 680, 333, -1029, 682, 464, -40, + -1029, 684, 685, 686, 687, 694, 695, 696, 697, -1029, + 242, -1029, 698, 699, 482, 700, 702, 705, 487, -1029, + 552, 707, 490, 494, 495, -1029, 222, 709, 712, -34, + -1029, 497, 713, 714, 516, 717, 517, 518, 719, 738, + 531, 536, 753, 756, 758, 759, 637, -1029, 764, 546, + 32, -1029, -1029, -1029, 768, 659, 766, 769, 770, -1029, + -1029, -1029, 556, 559, 561, -1029, -1029, 778, 779, 782, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, 570, -1029, -1029, -1029, -1029, -1029, -137, 571, 573, + -1029, -1029, -1029, -1029, 783, 791, 792, -1029, 577, 279, + 795, 794, 581, 273, -1029, -1029, -1029, 799, 800, 801, + 816, 815, -1029, 817, 818, 819, 835, 601, 621, -1029, + -1029, -1029, 839, 838, -1029, 841, 143, 213, -1029, -1029, + -1029, -1029, -1029, 625, 626, 627, 845, 629, 632, -1029, + 841, 633, 849, -1029, 638, -1029, -1029, 841, 639, 640, + 641, 642, 645, 647, 648, -1029, 652, 653, -1029, 654, + 658, 661, -1029, -1029, 663, -1029, -1029, -1029, -1029, 664, + 794, -1029, -1029, 665, 666, -1029, 667, -1029, -1029, 8, + 673, -1029, -1029, -137, 668, 669, 670, -1029, 852, -1029, + -1029, 28, 140, 32, 165, 262, -1029, -1029, -1029, 580, + 580, 858, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, 859, 861, 864, -1029, -1029, -1029, -1029, -1029, -1029, + 865, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, 99, + 866, 870, 871, 41, -31, 39, -64, 637, -1029, -1029, + 872, -96, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, 874, -1029, -1029, -1029, -1029, 21, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, 858, -1029, 133, + 144, 197, -1029, -1029, 198, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, 771, 878, 889, 890, 891, 892, 893, 894, + 895, 896, -1029, 897, 898, -1029, -1029, -1029, -1029, -1029, + 229, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, 252, -1029, 899, 900, -1029, -1029, + 901, 903, -1029, -1029, 902, 906, -1029, -1029, 904, 908, + -1029, -1029, 907, 909, -1029, -1029, -1029, -1029, -1029, -1029, + 87, -1029, -1029, -1029, -1029, -1029, -1029, -1029, 180, -1029, + -1029, 910, 911, -1029, -1029, 912, 914, -1029, 915, 916, + 917, 918, 919, 920, 269, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, 921, 922, 923, -1029, 276, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, 277, -1029, + -1029, -1029, 924, -1029, 925, -1029, -1029, -1029, 278, -1029, + -1029, -1029, -1029, -1029, 293, -1029, 196, -1029, 926, 927, + 928, 929, -1029, 297, -1029, -1029, -1029, -1029, -1029, 693, + -1029, 930, 931, -1029, -1029, -1029, -1029, 932, 933, -1029, + -1029, -1029, 934, 937, 262, -1029, 938, 939, 940, 941, + 681, 710, 723, 722, 725, 726, 727, 728, 729, 730, + 950, 731, 732, 953, 954, 955, 956, 580, -1029, -1029, + 580, -1029, 858, 333, -1029, 859, 552, -1029, 861, 222, + -1029, 864, 662, -1029, 865, 99, -1029, 260, 866, -1029, + 242, -1029, 870, -109, -1029, 871, 739, 740, 741, 742, + 744, 745, 41, -1029, 736, 747, 748, -31, -1029, 969, + 970, 39, -1029, 757, 974, 776, 977, -64, -1029, -1029, + 147, 872, -1029, 767, 784, 786, 789, -96, -1029, -1029, + 983, 1005, -40, -1029, 874, 1026, -1029, -1029, 715, 812, + -1029, 329, 822, 826, 829, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, 291, -1029, -1029, 830, 832, + 842, 843, -1029, 301, -1029, 304, -1029, 1030, -1029, 1031, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, 305, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, 1037, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, 1064, 1071, -1029, -1029, -1029, + -1029, -1029, -1029, 1069, -1029, 308, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, 905, 913, + -1029, -1029, 935, -1029, 28, -1029, -1029, 1118, -1029, -1029, + -1029, -1029, -1029, 334, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, 936, 344, -1029, 841, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + 662, -1029, 1120, 1121, 942, -1029, 260, -1029, -1029, -1029, + -1029, -1029, -1029, 1125, 943, 1126, 147, -1029, -1029, -1029, + -1029, -1029, 946, 947, -1029, -1029, 1127, -1029, 951, -1029, + -1029, -1029, 1124, -1029, -1029, 253, -1029, -38, 1124, -1029, + -1029, 1129, 1130, 1132, -1029, 345, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, 1133, 949, 952, 957, 1134, -38, -1029, + 959, -1029, -1029, -1029, 960, -1029, -1029, -1029 }; const short @@ -5299,749 +5309,749 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 44, 36, 32, 31, 28, 29, 30, 35, 3, 33, 34, - 59, 5, 65, 7, 206, 9, 386, 11, 604, 13, - 633, 15, 522, 17, 531, 19, 570, 21, 348, 23, - 751, 25, 802, 27, 46, 39, 0, 0, 0, 0, - 0, 635, 0, 533, 572, 0, 0, 0, 48, 0, - 47, 0, 0, 40, 61, 0, 63, 800, 191, 224, - 0, 0, 0, 655, 657, 659, 0, 222, 235, 237, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 149, 0, 0, 0, 0, 0, 160, 167, 169, - 0, 0, 0, 0, 377, 520, 561, 0, 152, 173, - 464, 620, 622, 457, 0, 0, 0, 310, 683, 624, - 339, 360, 0, 325, 718, 732, 749, 180, 182, 0, - 0, 0, 812, 854, 0, 137, 0, 67, 70, 71, - 72, 73, 74, 108, 109, 110, 111, 112, 75, 103, - 134, 135, 92, 93, 94, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 114, 115, 126, 127, 128, - 130, 131, 132, 136, 78, 79, 100, 80, 81, 82, - 129, 86, 87, 76, 105, 106, 107, 104, 77, 84, - 85, 98, 99, 101, 95, 96, 97, 83, 88, 89, - 90, 91, 102, 113, 133, 208, 210, 214, 0, 0, - 0, 0, 205, 0, 193, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 442, 444, 446, 595, 440, 448, - 0, 452, 450, 679, 439, 391, 392, 393, 394, 395, - 419, 420, 421, 422, 423, 437, 409, 410, 424, 425, + 59, 5, 65, 7, 208, 9, 388, 11, 606, 13, + 635, 15, 524, 17, 533, 19, 572, 21, 350, 23, + 753, 25, 804, 27, 46, 39, 0, 0, 0, 0, + 0, 637, 0, 535, 574, 0, 0, 0, 48, 0, + 47, 0, 0, 40, 61, 0, 63, 802, 193, 226, + 0, 0, 0, 657, 659, 661, 0, 0, 224, 237, + 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 0, 0, 0, 0, 161, 168, + 170, 0, 0, 0, 0, 379, 522, 563, 0, 153, + 174, 466, 622, 624, 459, 0, 0, 0, 312, 685, + 626, 341, 362, 0, 327, 720, 734, 751, 181, 183, + 0, 0, 0, 814, 856, 0, 138, 0, 67, 70, + 71, 72, 73, 74, 108, 109, 110, 111, 112, 75, + 103, 134, 135, 92, 93, 94, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 114, 115, 126, 127, + 128, 130, 131, 132, 136, 137, 78, 79, 100, 80, + 81, 82, 129, 86, 87, 76, 105, 106, 107, 104, + 77, 84, 85, 98, 99, 101, 95, 96, 97, 83, + 88, 89, 90, 91, 102, 113, 133, 210, 212, 216, + 0, 0, 0, 0, 207, 0, 195, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 444, 446, 448, 597, + 442, 450, 0, 454, 452, 681, 441, 393, 394, 395, + 396, 397, 421, 422, 423, 424, 425, 439, 411, 412, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 438, 0, 388, 398, 414, 415, 416, 399, 401, - 402, 405, 406, 407, 404, 400, 396, 397, 417, 418, - 403, 411, 412, 413, 408, 617, 0, 616, 612, 613, - 611, 0, 606, 609, 610, 614, 615, 677, 665, 667, - 671, 669, 675, 673, 661, 654, 648, 652, 653, 0, - 636, 637, 649, 650, 651, 645, 640, 646, 642, 643, - 644, 647, 641, 0, 551, 284, 0, 555, 553, 558, - 0, 547, 548, 0, 534, 535, 538, 550, 539, 540, - 541, 557, 542, 543, 544, 545, 546, 588, 0, 0, - 0, 586, 587, 590, 591, 0, 573, 574, 577, 578, - 579, 580, 581, 582, 583, 584, 585, 356, 358, 353, - 0, 350, 354, 355, 0, 788, 775, 0, 778, 0, - 0, 782, 786, 0, 0, 792, 794, 796, 798, 773, - 771, 772, 0, 753, 756, 757, 758, 759, 760, 761, - 762, 763, 768, 764, 765, 766, 767, 769, 770, 809, - 0, 0, 804, 807, 808, 45, 50, 0, 37, 43, - 0, 64, 60, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 436, 437, 438, 440, 0, 390, 400, 416, 417, 418, + 401, 403, 404, 407, 408, 409, 406, 402, 398, 399, + 419, 420, 405, 413, 414, 415, 410, 619, 0, 618, + 614, 615, 613, 0, 608, 611, 612, 616, 617, 679, + 667, 669, 673, 671, 677, 675, 663, 656, 650, 654, + 655, 0, 638, 639, 651, 652, 653, 647, 642, 648, + 644, 645, 646, 649, 643, 0, 553, 286, 0, 557, + 555, 560, 0, 549, 550, 0, 536, 537, 540, 552, + 541, 542, 543, 559, 544, 545, 546, 547, 548, 590, + 0, 0, 0, 588, 589, 592, 593, 0, 575, 576, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 358, + 360, 355, 0, 352, 356, 357, 0, 790, 777, 0, + 780, 0, 0, 784, 788, 0, 0, 794, 796, 798, + 800, 775, 773, 774, 0, 755, 758, 759, 760, 761, + 762, 763, 764, 765, 770, 766, 767, 768, 769, 771, + 772, 811, 0, 0, 806, 809, 810, 45, 50, 0, + 37, 43, 0, 64, 60, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 58, 69, 66, 0, 0, 0, 0, 0, 0, 0, - 195, 207, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 390, 387, 0, 0, 608, 605, 0, 0, - 0, 0, 0, 0, 0, 0, 634, 639, 523, 0, - 0, 0, 0, 0, 0, 0, 532, 537, 0, 0, - 0, 0, 571, 576, 0, 0, 352, 349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 755, 752, 0, 0, 806, 803, 49, - 41, 0, 0, 0, 0, 0, 154, 155, 156, 0, - 0, 0, 190, 0, 0, 0, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 0, 185, 186, - 157, 158, 159, 0, 0, 0, 171, 172, 179, 184, - 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, - 454, 455, 456, 0, 0, 0, 0, 0, 717, 0, - 0, 0, 0, 0, 0, 187, 188, 189, 0, 0, - 68, 0, 0, 0, 218, 219, 220, 221, 194, 0, - 0, 0, 0, 0, 0, 463, 0, 0, 0, 389, - 0, 619, 607, 0, 0, 0, 0, 0, 0, 0, - 0, 638, 0, 0, 549, 0, 0, 0, 560, 536, - 0, 592, 593, 594, 575, 0, 0, 351, 774, 0, - 0, 777, 0, 780, 781, 0, 0, 790, 791, 0, - 0, 0, 0, 754, 0, 811, 805, 0, 0, 0, - 0, 0, 656, 658, 660, 0, 0, 239, 150, 162, - 163, 164, 165, 166, 161, 168, 170, 379, 524, 563, - 153, 175, 176, 177, 178, 174, 466, 38, 621, 623, - 459, 460, 461, 462, 458, 0, 0, 626, 341, 0, - 0, 0, 0, 0, 181, 183, 0, 0, 51, 209, - 212, 213, 211, 216, 217, 215, 443, 445, 447, 597, - 441, 449, 453, 451, 0, 618, 678, 666, 668, 672, - 670, 676, 674, 662, 552, 285, 556, 554, 559, 589, - 357, 359, 789, 776, 779, 784, 785, 783, 787, 793, - 795, 797, 799, 239, 42, 0, 0, 0, 231, 233, - 0, 226, 229, 230, 272, 277, 279, 281, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, - 0, 302, 304, 306, 308, 271, 0, 246, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 0, 244, 0, 240, 241, 384, 0, 380, 381, 529, - 0, 525, 526, 568, 0, 564, 565, 471, 0, 467, - 468, 320, 321, 322, 323, 324, 0, 312, 315, 316, - 317, 318, 319, 688, 0, 685, 631, 0, 627, 628, - 346, 0, 342, 343, 0, 0, 0, 0, 0, 0, - 0, 362, 365, 366, 367, 368, 369, 370, 0, 0, - 0, 335, 0, 327, 330, 331, 332, 333, 334, 728, - 730, 727, 725, 726, 0, 720, 723, 724, 0, 744, - 0, 747, 740, 741, 0, 734, 737, 738, 739, 742, - 0, 817, 0, 814, 0, 0, 0, 0, 863, 0, - 856, 859, 860, 861, 862, 53, 602, 0, 598, 599, - 663, 681, 682, 0, 0, 62, 801, 192, 0, 0, - 228, 225, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 58, 69, 66, 0, 0, 0, 0, + 0, 0, 0, 197, 209, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 392, 389, 0, 0, 610, + 607, 0, 0, 0, 0, 0, 0, 0, 0, 636, + 641, 525, 0, 0, 0, 0, 0, 0, 0, 534, + 539, 0, 0, 0, 0, 573, 578, 0, 0, 354, + 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 757, 754, 0, 0, + 808, 805, 49, 41, 0, 0, 0, 0, 0, 155, + 156, 157, 0, 0, 0, 191, 192, 0, 0, 0, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 0, 186, 187, 158, 159, 160, 0, 0, 0, + 172, 173, 180, 185, 0, 0, 0, 152, 0, 0, + 0, 0, 0, 0, 456, 457, 458, 0, 0, 0, + 0, 0, 719, 0, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 68, 0, 0, 0, 220, 221, + 222, 223, 196, 0, 0, 0, 0, 0, 0, 465, + 0, 0, 0, 391, 0, 621, 609, 0, 0, 0, + 0, 0, 0, 0, 0, 640, 0, 0, 551, 0, + 0, 0, 562, 538, 0, 594, 595, 596, 577, 0, + 0, 353, 776, 0, 0, 779, 0, 782, 783, 0, + 0, 792, 793, 0, 0, 0, 0, 756, 0, 813, + 807, 0, 0, 0, 0, 0, 658, 660, 662, 0, + 0, 241, 151, 163, 164, 165, 166, 167, 162, 169, + 171, 381, 526, 565, 154, 176, 177, 178, 179, 175, + 468, 38, 623, 625, 461, 462, 463, 464, 460, 0, + 0, 628, 343, 0, 0, 0, 0, 0, 182, 184, + 0, 0, 51, 211, 214, 215, 213, 218, 219, 217, + 445, 447, 449, 599, 443, 451, 455, 453, 0, 620, + 680, 668, 670, 674, 672, 678, 676, 664, 554, 287, + 558, 556, 561, 591, 359, 361, 791, 778, 781, 786, + 787, 785, 789, 795, 797, 799, 801, 241, 42, 0, + 0, 0, 233, 235, 0, 228, 231, 232, 274, 279, + 281, 283, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 297, 0, 0, 304, 306, 308, 310, 273, + 0, 248, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 0, 246, 0, 242, 243, 386, + 0, 382, 383, 531, 0, 527, 528, 570, 0, 566, + 567, 473, 0, 469, 470, 322, 323, 324, 325, 326, + 0, 314, 317, 318, 319, 320, 321, 690, 0, 687, + 633, 0, 629, 630, 348, 0, 344, 345, 0, 0, + 0, 0, 0, 0, 0, 364, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 337, 0, 329, 332, 333, + 334, 335, 336, 730, 732, 729, 727, 728, 0, 722, + 725, 726, 0, 746, 0, 749, 742, 743, 0, 736, + 739, 740, 741, 744, 0, 819, 0, 816, 0, 0, + 0, 0, 865, 0, 858, 861, 862, 863, 864, 53, + 604, 0, 600, 601, 665, 683, 684, 0, 0, 62, + 803, 194, 0, 0, 230, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 248, 223, 236, 0, 238, 243, 0, - 378, 383, 533, 521, 528, 572, 562, 567, 0, 465, - 470, 314, 311, 690, 687, 684, 635, 625, 630, 0, - 340, 345, 0, 0, 0, 0, 0, 0, 364, 361, - 0, 0, 0, 329, 326, 0, 0, 722, 719, 0, - 0, 0, 0, 736, 733, 750, 0, 816, 813, 0, - 0, 0, 0, 858, 855, 55, 0, 54, 0, 596, - 601, 0, 680, 810, 0, 0, 227, 0, 0, 0, - 0, 283, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 0, 300, 301, 0, 0, 0, 0, 247, 0, - 242, 0, 382, 0, 527, 0, 566, 519, 494, 495, - 496, 479, 480, 499, 500, 501, 502, 503, 517, 482, - 483, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 518, 476, 477, 478, 492, 493, - 489, 490, 491, 488, 0, 473, 481, 497, 498, 484, - 485, 486, 487, 469, 313, 712, 714, 0, 706, 707, - 708, 709, 710, 711, 699, 700, 704, 705, 701, 702, - 703, 0, 691, 692, 695, 696, 697, 698, 686, 0, - 629, 0, 344, 371, 372, 373, 374, 375, 376, 363, - 336, 337, 338, 328, 0, 0, 721, 743, 0, 746, - 0, 735, 832, 0, 830, 828, 822, 826, 827, 0, - 819, 824, 825, 823, 815, 864, 865, 866, 867, 857, - 52, 57, 0, 600, 0, 232, 234, 274, 275, 276, - 273, 278, 280, 282, 297, 298, 299, 296, 303, 305, - 307, 309, 245, 385, 530, 569, 475, 472, 0, 0, - 0, 689, 694, 632, 347, 729, 731, 745, 748, 0, - 0, 0, 821, 818, 56, 603, 664, 474, 0, 0, - 716, 693, 0, 829, 0, 820, 713, 715, 0, 831, - 837, 0, 834, 0, 836, 833, 847, 0, 0, 0, - 852, 0, 839, 842, 843, 844, 845, 846, 835, 0, - 0, 0, 0, 0, 841, 838, 0, 849, 850, 851, - 0, 840, 848, 853 + 0, 0, 0, 0, 0, 0, 0, 250, 225, 238, + 0, 240, 245, 0, 380, 385, 535, 523, 530, 574, + 564, 569, 0, 467, 472, 316, 313, 692, 689, 686, + 637, 627, 632, 0, 342, 347, 0, 0, 0, 0, + 0, 0, 366, 363, 0, 0, 0, 331, 328, 0, + 0, 724, 721, 0, 0, 0, 0, 738, 735, 752, + 0, 818, 815, 0, 0, 0, 0, 860, 857, 55, + 0, 54, 0, 598, 603, 0, 682, 812, 0, 0, + 229, 0, 0, 0, 0, 285, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 302, 303, 0, 0, + 0, 0, 249, 0, 244, 0, 384, 0, 529, 0, + 568, 521, 496, 497, 498, 481, 482, 501, 502, 503, + 504, 505, 519, 484, 485, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 520, 478, + 479, 480, 494, 495, 491, 492, 493, 490, 0, 475, + 483, 499, 500, 486, 487, 488, 489, 471, 315, 714, + 716, 0, 708, 709, 710, 711, 712, 713, 701, 702, + 706, 707, 703, 704, 705, 0, 693, 694, 697, 698, + 699, 700, 688, 0, 631, 0, 346, 373, 374, 375, + 376, 377, 378, 365, 338, 339, 340, 330, 0, 0, + 723, 745, 0, 748, 0, 737, 834, 0, 832, 830, + 824, 828, 829, 0, 821, 826, 827, 825, 817, 866, + 867, 868, 869, 859, 52, 57, 0, 602, 0, 234, + 236, 276, 277, 278, 275, 280, 282, 284, 299, 300, + 301, 298, 305, 307, 309, 311, 247, 387, 532, 571, + 477, 474, 0, 0, 0, 691, 696, 634, 349, 731, + 733, 747, 750, 0, 0, 0, 823, 820, 56, 605, + 666, 476, 0, 0, 718, 695, 0, 831, 0, 822, + 715, 717, 0, 833, 839, 0, 836, 0, 838, 835, + 849, 0, 0, 0, 854, 0, 841, 844, 845, 846, + 847, 848, 837, 0, 0, 0, 0, 0, 843, 840, + 0, 851, 852, 853, 0, 842, 850, 855 }; const short Dhcp4Parser::yypgoto_[] = { - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -59, -1025, -619, -1025, 427, - -1025, -1025, -1025, -1025, -1025, -1025, -650, -1025, -1025, -1025, - -67, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 204, 627, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -59, -1029, -603, -1029, 440, + -1029, -1029, -1029, -1029, -1029, -1029, -664, -1029, -1029, -1029, + -67, -1029, -1029, -1029, -1029, -1029, -1029, -1029, 410, 630, -30, -26, 26, -54, -37, -27, 0, 14, 16, 45, - -1025, -1025, -1025, -1025, 48, -1025, -1025, 50, 51, 52, - 53, 55, 56, -1025, 415, 58, -1025, 63, -1025, 66, - 68, 69, -1025, -1025, 70, 71, -1025, 73, -1025, 74, - -1025, -1025, -1025, -1025, -1025, 33, -1025, -1025, 405, 620, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 136, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 316, -1025, - 109, -1025, -724, 118, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -45, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, 101, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - 80, -1025, -1025, -1025, -1025, -1025, -1025, -1025, 93, -1025, - -1025, -1025, 96, 580, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, 89, -1025, -1025, -1025, -1025, -1025, -1025, -1024, -1025, - -1025, -1025, 117, -1025, -1025, -1025, 121, 628, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1022, -1025, 78, -1025, - 79, -1025, 76, 81, 84, 86, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, 111, -1025, -1025, -117, -62, -1025, -1025, - -1025, -1025, -1025, 122, -1025, -1025, -1025, 123, -1025, 601, - -1025, -63, -1025, -1025, -1025, -1025, -1025, -44, -1025, -1025, - -1025, -1025, -1025, -23, -1025, -1025, -1025, 134, -1025, -1025, - -1025, 124, -1025, 589, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, 67, -1025, -1025, -1025, - 85, 670, -1025, -1025, -1025, -49, -1025, -10, -1025, -56, - -1025, -1025, -1025, 129, -1025, -1025, -1025, 132, -1025, 671, - 3, -1025, 13, -1025, 29, -1025, 390, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1021, -1025, -1025, -1025, -1025, -1025, - 141, -1025, -1025, -1025, -100, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, 107, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, 113, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, 414, 605, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, 463, 602, -1025, -1025, -1025, - -1025, -1025, -1025, 114, -1025, -1025, -92, -1025, -1025, -1025, - -1025, -1025, -1025, -111, -1025, -1025, -130, -1025, -1025, -1025, - -1025, -1025, -1025, -1025, -1025, -1025, -1025, 112, -1025, -1025, - -1025, -1025 + -1029, -1029, -1029, -1029, 48, -1029, -1029, 50, 51, 52, + 53, 55, 56, -1029, 416, 58, -1029, 63, -1029, 66, + 68, 69, -1029, -1029, 70, 71, -1029, 73, -1029, 74, + -1029, -1029, -1029, -1029, -1029, 33, -1029, -1029, -1029, 411, + 617, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + 142, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, 316, + -1029, 109, -1029, -728, 120, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -45, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, 103, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, 85, -1029, -1029, -1029, -1029, -1029, -1029, -1029, 94, + -1029, -1029, -1029, 100, 582, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, 92, -1029, -1029, -1029, -1029, -1029, -1029, -1028, + -1029, -1029, -1029, 121, -1029, -1029, -1029, 122, 624, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1025, -1029, 78, + -1029, 79, -1029, 76, 81, 84, 86, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, 116, -1029, -1029, -108, -62, -1029, + -1029, -1029, -1029, -1029, 123, -1029, -1029, -1029, 128, -1029, + 603, -1029, -63, -1029, -1029, -1029, -1029, -1029, -44, -1029, + -1029, -1029, -1029, -1029, -23, -1029, -1029, -1029, 131, -1029, + -1029, -1029, 138, -1029, 612, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, 89, -1029, -1029, + -1029, 93, 671, -1029, -1029, -1029, -49, -1029, -10, -1029, + -56, -1029, -1029, -1029, 124, -1029, -1029, -1029, 129, -1029, + 688, 3, -1029, 13, -1029, 29, -1029, 386, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1024, -1029, -1029, -1029, -1029, + -1029, 141, -1029, -1029, -1029, -90, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, 117, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, 110, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, 413, 605, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, 460, 602, -1029, -1029, + -1029, -1029, -1029, -1029, 113, -1029, -1029, -91, -1029, -1029, + -1029, -1029, -1029, -1029, -112, -1029, -1029, -131, -1029, -1029, + -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, 111, -1029, + -1029, -1029, -1029 }; const short Dhcp4Parser::yydefgoto_[] = { 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 36, 37, 38, 65, 758, - 82, 83, 39, 64, 79, 80, 779, 985, 1086, 1087, - 855, 41, 66, 85, 440, 86, 43, 67, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 467, 170, 171, 484, 172, 173, 174, 175, - 176, 177, 178, 473, 744, 179, 474, 180, 475, 181, - 182, 183, 485, 755, 184, 185, 503, 186, 504, 187, - 188, 189, 190, 191, 192, 193, 194, 444, 233, 234, - 45, 68, 235, 513, 236, 514, 782, 237, 515, 785, - 238, 239, 240, 241, 195, 453, 196, 445, 830, 831, - 832, 998, 833, 999, 197, 454, 198, 455, 882, 883, - 884, 1026, 856, 857, 858, 1002, 1250, 859, 1003, 860, - 1004, 861, 1005, 862, 863, 550, 864, 865, 866, 867, - 868, 869, 870, 871, 872, 873, 1016, 1257, 874, 875, - 876, 1019, 877, 1020, 878, 1021, 879, 1022, 199, 493, - 906, 907, 908, 909, 910, 911, 912, 200, 499, 942, - 943, 944, 945, 946, 201, 496, 921, 922, 923, 1049, - 59, 75, 390, 391, 392, 564, 393, 565, 202, 497, - 930, 931, 932, 933, 934, 935, 936, 937, 203, 480, - 886, 887, 888, 1029, 47, 69, 282, 283, 284, 526, - 285, 522, 286, 523, 287, 524, 288, 527, 289, 530, - 290, 529, 204, 205, 206, 207, 489, 764, 295, 208, - 486, 898, 899, 900, 1038, 1164, 1165, 209, 481, 53, - 72, 890, 891, 892, 1032, 55, 73, 353, 354, 355, - 356, 357, 358, 359, 549, 360, 553, 361, 552, 362, - 363, 554, 364, 210, 482, 894, 895, 896, 1035, 57, - 74, 375, 376, 377, 378, 379, 558, 380, 381, 382, - 383, 384, 297, 525, 987, 988, 989, 1088, 49, 70, - 311, 312, 313, 534, 314, 211, 487, 212, 488, 213, - 495, 917, 918, 919, 1046, 51, 71, 329, 330, 331, - 214, 449, 215, 450, 216, 451, 335, 545, 992, 1091, - 336, 539, 337, 540, 338, 542, 339, 541, 340, 544, - 341, 543, 342, 538, 304, 531, 993, 217, 494, 914, - 915, 1043, 1191, 1192, 1193, 1194, 1195, 1268, 1196, 1269, - 1197, 218, 219, 500, 954, 955, 956, 1065, 957, 1066, - 220, 501, 964, 965, 966, 967, 1070, 968, 969, 1072, - 221, 502, 61, 76, 412, 413, 414, 415, 570, 416, - 417, 572, 418, 419, 420, 575, 817, 421, 576, 422, - 569, 423, 424, 425, 579, 426, 580, 427, 581, 428, - 582, 222, 443, 63, 77, 431, 432, 433, 585, 434, - 223, 508, 972, 973, 1076, 1229, 1230, 1231, 1232, 1281, - 1233, 1279, 1301, 1302, 1303, 1311, 1312, 1313, 1319, 1314, - 1315, 1316, 1317, 1323, 224, 509, 979, 980, 981, 982, - 983, 984 + 23, 24, 25, 26, 27, 36, 37, 38, 65, 762, + 82, 83, 39, 64, 79, 80, 783, 989, 1090, 1091, + 859, 41, 66, 85, 442, 86, 43, 67, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 470, 171, 172, 487, 173, 174, 175, 176, + 177, 178, 179, 476, 748, 180, 477, 181, 478, 182, + 183, 184, 488, 759, 185, 186, 506, 187, 507, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 446, 235, + 236, 45, 68, 237, 516, 238, 517, 786, 239, 518, + 789, 240, 241, 242, 243, 197, 456, 198, 447, 834, + 835, 836, 1002, 837, 1003, 199, 457, 200, 458, 886, + 887, 888, 1030, 860, 861, 862, 1006, 1254, 863, 1007, + 864, 1008, 865, 1009, 866, 867, 553, 868, 869, 870, + 871, 872, 873, 874, 875, 876, 877, 1020, 1261, 878, + 879, 880, 1023, 881, 1024, 882, 1025, 883, 1026, 201, + 496, 910, 911, 912, 913, 914, 915, 916, 202, 502, + 946, 947, 948, 949, 950, 203, 499, 925, 926, 927, + 1053, 59, 75, 392, 393, 394, 567, 395, 568, 204, + 500, 934, 935, 936, 937, 938, 939, 940, 941, 205, + 483, 890, 891, 892, 1033, 47, 69, 284, 285, 286, + 529, 287, 525, 288, 526, 289, 527, 290, 530, 291, + 533, 292, 532, 206, 207, 208, 209, 492, 768, 297, + 210, 489, 902, 903, 904, 1042, 1168, 1169, 211, 484, + 53, 72, 894, 895, 896, 1036, 55, 73, 355, 356, + 357, 358, 359, 360, 361, 552, 362, 556, 363, 555, + 364, 365, 557, 366, 212, 485, 898, 899, 900, 1039, + 57, 74, 377, 378, 379, 380, 381, 561, 382, 383, + 384, 385, 386, 299, 528, 991, 992, 993, 1092, 49, + 70, 313, 314, 315, 537, 316, 213, 490, 214, 491, + 215, 498, 921, 922, 923, 1050, 51, 71, 331, 332, + 333, 216, 451, 217, 452, 218, 453, 337, 548, 996, + 1095, 338, 542, 339, 543, 340, 545, 341, 544, 342, + 547, 343, 546, 344, 541, 306, 534, 997, 219, 497, + 918, 919, 1047, 1195, 1196, 1197, 1198, 1199, 1272, 1200, + 1273, 1201, 220, 221, 503, 958, 959, 960, 1069, 961, + 1070, 222, 504, 968, 969, 970, 971, 1074, 972, 973, + 1076, 223, 505, 61, 76, 414, 415, 416, 417, 573, + 418, 419, 575, 420, 421, 422, 578, 821, 423, 579, + 424, 572, 425, 426, 427, 582, 428, 583, 429, 584, + 430, 585, 224, 445, 63, 77, 433, 434, 435, 588, + 436, 225, 511, 976, 977, 1080, 1233, 1234, 1235, 1236, + 1285, 1237, 1283, 1305, 1306, 1307, 1315, 1316, 1317, 1323, + 1318, 1319, 1320, 1321, 1327, 226, 512, 983, 984, 985, + 986, 987, 988 }; const short Dhcp4Parser::yytable_[] = { - 155, 232, 254, 307, 325, 78, 351, 371, 389, 409, - 343, 373, 880, 300, 1156, 258, 1157, 1172, 757, 242, - 298, 315, 327, 815, 365, 385, 792, 410, 352, 372, - 374, 40, 259, 796, 387, 388, 29, 28, 30, 255, - 31, 1041, 260, 256, 1042, 81, 296, 310, 326, 739, - 740, 741, 742, 1254, 1255, 1256, 126, 441, 243, 299, - 316, 328, 442, 366, 386, 511, 411, 42, 520, 261, - 512, 44, 301, 521, 332, 532, 305, 131, 132, 125, - 533, 435, 302, 262, 333, 263, 536, 757, 743, 46, - 1044, 537, 251, 1045, 566, 257, 252, 306, 303, 567, - 334, 48, 281, 901, 902, 903, 904, 154, 905, 974, - 975, 976, 977, 583, 264, 429, 430, 265, 584, 266, - 267, 268, 269, 587, 270, 271, 154, 272, 588, 511, - 1077, 587, 273, 1078, 995, 274, 996, 275, 276, 277, - 278, 87, 279, 280, 88, 291, 520, 1000, 308, 309, - 292, 997, 1001, 293, 1304, 294, 89, 1305, 436, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 225, - 226, 387, 388, 227, 780, 781, 228, 229, 230, 231, - 1306, 50, 154, 1307, 1308, 1309, 1310, 1023, 816, 52, - 1023, 84, 1024, 131, 132, 1025, 100, 101, 102, 103, + 156, 234, 256, 309, 327, 78, 353, 373, 391, 411, + 345, 375, 884, 302, 1160, 260, 796, 1161, 1176, 244, + 300, 317, 329, 800, 367, 387, 819, 412, 354, 374, + 376, 28, 261, 29, 40, 30, 81, 31, 761, 257, + 389, 390, 262, 258, 431, 432, 298, 312, 328, 743, + 744, 745, 746, 132, 133, 437, 127, 443, 245, 301, + 318, 330, 444, 368, 388, 514, 413, 42, 523, 263, + 515, 44, 303, 524, 334, 535, 307, 132, 133, 126, + 536, 439, 304, 264, 335, 265, 132, 133, 747, 46, + 1045, 438, 253, 1046, 539, 259, 254, 308, 305, 540, + 336, 569, 283, 962, 963, 964, 570, 761, 48, 978, + 979, 980, 981, 155, 266, 389, 390, 267, 586, 268, + 269, 270, 271, 587, 272, 273, 155, 274, 590, 942, + 943, 944, 275, 591, 50, 276, 514, 277, 278, 279, + 280, 999, 281, 282, 52, 293, 54, 590, 310, 311, + 294, 87, 1000, 295, 88, 296, 132, 133, 965, 1310, + 784, 785, 1311, 1312, 1313, 1314, 89, 326, 994, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 227, 228, 155, 1048, 229, 56, 1049, 230, 231, 232, + 233, 155, 820, 928, 929, 930, 931, 932, 933, 1081, + 523, 1004, 1082, 953, 954, 1001, 1005, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 131, 132, 54, 125, 126, 56, 93, 94, 95, - 96, 131, 132, 58, 1058, 60, 127, 128, 129, 1059, - 949, 950, 1156, 130, 1157, 1172, 131, 132, 1247, 1248, - 1249, 133, 32, 33, 34, 35, 134, 135, 136, 137, - 138, 100, 101, 102, 938, 939, 940, 139, 1063, 1067, - 131, 132, 437, 1064, 1068, 783, 784, 140, 62, 1073, - 141, 958, 959, 960, 1074, 828, 829, 142, 143, 125, - 126, 345, 144, 324, 990, 145, 583, 438, 154, 146, - 439, 1075, 1119, 91, 92, 93, 94, 95, 96, 446, - 345, 131, 132, 924, 925, 926, 927, 928, 929, 147, - 148, 149, 150, 151, 152, 447, 154, 1175, 1176, 1177, - 131, 132, 1083, 153, 448, 452, 961, 1084, 456, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 546, - 457, 154, 458, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 459, 244, 245, 246, 1023, 126, 532, - 547, 1266, 1262, 460, 1263, 154, 1267, 589, 590, 461, - 128, 129, 462, 566, 591, 463, 464, 247, 1274, 131, - 132, 248, 249, 250, 133, 465, 466, 1282, 536, 134, - 135, 136, 1283, 1285, 251, 468, 469, 470, 252, 1222, - 139, 1223, 1224, 1324, 548, 834, 154, 253, 1325, 835, - 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, - 846, 847, 848, 471, 472, 154, 849, 850, 851, 852, - 853, 854, 476, 477, 155, 478, 345, 367, 346, 347, - 368, 369, 370, 232, 751, 752, 753, 754, 760, 761, - 762, 763, 147, 148, 479, 254, 131, 132, 483, 307, - 490, 242, 345, 491, 492, 498, 300, 505, 258, 506, - 325, 507, 510, 298, 516, 517, 518, 315, 519, 528, - 351, 535, 551, 555, 154, 259, 371, 557, 327, 556, - 373, 559, 255, 560, 561, 260, 256, 563, 365, 296, - 243, 562, 352, 310, 385, 568, 409, 571, 372, 374, - 573, 574, 299, 577, 326, 578, 316, 586, 592, 593, - 594, 595, 261, 596, 410, 301, 597, 328, 598, 602, - 599, 600, 601, 603, 604, 302, 262, 366, 263, 605, - 332, 611, 617, 386, 606, 607, 623, 608, 257, 609, - 333, 303, 610, 620, 615, 281, 612, 93, 94, 95, - 613, 154, 614, 411, 616, 618, 334, 264, 619, 621, - 265, 622, 266, 267, 268, 269, 624, 270, 271, 344, - 272, 625, 630, 628, 1286, 273, 626, 154, 274, 631, - 275, 276, 277, 278, 632, 279, 280, 627, 291, 629, - 633, 634, 635, 292, 308, 309, 293, 636, 294, 637, - 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, - 126, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 648, 649, 345, 650, 346, 347, - 651, 131, 132, 348, 349, 350, 652, 653, 654, 655, - 656, 155, 658, 232, 657, 317, 131, 132, 824, 659, - 661, 662, 663, 318, 319, 320, 321, 322, 323, 664, - 324, 242, 665, 666, 667, 669, 670, 671, 672, 91, - 92, 93, 94, 95, 96, 673, 674, 676, 675, 677, - 678, 680, 683, 941, 951, 681, 409, 684, 685, 686, - 978, 687, 688, 689, 690, 692, 693, 694, 695, 696, - 243, 947, 952, 962, 410, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 697, 698, 700, 701, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 131, 132, 702, 703, 126, 345, 154, 705, 706, 709, - 948, 953, 963, 411, 710, 708, 128, 129, 711, 712, - 715, 154, 716, 713, 719, 131, 132, 714, 249, 720, - 133, 717, 718, 721, 722, 134, 135, 136, 724, 725, - 251, 727, 728, 729, 252, 730, 731, 732, 733, 734, - 735, 736, 737, 253, 394, 395, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 738, 745, 746, - 747, 748, 749, 407, 408, 750, 756, 30, 765, 766, - 759, 767, 768, 774, 1102, 769, 770, 771, 772, 773, - 775, 776, 777, 778, 789, 823, 818, 786, 147, 148, - 787, 788, 790, 791, 793, 154, 794, 795, 797, 798, - 799, 800, 881, 801, 885, 802, 803, 889, 804, 805, - 806, 807, 808, 893, 897, 913, 809, 810, 812, 916, - 154, 813, 814, 920, 820, 821, 971, 986, 1006, 1007, - 822, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1017, - 1018, 1028, 1101, 1027, 1031, 1030, 1033, 1034, 1036, 1037, - 1040, 1039, 1048, 1104, 1047, 1051, 1050, 1052, 1053, 1054, - 1055, 1056, 1057, 1060, 1061, 1062, 1069, 1071, 1079, 1080, - 1081, 1082, 825, 1090, 1085, 1089, 1092, 1093, 1094, 1095, - 1097, 1098, 1099, 1100, 1103, 1105, 1106, 1107, 1108, 1109, - 1110, 1111, 1113, 1112, 1114, 1115, 1116, 1117, 1203, 1204, - 1205, 1206, 254, 1207, 1208, 351, 1211, 1210, 371, 1212, - 1214, 1127, 373, 300, 1215, 258, 1178, 1218, 1219, 325, - 298, 1184, 389, 365, 1131, 1217, 385, 352, 1220, 1167, - 372, 374, 259, 1155, 1186, 1235, 941, 327, 1183, 255, - 951, 1132, 260, 256, 1240, 1236, 296, 1237, 1128, 1225, - 1241, 1133, 1129, 1179, 947, 1166, 978, 1180, 952, 299, - 1185, 307, 366, 326, 962, 386, 1238, 1227, 1168, 261, - 1244, 1226, 301, 1187, 1245, 1246, 328, 1264, 1134, 315, - 1251, 1169, 302, 262, 1265, 263, 1188, 1270, 1271, 332, - 1272, 1170, 1135, 948, 1136, 257, 1189, 953, 303, 333, - 1273, 1280, 281, 963, 1130, 310, 1228, 1171, 1252, 1181, - 1288, 1154, 1190, 1253, 264, 334, 1182, 265, 316, 266, - 267, 268, 269, 1137, 270, 271, 1138, 272, 1139, 1140, - 1141, 1142, 273, 1143, 1144, 274, 1145, 275, 276, 277, - 278, 1146, 279, 280, 1147, 291, 1148, 1149, 1150, 1151, - 292, 1152, 1153, 293, 1160, 294, 1158, 1159, 1289, 1161, - 1292, 1294, 1162, 1298, 1163, 1320, 1300, 1290, 1321, 1322, - 1326, 1330, 1258, 811, 819, 827, 1096, 1120, 660, 994, - 668, 1118, 1174, 1213, 1202, 1201, 707, 1209, 1122, 1287, - 1121, 1173, 704, 1259, 1260, 1123, 1124, 1243, 699, 1125, - 679, 1278, 1261, 1275, 1276, 1277, 308, 309, 1293, 1284, - 1296, 1126, 1291, 1242, 1216, 1297, 1299, 1200, 1199, 1328, - 1327, 1329, 1332, 1333, 991, 1198, 1221, 970, 723, 726, - 1295, 1234, 826, 1318, 1331, 1239, 0, 0, 0, 1127, - 0, 0, 0, 0, 0, 1178, 682, 0, 0, 0, - 1184, 0, 1131, 0, 0, 1225, 0, 1167, 691, 0, - 0, 1155, 0, 1186, 0, 0, 0, 1183, 0, 1132, - 0, 0, 0, 1227, 0, 0, 1128, 1226, 0, 1133, - 1129, 0, 1179, 1166, 0, 0, 1180, 0, 0, 1185, - 0, 0, 0, 0, 0, 0, 1168, 0, 0, 0, - 0, 0, 1187, 0, 0, 0, 1134, 0, 0, 1169, - 0, 0, 1228, 0, 0, 1188, 0, 0, 0, 1170, - 1135, 0, 1136, 0, 0, 1189, 0, 0, 0, 0, - 0, 0, 1130, 0, 0, 1171, 0, 0, 1181, 1154, - 0, 1190, 0, 0, 0, 1182, 0, 0, 0, 0, - 0, 1137, 0, 0, 1138, 0, 1139, 1140, 1141, 1142, - 0, 1143, 1144, 0, 1145, 0, 0, 0, 0, 1146, - 0, 0, 1147, 0, 1148, 1149, 1150, 1151, 0, 1152, - 1153, 0, 1160, 0, 1158, 1159, 0, 1161, 0, 0, - 1162, 0, 1163 + 124, 125, 1027, 787, 788, 126, 127, 1028, 905, 906, + 907, 908, 1160, 909, 347, 1161, 1176, 128, 129, 130, + 32, 33, 34, 35, 131, 1027, 1308, 132, 133, 1309, + 1029, 155, 134, 58, 132, 133, 60, 135, 136, 137, + 138, 139, 1062, 62, 93, 94, 95, 1063, 140, 1067, + 1071, 1077, 132, 133, 1068, 1072, 1078, 441, 141, 832, + 833, 142, 93, 94, 95, 96, 586, 84, 143, 144, + 1087, 1079, 1123, 145, 1027, 1088, 146, 535, 1270, 1266, + 147, 569, 1267, 1271, 440, 448, 1278, 449, 450, 347, + 369, 348, 349, 370, 371, 372, 454, 101, 102, 103, + 148, 149, 150, 151, 152, 153, 455, 1286, 127, 132, + 133, 459, 1287, 1226, 154, 1227, 1228, 539, 1328, 1258, + 1259, 1260, 1289, 1329, 460, 126, 127, 347, 461, 132, + 133, 462, 155, 91, 92, 93, 94, 95, 96, 155, + 1251, 1252, 1253, 319, 463, 464, 465, 132, 133, 592, + 593, 320, 321, 322, 323, 324, 325, 155, 326, 755, + 756, 757, 758, 1179, 1180, 1181, 764, 765, 766, 767, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 466, 467, 468, 469, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 471, 246, 247, 248, 472, 127, + 473, 474, 475, 479, 480, 481, 482, 486, 493, 494, + 495, 129, 130, 501, 155, 508, 509, 156, 249, 510, + 132, 133, 250, 251, 252, 134, 234, 513, 519, 520, + 135, 136, 137, 521, 155, 253, 522, 531, 256, 254, + 538, 140, 309, 549, 244, 550, 551, 554, 255, 302, + 558, 260, 155, 327, 560, 559, 300, 562, 563, 564, + 317, 566, 594, 353, 565, 571, 574, 576, 261, 373, + 577, 329, 580, 375, 581, 257, 589, 595, 262, 258, + 596, 367, 298, 245, 597, 354, 312, 387, 598, 411, + 599, 374, 376, 148, 149, 301, 602, 328, 600, 318, + 603, 604, 601, 605, 606, 263, 607, 412, 303, 608, + 330, 609, 610, 611, 612, 621, 613, 614, 304, 264, + 368, 265, 615, 334, 616, 155, 388, 627, 628, 617, + 618, 259, 619, 335, 305, 620, 622, 629, 283, 623, + 634, 635, 624, 625, 626, 632, 413, 630, 631, 336, + 266, 633, 636, 267, 1290, 268, 269, 270, 271, 637, + 272, 273, 346, 274, 638, 639, 640, 641, 275, 642, + 643, 276, 644, 277, 278, 279, 280, 645, 281, 282, + 646, 293, 647, 648, 649, 650, 294, 310, 311, 295, + 838, 296, 651, 652, 839, 840, 841, 842, 843, 844, + 845, 846, 847, 848, 849, 850, 851, 852, 653, 654, + 655, 853, 854, 855, 856, 857, 858, 656, 657, 347, + 658, 348, 349, 662, 663, 665, 350, 351, 352, 666, + 667, 673, 659, 660, 674, 156, 732, 234, 661, 132, + 133, 668, 828, 669, 670, 671, 675, 347, 676, 677, + 678, 679, 680, 681, 682, 244, 684, 685, 687, 688, + 689, 690, 91, 92, 93, 94, 95, 96, 691, 692, + 693, 694, 696, 697, 699, 698, 700, 945, 955, 701, + 411, 704, 702, 709, 982, 705, 710, 713, 714, 706, + 707, 716, 712, 719, 245, 951, 956, 966, 412, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 715, + 717, 718, 720, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 132, 133, 721, 723, 127, 347, + 724, 722, 725, 726, 952, 957, 967, 413, 728, 729, + 129, 130, 731, 733, 155, 1010, 734, 735, 736, 132, + 133, 737, 251, 738, 134, 739, 740, 741, 751, 135, + 136, 137, 742, 749, 253, 750, 752, 753, 254, 754, + 760, 30, 155, 763, 769, 770, 771, 255, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 772, 773, 778, 774, 775, 776, 409, 410, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 777, 779, 780, 781, 782, 790, 791, 792, + 793, 794, 148, 149, 795, 797, 798, 827, 822, 155, + 799, 801, 802, 803, 804, 885, 889, 805, 893, 806, + 807, 897, 901, 917, 808, 809, 810, 920, 924, 975, + 811, 990, 1011, 812, 155, 813, 814, 816, 817, 818, + 824, 825, 826, 1012, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 1021, 1022, 1032, 1105, 1031, 1035, 1034, 1037, 1038, + 1040, 1041, 1044, 1043, 1052, 1089, 1051, 1055, 1054, 1056, + 1057, 1058, 1059, 1060, 1061, 1064, 1065, 1066, 1073, 1075, + 1083, 1084, 1085, 1086, 1094, 1106, 1093, 1249, 1098, 1097, + 1096, 1099, 1101, 1102, 1103, 1104, 1107, 1108, 1109, 1110, + 1111, 1112, 1113, 1114, 1115, 1117, 1116, 1118, 1119, 1120, + 1121, 1214, 1207, 1208, 1209, 1210, 256, 1211, 1212, 353, + 1215, 1216, 373, 1218, 1219, 1131, 375, 302, 1222, 260, + 1182, 1224, 1221, 327, 300, 1188, 391, 367, 1135, 1244, + 387, 354, 1239, 1171, 374, 376, 261, 1159, 1190, 1223, + 945, 329, 1187, 257, 955, 1136, 262, 258, 1245, 1240, + 298, 1241, 1132, 1229, 1242, 1137, 1133, 1183, 951, 1170, + 982, 1184, 956, 301, 1189, 309, 368, 328, 966, 388, + 1248, 1231, 1172, 263, 1250, 1230, 303, 1191, 1268, 1269, + 330, 1274, 1138, 317, 1255, 1173, 304, 264, 1256, 265, + 1192, 1257, 1262, 334, 1263, 1174, 1139, 952, 1140, 259, + 1193, 957, 305, 335, 1264, 1265, 283, 967, 1134, 312, + 1232, 1175, 1275, 1185, 1276, 1158, 1194, 1277, 266, 336, + 1186, 267, 318, 268, 269, 270, 271, 1141, 272, 273, + 1142, 274, 1143, 1144, 1145, 1146, 275, 1147, 1148, 276, + 1149, 277, 278, 279, 280, 1150, 281, 282, 1151, 293, + 1152, 1153, 1154, 1155, 294, 1156, 1157, 295, 1164, 296, + 1162, 1163, 1284, 1165, 1292, 1293, 1166, 1279, 1167, 1296, + 1298, 1304, 1302, 1324, 1325, 1280, 1326, 1330, 1334, 823, + 672, 1124, 829, 998, 664, 831, 1100, 1122, 1178, 1206, + 815, 711, 1217, 1205, 1213, 1125, 1126, 1281, 1288, 683, + 1177, 1128, 1291, 703, 1127, 1282, 1297, 1294, 1300, 1301, + 310, 311, 1130, 1303, 1331, 1332, 1204, 1129, 708, 1203, + 1333, 1336, 1337, 1247, 995, 1246, 1295, 1225, 1220, 1202, + 974, 727, 730, 830, 1238, 1299, 1322, 1335, 1243, 0, + 0, 0, 0, 1131, 0, 0, 0, 0, 0, 1182, + 686, 0, 0, 0, 1188, 0, 1135, 0, 0, 1229, + 0, 1171, 0, 0, 0, 1159, 0, 1190, 0, 0, + 0, 1187, 0, 1136, 0, 0, 0, 1231, 695, 0, + 1132, 1230, 0, 1137, 1133, 0, 1183, 1170, 0, 0, + 1184, 0, 0, 1189, 0, 0, 0, 0, 0, 0, + 1172, 0, 0, 0, 0, 0, 1191, 0, 0, 0, + 1138, 0, 0, 1173, 0, 0, 1232, 0, 0, 1192, + 0, 0, 0, 1174, 1139, 0, 1140, 0, 0, 1193, + 0, 0, 0, 0, 0, 0, 1134, 0, 0, 1175, + 0, 0, 1185, 1158, 0, 1194, 0, 0, 0, 1186, + 0, 0, 0, 0, 0, 1141, 0, 0, 1142, 0, + 1143, 1144, 1145, 1146, 0, 1147, 1148, 0, 1149, 0, + 0, 0, 0, 1150, 0, 0, 1151, 0, 1152, 1153, + 1154, 1155, 0, 1156, 1157, 0, 1164, 0, 1162, 1163, + 0, 1165, 0, 0, 1166, 0, 1167 }; const short Dhcp4Parser::yycheck_[] = { 67, 68, 69, 70, 71, 64, 73, 74, 75, 76, - 72, 74, 736, 69, 1038, 69, 1038, 1038, 637, 68, - 69, 70, 71, 18, 73, 74, 676, 76, 73, 74, - 74, 7, 69, 683, 148, 149, 5, 0, 7, 69, - 9, 3, 69, 69, 6, 221, 69, 70, 71, 185, - 186, 187, 188, 57, 58, 59, 95, 3, 68, 69, + 72, 74, 740, 69, 1042, 69, 680, 1042, 1042, 68, + 69, 70, 71, 687, 73, 74, 18, 76, 73, 74, + 74, 0, 69, 5, 7, 7, 222, 9, 641, 69, + 149, 150, 69, 69, 12, 13, 69, 70, 71, 186, + 187, 188, 189, 117, 118, 6, 96, 3, 68, 69, 70, 71, 8, 73, 74, 3, 76, 7, 3, 69, - 8, 7, 69, 8, 71, 3, 115, 116, 117, 94, - 8, 6, 69, 69, 71, 69, 3, 706, 224, 7, - 3, 8, 131, 6, 3, 69, 135, 136, 69, 8, - 71, 7, 69, 138, 139, 140, 141, 221, 143, 204, - 205, 206, 207, 3, 69, 12, 13, 69, 8, 69, - 69, 69, 69, 3, 69, 69, 221, 69, 8, 3, - 3, 3, 69, 6, 8, 69, 8, 69, 69, 69, - 69, 11, 69, 69, 14, 69, 3, 3, 70, 70, - 69, 8, 8, 69, 3, 69, 26, 6, 3, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 15, - 16, 148, 149, 19, 17, 18, 22, 23, 24, 25, - 196, 7, 221, 199, 200, 201, 202, 3, 183, 7, - 3, 10, 8, 116, 117, 8, 66, 67, 68, 69, + 8, 7, 69, 8, 71, 3, 116, 117, 118, 95, + 8, 4, 69, 69, 71, 69, 117, 118, 225, 7, + 3, 3, 132, 6, 3, 69, 136, 137, 69, 8, + 71, 3, 69, 167, 168, 169, 8, 710, 7, 205, + 206, 207, 208, 222, 69, 149, 150, 69, 3, 69, + 69, 69, 69, 8, 69, 69, 222, 69, 3, 160, + 161, 162, 69, 8, 7, 69, 3, 69, 69, 69, + 69, 8, 69, 69, 7, 69, 7, 3, 70, 70, + 69, 11, 8, 69, 14, 69, 117, 118, 222, 197, + 17, 18, 200, 201, 202, 203, 26, 146, 147, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 15, 16, 222, 3, 19, 7, 6, 22, 23, 24, + 25, 222, 184, 152, 153, 154, 155, 156, 157, 3, + 3, 3, 6, 164, 165, 8, 8, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 116, 117, 7, 94, 95, 7, 32, 33, 34, - 35, 116, 117, 7, 3, 7, 106, 107, 108, 8, - 163, 164, 1266, 113, 1266, 1266, 116, 117, 40, 41, - 42, 121, 221, 222, 223, 224, 126, 127, 128, 129, - 130, 66, 67, 68, 159, 160, 161, 137, 3, 3, - 116, 117, 4, 8, 8, 20, 21, 147, 7, 3, - 150, 166, 167, 168, 8, 27, 28, 157, 158, 94, - 95, 96, 162, 145, 146, 165, 3, 8, 221, 169, - 3, 8, 1026, 30, 31, 32, 33, 34, 35, 4, - 96, 116, 117, 151, 152, 153, 154, 155, 156, 189, - 190, 191, 192, 193, 194, 4, 221, 132, 133, 134, - 116, 117, 3, 203, 4, 4, 221, 8, 4, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 8, - 4, 221, 4, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 4, 91, 92, 93, 3, 95, 3, - 3, 3, 8, 4, 8, 221, 8, 436, 437, 4, - 107, 108, 4, 3, 221, 4, 4, 114, 8, 116, - 117, 118, 119, 120, 121, 4, 4, 3, 3, 126, - 127, 128, 8, 8, 131, 4, 4, 4, 135, 195, - 137, 197, 198, 3, 8, 39, 221, 144, 8, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 4, 4, 221, 60, 61, 62, 63, - 64, 65, 4, 4, 511, 4, 96, 97, 98, 99, - 100, 101, 102, 520, 109, 110, 111, 112, 122, 123, - 124, 125, 189, 190, 4, 532, 116, 117, 4, 536, - 4, 520, 96, 4, 4, 4, 532, 4, 532, 4, - 547, 4, 4, 532, 4, 4, 4, 536, 4, 4, - 557, 4, 4, 4, 221, 532, 563, 3, 547, 8, - 563, 4, 532, 4, 4, 532, 532, 3, 557, 532, - 520, 8, 557, 536, 563, 4, 583, 4, 563, 563, - 4, 4, 532, 4, 547, 4, 536, 4, 4, 4, - 4, 4, 532, 224, 583, 532, 224, 547, 224, 222, - 4, 4, 4, 4, 4, 532, 532, 557, 532, 4, - 547, 224, 4, 563, 222, 222, 4, 222, 532, 222, - 547, 532, 222, 224, 222, 532, 223, 32, 33, 34, - 223, 221, 223, 583, 222, 222, 547, 532, 222, 224, - 532, 224, 532, 532, 532, 532, 4, 532, 532, 39, - 532, 4, 4, 223, 1244, 532, 224, 221, 532, 4, - 532, 532, 532, 532, 4, 532, 532, 224, 532, 224, - 222, 4, 4, 532, 536, 536, 532, 4, 532, 4, - 4, 4, 224, 224, 224, 4, 4, 4, 4, 4, - 95, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 222, 4, 96, 4, 98, 99, - 4, 116, 117, 103, 104, 105, 4, 4, 4, 224, - 224, 728, 4, 730, 224, 130, 116, 117, 727, 4, - 4, 4, 4, 138, 139, 140, 141, 142, 143, 224, - 145, 730, 224, 222, 222, 4, 4, 4, 4, 30, - 31, 32, 33, 34, 35, 4, 4, 4, 222, 4, - 4, 4, 4, 770, 771, 222, 773, 4, 4, 4, - 777, 4, 4, 4, 4, 4, 4, 222, 4, 4, - 730, 770, 771, 772, 773, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 4, 224, 4, 224, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 116, 117, 224, 224, 95, 96, 221, 4, 4, 4, - 770, 771, 772, 773, 4, 224, 107, 108, 222, 4, - 4, 221, 4, 222, 4, 116, 117, 222, 119, 4, - 121, 224, 224, 4, 4, 126, 127, 128, 4, 222, - 131, 4, 7, 7, 135, 7, 7, 221, 221, 221, - 7, 7, 5, 144, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 221, 221, 221, - 5, 5, 5, 189, 190, 221, 5, 7, 5, 5, - 221, 5, 5, 221, 224, 7, 7, 7, 7, 7, - 221, 5, 7, 5, 5, 5, 184, 221, 189, 190, - 221, 221, 221, 221, 221, 221, 7, 221, 221, 221, - 221, 221, 7, 221, 7, 221, 221, 7, 221, 221, - 221, 221, 221, 7, 7, 7, 221, 221, 221, 7, - 221, 221, 221, 7, 221, 221, 7, 7, 4, 4, - 221, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 3, 222, 6, 3, 6, 6, 3, 6, 3, - 3, 6, 3, 224, 6, 3, 6, 4, 4, 4, + 90, 91, 3, 20, 21, 95, 96, 8, 139, 140, + 141, 142, 1270, 144, 97, 1270, 1270, 107, 108, 109, + 222, 223, 224, 225, 114, 3, 3, 117, 118, 6, + 8, 222, 122, 7, 117, 118, 7, 127, 128, 129, + 130, 131, 3, 7, 32, 33, 34, 8, 138, 3, + 3, 3, 117, 118, 8, 8, 8, 3, 148, 27, + 28, 151, 32, 33, 34, 35, 3, 10, 158, 159, + 3, 8, 1030, 163, 3, 8, 166, 3, 3, 8, + 170, 3, 8, 8, 8, 4, 8, 4, 4, 97, + 98, 99, 100, 101, 102, 103, 4, 67, 68, 69, + 190, 191, 192, 193, 194, 195, 4, 3, 96, 117, + 118, 4, 8, 196, 204, 198, 199, 3, 3, 58, + 59, 60, 8, 8, 4, 95, 96, 97, 4, 117, + 118, 4, 222, 30, 31, 32, 33, 34, 35, 222, + 41, 42, 43, 131, 4, 4, 4, 117, 118, 438, + 439, 139, 140, 141, 142, 143, 144, 222, 146, 110, + 111, 112, 113, 133, 134, 135, 123, 124, 125, 126, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 4, 4, 4, 4, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 4, 92, 93, 94, 4, 96, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 108, 109, 4, 222, 4, 4, 514, 115, 4, + 117, 118, 119, 120, 121, 122, 523, 4, 4, 4, + 127, 128, 129, 4, 222, 132, 4, 4, 535, 136, + 4, 138, 539, 8, 523, 3, 8, 4, 145, 535, + 4, 535, 222, 550, 3, 8, 535, 4, 4, 4, + 539, 3, 222, 560, 8, 4, 4, 4, 535, 566, + 4, 550, 4, 566, 4, 535, 4, 4, 535, 535, + 4, 560, 535, 523, 4, 560, 539, 566, 4, 586, + 225, 566, 566, 190, 191, 535, 4, 550, 225, 539, + 4, 4, 225, 223, 225, 535, 4, 586, 535, 4, + 550, 4, 223, 223, 223, 4, 223, 223, 535, 535, + 560, 535, 225, 550, 224, 222, 566, 4, 4, 224, + 224, 535, 223, 550, 535, 223, 223, 4, 535, 223, + 4, 4, 225, 225, 225, 224, 586, 225, 225, 550, + 535, 225, 4, 535, 1248, 535, 535, 535, 535, 223, + 535, 535, 40, 535, 4, 4, 4, 4, 535, 4, + 4, 535, 225, 535, 535, 535, 535, 225, 535, 535, + 225, 535, 4, 4, 4, 4, 535, 539, 539, 535, + 40, 535, 4, 223, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 4, 4, + 4, 61, 62, 63, 64, 65, 66, 4, 4, 97, + 4, 99, 100, 4, 4, 4, 104, 105, 106, 4, + 4, 4, 225, 225, 4, 732, 7, 734, 225, 117, + 118, 225, 731, 225, 223, 223, 4, 97, 4, 4, + 4, 223, 4, 4, 4, 734, 4, 223, 4, 4, + 4, 4, 30, 31, 32, 33, 34, 35, 4, 4, + 4, 4, 4, 4, 4, 223, 4, 774, 775, 4, + 777, 4, 225, 4, 781, 225, 4, 4, 4, 225, + 225, 4, 225, 4, 734, 774, 775, 776, 777, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 223, + 223, 223, 4, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 117, 118, 225, 4, 96, 97, + 4, 225, 4, 4, 774, 775, 776, 777, 4, 223, + 108, 109, 4, 7, 222, 4, 7, 7, 222, 117, + 118, 222, 120, 222, 122, 7, 7, 5, 5, 127, + 128, 129, 222, 222, 132, 222, 5, 5, 136, 222, + 5, 7, 222, 222, 5, 5, 5, 145, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 5, 7, 222, 7, 7, 7, 190, 191, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 7, 222, 5, 7, 5, 222, 222, 222, + 5, 222, 190, 191, 222, 222, 7, 5, 185, 222, + 222, 222, 222, 222, 222, 7, 7, 222, 7, 222, + 222, 7, 7, 7, 222, 222, 222, 7, 7, 7, + 222, 7, 4, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 3, 223, 6, 3, 6, 6, 3, + 6, 3, 3, 6, 3, 222, 6, 3, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 728, 3, 221, 6, 8, 6, 4, 4, - 4, 4, 4, 4, 222, 222, 222, 222, 222, 222, - 222, 4, 222, 224, 4, 4, 4, 4, 222, 222, - 222, 222, 1029, 222, 222, 1032, 222, 224, 1035, 222, - 4, 1038, 1035, 1029, 4, 1029, 1043, 4, 222, 1046, - 1029, 1043, 1049, 1032, 1038, 224, 1035, 1032, 4, 1038, - 1035, 1035, 1029, 1038, 1043, 224, 1063, 1046, 1043, 1029, - 1067, 1038, 1029, 1029, 6, 224, 1029, 224, 1038, 1076, - 3, 1038, 1038, 1043, 1063, 1038, 1083, 1043, 1067, 1029, - 1043, 1088, 1032, 1046, 1073, 1035, 224, 1076, 1038, 1029, - 4, 1076, 1029, 1043, 221, 221, 1046, 8, 1038, 1088, - 221, 1038, 1029, 1029, 8, 1029, 1043, 4, 8, 1046, - 3, 1038, 1038, 1063, 1038, 1029, 1043, 1067, 1029, 1046, - 8, 4, 1029, 1073, 1038, 1088, 1076, 1038, 221, 1043, - 4, 1038, 1043, 221, 1029, 1046, 1043, 1029, 1088, 1029, - 1029, 1029, 1029, 1038, 1029, 1029, 1038, 1029, 1038, 1038, - 1038, 1038, 1029, 1038, 1038, 1029, 1038, 1029, 1029, 1029, - 1029, 1038, 1029, 1029, 1038, 1029, 1038, 1038, 1038, 1038, - 1029, 1038, 1038, 1029, 1038, 1029, 1038, 1038, 4, 1038, - 4, 4, 1038, 5, 1038, 4, 7, 224, 4, 4, - 4, 4, 221, 706, 719, 730, 1000, 1028, 511, 823, - 520, 1023, 1041, 1063, 1051, 1049, 566, 1058, 1031, 1266, - 1029, 1040, 563, 221, 221, 1032, 1034, 1090, 557, 1035, - 532, 1220, 221, 221, 221, 221, 1088, 1088, 222, 221, - 221, 1037, 1272, 1088, 1067, 221, 221, 1048, 1046, 222, - 224, 222, 221, 221, 794, 1044, 1073, 773, 583, 587, - 1282, 1077, 729, 1304, 1324, 1083, -1, -1, -1, 1266, - -1, -1, -1, -1, -1, 1272, 536, -1, -1, -1, - 1272, -1, 1266, -1, -1, 1282, -1, 1266, 547, -1, - -1, 1266, -1, 1272, -1, -1, -1, 1272, -1, 1266, - -1, -1, -1, 1282, -1, -1, 1266, 1282, -1, 1266, - 1266, -1, 1272, 1266, -1, -1, 1272, -1, -1, 1272, - -1, -1, -1, -1, -1, -1, 1266, -1, -1, -1, - -1, -1, 1272, -1, -1, -1, 1266, -1, -1, 1266, - -1, -1, 1282, -1, -1, 1272, -1, -1, -1, 1266, - 1266, -1, 1266, -1, -1, 1272, -1, -1, -1, -1, - -1, -1, 1266, -1, -1, 1266, -1, -1, 1272, 1266, - -1, 1272, -1, -1, -1, 1272, -1, -1, -1, -1, - -1, 1266, -1, -1, 1266, -1, 1266, 1266, 1266, 1266, - -1, 1266, 1266, -1, 1266, -1, -1, -1, -1, 1266, - -1, -1, 1266, -1, 1266, 1266, 1266, 1266, -1, 1266, - 1266, -1, 1266, -1, 1266, 1266, -1, 1266, -1, -1, - 1266, -1, 1266 + 4, 4, 4, 4, 3, 225, 6, 222, 4, 6, + 8, 4, 4, 4, 4, 4, 223, 225, 223, 223, + 223, 223, 223, 223, 4, 223, 225, 4, 4, 4, + 4, 225, 223, 223, 223, 223, 1033, 223, 223, 1036, + 223, 223, 1039, 4, 4, 1042, 1039, 1033, 4, 1033, + 1047, 4, 225, 1050, 1033, 1047, 1053, 1036, 1042, 6, + 1039, 1036, 225, 1042, 1039, 1039, 1033, 1042, 1047, 223, + 1067, 1050, 1047, 1033, 1071, 1042, 1033, 1033, 3, 225, + 1033, 225, 1042, 1080, 225, 1042, 1042, 1047, 1067, 1042, + 1087, 1047, 1071, 1033, 1047, 1092, 1036, 1050, 1077, 1039, + 4, 1080, 1042, 1033, 222, 1080, 1033, 1047, 8, 8, + 1050, 4, 1042, 1092, 222, 1042, 1033, 1033, 222, 1033, + 1047, 222, 222, 1050, 222, 1042, 1042, 1067, 1042, 1033, + 1047, 1071, 1033, 1050, 222, 222, 1033, 1077, 1042, 1092, + 1080, 1042, 8, 1047, 3, 1042, 1047, 8, 1033, 1050, + 1047, 1033, 1092, 1033, 1033, 1033, 1033, 1042, 1033, 1033, + 1042, 1033, 1042, 1042, 1042, 1042, 1033, 1042, 1042, 1033, + 1042, 1033, 1033, 1033, 1033, 1042, 1033, 1033, 1042, 1033, + 1042, 1042, 1042, 1042, 1033, 1042, 1042, 1033, 1042, 1033, + 1042, 1042, 4, 1042, 4, 4, 1042, 222, 1042, 4, + 4, 7, 5, 4, 4, 222, 4, 4, 4, 723, + 523, 1032, 732, 827, 514, 734, 1004, 1027, 1045, 1055, + 710, 569, 1067, 1053, 1062, 1033, 1035, 222, 222, 535, + 1044, 1038, 1270, 560, 1036, 1224, 223, 225, 222, 222, + 1092, 1092, 1041, 222, 225, 223, 1052, 1039, 566, 1050, + 223, 222, 222, 1094, 798, 1092, 1276, 1077, 1071, 1048, + 777, 586, 590, 733, 1081, 1286, 1308, 1328, 1087, -1, + -1, -1, -1, 1270, -1, -1, -1, -1, -1, 1276, + 539, -1, -1, -1, 1276, -1, 1270, -1, -1, 1286, + -1, 1270, -1, -1, -1, 1270, -1, 1276, -1, -1, + -1, 1276, -1, 1270, -1, -1, -1, 1286, 550, -1, + 1270, 1286, -1, 1270, 1270, -1, 1276, 1270, -1, -1, + 1276, -1, -1, 1276, -1, -1, -1, -1, -1, -1, + 1270, -1, -1, -1, -1, -1, 1276, -1, -1, -1, + 1270, -1, -1, 1270, -1, -1, 1286, -1, -1, 1276, + -1, -1, -1, 1270, 1270, -1, 1270, -1, -1, 1276, + -1, -1, -1, -1, -1, -1, 1270, -1, -1, 1270, + -1, -1, 1276, 1270, -1, 1276, -1, -1, -1, 1276, + -1, -1, -1, -1, -1, 1270, -1, -1, 1270, -1, + 1270, 1270, 1270, 1270, -1, 1270, 1270, -1, 1270, -1, + -1, -1, -1, 1270, -1, -1, 1270, -1, 1270, 1270, + 1270, 1270, -1, 1270, 1270, -1, 1270, -1, 1270, 1270, + -1, 1270, -1, -1, 1270, -1, 1270 }; const short Dhcp4Parser::yystos_[] = { - 0, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 0, 5, - 7, 9, 221, 222, 223, 224, 240, 241, 242, 247, - 7, 256, 7, 261, 7, 315, 7, 429, 7, 513, - 7, 530, 7, 464, 7, 470, 7, 494, 7, 405, - 7, 597, 7, 628, 248, 243, 257, 262, 316, 430, - 514, 531, 465, 471, 495, 406, 598, 629, 240, 249, - 250, 221, 245, 246, 10, 258, 260, 11, 14, 26, + 0, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 0, 5, + 7, 9, 222, 223, 224, 225, 241, 242, 243, 248, + 7, 257, 7, 262, 7, 317, 7, 431, 7, 515, + 7, 532, 7, 466, 7, 472, 7, 496, 7, 407, + 7, 599, 7, 630, 249, 244, 258, 263, 318, 432, + 516, 533, 467, 473, 497, 408, 600, 631, 241, 250, + 251, 222, 246, 247, 10, 259, 261, 11, 14, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 39, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 94, 95, 106, 107, 108, - 113, 116, 117, 121, 126, 127, 128, 129, 130, 137, - 147, 150, 157, 158, 162, 165, 169, 189, 190, 191, - 192, 193, 194, 203, 221, 255, 263, 264, 265, 266, + 86, 87, 88, 89, 90, 91, 95, 96, 107, 108, + 109, 114, 117, 118, 122, 127, 128, 129, 130, 131, + 138, 148, 151, 158, 159, 163, 166, 170, 190, 191, + 192, 193, 194, 195, 204, 222, 256, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 278, 279, 281, 282, 283, 284, 285, 286, 287, 290, - 292, 294, 295, 296, 299, 300, 302, 304, 305, 306, - 307, 308, 309, 310, 311, 329, 331, 339, 341, 383, - 392, 399, 413, 423, 447, 448, 449, 450, 454, 462, - 488, 520, 522, 524, 535, 537, 539, 562, 576, 577, - 585, 595, 626, 635, 659, 15, 16, 19, 22, 23, - 24, 25, 255, 313, 314, 317, 319, 322, 325, 326, - 327, 328, 520, 522, 91, 92, 93, 114, 118, 119, - 120, 131, 135, 144, 255, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 279, 282, 283, 284, 285, - 286, 287, 290, 292, 294, 295, 296, 299, 300, 302, - 304, 310, 431, 432, 433, 435, 437, 439, 441, 443, - 445, 447, 448, 449, 450, 453, 488, 507, 520, 522, - 524, 535, 537, 539, 559, 115, 136, 255, 443, 445, - 488, 515, 516, 517, 519, 520, 522, 130, 138, 139, - 140, 141, 142, 143, 145, 255, 488, 520, 522, 532, - 533, 534, 535, 537, 539, 541, 545, 547, 549, 551, - 553, 555, 557, 462, 39, 96, 98, 99, 103, 104, - 105, 255, 359, 472, 473, 474, 475, 476, 477, 478, - 480, 482, 484, 485, 487, 520, 522, 97, 100, 101, - 102, 255, 359, 476, 482, 496, 497, 498, 499, 500, - 502, 503, 504, 505, 506, 520, 522, 148, 149, 255, - 407, 408, 409, 411, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 189, 190, 255, - 520, 522, 599, 600, 601, 602, 604, 605, 607, 608, - 609, 612, 614, 616, 617, 618, 620, 622, 624, 12, - 13, 630, 631, 632, 634, 6, 3, 4, 8, 3, - 259, 3, 8, 627, 312, 332, 4, 4, 4, 536, - 538, 540, 4, 330, 340, 342, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 277, 4, 4, - 4, 4, 4, 288, 291, 293, 4, 4, 4, 4, - 424, 463, 489, 4, 280, 297, 455, 521, 523, 451, - 4, 4, 4, 384, 563, 525, 400, 414, 4, 393, - 578, 586, 596, 301, 303, 4, 4, 4, 636, 660, - 4, 3, 8, 318, 320, 323, 4, 4, 4, 4, - 3, 8, 436, 438, 440, 508, 434, 442, 4, 446, - 444, 560, 3, 8, 518, 4, 3, 8, 558, 546, - 548, 552, 550, 556, 554, 542, 8, 3, 8, 479, - 360, 4, 483, 481, 486, 4, 8, 3, 501, 4, - 4, 4, 8, 3, 410, 412, 3, 8, 4, 615, - 603, 4, 606, 4, 4, 610, 613, 4, 4, 619, - 621, 623, 625, 3, 8, 633, 4, 3, 8, 240, - 240, 221, 4, 4, 4, 4, 224, 224, 224, 4, - 4, 4, 222, 4, 4, 4, 222, 222, 222, 222, - 222, 224, 223, 223, 223, 222, 222, 4, 222, 222, - 224, 224, 224, 4, 4, 4, 224, 224, 223, 224, - 4, 4, 4, 222, 4, 4, 4, 4, 4, 4, - 224, 224, 224, 4, 4, 4, 4, 4, 222, 4, - 4, 4, 4, 4, 4, 224, 224, 224, 4, 4, - 264, 4, 4, 4, 224, 224, 222, 222, 314, 4, - 4, 4, 4, 4, 4, 222, 4, 4, 4, 432, - 4, 222, 516, 4, 4, 4, 4, 4, 4, 4, - 4, 534, 4, 4, 222, 4, 4, 4, 224, 474, - 4, 224, 224, 224, 498, 4, 4, 408, 224, 4, - 4, 222, 4, 222, 222, 4, 4, 224, 224, 4, - 4, 4, 4, 600, 4, 222, 631, 4, 7, 7, - 7, 7, 221, 221, 221, 7, 7, 5, 221, 185, - 186, 187, 188, 224, 289, 221, 221, 5, 5, 5, - 221, 109, 110, 111, 112, 298, 5, 242, 244, 221, - 122, 123, 124, 125, 452, 5, 5, 5, 5, 7, - 7, 7, 7, 7, 221, 221, 5, 7, 5, 251, - 17, 18, 321, 20, 21, 324, 221, 221, 221, 5, - 221, 221, 251, 221, 7, 221, 251, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 244, 221, 221, 221, 18, 183, 611, 184, 289, - 221, 221, 221, 5, 240, 263, 630, 313, 27, 28, - 333, 334, 335, 337, 39, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 60, - 61, 62, 63, 64, 65, 255, 347, 348, 349, 352, - 354, 356, 358, 359, 361, 362, 363, 364, 365, 366, - 367, 368, 369, 370, 373, 374, 375, 377, 379, 381, - 347, 7, 343, 344, 345, 7, 425, 426, 427, 7, - 466, 467, 468, 7, 490, 491, 492, 7, 456, 457, - 458, 138, 139, 140, 141, 143, 385, 386, 387, 388, - 389, 390, 391, 7, 564, 565, 7, 526, 527, 528, - 7, 401, 402, 403, 151, 152, 153, 154, 155, 156, - 415, 416, 417, 418, 419, 420, 421, 422, 159, 160, - 161, 255, 394, 395, 396, 397, 398, 520, 522, 163, - 164, 255, 520, 522, 579, 580, 581, 583, 166, 167, - 168, 221, 520, 522, 587, 588, 589, 590, 592, 593, - 599, 7, 637, 638, 204, 205, 206, 207, 255, 661, - 662, 663, 664, 665, 666, 252, 7, 509, 510, 511, - 146, 541, 543, 561, 343, 8, 8, 8, 336, 338, - 3, 8, 350, 353, 355, 357, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 371, 4, 4, 376, - 378, 380, 382, 3, 8, 8, 346, 6, 3, 428, - 6, 3, 469, 6, 3, 493, 6, 3, 459, 6, - 3, 3, 6, 566, 3, 6, 529, 6, 3, 404, - 6, 3, 4, 4, 4, 4, 4, 4, 3, 8, - 4, 4, 4, 3, 8, 582, 584, 3, 8, 4, - 591, 4, 594, 3, 8, 8, 639, 3, 6, 4, - 4, 4, 4, 3, 8, 221, 253, 254, 512, 6, - 3, 544, 8, 6, 4, 4, 334, 4, 4, 4, - 4, 222, 224, 222, 224, 222, 222, 222, 222, 222, - 222, 4, 224, 222, 4, 4, 4, 4, 348, 347, - 345, 431, 427, 472, 468, 496, 492, 255, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 279, 282, - 283, 284, 285, 286, 287, 290, 292, 294, 295, 296, - 299, 300, 302, 304, 310, 359, 423, 441, 443, 445, - 447, 448, 449, 450, 460, 461, 488, 520, 522, 535, - 537, 539, 559, 458, 386, 132, 133, 134, 255, 265, - 266, 267, 310, 359, 462, 488, 520, 522, 535, 537, - 539, 567, 568, 569, 570, 571, 573, 575, 565, 532, - 528, 407, 403, 222, 222, 222, 222, 222, 222, 416, - 224, 222, 222, 395, 4, 4, 580, 224, 4, 222, - 4, 588, 195, 197, 198, 255, 359, 520, 522, 640, - 641, 642, 643, 645, 638, 224, 224, 224, 224, 662, - 6, 3, 515, 511, 4, 221, 221, 40, 41, 42, - 351, 221, 221, 221, 57, 58, 59, 372, 221, 221, - 221, 221, 8, 8, 8, 8, 3, 8, 572, 574, - 4, 8, 3, 8, 8, 221, 221, 221, 240, 646, - 4, 644, 3, 8, 221, 8, 251, 461, 4, 4, - 224, 569, 4, 222, 4, 641, 221, 221, 5, 221, - 7, 647, 648, 649, 3, 6, 196, 199, 200, 201, - 202, 650, 651, 652, 654, 655, 656, 657, 648, 653, - 4, 4, 4, 658, 3, 8, 4, 224, 222, 222, - 4, 651, 221, 221 + 277, 279, 280, 282, 283, 284, 285, 286, 287, 288, + 291, 293, 295, 296, 297, 300, 301, 303, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 331, 333, 341, + 343, 385, 394, 401, 415, 425, 449, 450, 451, 452, + 456, 464, 490, 522, 524, 526, 537, 539, 541, 564, + 578, 579, 587, 597, 628, 637, 661, 15, 16, 19, + 22, 23, 24, 25, 256, 315, 316, 319, 321, 324, + 327, 328, 329, 330, 522, 524, 92, 93, 94, 115, + 119, 120, 121, 132, 136, 145, 256, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 280, 283, 284, + 285, 286, 287, 288, 291, 293, 295, 296, 297, 300, + 301, 303, 305, 311, 433, 434, 435, 437, 439, 441, + 443, 445, 447, 449, 450, 451, 452, 455, 490, 509, + 522, 524, 526, 537, 539, 541, 561, 116, 137, 256, + 445, 447, 490, 517, 518, 519, 521, 522, 524, 131, + 139, 140, 141, 142, 143, 144, 146, 256, 490, 522, + 524, 534, 535, 536, 537, 539, 541, 543, 547, 549, + 551, 553, 555, 557, 559, 464, 40, 97, 99, 100, + 104, 105, 106, 256, 361, 474, 475, 476, 477, 478, + 479, 480, 482, 484, 486, 487, 489, 522, 524, 98, + 101, 102, 103, 256, 361, 478, 484, 498, 499, 500, + 501, 502, 504, 505, 506, 507, 508, 522, 524, 149, + 150, 256, 409, 410, 411, 413, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 190, + 191, 256, 522, 524, 601, 602, 603, 604, 606, 607, + 609, 610, 611, 614, 616, 618, 619, 620, 622, 624, + 626, 12, 13, 632, 633, 634, 636, 6, 3, 4, + 8, 3, 260, 3, 8, 629, 314, 334, 4, 4, + 4, 538, 540, 542, 4, 4, 332, 342, 344, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 278, 4, 4, 4, 4, 4, 289, 292, 294, 4, + 4, 4, 4, 426, 465, 491, 4, 281, 298, 457, + 523, 525, 453, 4, 4, 4, 386, 565, 527, 402, + 416, 4, 395, 580, 588, 598, 302, 304, 4, 4, + 4, 638, 662, 4, 3, 8, 320, 322, 325, 4, + 4, 4, 4, 3, 8, 438, 440, 442, 510, 436, + 444, 4, 448, 446, 562, 3, 8, 520, 4, 3, + 8, 560, 548, 550, 554, 552, 558, 556, 544, 8, + 3, 8, 481, 362, 4, 485, 483, 488, 4, 8, + 3, 503, 4, 4, 4, 8, 3, 412, 414, 3, + 8, 4, 617, 605, 4, 608, 4, 4, 612, 615, + 4, 4, 621, 623, 625, 627, 3, 8, 635, 4, + 3, 8, 241, 241, 222, 4, 4, 4, 4, 225, + 225, 225, 4, 4, 4, 223, 225, 4, 4, 4, + 223, 223, 223, 223, 223, 225, 224, 224, 224, 223, + 223, 4, 223, 223, 225, 225, 225, 4, 4, 4, + 225, 225, 224, 225, 4, 4, 4, 223, 4, 4, + 4, 4, 4, 4, 225, 225, 225, 4, 4, 4, + 4, 4, 223, 4, 4, 4, 4, 4, 4, 225, + 225, 225, 4, 4, 265, 4, 4, 4, 225, 225, + 223, 223, 316, 4, 4, 4, 4, 4, 4, 223, + 4, 4, 4, 434, 4, 223, 518, 4, 4, 4, + 4, 4, 4, 4, 4, 536, 4, 4, 223, 4, + 4, 4, 225, 476, 4, 225, 225, 225, 500, 4, + 4, 410, 225, 4, 4, 223, 4, 223, 223, 4, + 4, 225, 225, 4, 4, 4, 4, 602, 4, 223, + 633, 4, 7, 7, 7, 7, 222, 222, 222, 7, + 7, 5, 222, 186, 187, 188, 189, 225, 290, 222, + 222, 5, 5, 5, 222, 110, 111, 112, 113, 299, + 5, 243, 245, 222, 123, 124, 125, 126, 454, 5, + 5, 5, 5, 7, 7, 7, 7, 7, 222, 222, + 5, 7, 5, 252, 17, 18, 323, 20, 21, 326, + 222, 222, 222, 5, 222, 222, 252, 222, 7, 222, + 252, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 245, 222, 222, 222, 18, + 184, 613, 185, 290, 222, 222, 222, 5, 241, 264, + 632, 315, 27, 28, 335, 336, 337, 339, 40, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 61, 62, 63, 64, 65, 66, 256, + 349, 350, 351, 354, 356, 358, 360, 361, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 375, 376, + 377, 379, 381, 383, 349, 7, 345, 346, 347, 7, + 427, 428, 429, 7, 468, 469, 470, 7, 492, 493, + 494, 7, 458, 459, 460, 139, 140, 141, 142, 144, + 387, 388, 389, 390, 391, 392, 393, 7, 566, 567, + 7, 528, 529, 530, 7, 403, 404, 405, 152, 153, + 154, 155, 156, 157, 417, 418, 419, 420, 421, 422, + 423, 424, 160, 161, 162, 256, 396, 397, 398, 399, + 400, 522, 524, 164, 165, 256, 522, 524, 581, 582, + 583, 585, 167, 168, 169, 222, 522, 524, 589, 590, + 591, 592, 594, 595, 601, 7, 639, 640, 205, 206, + 207, 208, 256, 663, 664, 665, 666, 667, 668, 253, + 7, 511, 512, 513, 147, 543, 545, 563, 345, 8, + 8, 8, 338, 340, 3, 8, 352, 355, 357, 359, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 373, 4, 4, 378, 380, 382, 384, 3, 8, 8, + 348, 6, 3, 430, 6, 3, 471, 6, 3, 495, + 6, 3, 461, 6, 3, 3, 6, 568, 3, 6, + 531, 6, 3, 406, 6, 3, 4, 4, 4, 4, + 4, 4, 3, 8, 4, 4, 4, 3, 8, 584, + 586, 3, 8, 4, 593, 4, 596, 3, 8, 8, + 641, 3, 6, 4, 4, 4, 4, 3, 8, 222, + 254, 255, 514, 6, 3, 546, 8, 6, 4, 4, + 336, 4, 4, 4, 4, 223, 225, 223, 225, 223, + 223, 223, 223, 223, 223, 4, 225, 223, 4, 4, + 4, 4, 350, 349, 347, 433, 429, 474, 470, 498, + 494, 256, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 280, 283, 284, 285, 286, 287, 288, 291, + 293, 295, 296, 297, 300, 301, 303, 305, 311, 361, + 425, 443, 445, 447, 449, 450, 451, 452, 462, 463, + 490, 522, 524, 537, 539, 541, 561, 460, 388, 133, + 134, 135, 256, 266, 267, 268, 311, 361, 464, 490, + 522, 524, 537, 539, 541, 569, 570, 571, 572, 573, + 575, 577, 567, 534, 530, 409, 405, 223, 223, 223, + 223, 223, 223, 418, 225, 223, 223, 397, 4, 4, + 582, 225, 4, 223, 4, 590, 196, 198, 199, 256, + 361, 522, 524, 642, 643, 644, 645, 647, 640, 225, + 225, 225, 225, 664, 6, 3, 517, 513, 4, 222, + 222, 41, 42, 43, 353, 222, 222, 222, 58, 59, + 60, 374, 222, 222, 222, 222, 8, 8, 8, 8, + 3, 8, 574, 576, 4, 8, 3, 8, 8, 222, + 222, 222, 241, 648, 4, 646, 3, 8, 222, 8, + 252, 463, 4, 4, 225, 571, 4, 223, 4, 643, + 222, 222, 5, 222, 7, 649, 650, 651, 3, 6, + 197, 200, 201, 202, 203, 652, 653, 654, 656, 657, + 658, 659, 650, 655, 4, 4, 4, 660, 3, 8, + 4, 225, 223, 223, 4, 653, 222, 222 }; const short Dhcp4Parser::yyr1_[] = { - 0, 225, 227, 226, 228, 226, 229, 226, 230, 226, - 231, 226, 232, 226, 233, 226, 234, 226, 235, 226, - 236, 226, 237, 226, 238, 226, 239, 226, 240, 240, - 240, 240, 240, 240, 240, 241, 243, 242, 244, 245, - 245, 246, 246, 246, 248, 247, 249, 249, 250, 250, - 250, 252, 251, 253, 253, 254, 254, 254, 255, 257, - 256, 259, 258, 258, 260, 262, 261, 263, 263, 263, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 277, - 276, 278, 280, 279, 281, 282, 283, 284, 285, 286, - 288, 287, 289, 289, 289, 289, 289, 291, 290, 293, - 292, 294, 295, 297, 296, 298, 298, 298, 298, 299, - 301, 300, 303, 302, 304, 305, 306, 307, 308, 309, - 310, 312, 311, 313, 313, 313, 314, 314, 314, 314, - 314, 314, 314, 314, 314, 314, 316, 315, 318, 317, - 320, 319, 321, 321, 323, 322, 324, 324, 325, 326, - 327, 328, 330, 329, 332, 331, 333, 333, 333, 334, - 334, 336, 335, 338, 337, 340, 339, 342, 341, 343, - 343, 344, 344, 344, 346, 345, 347, 347, 347, 348, - 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, - 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, - 348, 348, 350, 349, 351, 351, 351, 353, 352, 355, - 354, 357, 356, 358, 360, 359, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 371, 370, 372, 372, 372, - 373, 374, 376, 375, 378, 377, 380, 379, 382, 381, - 384, 383, 385, 385, 385, 386, 386, 386, 386, 386, - 387, 388, 389, 390, 391, 393, 392, 394, 394, 394, - 395, 395, 395, 395, 395, 395, 396, 397, 398, 400, - 399, 401, 401, 402, 402, 402, 404, 403, 406, 405, - 407, 407, 407, 407, 408, 408, 410, 409, 412, 411, - 414, 413, 415, 415, 415, 416, 416, 416, 416, 416, - 416, 417, 418, 419, 420, 421, 422, 424, 423, 425, - 425, 426, 426, 426, 428, 427, 430, 429, 431, 431, - 431, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 434, 433, 436, 435, 438, 437, 440, 439, 442, 441, - 444, 443, 446, 445, 447, 448, 449, 451, 450, 452, - 452, 452, 452, 453, 455, 454, 456, 456, 457, 457, - 457, 459, 458, 460, 460, 460, 461, 461, 461, 461, - 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, - 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, - 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, - 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, - 463, 462, 465, 464, 466, 466, 467, 467, 467, 469, - 468, 471, 470, 472, 472, 473, 473, 473, 474, 474, - 474, 474, 474, 474, 474, 474, 474, 474, 475, 476, - 477, 479, 478, 481, 480, 483, 482, 484, 486, 485, - 487, 489, 488, 490, 490, 491, 491, 491, 493, 492, - 495, 494, 496, 496, 497, 497, 497, 498, 498, 498, - 498, 498, 498, 498, 498, 498, 498, 499, 501, 500, - 502, 503, 504, 505, 506, 508, 507, 509, 509, 510, - 510, 510, 512, 511, 514, 513, 515, 515, 515, 516, - 516, 516, 516, 516, 516, 516, 516, 518, 517, 519, - 521, 520, 523, 522, 525, 524, 526, 526, 527, 527, - 527, 529, 528, 531, 530, 532, 532, 533, 533, 533, - 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, - 534, 534, 534, 534, 534, 536, 535, 538, 537, 540, + 0, 226, 228, 227, 229, 227, 230, 227, 231, 227, + 232, 227, 233, 227, 234, 227, 235, 227, 236, 227, + 237, 227, 238, 227, 239, 227, 240, 227, 241, 241, + 241, 241, 241, 241, 241, 242, 244, 243, 245, 246, + 246, 247, 247, 247, 249, 248, 250, 250, 251, 251, + 251, 253, 252, 254, 254, 255, 255, 255, 256, 258, + 257, 260, 259, 259, 261, 263, 262, 264, 264, 264, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 278, 277, 279, 281, 280, 282, 283, 284, 285, 286, + 287, 289, 288, 290, 290, 290, 290, 290, 292, 291, + 294, 293, 295, 296, 298, 297, 299, 299, 299, 299, + 300, 302, 301, 304, 303, 305, 306, 307, 308, 309, + 310, 311, 312, 314, 313, 315, 315, 315, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 318, 317, + 320, 319, 322, 321, 323, 323, 325, 324, 326, 326, + 327, 328, 329, 330, 332, 331, 334, 333, 335, 335, + 335, 336, 336, 338, 337, 340, 339, 342, 341, 344, + 343, 345, 345, 346, 346, 346, 348, 347, 349, 349, + 349, 350, 350, 350, 350, 350, 350, 350, 350, 350, + 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, + 350, 350, 350, 350, 352, 351, 353, 353, 353, 355, + 354, 357, 356, 359, 358, 360, 362, 361, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 373, 372, 374, + 374, 374, 375, 376, 378, 377, 380, 379, 382, 381, + 384, 383, 386, 385, 387, 387, 387, 388, 388, 388, + 388, 388, 389, 390, 391, 392, 393, 395, 394, 396, + 396, 396, 397, 397, 397, 397, 397, 397, 398, 399, + 400, 402, 401, 403, 403, 404, 404, 404, 406, 405, + 408, 407, 409, 409, 409, 409, 410, 410, 412, 411, + 414, 413, 416, 415, 417, 417, 417, 418, 418, 418, + 418, 418, 418, 419, 420, 421, 422, 423, 424, 426, + 425, 427, 427, 428, 428, 428, 430, 429, 432, 431, + 433, 433, 433, 434, 434, 434, 434, 434, 434, 434, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, + 434, 434, 436, 435, 438, 437, 440, 439, 442, 441, + 444, 443, 446, 445, 448, 447, 449, 450, 451, 453, + 452, 454, 454, 454, 454, 455, 457, 456, 458, 458, + 459, 459, 459, 461, 460, 462, 462, 462, 463, 463, + 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, + 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, + 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, + 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, + 463, 463, 465, 464, 467, 466, 468, 468, 469, 469, + 469, 471, 470, 473, 472, 474, 474, 475, 475, 475, + 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, + 477, 478, 479, 481, 480, 483, 482, 485, 484, 486, + 488, 487, 489, 491, 490, 492, 492, 493, 493, 493, + 495, 494, 497, 496, 498, 498, 499, 499, 499, 500, + 500, 500, 500, 500, 500, 500, 500, 500, 500, 501, + 503, 502, 504, 505, 506, 507, 508, 510, 509, 511, + 511, 512, 512, 512, 514, 513, 516, 515, 517, 517, + 517, 518, 518, 518, 518, 518, 518, 518, 518, 520, + 519, 521, 523, 522, 525, 524, 527, 526, 528, 528, + 529, 529, 529, 531, 530, 533, 532, 534, 534, 535, + 535, 535, 536, 536, 536, 536, 536, 536, 536, 536, + 536, 536, 536, 536, 536, 536, 536, 538, 537, 540, 539, 542, 541, 544, 543, 546, 545, 548, 547, 550, 549, 552, 551, 554, 553, 556, 555, 558, 557, 560, - 559, 561, 561, 563, 562, 564, 564, 564, 566, 565, - 567, 567, 568, 568, 568, 569, 569, 569, 569, 569, - 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, - 569, 570, 572, 571, 574, 573, 575, 576, 578, 577, - 579, 579, 579, 580, 580, 580, 580, 580, 582, 581, - 584, 583, 586, 585, 587, 587, 587, 588, 588, 588, - 588, 588, 588, 589, 591, 590, 592, 594, 593, 596, - 595, 598, 597, 599, 599, 599, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 601, 603, 602, 604, 606, 605, - 607, 608, 610, 609, 611, 611, 613, 612, 615, 614, - 616, 617, 619, 618, 621, 620, 623, 622, 625, 624, - 627, 626, 629, 628, 630, 630, 630, 631, 631, 633, - 632, 634, 636, 635, 637, 637, 637, 639, 638, 640, - 640, 640, 641, 641, 641, 641, 641, 641, 641, 642, - 644, 643, 646, 645, 647, 647, 647, 649, 648, 650, - 650, 650, 651, 651, 651, 651, 651, 653, 652, 654, - 655, 656, 658, 657, 660, 659, 661, 661, 661, 662, - 662, 662, 662, 662, 663, 664, 665, 666 + 559, 562, 561, 563, 563, 565, 564, 566, 566, 566, + 568, 567, 569, 569, 570, 570, 570, 571, 571, 571, + 571, 571, 571, 571, 571, 571, 571, 571, 571, 571, + 571, 571, 571, 572, 574, 573, 576, 575, 577, 578, + 580, 579, 581, 581, 581, 582, 582, 582, 582, 582, + 584, 583, 586, 585, 588, 587, 589, 589, 589, 590, + 590, 590, 590, 590, 590, 591, 593, 592, 594, 596, + 595, 598, 597, 600, 599, 601, 601, 601, 602, 602, + 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, + 602, 602, 602, 602, 602, 602, 603, 605, 604, 606, + 608, 607, 609, 610, 612, 611, 613, 613, 615, 614, + 617, 616, 618, 619, 621, 620, 623, 622, 625, 624, + 627, 626, 629, 628, 631, 630, 632, 632, 632, 633, + 633, 635, 634, 636, 638, 637, 639, 639, 639, 641, + 640, 642, 642, 642, 643, 643, 643, 643, 643, 643, + 643, 644, 646, 645, 648, 647, 649, 649, 649, 651, + 650, 652, 652, 652, 653, 653, 653, 653, 653, 655, + 654, 656, 657, 658, 660, 659, 662, 661, 663, 663, + 663, 664, 664, 664, 664, 664, 665, 666, 667, 668 }; const signed char @@ -6060,80 +6070,80 @@ namespace isc { namespace dhcp { 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, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, - 4, 3, 0, 4, 3, 3, 3, 3, 3, 3, - 0, 4, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 3, 3, 0, 4, 1, 1, 1, 1, 3, - 0, 4, 0, 4, 3, 3, 3, 3, 3, 3, - 3, 0, 6, 1, 3, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, - 0, 4, 1, 1, 0, 4, 1, 1, 3, 3, - 3, 3, 0, 6, 0, 6, 1, 3, 2, 1, - 1, 0, 4, 0, 4, 0, 6, 0, 6, 0, - 1, 1, 3, 2, 0, 4, 1, 3, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 0, 4, 3, 0, 4, 3, 3, 3, 3, 3, + 3, 0, 4, 1, 1, 1, 1, 1, 0, 4, + 0, 4, 3, 3, 0, 4, 1, 1, 1, 1, + 3, 0, 4, 0, 4, 3, 3, 3, 3, 3, + 3, 3, 3, 0, 6, 1, 3, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 0, 4, 0, 4, 1, 1, 0, 4, 1, 1, + 3, 3, 3, 3, 0, 6, 0, 6, 1, 3, + 2, 1, 1, 0, 4, 0, 4, 0, 6, 0, + 6, 0, 1, 1, 3, 2, 0, 4, 1, 3, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 1, 1, 1, 0, 4, 0, - 4, 0, 4, 3, 0, 4, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 0, 4, 1, 1, 1, - 3, 3, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 6, 1, 3, 2, - 1, 1, 1, 1, 1, 1, 3, 3, 3, 0, + 1, 1, 1, 1, 0, 4, 1, 1, 1, 0, + 4, 0, 4, 0, 4, 3, 0, 4, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 0, 4, 1, + 1, 1, 3, 3, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 6, 1, 3, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 6, 1, + 3, 2, 1, 1, 1, 1, 1, 1, 3, 3, + 3, 0, 6, 0, 1, 1, 3, 2, 0, 4, + 0, 4, 1, 3, 2, 1, 1, 1, 0, 4, + 0, 4, 0, 6, 1, 3, 2, 1, 1, 1, + 1, 1, 1, 3, 3, 3, 3, 3, 3, 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, 4, - 1, 3, 2, 1, 1, 1, 0, 4, 0, 4, - 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, - 1, 3, 3, 3, 3, 3, 3, 0, 6, 0, - 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 2, 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, - 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 4, 3, 3, 3, 0, 4, 1, - 1, 1, 1, 3, 0, 6, 0, 1, 1, 3, - 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, + 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 4, 3, 3, 3, 0, + 4, 1, 1, 1, 1, 3, 0, 6, 0, 1, + 1, 3, 2, 0, 4, 1, 3, 2, 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, - 0, 6, 0, 4, 0, 1, 1, 3, 2, 0, - 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 0, 4, 0, 4, 0, 4, 1, 0, 4, - 3, 0, 6, 0, 1, 1, 3, 2, 0, 4, - 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, - 1, 1, 3, 3, 3, 0, 6, 0, 1, 1, - 3, 2, 0, 4, 0, 4, 1, 3, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 3, - 0, 4, 0, 4, 0, 6, 0, 1, 1, 3, + 1, 1, 0, 6, 0, 4, 0, 1, 1, 3, 2, 0, 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, + 1, 3, 1, 0, 4, 0, 4, 0, 4, 1, + 0, 4, 3, 0, 6, 0, 1, 1, 3, 2, + 0, 4, 0, 4, 0, 1, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 1, 1, 3, 3, 3, 0, 6, 0, + 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 3, 0, 4, 0, 4, 0, 6, 0, 1, + 1, 3, 2, 0, 4, 0, 4, 0, 1, 1, + 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 6, 1, 1, 0, 6, 1, 3, 2, 0, 4, - 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, + 4, 0, 6, 1, 1, 0, 6, 1, 3, 2, + 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 3, 3, 0, 6, - 1, 3, 2, 1, 1, 1, 1, 1, 0, 4, - 0, 4, 0, 6, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 3, 0, 4, 3, 0, 4, 0, - 6, 0, 4, 1, 3, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 4, 0, 4, 3, 3, + 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 6, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 3, 0, 4, 3, 0, + 4, 0, 6, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 0, 4, 3, 0, 4, - 3, 3, 0, 4, 1, 1, 0, 4, 0, 4, - 3, 3, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 6, 0, 4, 1, 3, 2, 1, 1, 0, - 6, 3, 0, 6, 1, 3, 2, 0, 4, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 1, 3, - 0, 4, 0, 6, 1, 3, 2, 0, 4, 1, - 3, 2, 1, 1, 1, 1, 1, 0, 4, 3, - 3, 3, 0, 4, 0, 6, 1, 3, 2, 1, - 1, 1, 1, 1, 3, 3, 3, 3 + 1, 1, 1, 1, 1, 1, 3, 0, 4, 3, + 0, 4, 3, 3, 0, 4, 1, 1, 0, 4, + 0, 4, 3, 3, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 6, 0, 4, 1, 3, 2, 1, + 1, 0, 6, 3, 0, 6, 1, 3, 2, 0, + 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 3, 0, 4, 0, 6, 1, 3, 2, 0, + 4, 1, 3, 2, 1, 1, 1, 1, 1, 0, + 4, 3, 3, 3, 0, 4, 0, 6, 1, 3, + 2, 1, 1, 1, 1, 1, 3, 3, 3, 3 }; @@ -6154,10 +6164,10 @@ namespace isc { namespace dhcp { "\"lease-checks\"", "\"extended-info-checks\"", "\"echo-client-id\"", "\"match-client-id\"", "\"authoritative\"", "\"next-server\"", "\"server-hostname\"", "\"boot-file-name\"", "\"offer-lifetime\"", - "\"lease-database\"", "\"hosts-database\"", "\"hosts-databases\"", - "\"type\"", "\"memfile\"", "\"mysql\"", "\"postgresql\"", "\"user\"", - "\"password\"", "\"host\"", "\"port\"", "\"persist\"", - "\"lfc-interval\"", "\"readonly\"", "\"connect-timeout\"", + "\"stash-agent-options\"", "\"lease-database\"", "\"hosts-database\"", + "\"hosts-databases\"", "\"type\"", "\"memfile\"", "\"mysql\"", + "\"postgresql\"", "\"user\"", "\"password\"", "\"host\"", "\"port\"", + "\"persist\"", "\"lfc-interval\"", "\"readonly\"", "\"connect-timeout\"", "\"read-timeout\"", "\"write-timeout\"", "\"tcp-user-timeout\"", "\"max-reconnect-tries\"", "\"reconnect-wait-time\"", "\"on-fail\"", "\"stop-retry-exit\"", "\"serve-retry-exit\"", @@ -6239,14 +6249,15 @@ namespace isc { namespace dhcp { "store_extended_info", "statistic_default_sample_count", "statistic_default_sample_age", "early_global_reservations_lookup", "ip_reservations_unique", "reservations_lookup_first", "offer_lifetime", - "interfaces_config", "$@28", "interfaces_config_params", - "interfaces_config_param", "sub_interfaces4", "$@29", "interfaces_list", - "$@30", "dhcp_socket_type", "$@31", "socket_type", "outbound_interface", - "$@32", "outbound_interface_value", "re_detect", - "service_sockets_require_all", "service_sockets_retry_wait_time", - "service_sockets_max_retries", "lease_database", "$@33", "sanity_checks", - "$@34", "sanity_checks_params", "sanity_checks_param", "lease_checks", - "$@35", "extended_info_checks", "$@36", "hosts_database", "$@37", + "stash_agent_options", "interfaces_config", "$@28", + "interfaces_config_params", "interfaces_config_param", "sub_interfaces4", + "$@29", "interfaces_list", "$@30", "dhcp_socket_type", "$@31", + "socket_type", "outbound_interface", "$@32", "outbound_interface_value", + "re_detect", "service_sockets_require_all", + "service_sockets_retry_wait_time", "service_sockets_max_retries", + "lease_database", "$@33", "sanity_checks", "$@34", + "sanity_checks_params", "sanity_checks_param", "lease_checks", "$@35", + "extended_info_checks", "$@36", "hosts_database", "$@37", "hosts_databases", "$@38", "database_list", "not_empty_database_list", "database", "$@39", "database_map_params", "database_map_param", "database_type", "$@40", "db_type", "user", "$@41", "password", "$@42", @@ -6338,93 +6349,93 @@ namespace isc { namespace dhcp { const short Dhcp4Parser::yyrline_[] = { - 0, 320, 320, 320, 321, 321, 322, 322, 323, 323, - 324, 324, 325, 325, 326, 326, 327, 327, 328, 328, - 329, 329, 330, 330, 331, 331, 332, 332, 340, 341, - 342, 343, 344, 345, 346, 349, 354, 354, 365, 368, - 369, 372, 377, 383, 388, 388, 395, 396, 399, 403, - 407, 413, 413, 420, 421, 424, 428, 432, 442, 451, - 451, 466, 466, 480, 483, 489, 489, 498, 499, 500, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, - 567, 568, 569, 570, 571, 572, 573, 574, 577, 583, - 589, 595, 601, 607, 613, 619, 625, 631, 637, 643, - 643, 652, 658, 658, 667, 673, 679, 685, 691, 697, - 703, 703, 712, 715, 718, 721, 724, 730, 730, 739, - 739, 748, 757, 767, 767, 776, 779, 782, 785, 790, - 796, 796, 805, 805, 814, 820, 826, 832, 838, 844, - 850, 856, 856, 868, 869, 870, 875, 876, 877, 878, - 879, 880, 881, 882, 883, 884, 887, 887, 896, 896, - 907, 907, 915, 916, 919, 919, 927, 929, 933, 939, - 945, 951, 957, 957, 970, 970, 981, 982, 983, 988, - 989, 992, 992, 1011, 1011, 1029, 1029, 1042, 1042, 1053, - 1054, 1057, 1058, 1059, 1064, 1064, 1074, 1075, 1076, 1081, - 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, - 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, - 1102, 1103, 1106, 1106, 1114, 1115, 1116, 1119, 1119, 1128, - 1128, 1137, 1137, 1146, 1152, 1152, 1161, 1167, 1173, 1179, - 1185, 1191, 1197, 1203, 1209, 1215, 1215, 1223, 1224, 1225, - 1228, 1234, 1240, 1240, 1249, 1249, 1258, 1258, 1267, 1267, - 1276, 1276, 1287, 1288, 1289, 1294, 1295, 1296, 1297, 1298, - 1301, 1306, 1311, 1316, 1321, 1328, 1328, 1341, 1342, 1343, - 1348, 1349, 1350, 1351, 1352, 1353, 1356, 1362, 1368, 1374, - 1374, 1385, 1386, 1389, 1390, 1391, 1396, 1396, 1406, 1406, - 1416, 1417, 1418, 1421, 1424, 1425, 1428, 1428, 1437, 1437, - 1446, 1446, 1458, 1459, 1460, 1465, 1466, 1467, 1468, 1469, - 1470, 1473, 1479, 1485, 1491, 1497, 1503, 1512, 1512, 1526, - 1527, 1530, 1531, 1532, 1541, 1541, 1567, 1567, 1578, 1579, - 1580, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, - 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, - 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, - 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, - 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, - 1637, 1637, 1646, 1646, 1655, 1655, 1664, 1664, 1673, 1673, - 1682, 1682, 1691, 1691, 1702, 1708, 1714, 1720, 1720, 1728, - 1729, 1730, 1731, 1734, 1742, 1742, 1754, 1755, 1759, 1760, - 1761, 1766, 1766, 1774, 1775, 1776, 1781, 1782, 1783, 1784, - 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, - 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, - 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, - 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, - 1831, 1831, 1845, 1845, 1854, 1855, 1858, 1859, 1860, 1867, - 1867, 1882, 1882, 1896, 1897, 1900, 1901, 1902, 1907, 1908, - 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1919, 1921, - 1927, 1929, 1929, 1938, 1938, 1947, 1947, 1956, 1958, 1958, - 1967, 1977, 1977, 1990, 1991, 1996, 1997, 1998, 2005, 2005, - 2017, 2017, 2029, 2030, 2035, 2036, 2037, 2044, 2045, 2046, - 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2056, 2058, 2058, - 2067, 2069, 2071, 2077, 2083, 2092, 2092, 2105, 2106, 2109, - 2110, 2111, 2116, 2116, 2126, 2126, 2136, 2137, 2138, 2143, - 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2153, 2153, 2162, - 2168, 2168, 2193, 2193, 2223, 2223, 2234, 2235, 2238, 2239, - 2240, 2245, 2245, 2254, 2254, 2263, 2264, 2267, 2268, 2269, - 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, - 2285, 2286, 2287, 2288, 2289, 2292, 2292, 2301, 2301, 2310, - 2310, 2319, 2319, 2328, 2328, 2339, 2339, 2348, 2348, 2357, - 2357, 2366, 2366, 2375, 2375, 2384, 2384, 2393, 2393, 2407, - 2407, 2418, 2419, 2425, 2425, 2436, 2437, 2438, 2443, 2443, - 2453, 2454, 2457, 2458, 2459, 2464, 2465, 2466, 2467, 2468, - 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, - 2479, 2482, 2484, 2484, 2493, 2493, 2502, 2510, 2518, 2518, - 2529, 2530, 2531, 2536, 2537, 2538, 2539, 2540, 2543, 2543, - 2552, 2552, 2564, 2564, 2577, 2578, 2579, 2584, 2585, 2586, - 2587, 2588, 2589, 2592, 2598, 2598, 2607, 2613, 2613, 2623, - 2623, 2636, 2636, 2646, 2647, 2648, 2653, 2654, 2655, 2656, - 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, - 2667, 2668, 2669, 2670, 2673, 2679, 2679, 2688, 2694, 2694, - 2703, 2709, 2715, 2715, 2724, 2725, 2728, 2728, 2738, 2738, - 2748, 2755, 2762, 2762, 2771, 2771, 2781, 2781, 2791, 2791, - 2803, 2803, 2815, 2815, 2825, 2826, 2827, 2833, 2834, 2837, - 2837, 2848, 2856, 2856, 2869, 2870, 2871, 2877, 2877, 2885, - 2886, 2887, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2901, - 2907, 2907, 2916, 2916, 2927, 2928, 2929, 2934, 2934, 2942, - 2943, 2944, 2949, 2950, 2951, 2952, 2953, 2956, 2956, 2965, - 2971, 2977, 2983, 2983, 2992, 2992, 3003, 3004, 3005, 3010, - 3011, 3012, 3013, 3014, 3017, 3023, 3029, 3035 + 0, 321, 321, 321, 322, 322, 323, 323, 324, 324, + 325, 325, 326, 326, 327, 327, 328, 328, 329, 329, + 330, 330, 331, 331, 332, 332, 333, 333, 341, 342, + 343, 344, 345, 346, 347, 350, 355, 355, 366, 369, + 370, 373, 378, 384, 389, 389, 396, 397, 400, 404, + 408, 414, 414, 421, 422, 425, 429, 433, 443, 452, + 452, 467, 467, 481, 484, 490, 490, 499, 500, 501, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 579, + 585, 591, 597, 603, 609, 615, 621, 627, 633, 639, + 645, 645, 654, 660, 660, 669, 675, 681, 687, 693, + 699, 705, 705, 714, 717, 720, 723, 726, 732, 732, + 741, 741, 750, 759, 769, 769, 778, 781, 784, 787, + 792, 798, 798, 807, 807, 816, 822, 828, 834, 840, + 846, 852, 858, 864, 864, 876, 877, 878, 883, 884, + 885, 886, 887, 888, 889, 890, 891, 892, 895, 895, + 904, 904, 915, 915, 923, 924, 927, 927, 935, 937, + 941, 947, 953, 959, 965, 965, 978, 978, 989, 990, + 991, 996, 997, 1000, 1000, 1019, 1019, 1037, 1037, 1050, + 1050, 1061, 1062, 1065, 1066, 1067, 1072, 1072, 1082, 1083, + 1084, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, + 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, + 1108, 1109, 1110, 1111, 1114, 1114, 1122, 1123, 1124, 1127, + 1127, 1136, 1136, 1145, 1145, 1154, 1160, 1160, 1169, 1175, + 1181, 1187, 1193, 1199, 1205, 1211, 1217, 1223, 1223, 1231, + 1232, 1233, 1236, 1242, 1248, 1248, 1257, 1257, 1266, 1266, + 1275, 1275, 1284, 1284, 1295, 1296, 1297, 1302, 1303, 1304, + 1305, 1306, 1309, 1314, 1319, 1324, 1329, 1336, 1336, 1349, + 1350, 1351, 1356, 1357, 1358, 1359, 1360, 1361, 1364, 1370, + 1376, 1382, 1382, 1393, 1394, 1397, 1398, 1399, 1404, 1404, + 1414, 1414, 1424, 1425, 1426, 1429, 1432, 1433, 1436, 1436, + 1445, 1445, 1454, 1454, 1466, 1467, 1468, 1473, 1474, 1475, + 1476, 1477, 1478, 1481, 1487, 1493, 1499, 1505, 1511, 1520, + 1520, 1534, 1535, 1538, 1539, 1540, 1549, 1549, 1575, 1575, + 1586, 1587, 1588, 1594, 1595, 1596, 1597, 1598, 1599, 1600, + 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, + 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, + 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, + 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, + 1641, 1642, 1645, 1645, 1654, 1654, 1663, 1663, 1672, 1672, + 1681, 1681, 1690, 1690, 1699, 1699, 1710, 1716, 1722, 1728, + 1728, 1736, 1737, 1738, 1739, 1742, 1750, 1750, 1762, 1763, + 1767, 1768, 1769, 1774, 1774, 1782, 1783, 1784, 1789, 1790, + 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, + 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, + 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, + 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, + 1831, 1832, 1839, 1839, 1853, 1853, 1862, 1863, 1866, 1867, + 1868, 1875, 1875, 1890, 1890, 1904, 1905, 1908, 1909, 1910, + 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, + 1927, 1929, 1935, 1937, 1937, 1946, 1946, 1955, 1955, 1964, + 1966, 1966, 1975, 1985, 1985, 1998, 1999, 2004, 2005, 2006, + 2013, 2013, 2025, 2025, 2037, 2038, 2043, 2044, 2045, 2052, + 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2064, + 2066, 2066, 2075, 2077, 2079, 2085, 2091, 2100, 2100, 2113, + 2114, 2117, 2118, 2119, 2124, 2124, 2134, 2134, 2144, 2145, + 2146, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2161, + 2161, 2170, 2176, 2176, 2201, 2201, 2231, 2231, 2242, 2243, + 2246, 2247, 2248, 2253, 2253, 2262, 2262, 2271, 2272, 2275, + 2276, 2277, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, + 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2300, 2300, 2309, + 2309, 2318, 2318, 2327, 2327, 2336, 2336, 2347, 2347, 2356, + 2356, 2365, 2365, 2374, 2374, 2383, 2383, 2392, 2392, 2401, + 2401, 2415, 2415, 2426, 2427, 2433, 2433, 2444, 2445, 2446, + 2451, 2451, 2461, 2462, 2465, 2466, 2467, 2472, 2473, 2474, + 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, + 2485, 2486, 2487, 2490, 2492, 2492, 2501, 2501, 2510, 2518, + 2526, 2526, 2537, 2538, 2539, 2544, 2545, 2546, 2547, 2548, + 2551, 2551, 2560, 2560, 2572, 2572, 2585, 2586, 2587, 2592, + 2593, 2594, 2595, 2596, 2597, 2600, 2606, 2606, 2615, 2621, + 2621, 2631, 2631, 2644, 2644, 2654, 2655, 2656, 2661, 2662, + 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, + 2673, 2674, 2675, 2676, 2677, 2678, 2681, 2687, 2687, 2696, + 2702, 2702, 2711, 2717, 2723, 2723, 2732, 2733, 2736, 2736, + 2746, 2746, 2756, 2763, 2770, 2770, 2779, 2779, 2789, 2789, + 2799, 2799, 2811, 2811, 2823, 2823, 2833, 2834, 2835, 2841, + 2842, 2845, 2845, 2856, 2864, 2864, 2877, 2878, 2879, 2885, + 2885, 2893, 2894, 2895, 2900, 2901, 2902, 2903, 2904, 2905, + 2906, 2909, 2915, 2915, 2924, 2924, 2935, 2936, 2937, 2942, + 2942, 2950, 2951, 2952, 2957, 2958, 2959, 2960, 2961, 2964, + 2964, 2973, 2979, 2985, 2991, 2991, 3000, 3000, 3011, 3012, + 3013, 3018, 3019, 3020, 3021, 3022, 3025, 3031, 3037, 3043 }; void @@ -6457,9 +6468,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 6461 "dhcp4_parser.cc" +#line 6472 "dhcp4_parser.cc" -#line 3041 "dhcp4_parser.yy" +#line 3049 "dhcp4_parser.yy" void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index f61bb44999..d241d130b5 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -533,195 +533,196 @@ namespace isc { namespace dhcp { TOKEN_SERVER_HOSTNAME = 288, // "server-hostname" TOKEN_BOOT_FILE_NAME = 289, // "boot-file-name" TOKEN_OFFER_LFT = 290, // "offer-lifetime" - TOKEN_LEASE_DATABASE = 291, // "lease-database" - TOKEN_HOSTS_DATABASE = 292, // "hosts-database" - TOKEN_HOSTS_DATABASES = 293, // "hosts-databases" - TOKEN_TYPE = 294, // "type" - TOKEN_MEMFILE = 295, // "memfile" - TOKEN_MYSQL = 296, // "mysql" - TOKEN_POSTGRESQL = 297, // "postgresql" - TOKEN_USER = 298, // "user" - TOKEN_PASSWORD = 299, // "password" - TOKEN_HOST = 300, // "host" - TOKEN_PORT = 301, // "port" - TOKEN_PERSIST = 302, // "persist" - TOKEN_LFC_INTERVAL = 303, // "lfc-interval" - TOKEN_READONLY = 304, // "readonly" - TOKEN_CONNECT_TIMEOUT = 305, // "connect-timeout" - TOKEN_READ_TIMEOUT = 306, // "read-timeout" - TOKEN_WRITE_TIMEOUT = 307, // "write-timeout" - TOKEN_TCP_USER_TIMEOUT = 308, // "tcp-user-timeout" - TOKEN_MAX_RECONNECT_TRIES = 309, // "max-reconnect-tries" - TOKEN_RECONNECT_WAIT_TIME = 310, // "reconnect-wait-time" - TOKEN_ON_FAIL = 311, // "on-fail" - TOKEN_STOP_RETRY_EXIT = 312, // "stop-retry-exit" - TOKEN_SERVE_RETRY_EXIT = 313, // "serve-retry-exit" - TOKEN_SERVE_RETRY_CONTINUE = 314, // "serve-retry-continue" - TOKEN_RETRY_ON_STARTUP = 315, // "retry-on-startup" - TOKEN_MAX_ROW_ERRORS = 316, // "max-row-errors" - TOKEN_TRUST_ANCHOR = 317, // "trust-anchor" - TOKEN_CERT_FILE = 318, // "cert-file" - TOKEN_KEY_FILE = 319, // "key-file" - TOKEN_CIPHER_LIST = 320, // "cipher-list" - TOKEN_VALID_LIFETIME = 321, // "valid-lifetime" - TOKEN_MIN_VALID_LIFETIME = 322, // "min-valid-lifetime" - TOKEN_MAX_VALID_LIFETIME = 323, // "max-valid-lifetime" - TOKEN_RENEW_TIMER = 324, // "renew-timer" - TOKEN_REBIND_TIMER = 325, // "rebind-timer" - TOKEN_CALCULATE_TEE_TIMES = 326, // "calculate-tee-times" - TOKEN_T1_PERCENT = 327, // "t1-percent" - TOKEN_T2_PERCENT = 328, // "t2-percent" - TOKEN_CACHE_THRESHOLD = 329, // "cache-threshold" - TOKEN_CACHE_MAX_AGE = 330, // "cache-max-age" - TOKEN_DECLINE_PROBATION_PERIOD = 331, // "decline-probation-period" - TOKEN_SERVER_TAG = 332, // "server-tag" - TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 333, // "statistic-default-sample-count" - TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 334, // "statistic-default-sample-age" - TOKEN_DDNS_SEND_UPDATES = 335, // "ddns-send-updates" - TOKEN_DDNS_OVERRIDE_NO_UPDATE = 336, // "ddns-override-no-update" - TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 337, // "ddns-override-client-update" - TOKEN_DDNS_REPLACE_CLIENT_NAME = 338, // "ddns-replace-client-name" - TOKEN_DDNS_GENERATED_PREFIX = 339, // "ddns-generated-prefix" - TOKEN_DDNS_QUALIFYING_SUFFIX = 340, // "ddns-qualifying-suffix" - TOKEN_DDNS_UPDATE_ON_RENEW = 341, // "ddns-update-on-renew" - TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 342, // "ddns-use-conflict-resolution" - TOKEN_DDNS_TTL_PERCENT = 343, // "ddns-ttl-percent" - TOKEN_STORE_EXTENDED_INFO = 344, // "store-extended-info" - TOKEN_SUBNET4 = 345, // "subnet4" - TOKEN_SUBNET_4O6_INTERFACE = 346, // "4o6-interface" - TOKEN_SUBNET_4O6_INTERFACE_ID = 347, // "4o6-interface-id" - TOKEN_SUBNET_4O6_SUBNET = 348, // "4o6-subnet" - TOKEN_OPTION_DEF = 349, // "option-def" - TOKEN_OPTION_DATA = 350, // "option-data" - TOKEN_NAME = 351, // "name" - TOKEN_DATA = 352, // "data" - TOKEN_CODE = 353, // "code" - TOKEN_SPACE = 354, // "space" - TOKEN_CSV_FORMAT = 355, // "csv-format" - TOKEN_ALWAYS_SEND = 356, // "always-send" - TOKEN_NEVER_SEND = 357, // "never-send" - TOKEN_RECORD_TYPES = 358, // "record-types" - TOKEN_ENCAPSULATE = 359, // "encapsulate" - TOKEN_ARRAY = 360, // "array" - TOKEN_PARKED_PACKET_LIMIT = 361, // "parked-packet-limit" - TOKEN_ALLOCATOR = 362, // "allocator" - TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 363, // "ddns-conflict-resolution-mode" - TOKEN_CHECK_WITH_DHCID = 364, // "check-with-dhcid" - TOKEN_NO_CHECK_WITH_DHCID = 365, // "no-check-with-dhcid" - TOKEN_CHECK_EXISTS_WITH_DHCID = 366, // "check-exists-with-dhcid" - TOKEN_NO_CHECK_WITHOUT_DHCID = 367, // "no-check-without-dhcid" - TOKEN_SHARED_NETWORKS = 368, // "shared-networks" - TOKEN_POOLS = 369, // "pools" - TOKEN_POOL = 370, // "pool" - TOKEN_USER_CONTEXT = 371, // "user-context" - TOKEN_COMMENT = 372, // "comment" - TOKEN_SUBNET = 373, // "subnet" - TOKEN_INTERFACE = 374, // "interface" - TOKEN_ID = 375, // "id" - TOKEN_RESERVATION_MODE = 376, // "reservation-mode" - TOKEN_DISABLED = 377, // "disabled" - TOKEN_OUT_OF_POOL = 378, // "out-of-pool" - TOKEN_GLOBAL = 379, // "global" - TOKEN_ALL = 380, // "all" - TOKEN_RESERVATIONS_GLOBAL = 381, // "reservations-global" - TOKEN_RESERVATIONS_IN_SUBNET = 382, // "reservations-in-subnet" - TOKEN_RESERVATIONS_OUT_OF_POOL = 383, // "reservations-out-of-pool" - TOKEN_HOST_RESERVATION_IDENTIFIERS = 384, // "host-reservation-identifiers" - TOKEN_CLIENT_CLASSES = 385, // "client-classes" - TOKEN_REQUIRE_CLIENT_CLASSES = 386, // "require-client-classes" - TOKEN_TEST = 387, // "test" - TOKEN_TEMPLATE_TEST = 388, // "template-test" - TOKEN_ONLY_IF_REQUIRED = 389, // "only-if-required" - TOKEN_CLIENT_CLASS = 390, // "client-class" - TOKEN_POOL_ID = 391, // "pool-id" - TOKEN_RESERVATIONS = 392, // "reservations" - TOKEN_DUID = 393, // "duid" - TOKEN_HW_ADDRESS = 394, // "hw-address" - TOKEN_CIRCUIT_ID = 395, // "circuit-id" - TOKEN_CLIENT_ID = 396, // "client-id" - TOKEN_HOSTNAME = 397, // "hostname" - TOKEN_FLEX_ID = 398, // "flex-id" - TOKEN_RELAY = 399, // "relay" - TOKEN_IP_ADDRESS = 400, // "ip-address" - TOKEN_IP_ADDRESSES = 401, // "ip-addresses" - TOKEN_HOOKS_LIBRARIES = 402, // "hooks-libraries" - TOKEN_LIBRARY = 403, // "library" - TOKEN_PARAMETERS = 404, // "parameters" - TOKEN_EXPIRED_LEASES_PROCESSING = 405, // "expired-leases-processing" - TOKEN_RECLAIM_TIMER_WAIT_TIME = 406, // "reclaim-timer-wait-time" - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 407, // "flush-reclaimed-timer-wait-time" - TOKEN_HOLD_RECLAIMED_TIME = 408, // "hold-reclaimed-time" - TOKEN_MAX_RECLAIM_LEASES = 409, // "max-reclaim-leases" - TOKEN_MAX_RECLAIM_TIME = 410, // "max-reclaim-time" - TOKEN_UNWARNED_RECLAIM_CYCLES = 411, // "unwarned-reclaim-cycles" - TOKEN_DHCP4O6_PORT = 412, // "dhcp4o6-port" - TOKEN_DHCP_MULTI_THREADING = 413, // "multi-threading" - TOKEN_ENABLE_MULTI_THREADING = 414, // "enable-multi-threading" - TOKEN_THREAD_POOL_SIZE = 415, // "thread-pool-size" - TOKEN_PACKET_QUEUE_SIZE = 416, // "packet-queue-size" - TOKEN_CONTROL_SOCKET = 417, // "control-socket" - TOKEN_SOCKET_TYPE = 418, // "socket-type" - TOKEN_SOCKET_NAME = 419, // "socket-name" - TOKEN_DHCP_QUEUE_CONTROL = 420, // "dhcp-queue-control" - TOKEN_ENABLE_QUEUE = 421, // "enable-queue" - TOKEN_QUEUE_TYPE = 422, // "queue-type" - TOKEN_CAPACITY = 423, // "capacity" - TOKEN_DHCP_DDNS = 424, // "dhcp-ddns" - TOKEN_ENABLE_UPDATES = 425, // "enable-updates" - TOKEN_QUALIFYING_SUFFIX = 426, // "qualifying-suffix" - TOKEN_SERVER_IP = 427, // "server-ip" - TOKEN_SERVER_PORT = 428, // "server-port" - TOKEN_SENDER_IP = 429, // "sender-ip" - TOKEN_SENDER_PORT = 430, // "sender-port" - TOKEN_MAX_QUEUE_SIZE = 431, // "max-queue-size" - TOKEN_NCR_PROTOCOL = 432, // "ncr-protocol" - TOKEN_NCR_FORMAT = 433, // "ncr-format" - TOKEN_OVERRIDE_NO_UPDATE = 434, // "override-no-update" - TOKEN_OVERRIDE_CLIENT_UPDATE = 435, // "override-client-update" - TOKEN_REPLACE_CLIENT_NAME = 436, // "replace-client-name" - TOKEN_GENERATED_PREFIX = 437, // "generated-prefix" - TOKEN_TCP = 438, // "tcp" - TOKEN_JSON = 439, // "JSON" - TOKEN_WHEN_PRESENT = 440, // "when-present" - TOKEN_NEVER = 441, // "never" - TOKEN_ALWAYS = 442, // "always" - TOKEN_WHEN_NOT_PRESENT = 443, // "when-not-present" - TOKEN_HOSTNAME_CHAR_SET = 444, // "hostname-char-set" - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 445, // "hostname-char-replacement" - TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 446, // "early-global-reservations-lookup" - TOKEN_IP_RESERVATIONS_UNIQUE = 447, // "ip-reservations-unique" - TOKEN_RESERVATIONS_LOOKUP_FIRST = 448, // "reservations-lookup-first" - TOKEN_LOGGERS = 449, // "loggers" - TOKEN_OUTPUT_OPTIONS = 450, // "output-options" - TOKEN_OUTPUT = 451, // "output" - TOKEN_DEBUGLEVEL = 452, // "debuglevel" - TOKEN_SEVERITY = 453, // "severity" - TOKEN_FLUSH = 454, // "flush" - TOKEN_MAXSIZE = 455, // "maxsize" - TOKEN_MAXVER = 456, // "maxver" - TOKEN_PATTERN = 457, // "pattern" - TOKEN_COMPATIBILITY = 458, // "compatibility" - TOKEN_LENIENT_OPTION_PARSING = 459, // "lenient-option-parsing" - TOKEN_IGNORE_DHCP_SERVER_ID = 460, // "ignore-dhcp-server-identifier" - TOKEN_IGNORE_RAI_LINK_SEL = 461, // "ignore-rai-link-selection" - TOKEN_EXCLUDE_FIRST_LAST_24 = 462, // "exclude-first-last-24" - TOKEN_TOPLEVEL_JSON = 463, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP4 = 464, // TOPLEVEL_DHCP4 - TOKEN_SUB_DHCP4 = 465, // SUB_DHCP4 - TOKEN_SUB_INTERFACES4 = 466, // SUB_INTERFACES4 - TOKEN_SUB_SUBNET4 = 467, // SUB_SUBNET4 - TOKEN_SUB_POOL4 = 468, // SUB_POOL4 - TOKEN_SUB_RESERVATION = 469, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 470, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 471, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 472, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 473, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 474, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 475, // SUB_CONFIG_CONTROL - TOKEN_STRING = 476, // "constant string" - TOKEN_INTEGER = 477, // "integer" - TOKEN_FLOAT = 478, // "floating point" - TOKEN_BOOLEAN = 479 // "boolean" + TOKEN_STASH_AGENT_OPTIONS = 291, // "stash-agent-options" + TOKEN_LEASE_DATABASE = 292, // "lease-database" + TOKEN_HOSTS_DATABASE = 293, // "hosts-database" + TOKEN_HOSTS_DATABASES = 294, // "hosts-databases" + TOKEN_TYPE = 295, // "type" + TOKEN_MEMFILE = 296, // "memfile" + TOKEN_MYSQL = 297, // "mysql" + TOKEN_POSTGRESQL = 298, // "postgresql" + TOKEN_USER = 299, // "user" + TOKEN_PASSWORD = 300, // "password" + TOKEN_HOST = 301, // "host" + TOKEN_PORT = 302, // "port" + TOKEN_PERSIST = 303, // "persist" + TOKEN_LFC_INTERVAL = 304, // "lfc-interval" + TOKEN_READONLY = 305, // "readonly" + TOKEN_CONNECT_TIMEOUT = 306, // "connect-timeout" + TOKEN_READ_TIMEOUT = 307, // "read-timeout" + TOKEN_WRITE_TIMEOUT = 308, // "write-timeout" + TOKEN_TCP_USER_TIMEOUT = 309, // "tcp-user-timeout" + TOKEN_MAX_RECONNECT_TRIES = 310, // "max-reconnect-tries" + TOKEN_RECONNECT_WAIT_TIME = 311, // "reconnect-wait-time" + TOKEN_ON_FAIL = 312, // "on-fail" + TOKEN_STOP_RETRY_EXIT = 313, // "stop-retry-exit" + TOKEN_SERVE_RETRY_EXIT = 314, // "serve-retry-exit" + TOKEN_SERVE_RETRY_CONTINUE = 315, // "serve-retry-continue" + TOKEN_RETRY_ON_STARTUP = 316, // "retry-on-startup" + TOKEN_MAX_ROW_ERRORS = 317, // "max-row-errors" + TOKEN_TRUST_ANCHOR = 318, // "trust-anchor" + TOKEN_CERT_FILE = 319, // "cert-file" + TOKEN_KEY_FILE = 320, // "key-file" + TOKEN_CIPHER_LIST = 321, // "cipher-list" + TOKEN_VALID_LIFETIME = 322, // "valid-lifetime" + TOKEN_MIN_VALID_LIFETIME = 323, // "min-valid-lifetime" + TOKEN_MAX_VALID_LIFETIME = 324, // "max-valid-lifetime" + TOKEN_RENEW_TIMER = 325, // "renew-timer" + TOKEN_REBIND_TIMER = 326, // "rebind-timer" + TOKEN_CALCULATE_TEE_TIMES = 327, // "calculate-tee-times" + TOKEN_T1_PERCENT = 328, // "t1-percent" + TOKEN_T2_PERCENT = 329, // "t2-percent" + TOKEN_CACHE_THRESHOLD = 330, // "cache-threshold" + TOKEN_CACHE_MAX_AGE = 331, // "cache-max-age" + TOKEN_DECLINE_PROBATION_PERIOD = 332, // "decline-probation-period" + TOKEN_SERVER_TAG = 333, // "server-tag" + TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 334, // "statistic-default-sample-count" + TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 335, // "statistic-default-sample-age" + TOKEN_DDNS_SEND_UPDATES = 336, // "ddns-send-updates" + TOKEN_DDNS_OVERRIDE_NO_UPDATE = 337, // "ddns-override-no-update" + TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 338, // "ddns-override-client-update" + TOKEN_DDNS_REPLACE_CLIENT_NAME = 339, // "ddns-replace-client-name" + TOKEN_DDNS_GENERATED_PREFIX = 340, // "ddns-generated-prefix" + TOKEN_DDNS_QUALIFYING_SUFFIX = 341, // "ddns-qualifying-suffix" + TOKEN_DDNS_UPDATE_ON_RENEW = 342, // "ddns-update-on-renew" + TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 343, // "ddns-use-conflict-resolution" + TOKEN_DDNS_TTL_PERCENT = 344, // "ddns-ttl-percent" + TOKEN_STORE_EXTENDED_INFO = 345, // "store-extended-info" + TOKEN_SUBNET4 = 346, // "subnet4" + TOKEN_SUBNET_4O6_INTERFACE = 347, // "4o6-interface" + TOKEN_SUBNET_4O6_INTERFACE_ID = 348, // "4o6-interface-id" + TOKEN_SUBNET_4O6_SUBNET = 349, // "4o6-subnet" + TOKEN_OPTION_DEF = 350, // "option-def" + TOKEN_OPTION_DATA = 351, // "option-data" + TOKEN_NAME = 352, // "name" + TOKEN_DATA = 353, // "data" + TOKEN_CODE = 354, // "code" + TOKEN_SPACE = 355, // "space" + TOKEN_CSV_FORMAT = 356, // "csv-format" + TOKEN_ALWAYS_SEND = 357, // "always-send" + TOKEN_NEVER_SEND = 358, // "never-send" + TOKEN_RECORD_TYPES = 359, // "record-types" + TOKEN_ENCAPSULATE = 360, // "encapsulate" + TOKEN_ARRAY = 361, // "array" + TOKEN_PARKED_PACKET_LIMIT = 362, // "parked-packet-limit" + TOKEN_ALLOCATOR = 363, // "allocator" + TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 364, // "ddns-conflict-resolution-mode" + TOKEN_CHECK_WITH_DHCID = 365, // "check-with-dhcid" + TOKEN_NO_CHECK_WITH_DHCID = 366, // "no-check-with-dhcid" + TOKEN_CHECK_EXISTS_WITH_DHCID = 367, // "check-exists-with-dhcid" + TOKEN_NO_CHECK_WITHOUT_DHCID = 368, // "no-check-without-dhcid" + TOKEN_SHARED_NETWORKS = 369, // "shared-networks" + TOKEN_POOLS = 370, // "pools" + TOKEN_POOL = 371, // "pool" + TOKEN_USER_CONTEXT = 372, // "user-context" + TOKEN_COMMENT = 373, // "comment" + TOKEN_SUBNET = 374, // "subnet" + TOKEN_INTERFACE = 375, // "interface" + TOKEN_ID = 376, // "id" + TOKEN_RESERVATION_MODE = 377, // "reservation-mode" + TOKEN_DISABLED = 378, // "disabled" + TOKEN_OUT_OF_POOL = 379, // "out-of-pool" + TOKEN_GLOBAL = 380, // "global" + TOKEN_ALL = 381, // "all" + TOKEN_RESERVATIONS_GLOBAL = 382, // "reservations-global" + TOKEN_RESERVATIONS_IN_SUBNET = 383, // "reservations-in-subnet" + TOKEN_RESERVATIONS_OUT_OF_POOL = 384, // "reservations-out-of-pool" + TOKEN_HOST_RESERVATION_IDENTIFIERS = 385, // "host-reservation-identifiers" + TOKEN_CLIENT_CLASSES = 386, // "client-classes" + TOKEN_REQUIRE_CLIENT_CLASSES = 387, // "require-client-classes" + TOKEN_TEST = 388, // "test" + TOKEN_TEMPLATE_TEST = 389, // "template-test" + TOKEN_ONLY_IF_REQUIRED = 390, // "only-if-required" + TOKEN_CLIENT_CLASS = 391, // "client-class" + TOKEN_POOL_ID = 392, // "pool-id" + TOKEN_RESERVATIONS = 393, // "reservations" + TOKEN_DUID = 394, // "duid" + TOKEN_HW_ADDRESS = 395, // "hw-address" + TOKEN_CIRCUIT_ID = 396, // "circuit-id" + TOKEN_CLIENT_ID = 397, // "client-id" + TOKEN_HOSTNAME = 398, // "hostname" + TOKEN_FLEX_ID = 399, // "flex-id" + TOKEN_RELAY = 400, // "relay" + TOKEN_IP_ADDRESS = 401, // "ip-address" + TOKEN_IP_ADDRESSES = 402, // "ip-addresses" + TOKEN_HOOKS_LIBRARIES = 403, // "hooks-libraries" + TOKEN_LIBRARY = 404, // "library" + TOKEN_PARAMETERS = 405, // "parameters" + TOKEN_EXPIRED_LEASES_PROCESSING = 406, // "expired-leases-processing" + TOKEN_RECLAIM_TIMER_WAIT_TIME = 407, // "reclaim-timer-wait-time" + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 408, // "flush-reclaimed-timer-wait-time" + TOKEN_HOLD_RECLAIMED_TIME = 409, // "hold-reclaimed-time" + TOKEN_MAX_RECLAIM_LEASES = 410, // "max-reclaim-leases" + TOKEN_MAX_RECLAIM_TIME = 411, // "max-reclaim-time" + TOKEN_UNWARNED_RECLAIM_CYCLES = 412, // "unwarned-reclaim-cycles" + TOKEN_DHCP4O6_PORT = 413, // "dhcp4o6-port" + TOKEN_DHCP_MULTI_THREADING = 414, // "multi-threading" + TOKEN_ENABLE_MULTI_THREADING = 415, // "enable-multi-threading" + TOKEN_THREAD_POOL_SIZE = 416, // "thread-pool-size" + TOKEN_PACKET_QUEUE_SIZE = 417, // "packet-queue-size" + TOKEN_CONTROL_SOCKET = 418, // "control-socket" + TOKEN_SOCKET_TYPE = 419, // "socket-type" + TOKEN_SOCKET_NAME = 420, // "socket-name" + TOKEN_DHCP_QUEUE_CONTROL = 421, // "dhcp-queue-control" + TOKEN_ENABLE_QUEUE = 422, // "enable-queue" + TOKEN_QUEUE_TYPE = 423, // "queue-type" + TOKEN_CAPACITY = 424, // "capacity" + TOKEN_DHCP_DDNS = 425, // "dhcp-ddns" + TOKEN_ENABLE_UPDATES = 426, // "enable-updates" + TOKEN_QUALIFYING_SUFFIX = 427, // "qualifying-suffix" + TOKEN_SERVER_IP = 428, // "server-ip" + TOKEN_SERVER_PORT = 429, // "server-port" + TOKEN_SENDER_IP = 430, // "sender-ip" + TOKEN_SENDER_PORT = 431, // "sender-port" + TOKEN_MAX_QUEUE_SIZE = 432, // "max-queue-size" + TOKEN_NCR_PROTOCOL = 433, // "ncr-protocol" + TOKEN_NCR_FORMAT = 434, // "ncr-format" + TOKEN_OVERRIDE_NO_UPDATE = 435, // "override-no-update" + TOKEN_OVERRIDE_CLIENT_UPDATE = 436, // "override-client-update" + TOKEN_REPLACE_CLIENT_NAME = 437, // "replace-client-name" + TOKEN_GENERATED_PREFIX = 438, // "generated-prefix" + TOKEN_TCP = 439, // "tcp" + TOKEN_JSON = 440, // "JSON" + TOKEN_WHEN_PRESENT = 441, // "when-present" + TOKEN_NEVER = 442, // "never" + TOKEN_ALWAYS = 443, // "always" + TOKEN_WHEN_NOT_PRESENT = 444, // "when-not-present" + TOKEN_HOSTNAME_CHAR_SET = 445, // "hostname-char-set" + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 446, // "hostname-char-replacement" + TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 447, // "early-global-reservations-lookup" + TOKEN_IP_RESERVATIONS_UNIQUE = 448, // "ip-reservations-unique" + TOKEN_RESERVATIONS_LOOKUP_FIRST = 449, // "reservations-lookup-first" + TOKEN_LOGGERS = 450, // "loggers" + TOKEN_OUTPUT_OPTIONS = 451, // "output-options" + TOKEN_OUTPUT = 452, // "output" + TOKEN_DEBUGLEVEL = 453, // "debuglevel" + TOKEN_SEVERITY = 454, // "severity" + TOKEN_FLUSH = 455, // "flush" + TOKEN_MAXSIZE = 456, // "maxsize" + TOKEN_MAXVER = 457, // "maxver" + TOKEN_PATTERN = 458, // "pattern" + TOKEN_COMPATIBILITY = 459, // "compatibility" + TOKEN_LENIENT_OPTION_PARSING = 460, // "lenient-option-parsing" + TOKEN_IGNORE_DHCP_SERVER_ID = 461, // "ignore-dhcp-server-identifier" + TOKEN_IGNORE_RAI_LINK_SEL = 462, // "ignore-rai-link-selection" + TOKEN_EXCLUDE_FIRST_LAST_24 = 463, // "exclude-first-last-24" + TOKEN_TOPLEVEL_JSON = 464, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP4 = 465, // TOPLEVEL_DHCP4 + TOKEN_SUB_DHCP4 = 466, // SUB_DHCP4 + TOKEN_SUB_INTERFACES4 = 467, // SUB_INTERFACES4 + TOKEN_SUB_SUBNET4 = 468, // SUB_SUBNET4 + TOKEN_SUB_POOL4 = 469, // SUB_POOL4 + TOKEN_SUB_RESERVATION = 470, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 471, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 472, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 473, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 474, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 475, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 476, // SUB_CONFIG_CONTROL + TOKEN_STRING = 477, // "constant string" + TOKEN_INTEGER = 478, // "integer" + TOKEN_FLOAT = 479, // "floating point" + TOKEN_BOOLEAN = 480 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -738,7 +739,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 225, ///< Number of tokens. + YYNTOKENS = 226, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -776,637 +777,639 @@ namespace isc { namespace dhcp { S_SERVER_HOSTNAME = 33, // "server-hostname" S_BOOT_FILE_NAME = 34, // "boot-file-name" S_OFFER_LFT = 35, // "offer-lifetime" - S_LEASE_DATABASE = 36, // "lease-database" - S_HOSTS_DATABASE = 37, // "hosts-database" - S_HOSTS_DATABASES = 38, // "hosts-databases" - S_TYPE = 39, // "type" - S_MEMFILE = 40, // "memfile" - S_MYSQL = 41, // "mysql" - S_POSTGRESQL = 42, // "postgresql" - S_USER = 43, // "user" - S_PASSWORD = 44, // "password" - S_HOST = 45, // "host" - S_PORT = 46, // "port" - S_PERSIST = 47, // "persist" - S_LFC_INTERVAL = 48, // "lfc-interval" - S_READONLY = 49, // "readonly" - S_CONNECT_TIMEOUT = 50, // "connect-timeout" - S_READ_TIMEOUT = 51, // "read-timeout" - S_WRITE_TIMEOUT = 52, // "write-timeout" - S_TCP_USER_TIMEOUT = 53, // "tcp-user-timeout" - S_MAX_RECONNECT_TRIES = 54, // "max-reconnect-tries" - S_RECONNECT_WAIT_TIME = 55, // "reconnect-wait-time" - S_ON_FAIL = 56, // "on-fail" - S_STOP_RETRY_EXIT = 57, // "stop-retry-exit" - S_SERVE_RETRY_EXIT = 58, // "serve-retry-exit" - S_SERVE_RETRY_CONTINUE = 59, // "serve-retry-continue" - S_RETRY_ON_STARTUP = 60, // "retry-on-startup" - S_MAX_ROW_ERRORS = 61, // "max-row-errors" - S_TRUST_ANCHOR = 62, // "trust-anchor" - S_CERT_FILE = 63, // "cert-file" - S_KEY_FILE = 64, // "key-file" - S_CIPHER_LIST = 65, // "cipher-list" - S_VALID_LIFETIME = 66, // "valid-lifetime" - S_MIN_VALID_LIFETIME = 67, // "min-valid-lifetime" - S_MAX_VALID_LIFETIME = 68, // "max-valid-lifetime" - S_RENEW_TIMER = 69, // "renew-timer" - S_REBIND_TIMER = 70, // "rebind-timer" - S_CALCULATE_TEE_TIMES = 71, // "calculate-tee-times" - S_T1_PERCENT = 72, // "t1-percent" - S_T2_PERCENT = 73, // "t2-percent" - S_CACHE_THRESHOLD = 74, // "cache-threshold" - S_CACHE_MAX_AGE = 75, // "cache-max-age" - S_DECLINE_PROBATION_PERIOD = 76, // "decline-probation-period" - S_SERVER_TAG = 77, // "server-tag" - S_STATISTIC_DEFAULT_SAMPLE_COUNT = 78, // "statistic-default-sample-count" - S_STATISTIC_DEFAULT_SAMPLE_AGE = 79, // "statistic-default-sample-age" - S_DDNS_SEND_UPDATES = 80, // "ddns-send-updates" - S_DDNS_OVERRIDE_NO_UPDATE = 81, // "ddns-override-no-update" - S_DDNS_OVERRIDE_CLIENT_UPDATE = 82, // "ddns-override-client-update" - S_DDNS_REPLACE_CLIENT_NAME = 83, // "ddns-replace-client-name" - S_DDNS_GENERATED_PREFIX = 84, // "ddns-generated-prefix" - S_DDNS_QUALIFYING_SUFFIX = 85, // "ddns-qualifying-suffix" - S_DDNS_UPDATE_ON_RENEW = 86, // "ddns-update-on-renew" - S_DDNS_USE_CONFLICT_RESOLUTION = 87, // "ddns-use-conflict-resolution" - S_DDNS_TTL_PERCENT = 88, // "ddns-ttl-percent" - S_STORE_EXTENDED_INFO = 89, // "store-extended-info" - S_SUBNET4 = 90, // "subnet4" - S_SUBNET_4O6_INTERFACE = 91, // "4o6-interface" - S_SUBNET_4O6_INTERFACE_ID = 92, // "4o6-interface-id" - S_SUBNET_4O6_SUBNET = 93, // "4o6-subnet" - S_OPTION_DEF = 94, // "option-def" - S_OPTION_DATA = 95, // "option-data" - S_NAME = 96, // "name" - S_DATA = 97, // "data" - S_CODE = 98, // "code" - S_SPACE = 99, // "space" - S_CSV_FORMAT = 100, // "csv-format" - S_ALWAYS_SEND = 101, // "always-send" - S_NEVER_SEND = 102, // "never-send" - S_RECORD_TYPES = 103, // "record-types" - S_ENCAPSULATE = 104, // "encapsulate" - S_ARRAY = 105, // "array" - S_PARKED_PACKET_LIMIT = 106, // "parked-packet-limit" - S_ALLOCATOR = 107, // "allocator" - S_DDNS_CONFLICT_RESOLUTION_MODE = 108, // "ddns-conflict-resolution-mode" - S_CHECK_WITH_DHCID = 109, // "check-with-dhcid" - S_NO_CHECK_WITH_DHCID = 110, // "no-check-with-dhcid" - S_CHECK_EXISTS_WITH_DHCID = 111, // "check-exists-with-dhcid" - S_NO_CHECK_WITHOUT_DHCID = 112, // "no-check-without-dhcid" - S_SHARED_NETWORKS = 113, // "shared-networks" - S_POOLS = 114, // "pools" - S_POOL = 115, // "pool" - S_USER_CONTEXT = 116, // "user-context" - S_COMMENT = 117, // "comment" - S_SUBNET = 118, // "subnet" - S_INTERFACE = 119, // "interface" - S_ID = 120, // "id" - S_RESERVATION_MODE = 121, // "reservation-mode" - S_DISABLED = 122, // "disabled" - S_OUT_OF_POOL = 123, // "out-of-pool" - S_GLOBAL = 124, // "global" - S_ALL = 125, // "all" - S_RESERVATIONS_GLOBAL = 126, // "reservations-global" - S_RESERVATIONS_IN_SUBNET = 127, // "reservations-in-subnet" - S_RESERVATIONS_OUT_OF_POOL = 128, // "reservations-out-of-pool" - S_HOST_RESERVATION_IDENTIFIERS = 129, // "host-reservation-identifiers" - S_CLIENT_CLASSES = 130, // "client-classes" - S_REQUIRE_CLIENT_CLASSES = 131, // "require-client-classes" - S_TEST = 132, // "test" - S_TEMPLATE_TEST = 133, // "template-test" - S_ONLY_IF_REQUIRED = 134, // "only-if-required" - S_CLIENT_CLASS = 135, // "client-class" - S_POOL_ID = 136, // "pool-id" - S_RESERVATIONS = 137, // "reservations" - S_DUID = 138, // "duid" - S_HW_ADDRESS = 139, // "hw-address" - S_CIRCUIT_ID = 140, // "circuit-id" - S_CLIENT_ID = 141, // "client-id" - S_HOSTNAME = 142, // "hostname" - S_FLEX_ID = 143, // "flex-id" - S_RELAY = 144, // "relay" - S_IP_ADDRESS = 145, // "ip-address" - S_IP_ADDRESSES = 146, // "ip-addresses" - S_HOOKS_LIBRARIES = 147, // "hooks-libraries" - S_LIBRARY = 148, // "library" - S_PARAMETERS = 149, // "parameters" - S_EXPIRED_LEASES_PROCESSING = 150, // "expired-leases-processing" - S_RECLAIM_TIMER_WAIT_TIME = 151, // "reclaim-timer-wait-time" - S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 152, // "flush-reclaimed-timer-wait-time" - S_HOLD_RECLAIMED_TIME = 153, // "hold-reclaimed-time" - S_MAX_RECLAIM_LEASES = 154, // "max-reclaim-leases" - S_MAX_RECLAIM_TIME = 155, // "max-reclaim-time" - S_UNWARNED_RECLAIM_CYCLES = 156, // "unwarned-reclaim-cycles" - S_DHCP4O6_PORT = 157, // "dhcp4o6-port" - S_DHCP_MULTI_THREADING = 158, // "multi-threading" - S_ENABLE_MULTI_THREADING = 159, // "enable-multi-threading" - S_THREAD_POOL_SIZE = 160, // "thread-pool-size" - S_PACKET_QUEUE_SIZE = 161, // "packet-queue-size" - S_CONTROL_SOCKET = 162, // "control-socket" - S_SOCKET_TYPE = 163, // "socket-type" - S_SOCKET_NAME = 164, // "socket-name" - S_DHCP_QUEUE_CONTROL = 165, // "dhcp-queue-control" - S_ENABLE_QUEUE = 166, // "enable-queue" - S_QUEUE_TYPE = 167, // "queue-type" - S_CAPACITY = 168, // "capacity" - S_DHCP_DDNS = 169, // "dhcp-ddns" - S_ENABLE_UPDATES = 170, // "enable-updates" - S_QUALIFYING_SUFFIX = 171, // "qualifying-suffix" - S_SERVER_IP = 172, // "server-ip" - S_SERVER_PORT = 173, // "server-port" - S_SENDER_IP = 174, // "sender-ip" - S_SENDER_PORT = 175, // "sender-port" - S_MAX_QUEUE_SIZE = 176, // "max-queue-size" - S_NCR_PROTOCOL = 177, // "ncr-protocol" - S_NCR_FORMAT = 178, // "ncr-format" - S_OVERRIDE_NO_UPDATE = 179, // "override-no-update" - S_OVERRIDE_CLIENT_UPDATE = 180, // "override-client-update" - S_REPLACE_CLIENT_NAME = 181, // "replace-client-name" - S_GENERATED_PREFIX = 182, // "generated-prefix" - S_TCP = 183, // "tcp" - S_JSON = 184, // "JSON" - S_WHEN_PRESENT = 185, // "when-present" - S_NEVER = 186, // "never" - S_ALWAYS = 187, // "always" - S_WHEN_NOT_PRESENT = 188, // "when-not-present" - S_HOSTNAME_CHAR_SET = 189, // "hostname-char-set" - S_HOSTNAME_CHAR_REPLACEMENT = 190, // "hostname-char-replacement" - S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 191, // "early-global-reservations-lookup" - S_IP_RESERVATIONS_UNIQUE = 192, // "ip-reservations-unique" - S_RESERVATIONS_LOOKUP_FIRST = 193, // "reservations-lookup-first" - S_LOGGERS = 194, // "loggers" - S_OUTPUT_OPTIONS = 195, // "output-options" - S_OUTPUT = 196, // "output" - S_DEBUGLEVEL = 197, // "debuglevel" - S_SEVERITY = 198, // "severity" - S_FLUSH = 199, // "flush" - S_MAXSIZE = 200, // "maxsize" - S_MAXVER = 201, // "maxver" - S_PATTERN = 202, // "pattern" - S_COMPATIBILITY = 203, // "compatibility" - S_LENIENT_OPTION_PARSING = 204, // "lenient-option-parsing" - S_IGNORE_DHCP_SERVER_ID = 205, // "ignore-dhcp-server-identifier" - S_IGNORE_RAI_LINK_SEL = 206, // "ignore-rai-link-selection" - S_EXCLUDE_FIRST_LAST_24 = 207, // "exclude-first-last-24" - S_TOPLEVEL_JSON = 208, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP4 = 209, // TOPLEVEL_DHCP4 - S_SUB_DHCP4 = 210, // SUB_DHCP4 - S_SUB_INTERFACES4 = 211, // SUB_INTERFACES4 - S_SUB_SUBNET4 = 212, // SUB_SUBNET4 - S_SUB_POOL4 = 213, // SUB_POOL4 - S_SUB_RESERVATION = 214, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 215, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 216, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 217, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 218, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 219, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 220, // SUB_CONFIG_CONTROL - S_STRING = 221, // "constant string" - S_INTEGER = 222, // "integer" - S_FLOAT = 223, // "floating point" - S_BOOLEAN = 224, // "boolean" - S_YYACCEPT = 225, // $accept - S_start = 226, // start - S_227_1 = 227, // $@1 - S_228_2 = 228, // $@2 - S_229_3 = 229, // $@3 - S_230_4 = 230, // $@4 - S_231_5 = 231, // $@5 - S_232_6 = 232, // $@6 - S_233_7 = 233, // $@7 - S_234_8 = 234, // $@8 - S_235_9 = 235, // $@9 - S_236_10 = 236, // $@10 - S_237_11 = 237, // $@11 - S_238_12 = 238, // $@12 - S_239_13 = 239, // $@13 - S_value = 240, // value - S_sub_json = 241, // sub_json - S_map2 = 242, // map2 - S_243_14 = 243, // $@14 - S_map_value = 244, // map_value - S_map_content = 245, // map_content - S_not_empty_map = 246, // not_empty_map - S_list_generic = 247, // list_generic - S_248_15 = 248, // $@15 - S_list_content = 249, // list_content - S_not_empty_list = 250, // not_empty_list - S_list_strings = 251, // list_strings - S_252_16 = 252, // $@16 - S_list_strings_content = 253, // list_strings_content - S_not_empty_list_strings = 254, // not_empty_list_strings - S_unknown_map_entry = 255, // unknown_map_entry - S_syntax_map = 256, // syntax_map - S_257_17 = 257, // $@17 - S_global_object = 258, // global_object - S_259_18 = 259, // $@18 - S_global_object_comma = 260, // global_object_comma - S_sub_dhcp4 = 261, // sub_dhcp4 - S_262_19 = 262, // $@19 - S_global_params = 263, // global_params - S_global_param = 264, // global_param - S_valid_lifetime = 265, // valid_lifetime - S_min_valid_lifetime = 266, // min_valid_lifetime - S_max_valid_lifetime = 267, // max_valid_lifetime - S_renew_timer = 268, // renew_timer - S_rebind_timer = 269, // rebind_timer - S_calculate_tee_times = 270, // calculate_tee_times - S_t1_percent = 271, // t1_percent - S_t2_percent = 272, // t2_percent - S_cache_threshold = 273, // cache_threshold - S_cache_max_age = 274, // cache_max_age - S_decline_probation_period = 275, // decline_probation_period - S_server_tag = 276, // server_tag - S_277_20 = 277, // $@20 - S_parked_packet_limit = 278, // parked_packet_limit - S_allocator = 279, // allocator - S_280_21 = 280, // $@21 - S_echo_client_id = 281, // echo_client_id - S_match_client_id = 282, // match_client_id - S_authoritative = 283, // authoritative - S_ddns_send_updates = 284, // ddns_send_updates - S_ddns_override_no_update = 285, // ddns_override_no_update - S_ddns_override_client_update = 286, // ddns_override_client_update - S_ddns_replace_client_name = 287, // ddns_replace_client_name - S_288_22 = 288, // $@22 - S_ddns_replace_client_name_value = 289, // ddns_replace_client_name_value - S_ddns_generated_prefix = 290, // ddns_generated_prefix - S_291_23 = 291, // $@23 - S_ddns_qualifying_suffix = 292, // ddns_qualifying_suffix - S_293_24 = 293, // $@24 - S_ddns_update_on_renew = 294, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 295, // ddns_use_conflict_resolution - S_ddns_conflict_resolution_mode = 296, // ddns_conflict_resolution_mode - S_297_25 = 297, // $@25 - S_ddns_conflict_resolution_mode_value = 298, // ddns_conflict_resolution_mode_value - S_ddns_ttl_percent = 299, // ddns_ttl_percent - S_hostname_char_set = 300, // hostname_char_set - S_301_26 = 301, // $@26 - S_hostname_char_replacement = 302, // hostname_char_replacement - S_303_27 = 303, // $@27 - S_store_extended_info = 304, // store_extended_info - S_statistic_default_sample_count = 305, // statistic_default_sample_count - S_statistic_default_sample_age = 306, // statistic_default_sample_age - S_early_global_reservations_lookup = 307, // early_global_reservations_lookup - S_ip_reservations_unique = 308, // ip_reservations_unique - S_reservations_lookup_first = 309, // reservations_lookup_first - S_offer_lifetime = 310, // offer_lifetime - S_interfaces_config = 311, // interfaces_config - S_312_28 = 312, // $@28 - S_interfaces_config_params = 313, // interfaces_config_params - S_interfaces_config_param = 314, // interfaces_config_param - S_sub_interfaces4 = 315, // sub_interfaces4 - S_316_29 = 316, // $@29 - S_interfaces_list = 317, // interfaces_list - S_318_30 = 318, // $@30 - S_dhcp_socket_type = 319, // dhcp_socket_type - S_320_31 = 320, // $@31 - S_socket_type = 321, // socket_type - S_outbound_interface = 322, // outbound_interface - S_323_32 = 323, // $@32 - S_outbound_interface_value = 324, // outbound_interface_value - S_re_detect = 325, // re_detect - S_service_sockets_require_all = 326, // service_sockets_require_all - S_service_sockets_retry_wait_time = 327, // service_sockets_retry_wait_time - S_service_sockets_max_retries = 328, // service_sockets_max_retries - S_lease_database = 329, // lease_database - S_330_33 = 330, // $@33 - S_sanity_checks = 331, // sanity_checks - S_332_34 = 332, // $@34 - S_sanity_checks_params = 333, // sanity_checks_params - S_sanity_checks_param = 334, // sanity_checks_param - S_lease_checks = 335, // lease_checks - S_336_35 = 336, // $@35 - S_extended_info_checks = 337, // extended_info_checks - S_338_36 = 338, // $@36 - S_hosts_database = 339, // hosts_database - S_340_37 = 340, // $@37 - S_hosts_databases = 341, // hosts_databases - S_342_38 = 342, // $@38 - S_database_list = 343, // database_list - S_not_empty_database_list = 344, // not_empty_database_list - S_database = 345, // database - S_346_39 = 346, // $@39 - S_database_map_params = 347, // database_map_params - S_database_map_param = 348, // database_map_param - S_database_type = 349, // database_type - S_350_40 = 350, // $@40 - S_db_type = 351, // db_type - S_user = 352, // user - S_353_41 = 353, // $@41 - S_password = 354, // password - S_355_42 = 355, // $@42 - S_host = 356, // host - S_357_43 = 357, // $@43 - S_port = 358, // port - S_name = 359, // name - S_360_44 = 360, // $@44 - S_persist = 361, // persist - S_lfc_interval = 362, // lfc_interval - S_readonly = 363, // readonly - S_connect_timeout = 364, // connect_timeout - S_read_timeout = 365, // read_timeout - S_write_timeout = 366, // write_timeout - S_tcp_user_timeout = 367, // tcp_user_timeout - S_max_reconnect_tries = 368, // max_reconnect_tries - S_reconnect_wait_time = 369, // reconnect_wait_time - S_on_fail = 370, // on_fail - S_371_45 = 371, // $@45 - S_on_fail_mode = 372, // on_fail_mode - S_retry_on_startup = 373, // retry_on_startup - S_max_row_errors = 374, // max_row_errors - S_trust_anchor = 375, // trust_anchor - S_376_46 = 376, // $@46 - S_cert_file = 377, // cert_file - S_378_47 = 378, // $@47 - S_key_file = 379, // key_file - S_380_48 = 380, // $@48 - S_cipher_list = 381, // cipher_list - S_382_49 = 382, // $@49 - S_host_reservation_identifiers = 383, // host_reservation_identifiers - S_384_50 = 384, // $@50 - S_host_reservation_identifiers_list = 385, // host_reservation_identifiers_list - S_host_reservation_identifier = 386, // host_reservation_identifier - S_duid_id = 387, // duid_id - S_hw_address_id = 388, // hw_address_id - S_circuit_id = 389, // circuit_id - S_client_id = 390, // client_id - S_flex_id = 391, // flex_id - S_dhcp_multi_threading = 392, // dhcp_multi_threading - S_393_51 = 393, // $@51 - S_multi_threading_params = 394, // multi_threading_params - S_multi_threading_param = 395, // multi_threading_param - S_enable_multi_threading = 396, // enable_multi_threading - S_thread_pool_size = 397, // thread_pool_size - S_packet_queue_size = 398, // packet_queue_size - S_hooks_libraries = 399, // hooks_libraries - S_400_52 = 400, // $@52 - S_hooks_libraries_list = 401, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 402, // not_empty_hooks_libraries_list - S_hooks_library = 403, // hooks_library - S_404_53 = 404, // $@53 - S_sub_hooks_library = 405, // sub_hooks_library - S_406_54 = 406, // $@54 - S_hooks_params = 407, // hooks_params - S_hooks_param = 408, // hooks_param - S_library = 409, // library - S_410_55 = 410, // $@55 - S_parameters = 411, // parameters - S_412_56 = 412, // $@56 - S_expired_leases_processing = 413, // expired_leases_processing - S_414_57 = 414, // $@57 - S_expired_leases_params = 415, // expired_leases_params - S_expired_leases_param = 416, // expired_leases_param - S_reclaim_timer_wait_time = 417, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 418, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 419, // hold_reclaimed_time - S_max_reclaim_leases = 420, // max_reclaim_leases - S_max_reclaim_time = 421, // max_reclaim_time - S_unwarned_reclaim_cycles = 422, // unwarned_reclaim_cycles - S_subnet4_list = 423, // subnet4_list - S_424_58 = 424, // $@58 - S_subnet4_list_content = 425, // subnet4_list_content - S_not_empty_subnet4_list = 426, // not_empty_subnet4_list - S_subnet4 = 427, // subnet4 - S_428_59 = 428, // $@59 - S_sub_subnet4 = 429, // sub_subnet4 - S_430_60 = 430, // $@60 - S_subnet4_params = 431, // subnet4_params - S_subnet4_param = 432, // subnet4_param - S_subnet = 433, // subnet - S_434_61 = 434, // $@61 - S_subnet_4o6_interface = 435, // subnet_4o6_interface - S_436_62 = 436, // $@62 - S_subnet_4o6_interface_id = 437, // subnet_4o6_interface_id - S_438_63 = 438, // $@63 - S_subnet_4o6_subnet = 439, // subnet_4o6_subnet - S_440_64 = 440, // $@64 - S_interface = 441, // interface - S_442_65 = 442, // $@65 - S_client_class = 443, // client_class - S_444_66 = 444, // $@66 - S_require_client_classes = 445, // require_client_classes - S_446_67 = 446, // $@67 - S_reservations_global = 447, // reservations_global - S_reservations_in_subnet = 448, // reservations_in_subnet - S_reservations_out_of_pool = 449, // reservations_out_of_pool - S_reservation_mode = 450, // reservation_mode - S_451_68 = 451, // $@68 - S_hr_mode = 452, // hr_mode - S_id = 453, // id - S_shared_networks = 454, // shared_networks - S_455_69 = 455, // $@69 - S_shared_networks_content = 456, // shared_networks_content - S_shared_networks_list = 457, // shared_networks_list - S_shared_network = 458, // shared_network - S_459_70 = 459, // $@70 - S_shared_network_params = 460, // shared_network_params - S_shared_network_param = 461, // shared_network_param - S_option_def_list = 462, // option_def_list - S_463_71 = 463, // $@71 - S_sub_option_def_list = 464, // sub_option_def_list - S_465_72 = 465, // $@72 - S_option_def_list_content = 466, // option_def_list_content - S_not_empty_option_def_list = 467, // not_empty_option_def_list - S_option_def_entry = 468, // option_def_entry - S_469_73 = 469, // $@73 - S_sub_option_def = 470, // sub_option_def - S_471_74 = 471, // $@74 - S_option_def_params = 472, // option_def_params - S_not_empty_option_def_params = 473, // not_empty_option_def_params - S_option_def_param = 474, // option_def_param - S_option_def_name = 475, // option_def_name - S_code = 476, // code - S_option_def_code = 477, // option_def_code - S_option_def_type = 478, // option_def_type - S_479_75 = 479, // $@75 - S_option_def_record_types = 480, // option_def_record_types - S_481_76 = 481, // $@76 - S_space = 482, // space - S_483_77 = 483, // $@77 - S_option_def_space = 484, // option_def_space - S_option_def_encapsulate = 485, // option_def_encapsulate - S_486_78 = 486, // $@78 - S_option_def_array = 487, // option_def_array - S_option_data_list = 488, // option_data_list - S_489_79 = 489, // $@79 - S_option_data_list_content = 490, // option_data_list_content - S_not_empty_option_data_list = 491, // not_empty_option_data_list - S_option_data_entry = 492, // option_data_entry - S_493_80 = 493, // $@80 - S_sub_option_data = 494, // sub_option_data - S_495_81 = 495, // $@81 - S_option_data_params = 496, // option_data_params - S_not_empty_option_data_params = 497, // not_empty_option_data_params - S_option_data_param = 498, // option_data_param - S_option_data_name = 499, // option_data_name - S_option_data_data = 500, // option_data_data - S_501_82 = 501, // $@82 - S_option_data_code = 502, // option_data_code - S_option_data_space = 503, // option_data_space - S_option_data_csv_format = 504, // option_data_csv_format - S_option_data_always_send = 505, // option_data_always_send - S_option_data_never_send = 506, // option_data_never_send - S_pools_list = 507, // pools_list - S_508_83 = 508, // $@83 - S_pools_list_content = 509, // pools_list_content - S_not_empty_pools_list = 510, // not_empty_pools_list - S_pool_list_entry = 511, // pool_list_entry - S_512_84 = 512, // $@84 - S_sub_pool4 = 513, // sub_pool4 - S_514_85 = 514, // $@85 - S_pool_params = 515, // pool_params - S_pool_param = 516, // pool_param - S_pool_entry = 517, // pool_entry - S_518_86 = 518, // $@86 - S_pool_id = 519, // pool_id - S_user_context = 520, // user_context - S_521_87 = 521, // $@87 - S_comment = 522, // comment - S_523_88 = 523, // $@88 - S_reservations = 524, // reservations - S_525_89 = 525, // $@89 - S_reservations_list = 526, // reservations_list - S_not_empty_reservations_list = 527, // not_empty_reservations_list - S_reservation = 528, // reservation - S_529_90 = 529, // $@90 - S_sub_reservation = 530, // sub_reservation - S_531_91 = 531, // $@91 - S_reservation_params = 532, // reservation_params - S_not_empty_reservation_params = 533, // not_empty_reservation_params - S_reservation_param = 534, // reservation_param - S_next_server = 535, // next_server - S_536_92 = 536, // $@92 - S_server_hostname = 537, // server_hostname - S_538_93 = 538, // $@93 - S_boot_file_name = 539, // boot_file_name - S_540_94 = 540, // $@94 - S_ip_address = 541, // ip_address - S_542_95 = 542, // $@95 - S_ip_addresses = 543, // ip_addresses - S_544_96 = 544, // $@96 - S_duid = 545, // duid - S_546_97 = 546, // $@97 - S_hw_address = 547, // hw_address - S_548_98 = 548, // $@98 - S_client_id_value = 549, // client_id_value - S_550_99 = 550, // $@99 - S_circuit_id_value = 551, // circuit_id_value - S_552_100 = 552, // $@100 - S_flex_id_value = 553, // flex_id_value - S_554_101 = 554, // $@101 - S_hostname = 555, // hostname - S_556_102 = 556, // $@102 - S_reservation_client_classes = 557, // reservation_client_classes - S_558_103 = 558, // $@103 - S_relay = 559, // relay - S_560_104 = 560, // $@104 - S_relay_map = 561, // relay_map - S_client_classes = 562, // client_classes - S_563_105 = 563, // $@105 - S_client_classes_list = 564, // client_classes_list - S_client_class_entry = 565, // client_class_entry - S_566_106 = 566, // $@106 - S_client_class_params = 567, // client_class_params - S_not_empty_client_class_params = 568, // not_empty_client_class_params - S_client_class_param = 569, // client_class_param - S_client_class_name = 570, // client_class_name - S_client_class_test = 571, // client_class_test - S_572_107 = 572, // $@107 - S_client_class_template_test = 573, // client_class_template_test - S_574_108 = 574, // $@108 - S_only_if_required = 575, // only_if_required - S_dhcp4o6_port = 576, // dhcp4o6_port - S_control_socket = 577, // control_socket - S_578_109 = 578, // $@109 - S_control_socket_params = 579, // control_socket_params - S_control_socket_param = 580, // control_socket_param - S_control_socket_type = 581, // control_socket_type - S_582_110 = 582, // $@110 - S_control_socket_name = 583, // control_socket_name - S_584_111 = 584, // $@111 - S_dhcp_queue_control = 585, // dhcp_queue_control - S_586_112 = 586, // $@112 - S_queue_control_params = 587, // queue_control_params - S_queue_control_param = 588, // queue_control_param - S_enable_queue = 589, // enable_queue - S_queue_type = 590, // queue_type - S_591_113 = 591, // $@113 - S_capacity = 592, // capacity - S_arbitrary_map_entry = 593, // arbitrary_map_entry - S_594_114 = 594, // $@114 - S_dhcp_ddns = 595, // dhcp_ddns - S_596_115 = 596, // $@115 - S_sub_dhcp_ddns = 597, // sub_dhcp_ddns - S_598_116 = 598, // $@116 - S_dhcp_ddns_params = 599, // dhcp_ddns_params - S_dhcp_ddns_param = 600, // dhcp_ddns_param - S_enable_updates = 601, // enable_updates - S_server_ip = 602, // server_ip - S_603_117 = 603, // $@117 - S_server_port = 604, // server_port - S_sender_ip = 605, // sender_ip - S_606_118 = 606, // $@118 - S_sender_port = 607, // sender_port - S_max_queue_size = 608, // max_queue_size - S_ncr_protocol = 609, // ncr_protocol - S_610_119 = 610, // $@119 - S_ncr_protocol_value = 611, // ncr_protocol_value - S_ncr_format = 612, // ncr_format - S_613_120 = 613, // $@120 - S_dep_qualifying_suffix = 614, // dep_qualifying_suffix - S_615_121 = 615, // $@121 - S_dep_override_no_update = 616, // dep_override_no_update - S_dep_override_client_update = 617, // dep_override_client_update - S_dep_replace_client_name = 618, // dep_replace_client_name - S_619_122 = 619, // $@122 - S_dep_generated_prefix = 620, // dep_generated_prefix - S_621_123 = 621, // $@123 - S_dep_hostname_char_set = 622, // dep_hostname_char_set - S_623_124 = 623, // $@124 - S_dep_hostname_char_replacement = 624, // dep_hostname_char_replacement - S_625_125 = 625, // $@125 - S_config_control = 626, // config_control - S_627_126 = 627, // $@126 - S_sub_config_control = 628, // sub_config_control - S_629_127 = 629, // $@127 - S_config_control_params = 630, // config_control_params - S_config_control_param = 631, // config_control_param - S_config_databases = 632, // config_databases - S_633_128 = 633, // $@128 - S_config_fetch_wait_time = 634, // config_fetch_wait_time - S_loggers = 635, // loggers - S_636_129 = 636, // $@129 - S_loggers_entries = 637, // loggers_entries - S_logger_entry = 638, // logger_entry - S_639_130 = 639, // $@130 - S_logger_params = 640, // logger_params - S_logger_param = 641, // logger_param - S_debuglevel = 642, // debuglevel - S_severity = 643, // severity - S_644_131 = 644, // $@131 - S_output_options_list = 645, // output_options_list - S_646_132 = 646, // $@132 - S_output_options_list_content = 647, // output_options_list_content - S_output_entry = 648, // output_entry - S_649_133 = 649, // $@133 - S_output_params_list = 650, // output_params_list - S_output_params = 651, // output_params - S_output = 652, // output - S_653_134 = 653, // $@134 - S_flush = 654, // flush - S_maxsize = 655, // maxsize - S_maxver = 656, // maxver - S_pattern = 657, // pattern - S_658_135 = 658, // $@135 - S_compatibility = 659, // compatibility - S_660_136 = 660, // $@136 - S_compatibility_params = 661, // compatibility_params - S_compatibility_param = 662, // compatibility_param - S_lenient_option_parsing = 663, // lenient_option_parsing - S_ignore_dhcp_server_identifier = 664, // ignore_dhcp_server_identifier - S_ignore_rai_link_selection = 665, // ignore_rai_link_selection - S_exclude_first_last_24 = 666 // exclude_first_last_24 + S_STASH_AGENT_OPTIONS = 36, // "stash-agent-options" + S_LEASE_DATABASE = 37, // "lease-database" + S_HOSTS_DATABASE = 38, // "hosts-database" + S_HOSTS_DATABASES = 39, // "hosts-databases" + S_TYPE = 40, // "type" + S_MEMFILE = 41, // "memfile" + S_MYSQL = 42, // "mysql" + S_POSTGRESQL = 43, // "postgresql" + S_USER = 44, // "user" + S_PASSWORD = 45, // "password" + S_HOST = 46, // "host" + S_PORT = 47, // "port" + S_PERSIST = 48, // "persist" + S_LFC_INTERVAL = 49, // "lfc-interval" + S_READONLY = 50, // "readonly" + S_CONNECT_TIMEOUT = 51, // "connect-timeout" + S_READ_TIMEOUT = 52, // "read-timeout" + S_WRITE_TIMEOUT = 53, // "write-timeout" + S_TCP_USER_TIMEOUT = 54, // "tcp-user-timeout" + S_MAX_RECONNECT_TRIES = 55, // "max-reconnect-tries" + S_RECONNECT_WAIT_TIME = 56, // "reconnect-wait-time" + S_ON_FAIL = 57, // "on-fail" + S_STOP_RETRY_EXIT = 58, // "stop-retry-exit" + S_SERVE_RETRY_EXIT = 59, // "serve-retry-exit" + S_SERVE_RETRY_CONTINUE = 60, // "serve-retry-continue" + S_RETRY_ON_STARTUP = 61, // "retry-on-startup" + S_MAX_ROW_ERRORS = 62, // "max-row-errors" + S_TRUST_ANCHOR = 63, // "trust-anchor" + S_CERT_FILE = 64, // "cert-file" + S_KEY_FILE = 65, // "key-file" + S_CIPHER_LIST = 66, // "cipher-list" + S_VALID_LIFETIME = 67, // "valid-lifetime" + S_MIN_VALID_LIFETIME = 68, // "min-valid-lifetime" + S_MAX_VALID_LIFETIME = 69, // "max-valid-lifetime" + S_RENEW_TIMER = 70, // "renew-timer" + S_REBIND_TIMER = 71, // "rebind-timer" + S_CALCULATE_TEE_TIMES = 72, // "calculate-tee-times" + S_T1_PERCENT = 73, // "t1-percent" + S_T2_PERCENT = 74, // "t2-percent" + S_CACHE_THRESHOLD = 75, // "cache-threshold" + S_CACHE_MAX_AGE = 76, // "cache-max-age" + S_DECLINE_PROBATION_PERIOD = 77, // "decline-probation-period" + S_SERVER_TAG = 78, // "server-tag" + S_STATISTIC_DEFAULT_SAMPLE_COUNT = 79, // "statistic-default-sample-count" + S_STATISTIC_DEFAULT_SAMPLE_AGE = 80, // "statistic-default-sample-age" + S_DDNS_SEND_UPDATES = 81, // "ddns-send-updates" + S_DDNS_OVERRIDE_NO_UPDATE = 82, // "ddns-override-no-update" + S_DDNS_OVERRIDE_CLIENT_UPDATE = 83, // "ddns-override-client-update" + S_DDNS_REPLACE_CLIENT_NAME = 84, // "ddns-replace-client-name" + S_DDNS_GENERATED_PREFIX = 85, // "ddns-generated-prefix" + S_DDNS_QUALIFYING_SUFFIX = 86, // "ddns-qualifying-suffix" + S_DDNS_UPDATE_ON_RENEW = 87, // "ddns-update-on-renew" + S_DDNS_USE_CONFLICT_RESOLUTION = 88, // "ddns-use-conflict-resolution" + S_DDNS_TTL_PERCENT = 89, // "ddns-ttl-percent" + S_STORE_EXTENDED_INFO = 90, // "store-extended-info" + S_SUBNET4 = 91, // "subnet4" + S_SUBNET_4O6_INTERFACE = 92, // "4o6-interface" + S_SUBNET_4O6_INTERFACE_ID = 93, // "4o6-interface-id" + S_SUBNET_4O6_SUBNET = 94, // "4o6-subnet" + S_OPTION_DEF = 95, // "option-def" + S_OPTION_DATA = 96, // "option-data" + S_NAME = 97, // "name" + S_DATA = 98, // "data" + S_CODE = 99, // "code" + S_SPACE = 100, // "space" + S_CSV_FORMAT = 101, // "csv-format" + S_ALWAYS_SEND = 102, // "always-send" + S_NEVER_SEND = 103, // "never-send" + S_RECORD_TYPES = 104, // "record-types" + S_ENCAPSULATE = 105, // "encapsulate" + S_ARRAY = 106, // "array" + S_PARKED_PACKET_LIMIT = 107, // "parked-packet-limit" + S_ALLOCATOR = 108, // "allocator" + S_DDNS_CONFLICT_RESOLUTION_MODE = 109, // "ddns-conflict-resolution-mode" + S_CHECK_WITH_DHCID = 110, // "check-with-dhcid" + S_NO_CHECK_WITH_DHCID = 111, // "no-check-with-dhcid" + S_CHECK_EXISTS_WITH_DHCID = 112, // "check-exists-with-dhcid" + S_NO_CHECK_WITHOUT_DHCID = 113, // "no-check-without-dhcid" + S_SHARED_NETWORKS = 114, // "shared-networks" + S_POOLS = 115, // "pools" + S_POOL = 116, // "pool" + S_USER_CONTEXT = 117, // "user-context" + S_COMMENT = 118, // "comment" + S_SUBNET = 119, // "subnet" + S_INTERFACE = 120, // "interface" + S_ID = 121, // "id" + S_RESERVATION_MODE = 122, // "reservation-mode" + S_DISABLED = 123, // "disabled" + S_OUT_OF_POOL = 124, // "out-of-pool" + S_GLOBAL = 125, // "global" + S_ALL = 126, // "all" + S_RESERVATIONS_GLOBAL = 127, // "reservations-global" + S_RESERVATIONS_IN_SUBNET = 128, // "reservations-in-subnet" + S_RESERVATIONS_OUT_OF_POOL = 129, // "reservations-out-of-pool" + S_HOST_RESERVATION_IDENTIFIERS = 130, // "host-reservation-identifiers" + S_CLIENT_CLASSES = 131, // "client-classes" + S_REQUIRE_CLIENT_CLASSES = 132, // "require-client-classes" + S_TEST = 133, // "test" + S_TEMPLATE_TEST = 134, // "template-test" + S_ONLY_IF_REQUIRED = 135, // "only-if-required" + S_CLIENT_CLASS = 136, // "client-class" + S_POOL_ID = 137, // "pool-id" + S_RESERVATIONS = 138, // "reservations" + S_DUID = 139, // "duid" + S_HW_ADDRESS = 140, // "hw-address" + S_CIRCUIT_ID = 141, // "circuit-id" + S_CLIENT_ID = 142, // "client-id" + S_HOSTNAME = 143, // "hostname" + S_FLEX_ID = 144, // "flex-id" + S_RELAY = 145, // "relay" + S_IP_ADDRESS = 146, // "ip-address" + S_IP_ADDRESSES = 147, // "ip-addresses" + S_HOOKS_LIBRARIES = 148, // "hooks-libraries" + S_LIBRARY = 149, // "library" + S_PARAMETERS = 150, // "parameters" + S_EXPIRED_LEASES_PROCESSING = 151, // "expired-leases-processing" + S_RECLAIM_TIMER_WAIT_TIME = 152, // "reclaim-timer-wait-time" + S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 153, // "flush-reclaimed-timer-wait-time" + S_HOLD_RECLAIMED_TIME = 154, // "hold-reclaimed-time" + S_MAX_RECLAIM_LEASES = 155, // "max-reclaim-leases" + S_MAX_RECLAIM_TIME = 156, // "max-reclaim-time" + S_UNWARNED_RECLAIM_CYCLES = 157, // "unwarned-reclaim-cycles" + S_DHCP4O6_PORT = 158, // "dhcp4o6-port" + S_DHCP_MULTI_THREADING = 159, // "multi-threading" + S_ENABLE_MULTI_THREADING = 160, // "enable-multi-threading" + S_THREAD_POOL_SIZE = 161, // "thread-pool-size" + S_PACKET_QUEUE_SIZE = 162, // "packet-queue-size" + S_CONTROL_SOCKET = 163, // "control-socket" + S_SOCKET_TYPE = 164, // "socket-type" + S_SOCKET_NAME = 165, // "socket-name" + S_DHCP_QUEUE_CONTROL = 166, // "dhcp-queue-control" + S_ENABLE_QUEUE = 167, // "enable-queue" + S_QUEUE_TYPE = 168, // "queue-type" + S_CAPACITY = 169, // "capacity" + S_DHCP_DDNS = 170, // "dhcp-ddns" + S_ENABLE_UPDATES = 171, // "enable-updates" + S_QUALIFYING_SUFFIX = 172, // "qualifying-suffix" + S_SERVER_IP = 173, // "server-ip" + S_SERVER_PORT = 174, // "server-port" + S_SENDER_IP = 175, // "sender-ip" + S_SENDER_PORT = 176, // "sender-port" + S_MAX_QUEUE_SIZE = 177, // "max-queue-size" + S_NCR_PROTOCOL = 178, // "ncr-protocol" + S_NCR_FORMAT = 179, // "ncr-format" + S_OVERRIDE_NO_UPDATE = 180, // "override-no-update" + S_OVERRIDE_CLIENT_UPDATE = 181, // "override-client-update" + S_REPLACE_CLIENT_NAME = 182, // "replace-client-name" + S_GENERATED_PREFIX = 183, // "generated-prefix" + S_TCP = 184, // "tcp" + S_JSON = 185, // "JSON" + S_WHEN_PRESENT = 186, // "when-present" + S_NEVER = 187, // "never" + S_ALWAYS = 188, // "always" + S_WHEN_NOT_PRESENT = 189, // "when-not-present" + S_HOSTNAME_CHAR_SET = 190, // "hostname-char-set" + S_HOSTNAME_CHAR_REPLACEMENT = 191, // "hostname-char-replacement" + S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 192, // "early-global-reservations-lookup" + S_IP_RESERVATIONS_UNIQUE = 193, // "ip-reservations-unique" + S_RESERVATIONS_LOOKUP_FIRST = 194, // "reservations-lookup-first" + S_LOGGERS = 195, // "loggers" + S_OUTPUT_OPTIONS = 196, // "output-options" + S_OUTPUT = 197, // "output" + S_DEBUGLEVEL = 198, // "debuglevel" + S_SEVERITY = 199, // "severity" + S_FLUSH = 200, // "flush" + S_MAXSIZE = 201, // "maxsize" + S_MAXVER = 202, // "maxver" + S_PATTERN = 203, // "pattern" + S_COMPATIBILITY = 204, // "compatibility" + S_LENIENT_OPTION_PARSING = 205, // "lenient-option-parsing" + S_IGNORE_DHCP_SERVER_ID = 206, // "ignore-dhcp-server-identifier" + S_IGNORE_RAI_LINK_SEL = 207, // "ignore-rai-link-selection" + S_EXCLUDE_FIRST_LAST_24 = 208, // "exclude-first-last-24" + S_TOPLEVEL_JSON = 209, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP4 = 210, // TOPLEVEL_DHCP4 + S_SUB_DHCP4 = 211, // SUB_DHCP4 + S_SUB_INTERFACES4 = 212, // SUB_INTERFACES4 + S_SUB_SUBNET4 = 213, // SUB_SUBNET4 + S_SUB_POOL4 = 214, // SUB_POOL4 + S_SUB_RESERVATION = 215, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 216, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 217, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 218, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 219, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 220, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 221, // SUB_CONFIG_CONTROL + S_STRING = 222, // "constant string" + S_INTEGER = 223, // "integer" + S_FLOAT = 224, // "floating point" + S_BOOLEAN = 225, // "boolean" + S_YYACCEPT = 226, // $accept + S_start = 227, // start + S_228_1 = 228, // $@1 + S_229_2 = 229, // $@2 + S_230_3 = 230, // $@3 + S_231_4 = 231, // $@4 + S_232_5 = 232, // $@5 + S_233_6 = 233, // $@6 + S_234_7 = 234, // $@7 + S_235_8 = 235, // $@8 + S_236_9 = 236, // $@9 + S_237_10 = 237, // $@10 + S_238_11 = 238, // $@11 + S_239_12 = 239, // $@12 + S_240_13 = 240, // $@13 + S_value = 241, // value + S_sub_json = 242, // sub_json + S_map2 = 243, // map2 + S_244_14 = 244, // $@14 + S_map_value = 245, // map_value + S_map_content = 246, // map_content + S_not_empty_map = 247, // not_empty_map + S_list_generic = 248, // list_generic + S_249_15 = 249, // $@15 + S_list_content = 250, // list_content + S_not_empty_list = 251, // not_empty_list + S_list_strings = 252, // list_strings + S_253_16 = 253, // $@16 + S_list_strings_content = 254, // list_strings_content + S_not_empty_list_strings = 255, // not_empty_list_strings + S_unknown_map_entry = 256, // unknown_map_entry + S_syntax_map = 257, // syntax_map + S_258_17 = 258, // $@17 + S_global_object = 259, // global_object + S_260_18 = 260, // $@18 + S_global_object_comma = 261, // global_object_comma + S_sub_dhcp4 = 262, // sub_dhcp4 + S_263_19 = 263, // $@19 + S_global_params = 264, // global_params + S_global_param = 265, // global_param + S_valid_lifetime = 266, // valid_lifetime + S_min_valid_lifetime = 267, // min_valid_lifetime + S_max_valid_lifetime = 268, // max_valid_lifetime + S_renew_timer = 269, // renew_timer + S_rebind_timer = 270, // rebind_timer + S_calculate_tee_times = 271, // calculate_tee_times + S_t1_percent = 272, // t1_percent + S_t2_percent = 273, // t2_percent + S_cache_threshold = 274, // cache_threshold + S_cache_max_age = 275, // cache_max_age + S_decline_probation_period = 276, // decline_probation_period + S_server_tag = 277, // server_tag + S_278_20 = 278, // $@20 + S_parked_packet_limit = 279, // parked_packet_limit + S_allocator = 280, // allocator + S_281_21 = 281, // $@21 + S_echo_client_id = 282, // echo_client_id + S_match_client_id = 283, // match_client_id + S_authoritative = 284, // authoritative + S_ddns_send_updates = 285, // ddns_send_updates + S_ddns_override_no_update = 286, // ddns_override_no_update + S_ddns_override_client_update = 287, // ddns_override_client_update + S_ddns_replace_client_name = 288, // ddns_replace_client_name + S_289_22 = 289, // $@22 + S_ddns_replace_client_name_value = 290, // ddns_replace_client_name_value + S_ddns_generated_prefix = 291, // ddns_generated_prefix + S_292_23 = 292, // $@23 + S_ddns_qualifying_suffix = 293, // ddns_qualifying_suffix + S_294_24 = 294, // $@24 + S_ddns_update_on_renew = 295, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 296, // ddns_use_conflict_resolution + S_ddns_conflict_resolution_mode = 297, // ddns_conflict_resolution_mode + S_298_25 = 298, // $@25 + S_ddns_conflict_resolution_mode_value = 299, // ddns_conflict_resolution_mode_value + S_ddns_ttl_percent = 300, // ddns_ttl_percent + S_hostname_char_set = 301, // hostname_char_set + S_302_26 = 302, // $@26 + S_hostname_char_replacement = 303, // hostname_char_replacement + S_304_27 = 304, // $@27 + S_store_extended_info = 305, // store_extended_info + S_statistic_default_sample_count = 306, // statistic_default_sample_count + S_statistic_default_sample_age = 307, // statistic_default_sample_age + S_early_global_reservations_lookup = 308, // early_global_reservations_lookup + S_ip_reservations_unique = 309, // ip_reservations_unique + S_reservations_lookup_first = 310, // reservations_lookup_first + S_offer_lifetime = 311, // offer_lifetime + S_stash_agent_options = 312, // stash_agent_options + S_interfaces_config = 313, // interfaces_config + S_314_28 = 314, // $@28 + S_interfaces_config_params = 315, // interfaces_config_params + S_interfaces_config_param = 316, // interfaces_config_param + S_sub_interfaces4 = 317, // sub_interfaces4 + S_318_29 = 318, // $@29 + S_interfaces_list = 319, // interfaces_list + S_320_30 = 320, // $@30 + S_dhcp_socket_type = 321, // dhcp_socket_type + S_322_31 = 322, // $@31 + S_socket_type = 323, // socket_type + S_outbound_interface = 324, // outbound_interface + S_325_32 = 325, // $@32 + S_outbound_interface_value = 326, // outbound_interface_value + S_re_detect = 327, // re_detect + S_service_sockets_require_all = 328, // service_sockets_require_all + S_service_sockets_retry_wait_time = 329, // service_sockets_retry_wait_time + S_service_sockets_max_retries = 330, // service_sockets_max_retries + S_lease_database = 331, // lease_database + S_332_33 = 332, // $@33 + S_sanity_checks = 333, // sanity_checks + S_334_34 = 334, // $@34 + S_sanity_checks_params = 335, // sanity_checks_params + S_sanity_checks_param = 336, // sanity_checks_param + S_lease_checks = 337, // lease_checks + S_338_35 = 338, // $@35 + S_extended_info_checks = 339, // extended_info_checks + S_340_36 = 340, // $@36 + S_hosts_database = 341, // hosts_database + S_342_37 = 342, // $@37 + S_hosts_databases = 343, // hosts_databases + S_344_38 = 344, // $@38 + S_database_list = 345, // database_list + S_not_empty_database_list = 346, // not_empty_database_list + S_database = 347, // database + S_348_39 = 348, // $@39 + S_database_map_params = 349, // database_map_params + S_database_map_param = 350, // database_map_param + S_database_type = 351, // database_type + S_352_40 = 352, // $@40 + S_db_type = 353, // db_type + S_user = 354, // user + S_355_41 = 355, // $@41 + S_password = 356, // password + S_357_42 = 357, // $@42 + S_host = 358, // host + S_359_43 = 359, // $@43 + S_port = 360, // port + S_name = 361, // name + S_362_44 = 362, // $@44 + S_persist = 363, // persist + S_lfc_interval = 364, // lfc_interval + S_readonly = 365, // readonly + S_connect_timeout = 366, // connect_timeout + S_read_timeout = 367, // read_timeout + S_write_timeout = 368, // write_timeout + S_tcp_user_timeout = 369, // tcp_user_timeout + S_max_reconnect_tries = 370, // max_reconnect_tries + S_reconnect_wait_time = 371, // reconnect_wait_time + S_on_fail = 372, // on_fail + S_373_45 = 373, // $@45 + S_on_fail_mode = 374, // on_fail_mode + S_retry_on_startup = 375, // retry_on_startup + S_max_row_errors = 376, // max_row_errors + S_trust_anchor = 377, // trust_anchor + S_378_46 = 378, // $@46 + S_cert_file = 379, // cert_file + S_380_47 = 380, // $@47 + S_key_file = 381, // key_file + S_382_48 = 382, // $@48 + S_cipher_list = 383, // cipher_list + S_384_49 = 384, // $@49 + S_host_reservation_identifiers = 385, // host_reservation_identifiers + S_386_50 = 386, // $@50 + S_host_reservation_identifiers_list = 387, // host_reservation_identifiers_list + S_host_reservation_identifier = 388, // host_reservation_identifier + S_duid_id = 389, // duid_id + S_hw_address_id = 390, // hw_address_id + S_circuit_id = 391, // circuit_id + S_client_id = 392, // client_id + S_flex_id = 393, // flex_id + S_dhcp_multi_threading = 394, // dhcp_multi_threading + S_395_51 = 395, // $@51 + S_multi_threading_params = 396, // multi_threading_params + S_multi_threading_param = 397, // multi_threading_param + S_enable_multi_threading = 398, // enable_multi_threading + S_thread_pool_size = 399, // thread_pool_size + S_packet_queue_size = 400, // packet_queue_size + S_hooks_libraries = 401, // hooks_libraries + S_402_52 = 402, // $@52 + S_hooks_libraries_list = 403, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 404, // not_empty_hooks_libraries_list + S_hooks_library = 405, // hooks_library + S_406_53 = 406, // $@53 + S_sub_hooks_library = 407, // sub_hooks_library + S_408_54 = 408, // $@54 + S_hooks_params = 409, // hooks_params + S_hooks_param = 410, // hooks_param + S_library = 411, // library + S_412_55 = 412, // $@55 + S_parameters = 413, // parameters + S_414_56 = 414, // $@56 + S_expired_leases_processing = 415, // expired_leases_processing + S_416_57 = 416, // $@57 + S_expired_leases_params = 417, // expired_leases_params + S_expired_leases_param = 418, // expired_leases_param + S_reclaim_timer_wait_time = 419, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 420, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 421, // hold_reclaimed_time + S_max_reclaim_leases = 422, // max_reclaim_leases + S_max_reclaim_time = 423, // max_reclaim_time + S_unwarned_reclaim_cycles = 424, // unwarned_reclaim_cycles + S_subnet4_list = 425, // subnet4_list + S_426_58 = 426, // $@58 + S_subnet4_list_content = 427, // subnet4_list_content + S_not_empty_subnet4_list = 428, // not_empty_subnet4_list + S_subnet4 = 429, // subnet4 + S_430_59 = 430, // $@59 + S_sub_subnet4 = 431, // sub_subnet4 + S_432_60 = 432, // $@60 + S_subnet4_params = 433, // subnet4_params + S_subnet4_param = 434, // subnet4_param + S_subnet = 435, // subnet + S_436_61 = 436, // $@61 + S_subnet_4o6_interface = 437, // subnet_4o6_interface + S_438_62 = 438, // $@62 + S_subnet_4o6_interface_id = 439, // subnet_4o6_interface_id + S_440_63 = 440, // $@63 + S_subnet_4o6_subnet = 441, // subnet_4o6_subnet + S_442_64 = 442, // $@64 + S_interface = 443, // interface + S_444_65 = 444, // $@65 + S_client_class = 445, // client_class + S_446_66 = 446, // $@66 + S_require_client_classes = 447, // require_client_classes + S_448_67 = 448, // $@67 + S_reservations_global = 449, // reservations_global + S_reservations_in_subnet = 450, // reservations_in_subnet + S_reservations_out_of_pool = 451, // reservations_out_of_pool + S_reservation_mode = 452, // reservation_mode + S_453_68 = 453, // $@68 + S_hr_mode = 454, // hr_mode + S_id = 455, // id + S_shared_networks = 456, // shared_networks + S_457_69 = 457, // $@69 + S_shared_networks_content = 458, // shared_networks_content + S_shared_networks_list = 459, // shared_networks_list + S_shared_network = 460, // shared_network + S_461_70 = 461, // $@70 + S_shared_network_params = 462, // shared_network_params + S_shared_network_param = 463, // shared_network_param + S_option_def_list = 464, // option_def_list + S_465_71 = 465, // $@71 + S_sub_option_def_list = 466, // sub_option_def_list + S_467_72 = 467, // $@72 + S_option_def_list_content = 468, // option_def_list_content + S_not_empty_option_def_list = 469, // not_empty_option_def_list + S_option_def_entry = 470, // option_def_entry + S_471_73 = 471, // $@73 + S_sub_option_def = 472, // sub_option_def + S_473_74 = 473, // $@74 + S_option_def_params = 474, // option_def_params + S_not_empty_option_def_params = 475, // not_empty_option_def_params + S_option_def_param = 476, // option_def_param + S_option_def_name = 477, // option_def_name + S_code = 478, // code + S_option_def_code = 479, // option_def_code + S_option_def_type = 480, // option_def_type + S_481_75 = 481, // $@75 + S_option_def_record_types = 482, // option_def_record_types + S_483_76 = 483, // $@76 + S_space = 484, // space + S_485_77 = 485, // $@77 + S_option_def_space = 486, // option_def_space + S_option_def_encapsulate = 487, // option_def_encapsulate + S_488_78 = 488, // $@78 + S_option_def_array = 489, // option_def_array + S_option_data_list = 490, // option_data_list + S_491_79 = 491, // $@79 + S_option_data_list_content = 492, // option_data_list_content + S_not_empty_option_data_list = 493, // not_empty_option_data_list + S_option_data_entry = 494, // option_data_entry + S_495_80 = 495, // $@80 + S_sub_option_data = 496, // sub_option_data + S_497_81 = 497, // $@81 + S_option_data_params = 498, // option_data_params + S_not_empty_option_data_params = 499, // not_empty_option_data_params + S_option_data_param = 500, // option_data_param + S_option_data_name = 501, // option_data_name + S_option_data_data = 502, // option_data_data + S_503_82 = 503, // $@82 + S_option_data_code = 504, // option_data_code + S_option_data_space = 505, // option_data_space + S_option_data_csv_format = 506, // option_data_csv_format + S_option_data_always_send = 507, // option_data_always_send + S_option_data_never_send = 508, // option_data_never_send + S_pools_list = 509, // pools_list + S_510_83 = 510, // $@83 + S_pools_list_content = 511, // pools_list_content + S_not_empty_pools_list = 512, // not_empty_pools_list + S_pool_list_entry = 513, // pool_list_entry + S_514_84 = 514, // $@84 + S_sub_pool4 = 515, // sub_pool4 + S_516_85 = 516, // $@85 + S_pool_params = 517, // pool_params + S_pool_param = 518, // pool_param + S_pool_entry = 519, // pool_entry + S_520_86 = 520, // $@86 + S_pool_id = 521, // pool_id + S_user_context = 522, // user_context + S_523_87 = 523, // $@87 + S_comment = 524, // comment + S_525_88 = 525, // $@88 + S_reservations = 526, // reservations + S_527_89 = 527, // $@89 + S_reservations_list = 528, // reservations_list + S_not_empty_reservations_list = 529, // not_empty_reservations_list + S_reservation = 530, // reservation + S_531_90 = 531, // $@90 + S_sub_reservation = 532, // sub_reservation + S_533_91 = 533, // $@91 + S_reservation_params = 534, // reservation_params + S_not_empty_reservation_params = 535, // not_empty_reservation_params + S_reservation_param = 536, // reservation_param + S_next_server = 537, // next_server + S_538_92 = 538, // $@92 + S_server_hostname = 539, // server_hostname + S_540_93 = 540, // $@93 + S_boot_file_name = 541, // boot_file_name + S_542_94 = 542, // $@94 + S_ip_address = 543, // ip_address + S_544_95 = 544, // $@95 + S_ip_addresses = 545, // ip_addresses + S_546_96 = 546, // $@96 + S_duid = 547, // duid + S_548_97 = 548, // $@97 + S_hw_address = 549, // hw_address + S_550_98 = 550, // $@98 + S_client_id_value = 551, // client_id_value + S_552_99 = 552, // $@99 + S_circuit_id_value = 553, // circuit_id_value + S_554_100 = 554, // $@100 + S_flex_id_value = 555, // flex_id_value + S_556_101 = 556, // $@101 + S_hostname = 557, // hostname + S_558_102 = 558, // $@102 + S_reservation_client_classes = 559, // reservation_client_classes + S_560_103 = 560, // $@103 + S_relay = 561, // relay + S_562_104 = 562, // $@104 + S_relay_map = 563, // relay_map + S_client_classes = 564, // client_classes + S_565_105 = 565, // $@105 + S_client_classes_list = 566, // client_classes_list + S_client_class_entry = 567, // client_class_entry + S_568_106 = 568, // $@106 + S_client_class_params = 569, // client_class_params + S_not_empty_client_class_params = 570, // not_empty_client_class_params + S_client_class_param = 571, // client_class_param + S_client_class_name = 572, // client_class_name + S_client_class_test = 573, // client_class_test + S_574_107 = 574, // $@107 + S_client_class_template_test = 575, // client_class_template_test + S_576_108 = 576, // $@108 + S_only_if_required = 577, // only_if_required + S_dhcp4o6_port = 578, // dhcp4o6_port + S_control_socket = 579, // control_socket + S_580_109 = 580, // $@109 + S_control_socket_params = 581, // control_socket_params + S_control_socket_param = 582, // control_socket_param + S_control_socket_type = 583, // control_socket_type + S_584_110 = 584, // $@110 + S_control_socket_name = 585, // control_socket_name + S_586_111 = 586, // $@111 + S_dhcp_queue_control = 587, // dhcp_queue_control + S_588_112 = 588, // $@112 + S_queue_control_params = 589, // queue_control_params + S_queue_control_param = 590, // queue_control_param + S_enable_queue = 591, // enable_queue + S_queue_type = 592, // queue_type + S_593_113 = 593, // $@113 + S_capacity = 594, // capacity + S_arbitrary_map_entry = 595, // arbitrary_map_entry + S_596_114 = 596, // $@114 + S_dhcp_ddns = 597, // dhcp_ddns + S_598_115 = 598, // $@115 + S_sub_dhcp_ddns = 599, // sub_dhcp_ddns + S_600_116 = 600, // $@116 + S_dhcp_ddns_params = 601, // dhcp_ddns_params + S_dhcp_ddns_param = 602, // dhcp_ddns_param + S_enable_updates = 603, // enable_updates + S_server_ip = 604, // server_ip + S_605_117 = 605, // $@117 + S_server_port = 606, // server_port + S_sender_ip = 607, // sender_ip + S_608_118 = 608, // $@118 + S_sender_port = 609, // sender_port + S_max_queue_size = 610, // max_queue_size + S_ncr_protocol = 611, // ncr_protocol + S_612_119 = 612, // $@119 + S_ncr_protocol_value = 613, // ncr_protocol_value + S_ncr_format = 614, // ncr_format + S_615_120 = 615, // $@120 + S_dep_qualifying_suffix = 616, // dep_qualifying_suffix + S_617_121 = 617, // $@121 + S_dep_override_no_update = 618, // dep_override_no_update + S_dep_override_client_update = 619, // dep_override_client_update + S_dep_replace_client_name = 620, // dep_replace_client_name + S_621_122 = 621, // $@122 + S_dep_generated_prefix = 622, // dep_generated_prefix + S_623_123 = 623, // $@123 + S_dep_hostname_char_set = 624, // dep_hostname_char_set + S_625_124 = 625, // $@124 + S_dep_hostname_char_replacement = 626, // dep_hostname_char_replacement + S_627_125 = 627, // $@125 + S_config_control = 628, // config_control + S_629_126 = 629, // $@126 + S_sub_config_control = 630, // sub_config_control + S_631_127 = 631, // $@127 + S_config_control_params = 632, // config_control_params + S_config_control_param = 633, // config_control_param + S_config_databases = 634, // config_databases + S_635_128 = 635, // $@128 + S_config_fetch_wait_time = 636, // config_fetch_wait_time + S_loggers = 637, // loggers + S_638_129 = 638, // $@129 + S_loggers_entries = 639, // loggers_entries + S_logger_entry = 640, // logger_entry + S_641_130 = 641, // $@130 + S_logger_params = 642, // logger_params + S_logger_param = 643, // logger_param + S_debuglevel = 644, // debuglevel + S_severity = 645, // severity + S_646_131 = 646, // $@131 + S_output_options_list = 647, // output_options_list + S_648_132 = 648, // $@132 + S_output_options_list_content = 649, // output_options_list_content + S_output_entry = 650, // output_entry + S_651_133 = 651, // $@133 + S_output_params_list = 652, // output_params_list + S_output_params = 653, // output_params + S_output = 654, // output + S_655_134 = 655, // $@134 + S_flush = 656, // flush + S_maxsize = 657, // maxsize + S_maxver = 658, // maxver + S_pattern = 659, // pattern + S_660_135 = 660, // $@135 + S_compatibility = 661, // compatibility + S_662_136 = 662, // $@136 + S_compatibility_params = 663, // compatibility_params + S_compatibility_param = 664, // compatibility_param + S_lenient_option_parsing = 665, // lenient_option_parsing + S_ignore_dhcp_server_identifier = 666, // ignore_dhcp_server_identifier + S_ignore_rai_link_selection = 667, // ignore_rai_link_selection + S_exclude_first_last_24 = 668 // exclude_first_last_24 }; }; @@ -2358,6 +2361,21 @@ switch (yykind) #if 201103L <= YY_CPLUSPLUS static symbol_type + make_STASH_AGENT_OPTIONS (location_type l) + { + return symbol_type (token::TOKEN_STASH_AGENT_OPTIONS, std::move (l)); + } +#else + static + symbol_type + make_STASH_AGENT_OPTIONS (const location_type& l) + { + return symbol_type (token::TOKEN_STASH_AGENT_OPTIONS, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type make_LEASE_DATABASE (location_type l) { return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l)); @@ -5520,8 +5538,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1352, ///< Last index in yytable_. - yynnts_ = 442, ///< Number of nonterminal symbols. + yylast_ = 1356, ///< Last index in yytable_. + yynnts_ = 443, ///< Number of nonterminal symbols. yyfinal_ = 28 ///< Termination state number. }; @@ -5588,10 +5606,11 @@ switch (yykind) 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224 + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225 }; // Last valid token kind. - const int code_max = 479; + const int code_max = 480; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5766,7 +5785,7 @@ switch (yykind) #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 5770 "dhcp4_parser.h" +#line 5789 "dhcp4_parser.h" diff --git a/src/bin/dhcp4/location.hh b/src/bin/dhcp4/location.hh index 860fbfa0c9..0f019da4be 100644 --- a/src/bin/dhcp4/location.hh +++ b/src/bin/dhcp4/location.hh @@ -1,3 +1,4 @@ +// Generated 202403300924 // A Bison parser, made by GNU Bison 3.8.2. // Locations for Bison parsers in C++ |