39#define yylex   parser4_lex 
   47#line 34 "dhcp4_parser.yy" 
   52#if defined(__GNUC__) || defined(__clang__) 
   53#pragma GCC diagnostic ignored "-Wunused-but-set-variable" 
   56#line 57 "dhcp4_parser.cc" 
   60# if defined YYENABLE_NLS && YYENABLE_NLS 
   63#   define YY_(msgid) dgettext ("bison-runtime", msgid) 
   67#  define YY_(msgid) msgid 
   74# if defined __GNUC__ && !defined __EXCEPTIONS 
   75#  define YY_EXCEPTIONS 0 
   77#  define YY_EXCEPTIONS 1 
   81#define YYRHSLOC(Rhs, K) ((Rhs)[K].location) 
   86# ifndef YYLLOC_DEFAULT 
   87#  define YYLLOC_DEFAULT(Current, Rhs, N)                               \ 
   91          (Current).begin  = YYRHSLOC (Rhs, 1).begin;                   \ 
   92          (Current).end    = YYRHSLOC (Rhs, N).end;                     \ 
   96          (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end;      \ 
 
  106# define YYCDEBUG if (yydebug_) (*yycdebug_) 
  108# define YY_SYMBOL_PRINT(Title, Symbol)         \ 
  112      *yycdebug_ << Title << ' ';               \ 
  113      yy_print_ (*yycdebug_, Symbol);           \ 
  114      *yycdebug_ << '\n';                       \ 
  118# define YY_REDUCE_PRINT(Rule)          \ 
  121      yy_reduce_print_ (Rule);          \ 
  124# define YY_STACK_PRINT()               \ 
  127      yy_stack_print_ ();                \ 
  132# define YYCDEBUG if (false) std::cerr 
  133# define YY_SYMBOL_PRINT(Title, Symbol)  YY_USE (Symbol) 
  134# define YY_REDUCE_PRINT(Rule)           static_cast<void> (0) 
  135# define YY_STACK_PRINT()                static_cast<void> (0) 
  139#define yyerrok         (yyerrstatus_ = 0) 
  140#define yyclearin       (yyla.clear ()) 
  142#define YYACCEPT        goto yyacceptlab 
  143#define YYABORT         goto yyabortlab 
  144#define YYERROR         goto yyerrorlab 
  145#define YYRECOVERING()  (!!yyerrstatus_) 
  147#line 14 "dhcp4_parser.yy" 
  148namespace isc { 
namespace dhcp {
 
  149#line 150 "dhcp4_parser.cc" 
  155      yycdebug_ (&std::cerr),
 
 
  176    : state (empty_state)
 
  179  Dhcp4Parser::by_state::by_state (
const by_state& that) 
YY_NOEXCEPT 
  190  Dhcp4Parser::by_state::move (by_state& that)
 
  196  Dhcp4Parser::by_state::by_state (state_type s) 
YY_NOEXCEPT 
  203    if (state == empty_state)
 
  209  Dhcp4Parser::stack_symbol_type::stack_symbol_type ()
 
  212  Dhcp4Parser::stack_symbol_type::stack_symbol_type (
YY_RVREF (stack_symbol_type) that)
 
  215    switch (that.kind ())
 
  217      case symbol_kind::S_value: 
 
  218      case symbol_kind::S_map_value: 
 
  219      case symbol_kind::S_ddns_replace_client_name_value: 
 
  220      case symbol_kind::S_ddns_conflict_resolution_mode_value: 
 
  221      case symbol_kind::S_socket_type: 
 
  222      case symbol_kind::S_outbound_interface_value: 
 
  223      case symbol_kind::S_on_fail_mode: 
 
  224      case symbol_kind::S_ssl_mode: 
 
  225      case symbol_kind::S_control_socket_type_value: 
 
  226      case symbol_kind::S_auth_type_value: 
 
  227      case symbol_kind::S_ncr_protocol_value: 
 
  228        value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
 
  231      case symbol_kind::S_BOOLEAN: 
 
  232        value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
 
  235      case symbol_kind::S_FLOAT: 
 
  236        value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
 
  239      case symbol_kind::S_INTEGER: 
 
  240        value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
 
  243      case symbol_kind::S_STRING: 
 
  244        value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value));
 
  253    that.state = empty_state;
 
  258    : super_type (s, 
YY_MOVE (that.location))
 
  260    switch (that.kind ())
 
  262      case symbol_kind::S_value: 
 
  263      case symbol_kind::S_map_value: 
 
  264      case symbol_kind::S_ddns_replace_client_name_value: 
 
  265      case symbol_kind::S_ddns_conflict_resolution_mode_value: 
 
  266      case symbol_kind::S_socket_type: 
 
  267      case symbol_kind::S_outbound_interface_value: 
 
  268      case symbol_kind::S_on_fail_mode: 
 
  269      case symbol_kind::S_ssl_mode: 
 
  270      case symbol_kind::S_control_socket_type_value: 
 
  271      case symbol_kind::S_auth_type_value: 
 
  272      case symbol_kind::S_ncr_protocol_value: 
 
  273        value.move< ElementPtr > (YY_MOVE (that.value));
 
  276      case symbol_kind::S_BOOLEAN: 
 
  277        value.move< bool > (YY_MOVE (that.value));
 
  280      case symbol_kind::S_FLOAT: 
 
  281        value.move< double > (YY_MOVE (that.value));
 
  284      case symbol_kind::S_INTEGER: 
 
  285        value.move< int64_t > (YY_MOVE (that.value));
 
  288      case symbol_kind::S_STRING: 
 
  289        value.move< std::string > (YY_MOVE (that.value));
 
  300#if YY_CPLUSPLUS < 201103L 
  301  Dhcp4Parser::stack_symbol_type&
 
  302  Dhcp4Parser::stack_symbol_type::operator= (
const stack_symbol_type& that)
 
  305    switch (that.kind ())
 
  322        value.copy< 
bool > (that.value);
 
  326        value.copy< 
double > (that.value);
 
  330        value.copy< int64_t > (that.value);
 
  334        value.copy< std::string > (that.value);
 
  341    location = that.location;
 
  345  Dhcp4Parser::stack_symbol_type&
 
  346  Dhcp4Parser::stack_symbol_type::operator= (stack_symbol_type& that)
 
  349    switch (that.kind ())
 
  366        value.move< 
bool > (that.value);
 
  370        value.move< 
double > (that.value);
 
  374        value.move< int64_t > (that.value);
 
  378        value.move< std::string > (that.value);
 
  385    location = that.location;
 
  387    that.state = empty_state;
 
  392  template <
typename Base>
 
  401  template <
typename Base>
 
  405    std::ostream& yyoutput = yyo;
 
  408      yyo << 
"empty symbol";
 
  412        yyo << (yykind < 
YYNTOKENS ? 
"token" : 
"nterm")
 
  413            << 
' ' << yysym.name () << 
" (" 
  414            << yysym.location << 
": ";
 
  418#line 327 "dhcp4_parser.yy" 
  419                 { yyoutput << yysym.value.template as < std::string > (); }
 
  420#line 421 "dhcp4_parser.cc" 
  424#line 327 "dhcp4_parser.yy" 
  425                 { yyoutput << yysym.value.template as < int64_t > (); }
 
  426#line 427 "dhcp4_parser.cc" 
  430#line 327 "dhcp4_parser.yy" 
  431                 { yyoutput << yysym.value.template as < double > (); }
 
  432#line 433 "dhcp4_parser.cc" 
  436#line 327 "dhcp4_parser.yy" 
  437                 { yyoutput << yysym.value.template as < bool > (); }
 
  438#line 439 "dhcp4_parser.cc" 
  442#line 327 "dhcp4_parser.yy" 
  443                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  444#line 445 "dhcp4_parser.cc" 
  448#line 327 "dhcp4_parser.yy" 
  449                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  450#line 451 "dhcp4_parser.cc" 
  454#line 327 "dhcp4_parser.yy" 
  455                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  456#line 457 "dhcp4_parser.cc" 
  460#line 327 "dhcp4_parser.yy" 
  461                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  462#line 463 "dhcp4_parser.cc" 
  466#line 327 "dhcp4_parser.yy" 
  467                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  468#line 469 "dhcp4_parser.cc" 
  472#line 327 "dhcp4_parser.yy" 
  473                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  474#line 475 "dhcp4_parser.cc" 
  478#line 327 "dhcp4_parser.yy" 
  479                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  480#line 481 "dhcp4_parser.cc" 
  484#line 327 "dhcp4_parser.yy" 
  485                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  486#line 487 "dhcp4_parser.cc" 
  490#line 327 "dhcp4_parser.yy" 
  491                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  492#line 493 "dhcp4_parser.cc" 
  496#line 327 "dhcp4_parser.yy" 
  497                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  498#line 499 "dhcp4_parser.cc" 
  502#line 327 "dhcp4_parser.yy" 
  503                 { yyoutput << yysym.value.template as < ElementPtr > (); }
 
  504#line 505 "dhcp4_parser.cc" 
  516  Dhcp4Parser::yypush_ (
const char* m, 
YY_MOVE_REF (stack_symbol_type) sym)
 
  526#if 201103L <= YY_CPLUSPLUS 
  527    yypush_ (m, stack_symbol_type (s, std::move (sym)));
 
  529    stack_symbol_type ss (s, sym);
 
  542  Dhcp4Parser::debug_stream ()
 const 
  548  Dhcp4Parser::set_debug_stream (std::ostream& o)
 
  554  Dhcp4Parser::debug_level_type
 
  555  Dhcp4Parser::debug_level ()
 const 
  561  Dhcp4Parser::set_debug_level (debug_level_type l)
 
  567  Dhcp4Parser::state_type
 
  568  Dhcp4Parser::yy_lr_goto_state_ (state_type yystate, 
int yysym)
 
  570    int yyr = yypgoto_[yysym - 
YYNTOKENS] + yystate;
 
  571    if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
 
  572      return yytable_[yyr];
 
  578  Dhcp4Parser::yy_pact_value_is_default_ (
int yyvalue) 
YY_NOEXCEPT 
  580    return yyvalue == yypact_ninf_;
 
  584  Dhcp4Parser::yy_table_value_is_error_ (
int yyvalue) 
YY_NOEXCEPT 
  586    return yyvalue == yytable_ninf_;
 
  604    int yyerrstatus_ = 0;
 
  610    stack_symbol_type yyerror_range[3];
 
  627    yypush_ (YY_NULLPTR, 0, 
YY_MOVE (yyla));
 
  633    YYCDEBUG << 
"Entering state " << int (yystack_[0].state) << 
'\n';
 
  637    if (yystack_[0].state == yyfinal_)
 
  648    yyn = yypact_[+yystack_[0].state];
 
  649    if (yy_pact_value_is_default_ (yyn))
 
  661            yyla.
move (yylookahead);
 
  666            YYCDEBUG << 
"Caught exception: " << yyexc.what() << 
'\n';
 
  687    if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.
kind ())
 
  696        if (yy_table_value_is_error_ (yyn))
 
  707    yypush_ (
"Shifting", state_type (yyn), 
YY_MOVE (yyla));
 
  715    yyn = yydefact_[+yystack_[0].state];
 
  727      stack_symbol_type yylhs;
 
  728      yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
 
  771        stack_type::slice range (yystack_, yylen);
 
  785#line 336 "dhcp4_parser.yy" 
  786                     { ctx.ctx_ = ctx.NO_KEYWORD; }
 
  787#line 788 "dhcp4_parser.cc" 
  791#line 337 "dhcp4_parser.yy" 
  792                      { ctx.ctx_ = ctx.CONFIG; }
 
  793#line 794 "dhcp4_parser.cc" 
  797#line 338 "dhcp4_parser.yy" 
  798                 { ctx.ctx_ = ctx.DHCP4; }
 
  799#line 800 "dhcp4_parser.cc" 
  803#line 339 "dhcp4_parser.yy" 
  804                       { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
 
  805#line 806 "dhcp4_parser.cc" 
  809#line 340 "dhcp4_parser.yy" 
  810                   { ctx.ctx_ = ctx.SUBNET4; }
 
  811#line 812 "dhcp4_parser.cc" 
  815#line 341 "dhcp4_parser.yy" 
  816                 { ctx.ctx_ = ctx.POOLS; }
 
  817#line 818 "dhcp4_parser.cc" 
  821#line 342 "dhcp4_parser.yy" 
  822                       { ctx.ctx_ = ctx.RESERVATIONS; }
 
  823#line 824 "dhcp4_parser.cc" 
  827#line 343 "dhcp4_parser.yy" 
  828                       { ctx.ctx_ = ctx.DHCP4; }
 
  829#line 830 "dhcp4_parser.cc" 
  833#line 344 "dhcp4_parser.yy" 
  834                      { ctx.ctx_ = ctx.OPTION_DEF; }
 
  835#line 836 "dhcp4_parser.cc" 
  839#line 345 "dhcp4_parser.yy" 
  840                       { ctx.ctx_ = ctx.OPTION_DATA; }
 
  841#line 842 "dhcp4_parser.cc" 
  845#line 346 "dhcp4_parser.yy" 
  846                         { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
 
  847#line 848 "dhcp4_parser.cc" 
  851#line 347 "dhcp4_parser.yy" 
  852                     { ctx.ctx_ = ctx.DHCP_DDNS; }
 
  853#line 854 "dhcp4_parser.cc" 
  857#line 348 "dhcp4_parser.yy" 
  858                          { ctx.ctx_ = ctx.CONFIG_CONTROL; }
 
  859#line 860 "dhcp4_parser.cc" 
  863#line 356 "dhcp4_parser.yy" 
  865#line 866 "dhcp4_parser.cc" 
  869#line 357 "dhcp4_parser.yy" 
  871#line 872 "dhcp4_parser.cc" 
  875#line 358 "dhcp4_parser.yy" 
  877#line 878 "dhcp4_parser.cc" 
  881#line 359 "dhcp4_parser.yy" 
  883#line 884 "dhcp4_parser.cc" 
  887#line 360 "dhcp4_parser.yy" 
  889#line 890 "dhcp4_parser.cc" 
  893#line 361 "dhcp4_parser.yy" 
  895#line 896 "dhcp4_parser.cc" 
  899#line 362 "dhcp4_parser.yy" 
  901#line 902 "dhcp4_parser.cc" 
  905#line 365 "dhcp4_parser.yy" 
  908    ctx.stack_.push_back(yystack_[0].value.as < 
ElementPtr > ());
 
  910#line 911 "dhcp4_parser.cc" 
  914#line 370 "dhcp4_parser.yy" 
  919    ctx.stack_.push_back(m);
 
  921#line 922 "dhcp4_parser.cc" 
  925#line 375 "dhcp4_parser.yy" 
  931#line 932 "dhcp4_parser.cc" 
  935#line 381 "dhcp4_parser.yy" 
  937#line 938 "dhcp4_parser.cc" 
  941#line 388 "dhcp4_parser.yy" 
  944                  ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
 
  945                  ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < 
ElementPtr > ());
 
  947#line 948 "dhcp4_parser.cc" 
  951#line 393 "dhcp4_parser.yy" 
  955                  ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
 
  956                  ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < 
ElementPtr > ());
 
  958#line 959 "dhcp4_parser.cc" 
  962#line 399 "dhcp4_parser.yy" 
  964                 ctx.warnAboutExtraCommas(yystack_[0].location);
 
  966#line 967 "dhcp4_parser.cc" 
  970#line 404 "dhcp4_parser.yy" 
  973    ctx.stack_.push_back(l);
 
  975#line 976 "dhcp4_parser.cc" 
  979#line 407 "dhcp4_parser.yy" 
  983#line 984 "dhcp4_parser.cc" 
  987#line 415 "dhcp4_parser.yy" 
  990                  ctx.stack_.back()->add(yystack_[0].value.as < 
ElementPtr > ());
 
  992#line 993 "dhcp4_parser.cc" 
  996#line 419 "dhcp4_parser.yy" 
  999                  ctx.stack_.back()->add(yystack_[0].value.as < 
ElementPtr > ());
 
 1001#line 1002 "dhcp4_parser.cc" 
 1005#line 423 "dhcp4_parser.yy" 
 1007                  ctx.warnAboutExtraCommas(yystack_[0].location);
 
 1009#line 1010 "dhcp4_parser.cc" 
 1013#line 429 "dhcp4_parser.yy" 
 1017#line 1018 "dhcp4_parser.cc" 
 1021#line 431 "dhcp4_parser.yy" 
 1026#line 1027 "dhcp4_parser.cc" 
 1030#line 440 "dhcp4_parser.yy" 
 1033                          ctx.stack_.back()->add(s);
 
 1035#line 1036 "dhcp4_parser.cc" 
 1039#line 444 "dhcp4_parser.yy" 
 1042                          ctx.stack_.back()->add(s);
 
 1044#line 1045 "dhcp4_parser.cc" 
 1048#line 448 "dhcp4_parser.yy" 
 1050                          ctx.warnAboutExtraCommas(yystack_[0].location);
 
 1052#line 1053 "dhcp4_parser.cc" 
 1056#line 458 "dhcp4_parser.yy" 
 1058    const std::string& where = ctx.contextName();
 
 1059    const std::string& keyword = yystack_[1].value.as < std::string > ();
 
 1060    error(yystack_[1].location,
 
 1061          "got unexpected keyword \"" + keyword + 
"\" in " + where + 
" map.");
 
 1063#line 1064 "dhcp4_parser.cc" 
 1067#line 467 "dhcp4_parser.yy" 
 1072    ctx.stack_.push_back(m);
 
 1074#line 1075 "dhcp4_parser.cc" 
 1078#line 472 "dhcp4_parser.yy" 
 1085    ctx.require(
"Dhcp4", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 1087#line 1088 "dhcp4_parser.cc" 
 1091#line 482 "dhcp4_parser.yy" 
 1096    ctx.unique(
"Dhcp4", ctx.loc2pos(yystack_[0].location));
 
 1098    ctx.stack_.back()->set(
"Dhcp4", m);
 
 1099    ctx.stack_.push_back(m);
 
 1100    ctx.enter(ctx.DHCP4);
 
 1102#line 1103 "dhcp4_parser.cc" 
 1106#line 491 "dhcp4_parser.yy" 
 1109    ctx.stack_.pop_back();
 
 1112#line 1113 "dhcp4_parser.cc" 
 1116#line 499 "dhcp4_parser.yy" 
 1118    ctx.warnAboutExtraCommas(yystack_[0].location);
 
 1120#line 1121 "dhcp4_parser.cc" 
 1124#line 505 "dhcp4_parser.yy" 
 1128    ctx.stack_.push_back(m);
 
 1130#line 1131 "dhcp4_parser.cc" 
 1134#line 509 "dhcp4_parser.yy" 
 1139#line 1140 "dhcp4_parser.cc" 
 1143#line 516 "dhcp4_parser.yy" 
 1145                 ctx.warnAboutExtraCommas(yystack_[0].location);
 
 1147#line 1148 "dhcp4_parser.cc" 
 1151#line 597 "dhcp4_parser.yy" 
 1153    ctx.unique(
"valid-lifetime", ctx.loc2pos(yystack_[2].location));
 
 1154    ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1155    ctx.stack_.back()->set(
"valid-lifetime", prf);
 
 1157#line 1158 "dhcp4_parser.cc" 
 1161#line 603 "dhcp4_parser.yy" 
 1163    ctx.unique(
"min-valid-lifetime", ctx.loc2pos(yystack_[2].location));
 
 1164    ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1165    ctx.stack_.back()->set(
"min-valid-lifetime", prf);
 
 1167#line 1168 "dhcp4_parser.cc" 
 1171#line 609 "dhcp4_parser.yy" 
 1173    ctx.unique(
"max-valid-lifetime", ctx.loc2pos(yystack_[2].location));
 
 1174    ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1175    ctx.stack_.back()->set(
"max-valid-lifetime", prf);
 
 1177#line 1178 "dhcp4_parser.cc" 
 1181#line 615 "dhcp4_parser.yy" 
 1183    ctx.unique(
"renew-timer", ctx.loc2pos(yystack_[2].location));
 
 1184    ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1185    ctx.stack_.back()->set(
"renew-timer", prf);
 
 1187#line 1188 "dhcp4_parser.cc" 
 1191#line 621 "dhcp4_parser.yy" 
 1193    ctx.unique(
"rebind-timer", ctx.loc2pos(yystack_[2].location));
 
 1194    ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1195    ctx.stack_.back()->set(
"rebind-timer", prf);
 
 1197#line 1198 "dhcp4_parser.cc" 
 1201#line 627 "dhcp4_parser.yy" 
 1203    ctx.unique(
"calculate-tee-times", ctx.loc2pos(yystack_[2].location));
 
 1204    ElementPtr ctt(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 1205    ctx.stack_.back()->set(
"calculate-tee-times", ctt);
 
 1207#line 1208 "dhcp4_parser.cc" 
 1211#line 633 "dhcp4_parser.yy" 
 1213    ctx.unique(
"t1-percent", ctx.loc2pos(yystack_[2].location));
 
 1215    ctx.stack_.back()->set(
"t1-percent", t1);
 
 1217#line 1218 "dhcp4_parser.cc" 
 1221#line 639 "dhcp4_parser.yy" 
 1223    ctx.unique(
"t2-percent", ctx.loc2pos(yystack_[2].location));
 
 1225    ctx.stack_.back()->set(
"t2-percent", t2);
 
 1227#line 1228 "dhcp4_parser.cc" 
 1231#line 645 "dhcp4_parser.yy" 
 1233    ctx.unique(
"cache-threshold", ctx.loc2pos(yystack_[2].location));
 
 1235    ctx.stack_.back()->set(
"cache-threshold", ct);
 
 1237#line 1238 "dhcp4_parser.cc" 
 1241#line 651 "dhcp4_parser.yy" 
 1243    ctx.unique(
"cache-max-age", ctx.loc2pos(yystack_[2].location));
 
 1244    ElementPtr cm(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1245    ctx.stack_.back()->set(
"cache-max-age", cm);
 
 1247#line 1248 "dhcp4_parser.cc" 
 1251#line 657 "dhcp4_parser.yy" 
 1253    ctx.unique(
"decline-probation-period", ctx.loc2pos(yystack_[2].location));
 
 1254    ElementPtr dpp(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1255    ctx.stack_.back()->set(
"decline-probation-period", dpp);
 
 1257#line 1258 "dhcp4_parser.cc" 
 1261#line 663 "dhcp4_parser.yy" 
 1263    ctx.unique(
"server-tag", ctx.loc2pos(yystack_[0].location));
 
 1264    ctx.enter(ctx.NO_KEYWORD);
 
 1266#line 1267 "dhcp4_parser.cc" 
 1270#line 666 "dhcp4_parser.yy" 
 1272    ElementPtr stag(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 1273    ctx.stack_.back()->set(
"server-tag", stag);
 
 1276#line 1277 "dhcp4_parser.cc" 
 1280#line 672 "dhcp4_parser.yy" 
 1282    ctx.unique(
"parked-packet-limit", ctx.loc2pos(yystack_[2].location));
 
 1283    ElementPtr ppl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1284    ctx.stack_.back()->set(
"parked-packet-limit", ppl);
 
 1286#line 1287 "dhcp4_parser.cc" 
 1290#line 678 "dhcp4_parser.yy" 
 1292    ctx.unique(
"allocator", ctx.loc2pos(yystack_[0].location));
 
 1293    ctx.enter(ctx.NO_KEYWORD);
 
 1295#line 1296 "dhcp4_parser.cc" 
 1299#line 681 "dhcp4_parser.yy" 
 1302    ctx.stack_.back()->set(
"allocator", al);
 
 1305#line 1306 "dhcp4_parser.cc" 
 1309#line 687 "dhcp4_parser.yy" 
 1311    ctx.unique(
"echo-client-id", ctx.loc2pos(yystack_[2].location));
 
 1312    ElementPtr echo(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 1313    ctx.stack_.back()->set(
"echo-client-id", echo);
 
 1315#line 1316 "dhcp4_parser.cc" 
 1319#line 693 "dhcp4_parser.yy" 
 1321    ctx.unique(
"match-client-id", ctx.loc2pos(yystack_[2].location));
 
 1322    ElementPtr match(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 1323    ctx.stack_.back()->set(
"match-client-id", match);
 
 1325#line 1326 "dhcp4_parser.cc" 
 1329#line 699 "dhcp4_parser.yy" 
 1331    ctx.unique(
"authoritative", ctx.loc2pos(yystack_[2].location));
 
 1332    ElementPtr prf(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 1333    ctx.stack_.back()->set(
"authoritative", prf);
 
 1335#line 1336 "dhcp4_parser.cc" 
 1339#line 705 "dhcp4_parser.yy" 
 1341    ctx.unique(
"ddns-send-updates", ctx.loc2pos(yystack_[2].location));
 
 1343    ctx.stack_.back()->set(
"ddns-send-updates", b);
 
 1345#line 1346 "dhcp4_parser.cc" 
 1349#line 711 "dhcp4_parser.yy" 
 1351    ctx.unique(
"ddns-override-no-update", ctx.loc2pos(yystack_[2].location));
 
 1353    ctx.stack_.back()->set(
"ddns-override-no-update", b);
 
 1355#line 1356 "dhcp4_parser.cc" 
 1359#line 717 "dhcp4_parser.yy" 
 1361    ctx.unique(
"ddns-override-client-update", ctx.loc2pos(yystack_[2].location));
 
 1363    ctx.stack_.back()->set(
"ddns-override-client-update", b);
 
 1365#line 1366 "dhcp4_parser.cc" 
 1369#line 723 "dhcp4_parser.yy" 
 1371    ctx.enter(ctx.REPLACE_CLIENT_NAME);
 
 1372    ctx.unique(
"ddns-replace-client-name", ctx.loc2pos(yystack_[0].location));
 
 1374#line 1375 "dhcp4_parser.cc" 
 1378#line 726 "dhcp4_parser.yy" 
 1380    ctx.stack_.back()->set(
"ddns-replace-client-name", yystack_[0].value.as < 
ElementPtr > ());
 
 1383#line 1384 "dhcp4_parser.cc" 
 1387#line 732 "dhcp4_parser.yy" 
 1391#line 1392 "dhcp4_parser.cc" 
 1395#line 735 "dhcp4_parser.yy" 
 1399#line 1400 "dhcp4_parser.cc" 
 1403#line 738 "dhcp4_parser.yy" 
 1407#line 1408 "dhcp4_parser.cc" 
 1411#line 741 "dhcp4_parser.yy" 
 1415#line 1416 "dhcp4_parser.cc" 
 1419#line 744 "dhcp4_parser.yy" 
 1421      error(yystack_[0].location, 
"boolean values for the ddns-replace-client-name are " 
 1422                "no longer supported");
 
 1424#line 1425 "dhcp4_parser.cc" 
 1428#line 750 "dhcp4_parser.yy" 
 1430    ctx.unique(
"ddns-generated-prefix", ctx.loc2pos(yystack_[0].location));
 
 1431    ctx.enter(ctx.NO_KEYWORD);
 
 1433#line 1434 "dhcp4_parser.cc" 
 1437#line 753 "dhcp4_parser.yy" 
 1440    ctx.stack_.back()->set(
"ddns-generated-prefix", s);
 
 1443#line 1444 "dhcp4_parser.cc" 
 1447#line 759 "dhcp4_parser.yy" 
 1449    ctx.unique(
"ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location));
 
 1450    ctx.enter(ctx.NO_KEYWORD);
 
 1452#line 1453 "dhcp4_parser.cc" 
 1456#line 762 "dhcp4_parser.yy" 
 1459    ctx.stack_.back()->set(
"ddns-qualifying-suffix", s);
 
 1462#line 1463 "dhcp4_parser.cc" 
 1466#line 768 "dhcp4_parser.yy" 
 1468    ctx.unique(
"ddns-update-on-renew", ctx.loc2pos(yystack_[2].location));
 
 1470    ctx.stack_.back()->set(
"ddns-update-on-renew", b);
 
 1472#line 1473 "dhcp4_parser.cc" 
 1476#line 777 "dhcp4_parser.yy" 
 1478    ctx.unique(
"ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location));
 
 1480    ctx.warning(yystack_[1].location, 
"ddns-use-conflict-resolution is deprecated. " 
 1481             "Substituting ddns-conflict-resolution-mode");
 
 1483                                      : 
"no-check-with-dhcid"));
 
 1484    ctx.stack_.back()->set(
"ddns-conflict-resolution-mode", mode);
 
 1486#line 1487 "dhcp4_parser.cc" 
 1490#line 787 "dhcp4_parser.yy" 
 1492    ctx.unique(
"ddns-conflict-resolution-mode", ctx.loc2pos(yystack_[0].location));
 
 1493    ctx.enter(ctx.DDNS_CONFLICT_RESOLUTION_MODE);
 
 1495#line 1496 "dhcp4_parser.cc" 
 1499#line 790 "dhcp4_parser.yy" 
 1501    ctx.stack_.back()->set(
"ddns-conflict-resolution-mode", yystack_[0].value.as < 
ElementPtr > ());
 
 1504#line 1505 "dhcp4_parser.cc" 
 1508#line 796 "dhcp4_parser.yy" 
 1512#line 1513 "dhcp4_parser.cc" 
 1516#line 799 "dhcp4_parser.yy" 
 1520#line 1521 "dhcp4_parser.cc" 
 1524#line 802 "dhcp4_parser.yy" 
 1528#line 1529 "dhcp4_parser.cc" 
 1532#line 805 "dhcp4_parser.yy" 
 1536#line 1537 "dhcp4_parser.cc" 
 1540#line 810 "dhcp4_parser.yy" 
 1542    ctx.unique(
"ddns-ttl-percent", ctx.loc2pos(yystack_[2].location));
 
 1544    ctx.stack_.back()->set(
"ddns-ttl-percent", ttl);
 
 1546#line 1547 "dhcp4_parser.cc" 
 1550#line 816 "dhcp4_parser.yy" 
 1552    ctx.unique(
"ddns-ttl", ctx.loc2pos(yystack_[2].location));
 
 1553    ElementPtr ttl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1554    ctx.stack_.back()->set(
"ddns-ttl", ttl);
 
 1556#line 1557 "dhcp4_parser.cc" 
 1560#line 822 "dhcp4_parser.yy" 
 1562    ctx.unique(
"ddns-ttl-min", ctx.loc2pos(yystack_[2].location));
 
 1563    ElementPtr ttl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1564    ctx.stack_.back()->set(
"ddns-ttl-min", ttl);
 
 1566#line 1567 "dhcp4_parser.cc" 
 1570#line 828 "dhcp4_parser.yy" 
 1572    ctx.unique(
"ddns-ttl-max", ctx.loc2pos(yystack_[2].location));
 
 1573    ElementPtr ttl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1574    ctx.stack_.back()->set(
"ddns-ttl-max", ttl);
 
 1576#line 1577 "dhcp4_parser.cc" 
 1580#line 834 "dhcp4_parser.yy" 
 1582    ctx.unique(
"hostname-char-set", ctx.loc2pos(yystack_[0].location));
 
 1583    ctx.enter(ctx.NO_KEYWORD);
 
 1585#line 1586 "dhcp4_parser.cc" 
 1589#line 837 "dhcp4_parser.yy" 
 1592    ctx.stack_.back()->set(
"hostname-char-set", s);
 
 1595#line 1596 "dhcp4_parser.cc" 
 1599#line 843 "dhcp4_parser.yy" 
 1601    ctx.unique(
"hostname-char-replacement", ctx.loc2pos(yystack_[0].location));
 
 1602    ctx.enter(ctx.NO_KEYWORD);
 
 1604#line 1605 "dhcp4_parser.cc" 
 1608#line 846 "dhcp4_parser.yy" 
 1611    ctx.stack_.back()->set(
"hostname-char-replacement", s);
 
 1614#line 1615 "dhcp4_parser.cc" 
 1618#line 852 "dhcp4_parser.yy" 
 1620    ctx.unique(
"store-extended-info", ctx.loc2pos(yystack_[2].location));
 
 1622    ctx.stack_.back()->set(
"store-extended-info", b);
 
 1624#line 1625 "dhcp4_parser.cc" 
 1628#line 858 "dhcp4_parser.yy" 
 1630    ctx.unique(
"statistic-default-sample-count", ctx.loc2pos(yystack_[2].location));
 
 1631    ElementPtr count(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1632    ctx.stack_.back()->set(
"statistic-default-sample-count", count);
 
 1634#line 1635 "dhcp4_parser.cc" 
 1638#line 864 "dhcp4_parser.yy" 
 1640    ctx.unique(
"statistic-default-sample-age", ctx.loc2pos(yystack_[2].location));
 
 1641    ElementPtr age(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1642    ctx.stack_.back()->set(
"statistic-default-sample-age", age);
 
 1644#line 1645 "dhcp4_parser.cc" 
 1648#line 870 "dhcp4_parser.yy" 
 1650    ctx.unique(
"early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location));
 
 1651    ElementPtr early(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 1652    ctx.stack_.back()->set(
"early-global-reservations-lookup", early);
 
 1654#line 1655 "dhcp4_parser.cc" 
 1658#line 876 "dhcp4_parser.yy" 
 1660    ctx.unique(
"ip-reservations-unique", ctx.loc2pos(yystack_[2].location));
 
 1661    ElementPtr unique(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 1662    ctx.stack_.back()->set(
"ip-reservations-unique", unique);
 
 1664#line 1665 "dhcp4_parser.cc" 
 1668#line 882 "dhcp4_parser.yy" 
 1670    ctx.unique(
"reservations-lookup-first", ctx.loc2pos(yystack_[2].location));
 
 1671    ElementPtr first(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 1672    ctx.stack_.back()->set(
"reservations-lookup-first", first);
 
 1674#line 1675 "dhcp4_parser.cc" 
 1678#line 888 "dhcp4_parser.yy" 
 1680    ctx.unique(
"offer-lifetime", ctx.loc2pos(yystack_[2].location));
 
 1681    ElementPtr offer_lifetime(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1682    ctx.stack_.back()->set(
"offer-lifetime", offer_lifetime);
 
 1684#line 1685 "dhcp4_parser.cc" 
 1688#line 894 "dhcp4_parser.yy" 
 1690    ctx.unique(
"stash-agent-options", ctx.loc2pos(yystack_[2].location));
 
 1691    ElementPtr stash(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 1692    ctx.stack_.back()->set(
"stash-agent-options", stash);
 
 1694#line 1695 "dhcp4_parser.cc" 
 1698#line 900 "dhcp4_parser.yy" 
 1700    ctx.unique(
"interfaces-config", ctx.loc2pos(yystack_[0].location));
 
 1702    ctx.stack_.back()->set(
"interfaces-config", i);
 
 1703    ctx.stack_.push_back(i);
 
 1704    ctx.enter(ctx.INTERFACES_CONFIG);
 
 1706#line 1707 "dhcp4_parser.cc" 
 1710#line 906 "dhcp4_parser.yy" 
 1713    ctx.stack_.pop_back();
 
 1716#line 1717 "dhcp4_parser.cc" 
 1720#line 914 "dhcp4_parser.yy" 
 1722                            ctx.warnAboutExtraCommas(yystack_[0].location);
 
 1724#line 1725 "dhcp4_parser.cc" 
 1728#line 931 "dhcp4_parser.yy" 
 1732    ctx.stack_.push_back(m);
 
 1734#line 1735 "dhcp4_parser.cc" 
 1738#line 935 "dhcp4_parser.yy" 
 1743#line 1744 "dhcp4_parser.cc" 
 1747#line 940 "dhcp4_parser.yy" 
 1749    ctx.unique(
"interfaces", ctx.loc2pos(yystack_[0].location));
 
 1751    ctx.stack_.back()->set(
"interfaces", l);
 
 1752    ctx.stack_.push_back(l);
 
 1753    ctx.enter(ctx.NO_KEYWORD);
 
 1755#line 1756 "dhcp4_parser.cc" 
 1759#line 946 "dhcp4_parser.yy" 
 1761    ctx.stack_.pop_back();
 
 1764#line 1765 "dhcp4_parser.cc" 
 1768#line 951 "dhcp4_parser.yy" 
 1770    ctx.unique(
"dhcp-socket-type", ctx.loc2pos(yystack_[0].location));
 
 1771    ctx.enter(ctx.DHCP_SOCKET_TYPE);
 
 1773#line 1774 "dhcp4_parser.cc" 
 1777#line 954 "dhcp4_parser.yy" 
 1779    ctx.stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as < 
ElementPtr > ());
 
 1782#line 1783 "dhcp4_parser.cc" 
 1786#line 959 "dhcp4_parser.yy" 
 1788#line 1789 "dhcp4_parser.cc" 
 1792#line 960 "dhcp4_parser.yy" 
 1794#line 1795 "dhcp4_parser.cc" 
 1798#line 963 "dhcp4_parser.yy" 
 1800    ctx.unique(
"outbound-interface", ctx.loc2pos(yystack_[0].location));
 
 1801    ctx.enter(ctx.OUTBOUND_INTERFACE);
 
 1803#line 1804 "dhcp4_parser.cc" 
 1807#line 966 "dhcp4_parser.yy" 
 1809    ctx.stack_.back()->set(
"outbound-interface", yystack_[0].value.as < 
ElementPtr > ());
 
 1812#line 1813 "dhcp4_parser.cc" 
 1816#line 971 "dhcp4_parser.yy" 
 1820#line 1821 "dhcp4_parser.cc" 
 1824#line 973 "dhcp4_parser.yy" 
 1828#line 1829 "dhcp4_parser.cc" 
 1832#line 977 "dhcp4_parser.yy" 
 1834    ctx.unique(
"re-detect", ctx.loc2pos(yystack_[2].location));
 
 1836    ctx.stack_.back()->set(
"re-detect", b);
 
 1838#line 1839 "dhcp4_parser.cc" 
 1842#line 983 "dhcp4_parser.yy" 
 1844    ctx.unique(
"service-sockets-require-all", ctx.loc2pos(yystack_[2].location));
 
 1846    ctx.stack_.back()->set(
"service-sockets-require-all", b);
 
 1848#line 1849 "dhcp4_parser.cc" 
 1852#line 989 "dhcp4_parser.yy" 
 1854    ctx.unique(
"service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location));
 
 1855    ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1856    ctx.stack_.back()->set(
"service-sockets-retry-wait-time", n);
 
 1858#line 1859 "dhcp4_parser.cc" 
 1862#line 995 "dhcp4_parser.yy" 
 1864    ctx.unique(
"service-sockets-max-retries", ctx.loc2pos(yystack_[2].location));
 
 1865    ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 1866    ctx.stack_.back()->set(
"service-sockets-max-retries", n);
 
 1868#line 1869 "dhcp4_parser.cc" 
 1872#line 1001 "dhcp4_parser.yy" 
 1874    ctx.unique(
"lease-database", ctx.loc2pos(yystack_[0].location));
 
 1876    ctx.stack_.back()->set(
"lease-database", i);
 
 1877    ctx.stack_.push_back(i);
 
 1878    ctx.enter(ctx.LEASE_DATABASE);
 
 1880#line 1881 "dhcp4_parser.cc" 
 1884#line 1007 "dhcp4_parser.yy" 
 1887    ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
 
 1888    ctx.stack_.pop_back();
 
 1891#line 1892 "dhcp4_parser.cc" 
 1895#line 1014 "dhcp4_parser.yy" 
 1897    ctx.unique(
"sanity-checks", ctx.loc2pos(yystack_[0].location));
 
 1899    ctx.stack_.back()->set(
"sanity-checks", m);
 
 1900    ctx.stack_.push_back(m);
 
 1901    ctx.enter(ctx.SANITY_CHECKS);
 
 1903#line 1904 "dhcp4_parser.cc" 
 1907#line 1020 "dhcp4_parser.yy" 
 1909    ctx.stack_.pop_back();
 
 1912#line 1913 "dhcp4_parser.cc" 
 1916#line 1027 "dhcp4_parser.yy" 
 1918                        ctx.warnAboutExtraCommas(yystack_[0].location);
 
 1920#line 1921 "dhcp4_parser.cc" 
 1924#line 1036 "dhcp4_parser.yy" 
 1926    ctx.unique(
"lease-checks", ctx.loc2pos(yystack_[0].location));
 
 1927    ctx.enter(ctx.NO_KEYWORD);
 
 1929#line 1930 "dhcp4_parser.cc" 
 1933#line 1039 "dhcp4_parser.yy" 
 1936    if ( (
string(yystack_[0].value.as < std::string > ()) == 
"none") ||
 
 1937         (
string(yystack_[0].value.as < std::string > ()) == 
"warn") ||
 
 1938         (
string(yystack_[0].value.as < std::string > ()) == 
"fix") ||
 
 1939         (
string(yystack_[0].value.as < std::string > ()) == 
"fix-del") ||
 
 1940         (
string(yystack_[0].value.as < std::string > ()) == 
"del")) {
 
 1941        ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 1942        ctx.stack_.back()->set(
"lease-checks", user);
 
 1945        error(yystack_[0].location, 
"Unsupported 'lease-checks value: " + 
string(yystack_[0].value.as < std::string > ()) +
 
 1946              ", supported values are: none, warn, fix, fix-del, del");
 
 1949#line 1950 "dhcp4_parser.cc" 
 1953#line 1055 "dhcp4_parser.yy" 
 1955    ctx.unique(
"extended-info-checks", ctx.loc2pos(yystack_[0].location));
 
 1956    ctx.enter(ctx.NO_KEYWORD);
 
 1958#line 1959 "dhcp4_parser.cc" 
 1962#line 1058 "dhcp4_parser.yy" 
 1965    if ( (
string(yystack_[0].value.as < std::string > ()) == 
"none") ||
 
 1966         (
string(yystack_[0].value.as < std::string > ()) == 
"fix") ||
 
 1967         (
string(yystack_[0].value.as < std::string > ()) == 
"strict") ||
 
 1968         (
string(yystack_[0].value.as < std::string > ()) == 
"pedantic")) {
 
 1969        ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 1970        ctx.stack_.back()->set(
"extended-info-checks", user);
 
 1973        error(yystack_[0].location, 
"Unsupported 'extended-info-checks value: " + 
string(yystack_[0].value.as < std::string > ()) +
 
 1974              ", supported values are: none, fix, strict, pedantic");
 
 1977#line 1978 "dhcp4_parser.cc" 
 1981#line 1073 "dhcp4_parser.yy" 
 1983    ctx.unique(
"hosts-database", ctx.loc2pos(yystack_[0].location));
 
 1985    ctx.stack_.back()->set(
"hosts-database", i);
 
 1986    ctx.stack_.push_back(i);
 
 1987    ctx.enter(ctx.HOSTS_DATABASE);
 
 1989#line 1990 "dhcp4_parser.cc" 
 1993#line 1079 "dhcp4_parser.yy" 
 1996    ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
 
 1997    ctx.stack_.pop_back();
 
 2000#line 2001 "dhcp4_parser.cc" 
 2004#line 1086 "dhcp4_parser.yy" 
 2006    ctx.unique(
"hosts-databases", ctx.loc2pos(yystack_[0].location));
 
 2008    ctx.stack_.back()->set(
"hosts-databases", l);
 
 2009    ctx.stack_.push_back(l);
 
 2010    ctx.enter(ctx.HOSTS_DATABASE);
 
 2012#line 2013 "dhcp4_parser.cc" 
 2016#line 1092 "dhcp4_parser.yy" 
 2018    ctx.stack_.pop_back();
 
 2021#line 2022 "dhcp4_parser.cc" 
 2025#line 1103 "dhcp4_parser.yy" 
 2027                           ctx.warnAboutExtraCommas(yystack_[0].location);
 
 2029#line 2030 "dhcp4_parser.cc" 
 2033#line 1108 "dhcp4_parser.yy" 
 2036    ctx.stack_.back()->add(m);
 
 2037    ctx.stack_.push_back(m);
 
 2039#line 2040 "dhcp4_parser.cc" 
 2043#line 1112 "dhcp4_parser.yy" 
 2046    ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 2047    ctx.stack_.pop_back();
 
 2049#line 2050 "dhcp4_parser.cc" 
 2053#line 1120 "dhcp4_parser.yy" 
 2055                       ctx.warnAboutExtraCommas(yystack_[0].location);
 
 2057#line 2058 "dhcp4_parser.cc" 
 2061#line 1151 "dhcp4_parser.yy" 
 2063    ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
 
 2064    ctx.enter(ctx.NO_KEYWORD);
 
 2066#line 2067 "dhcp4_parser.cc" 
 2070#line 1154 "dhcp4_parser.yy" 
 2072    ElementPtr db_type(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2073    ctx.stack_.back()->set(
"type", db_type);
 
 2076#line 2077 "dhcp4_parser.cc" 
 2080#line 1160 "dhcp4_parser.yy" 
 2082    ctx.unique(
"user", ctx.loc2pos(yystack_[0].location));
 
 2083    ctx.enter(ctx.NO_KEYWORD);
 
 2085#line 2086 "dhcp4_parser.cc" 
 2089#line 1163 "dhcp4_parser.yy" 
 2091    ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2092    ctx.stack_.back()->set(
"user", user);
 
 2095#line 2096 "dhcp4_parser.cc" 
 2099#line 1169 "dhcp4_parser.yy" 
 2101    ctx.unique(
"password", ctx.loc2pos(yystack_[0].location));
 
 2102    ctx.enter(ctx.NO_KEYWORD);
 
 2104#line 2105 "dhcp4_parser.cc" 
 2108#line 1172 "dhcp4_parser.yy" 
 2110    ElementPtr pwd(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2111    ctx.stack_.back()->set(
"password", pwd);
 
 2114#line 2115 "dhcp4_parser.cc" 
 2118#line 1178 "dhcp4_parser.yy" 
 2120    ctx.unique(
"host", ctx.loc2pos(yystack_[0].location));
 
 2121    ctx.enter(ctx.NO_KEYWORD);
 
 2123#line 2124 "dhcp4_parser.cc" 
 2127#line 1181 "dhcp4_parser.yy" 
 2130    ctx.stack_.back()->set(
"host", h);
 
 2133#line 2134 "dhcp4_parser.cc" 
 2137#line 1187 "dhcp4_parser.yy" 
 2139    ctx.unique(
"port", ctx.loc2pos(yystack_[2].location));
 
 2140    ElementPtr p(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2141    ctx.stack_.back()->set(
"port", p);
 
 2143#line 2144 "dhcp4_parser.cc" 
 2147#line 1193 "dhcp4_parser.yy" 
 2149    ctx.unique(
"name", ctx.loc2pos(yystack_[0].location));
 
 2150    ctx.enter(ctx.NO_KEYWORD);
 
 2152#line 2153 "dhcp4_parser.cc" 
 2156#line 1196 "dhcp4_parser.yy" 
 2158    ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2159    ctx.stack_.back()->set(
"name", name);
 
 2162#line 2163 "dhcp4_parser.cc" 
 2166#line 1202 "dhcp4_parser.yy" 
 2168    ctx.unique(
"persist", ctx.loc2pos(yystack_[2].location));
 
 2170    ctx.stack_.back()->set(
"persist", n);
 
 2172#line 2173 "dhcp4_parser.cc" 
 2176#line 1208 "dhcp4_parser.yy" 
 2178    ctx.unique(
"lfc-interval", ctx.loc2pos(yystack_[2].location));
 
 2179    ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2180    ctx.stack_.back()->set(
"lfc-interval", n);
 
 2182#line 2183 "dhcp4_parser.cc" 
 2186#line 1214 "dhcp4_parser.yy" 
 2188    ctx.unique(
"readonly", ctx.loc2pos(yystack_[2].location));
 
 2190    ctx.stack_.back()->set(
"readonly", n);
 
 2192#line 2193 "dhcp4_parser.cc" 
 2196#line 1220 "dhcp4_parser.yy" 
 2198    ctx.unique(
"connect-timeout", ctx.loc2pos(yystack_[2].location));
 
 2199    ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2200    ctx.stack_.back()->set(
"connect-timeout", n);
 
 2202#line 2203 "dhcp4_parser.cc" 
 2206#line 1226 "dhcp4_parser.yy" 
 2208    ctx.unique(
"read-timeout", ctx.loc2pos(yystack_[2].location));
 
 2209    ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2210    ctx.stack_.back()->set(
"read-timeout", n);
 
 2212#line 2213 "dhcp4_parser.cc" 
 2216#line 1232 "dhcp4_parser.yy" 
 2218    ctx.unique(
"write-timeout", ctx.loc2pos(yystack_[2].location));
 
 2219    ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2220    ctx.stack_.back()->set(
"write-timeout", n);
 
 2222#line 2223 "dhcp4_parser.cc" 
 2226#line 1238 "dhcp4_parser.yy" 
 2228    ctx.unique(
"tcp-user-timeout", ctx.loc2pos(yystack_[2].location));
 
 2229    ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2230    ctx.stack_.back()->set(
"tcp-user-timeout", n);
 
 2232#line 2233 "dhcp4_parser.cc" 
 2236#line 1244 "dhcp4_parser.yy" 
 2238    ctx.unique(
"max-reconnect-tries", ctx.loc2pos(yystack_[2].location));
 
 2239    ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2240    ctx.stack_.back()->set(
"max-reconnect-tries", n);
 
 2242#line 2243 "dhcp4_parser.cc" 
 2246#line 1250 "dhcp4_parser.yy" 
 2248    ctx.unique(
"reconnect-wait-time", ctx.loc2pos(yystack_[2].location));
 
 2249    ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2250    ctx.stack_.back()->set(
"reconnect-wait-time", n);
 
 2252#line 2253 "dhcp4_parser.cc" 
 2256#line 1256 "dhcp4_parser.yy" 
 2258    ctx.unique(
"on-fail", ctx.loc2pos(yystack_[0].location));
 
 2259    ctx.enter(ctx.DATABASE_ON_FAIL);
 
 2261#line 2262 "dhcp4_parser.cc" 
 2265#line 1259 "dhcp4_parser.yy" 
 2267    ctx.stack_.back()->set(
"on-fail", yystack_[0].value.as < 
ElementPtr > ());
 
 2270#line 2271 "dhcp4_parser.cc" 
 2274#line 1264 "dhcp4_parser.yy" 
 2276#line 2277 "dhcp4_parser.cc" 
 2280#line 1265 "dhcp4_parser.yy" 
 2282#line 2283 "dhcp4_parser.cc" 
 2286#line 1266 "dhcp4_parser.yy" 
 2288#line 2289 "dhcp4_parser.cc" 
 2292#line 1269 "dhcp4_parser.yy" 
 2294    ctx.unique(
"retry-on-startup", ctx.loc2pos(yystack_[2].location));
 
 2296    ctx.stack_.back()->set(
"retry-on-startup", n);
 
 2298#line 2299 "dhcp4_parser.cc" 
 2302#line 1275 "dhcp4_parser.yy" 
 2304    ctx.unique(
"max-row-errors", ctx.loc2pos(yystack_[2].location));
 
 2305    ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2306    ctx.stack_.back()->set(
"max-row-errors", n);
 
 2308#line 2309 "dhcp4_parser.cc" 
 2312#line 1281 "dhcp4_parser.yy" 
 2314    ctx.unique(
"trust-anchor", ctx.loc2pos(yystack_[0].location));
 
 2315    ctx.enter(ctx.NO_KEYWORD);
 
 2317#line 2318 "dhcp4_parser.cc" 
 2321#line 1284 "dhcp4_parser.yy" 
 2324    ctx.stack_.back()->set(
"trust-anchor", ca);
 
 2327#line 2328 "dhcp4_parser.cc" 
 2331#line 1290 "dhcp4_parser.yy" 
 2333    ctx.unique(
"cert-file", ctx.loc2pos(yystack_[0].location));
 
 2334    ctx.enter(ctx.NO_KEYWORD);
 
 2336#line 2337 "dhcp4_parser.cc" 
 2340#line 1293 "dhcp4_parser.yy" 
 2342    ElementPtr cert(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2343    ctx.stack_.back()->set(
"cert-file", cert);
 
 2346#line 2347 "dhcp4_parser.cc" 
 2350#line 1299 "dhcp4_parser.yy" 
 2352    ctx.unique(
"key-file", ctx.loc2pos(yystack_[0].location));
 
 2353    ctx.enter(ctx.NO_KEYWORD);
 
 2355#line 2356 "dhcp4_parser.cc" 
 2359#line 1302 "dhcp4_parser.yy" 
 2361    ElementPtr key(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2362    ctx.stack_.back()->set(
"key-file", key);
 
 2365#line 2366 "dhcp4_parser.cc" 
 2369#line 1308 "dhcp4_parser.yy" 
 2371    ctx.unique(
"ssl-mode", ctx.loc2pos(yystack_[0].location));
 
 2372    ctx.enter(ctx.SSL_MODE);
 
 2374#line 2375 "dhcp4_parser.cc" 
 2378#line 1311 "dhcp4_parser.yy" 
 2380    ctx.stack_.back()->set(
"ssl-mode", yystack_[0].value.as < 
ElementPtr > ());
 
 2383#line 2384 "dhcp4_parser.cc" 
 2387#line 1316 "dhcp4_parser.yy" 
 2391#line 2392 "dhcp4_parser.cc" 
 2395#line 1319 "dhcp4_parser.yy" 
 2399#line 2400 "dhcp4_parser.cc" 
 2403#line 1322 "dhcp4_parser.yy" 
 2407#line 2408 "dhcp4_parser.cc" 
 2411#line 1325 "dhcp4_parser.yy" 
 2415#line 2416 "dhcp4_parser.cc" 
 2419#line 1328 "dhcp4_parser.yy" 
 2423#line 2424 "dhcp4_parser.cc" 
 2427#line 1333 "dhcp4_parser.yy" 
 2429    ctx.unique(
"cipher-list", ctx.loc2pos(yystack_[0].location));
 
 2430    ctx.enter(ctx.NO_KEYWORD);
 
 2432#line 2433 "dhcp4_parser.cc" 
 2436#line 1336 "dhcp4_parser.yy" 
 2439    ctx.stack_.back()->set(
"cipher-list", cl);
 
 2442#line 2443 "dhcp4_parser.cc" 
 2446#line 1342 "dhcp4_parser.yy" 
 2448    ctx.unique(
"host-reservation-identifiers", ctx.loc2pos(yystack_[0].location));
 
 2450    ctx.stack_.back()->set(
"host-reservation-identifiers", l);
 
 2451    ctx.stack_.push_back(l);
 
 2452    ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS);
 
 2454#line 2455 "dhcp4_parser.cc" 
 2458#line 1348 "dhcp4_parser.yy" 
 2460    ctx.stack_.pop_back();
 
 2463#line 2464 "dhcp4_parser.cc" 
 2467#line 1355 "dhcp4_parser.yy" 
 2469        ctx.warnAboutExtraCommas(yystack_[0].location);
 
 2471#line 2472 "dhcp4_parser.cc" 
 2475#line 1367 "dhcp4_parser.yy" 
 2478    ctx.stack_.back()->add(duid);
 
 2480#line 2481 "dhcp4_parser.cc" 
 2484#line 1372 "dhcp4_parser.yy" 
 2487    ctx.stack_.back()->add(hwaddr);
 
 2489#line 2490 "dhcp4_parser.cc" 
 2493#line 1377 "dhcp4_parser.yy" 
 2496    ctx.stack_.back()->add(circuit);
 
 2498#line 2499 "dhcp4_parser.cc" 
 2502#line 1382 "dhcp4_parser.yy" 
 2505    ctx.stack_.back()->add(client);
 
 2507#line 2508 "dhcp4_parser.cc" 
 2511#line 1387 "dhcp4_parser.yy" 
 2514    ctx.stack_.back()->add(
flex_id);
 
 2516#line 2517 "dhcp4_parser.cc" 
 2520#line 1394 "dhcp4_parser.yy" 
 2522    ctx.unique(
"multi-threading", ctx.loc2pos(yystack_[0].location));
 
 2524    ctx.stack_.back()->set(
"multi-threading", mt);
 
 2525    ctx.stack_.push_back(mt);
 
 2526    ctx.enter(ctx.DHCP_MULTI_THREADING);
 
 2528#line 2529 "dhcp4_parser.cc" 
 2532#line 1400 "dhcp4_parser.yy" 
 2535    ctx.require(
"enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
 
 2536    ctx.stack_.pop_back();
 
 2539#line 2540 "dhcp4_parser.cc" 
 2543#line 1409 "dhcp4_parser.yy" 
 2545                          ctx.warnAboutExtraCommas(yystack_[0].location);
 
 2547#line 2548 "dhcp4_parser.cc" 
 2551#line 1422 "dhcp4_parser.yy" 
 2553    ctx.unique(
"enable-multi-threading", ctx.loc2pos(yystack_[2].location));
 
 2555    ctx.stack_.back()->set(
"enable-multi-threading", b);
 
 2557#line 2558 "dhcp4_parser.cc" 
 2561#line 1428 "dhcp4_parser.yy" 
 2563    ctx.unique(
"thread-pool-size", ctx.loc2pos(yystack_[2].location));
 
 2564    ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2565    ctx.stack_.back()->set(
"thread-pool-size", prf);
 
 2567#line 2568 "dhcp4_parser.cc" 
 2571#line 1434 "dhcp4_parser.yy" 
 2573    ctx.unique(
"packet-queue-size", ctx.loc2pos(yystack_[2].location));
 
 2574    ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2575    ctx.stack_.back()->set(
"packet-queue-size", prf);
 
 2577#line 2578 "dhcp4_parser.cc" 
 2581#line 1440 "dhcp4_parser.yy" 
 2583    ctx.unique(
"hooks-libraries", ctx.loc2pos(yystack_[0].location));
 
 2585    ctx.stack_.back()->set(
"hooks-libraries", l);
 
 2586    ctx.stack_.push_back(l);
 
 2587    ctx.enter(ctx.HOOKS_LIBRARIES);
 
 2589#line 2590 "dhcp4_parser.cc" 
 2593#line 1446 "dhcp4_parser.yy" 
 2595    ctx.stack_.pop_back();
 
 2598#line 2599 "dhcp4_parser.cc" 
 2602#line 1457 "dhcp4_parser.yy" 
 2604        ctx.warnAboutExtraCommas(yystack_[0].location);
 
 2606#line 2607 "dhcp4_parser.cc" 
 2610#line 1462 "dhcp4_parser.yy" 
 2613    ctx.stack_.back()->add(m);
 
 2614    ctx.stack_.push_back(m);
 
 2616#line 2617 "dhcp4_parser.cc" 
 2620#line 1466 "dhcp4_parser.yy" 
 2623    ctx.require(
"library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 2624    ctx.stack_.pop_back();
 
 2626#line 2627 "dhcp4_parser.cc" 
 2630#line 1472 "dhcp4_parser.yy" 
 2634    ctx.stack_.push_back(m);
 
 2636#line 2637 "dhcp4_parser.cc" 
 2640#line 1476 "dhcp4_parser.yy" 
 2643    ctx.require(
"library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 2646#line 2647 "dhcp4_parser.cc" 
 2650#line 1484 "dhcp4_parser.yy" 
 2652                ctx.warnAboutExtraCommas(yystack_[0].location);
 
 2654#line 2655 "dhcp4_parser.cc" 
 2658#line 1494 "dhcp4_parser.yy" 
 2660    ctx.unique(
"library", ctx.loc2pos(yystack_[0].location));
 
 2661    ctx.enter(ctx.NO_KEYWORD);
 
 2663#line 2664 "dhcp4_parser.cc" 
 2667#line 1497 "dhcp4_parser.yy" 
 2669    ElementPtr lib(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2670    ctx.stack_.back()->set(
"library", lib);
 
 2673#line 2674 "dhcp4_parser.cc" 
 2677#line 1503 "dhcp4_parser.yy" 
 2679    ctx.unique(
"parameters", ctx.loc2pos(yystack_[0].location));
 
 2680    ctx.enter(ctx.NO_KEYWORD);
 
 2682#line 2683 "dhcp4_parser.cc" 
 2686#line 1506 "dhcp4_parser.yy" 
 2688    ctx.stack_.back()->set(
"parameters", yystack_[0].value.as < 
ElementPtr > ());
 
 2691#line 2692 "dhcp4_parser.cc" 
 2695#line 1512 "dhcp4_parser.yy" 
 2697    ctx.unique(
"expired-leases-processing", ctx.loc2pos(yystack_[0].location));
 
 2699    ctx.stack_.back()->set(
"expired-leases-processing", m);
 
 2700    ctx.stack_.push_back(m);
 
 2701    ctx.enter(ctx.EXPIRED_LEASES_PROCESSING);
 
 2703#line 2704 "dhcp4_parser.cc" 
 2707#line 1518 "dhcp4_parser.yy" 
 2710    ctx.stack_.pop_back();
 
 2713#line 2714 "dhcp4_parser.cc" 
 2717#line 1526 "dhcp4_parser.yy" 
 2719                         ctx.warnAboutExtraCommas(yystack_[0].location);
 
 2721#line 2722 "dhcp4_parser.cc" 
 2725#line 1539 "dhcp4_parser.yy" 
 2727    ctx.unique(
"reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location));
 
 2728    ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2729    ctx.stack_.back()->set(
"reclaim-timer-wait-time", value);
 
 2731#line 2732 "dhcp4_parser.cc" 
 2735#line 1545 "dhcp4_parser.yy" 
 2737    ctx.unique(
"flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location));
 
 2738    ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2739    ctx.stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
 
 2741#line 2742 "dhcp4_parser.cc" 
 2745#line 1551 "dhcp4_parser.yy" 
 2747    ctx.unique(
"hold-reclaimed-time", ctx.loc2pos(yystack_[2].location));
 
 2748    ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2749    ctx.stack_.back()->set(
"hold-reclaimed-time", value);
 
 2751#line 2752 "dhcp4_parser.cc" 
 2755#line 1557 "dhcp4_parser.yy" 
 2757    ctx.unique(
"max-reclaim-leases", ctx.loc2pos(yystack_[2].location));
 
 2758    ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2759    ctx.stack_.back()->set(
"max-reclaim-leases", value);
 
 2761#line 2762 "dhcp4_parser.cc" 
 2765#line 1563 "dhcp4_parser.yy" 
 2767    ctx.unique(
"max-reclaim-time", ctx.loc2pos(yystack_[2].location));
 
 2768    ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2769    ctx.stack_.back()->set(
"max-reclaim-time", value);
 
 2771#line 2772 "dhcp4_parser.cc" 
 2775#line 1569 "dhcp4_parser.yy" 
 2777    ctx.unique(
"unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location));
 
 2778    ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 2779    ctx.stack_.back()->set(
"unwarned-reclaim-cycles", value);
 
 2781#line 2782 "dhcp4_parser.cc" 
 2785#line 1578 "dhcp4_parser.yy" 
 2787    ctx.unique(
"subnet4", ctx.loc2pos(yystack_[0].location));
 
 2789    ctx.stack_.back()->set(
"subnet4", l);
 
 2790    ctx.stack_.push_back(l);
 
 2791    ctx.enter(ctx.SUBNET4);
 
 2793#line 2794 "dhcp4_parser.cc" 
 2797#line 1584 "dhcp4_parser.yy" 
 2799    ctx.stack_.pop_back();
 
 2802#line 2803 "dhcp4_parser.cc" 
 2806#line 1598 "dhcp4_parser.yy" 
 2808                          ctx.warnAboutExtraCommas(yystack_[0].location);
 
 2810#line 2811 "dhcp4_parser.cc" 
 2814#line 1607 "dhcp4_parser.yy" 
 2817    ctx.stack_.back()->add(m);
 
 2818    ctx.stack_.push_back(m);
 
 2820#line 2821 "dhcp4_parser.cc" 
 2824#line 1611 "dhcp4_parser.yy" 
 2843    ctx.require(
"subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 2844    ctx.stack_.pop_back();
 
 2846#line 2847 "dhcp4_parser.cc" 
 2850#line 1633 "dhcp4_parser.yy" 
 2854    ctx.stack_.push_back(m);
 
 2856#line 2857 "dhcp4_parser.cc" 
 2860#line 1637 "dhcp4_parser.yy" 
 2863    ctx.require(
"subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 2866#line 2867 "dhcp4_parser.cc" 
 2870#line 1646 "dhcp4_parser.yy" 
 2872                  ctx.warnAboutExtraCommas(yystack_[0].location);
 
 2874#line 2875 "dhcp4_parser.cc" 
 2878#line 1707 "dhcp4_parser.yy" 
 2880    ctx.unique(
"subnet", ctx.loc2pos(yystack_[0].location));
 
 2881    ctx.enter(ctx.NO_KEYWORD);
 
 2883#line 2884 "dhcp4_parser.cc" 
 2887#line 1710 "dhcp4_parser.yy" 
 2889    ElementPtr subnet(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2890    ctx.stack_.back()->set(
"subnet", subnet);
 
 2893#line 2894 "dhcp4_parser.cc" 
 2897#line 1716 "dhcp4_parser.yy" 
 2899    ctx.unique(
"4o6-interface", ctx.loc2pos(yystack_[0].location));
 
 2900    ctx.enter(ctx.NO_KEYWORD);
 
 2902#line 2903 "dhcp4_parser.cc" 
 2906#line 1719 "dhcp4_parser.yy" 
 2908    ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2909    ctx.stack_.back()->set(
"4o6-interface", iface);
 
 2912#line 2913 "dhcp4_parser.cc" 
 2916#line 1725 "dhcp4_parser.yy" 
 2918    ctx.unique(
"4o6-interface-id", ctx.loc2pos(yystack_[0].location));
 
 2919    ctx.enter(ctx.NO_KEYWORD);
 
 2921#line 2922 "dhcp4_parser.cc" 
 2925#line 1728 "dhcp4_parser.yy" 
 2927    ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2928    ctx.stack_.back()->set(
"4o6-interface-id", iface);
 
 2931#line 2932 "dhcp4_parser.cc" 
 2935#line 1734 "dhcp4_parser.yy" 
 2937    ctx.unique(
"4o6-subnet", ctx.loc2pos(yystack_[0].location));
 
 2938    ctx.enter(ctx.NO_KEYWORD);
 
 2940#line 2941 "dhcp4_parser.cc" 
 2944#line 1737 "dhcp4_parser.yy" 
 2946    ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2947    ctx.stack_.back()->set(
"4o6-subnet", iface);
 
 2950#line 2951 "dhcp4_parser.cc" 
 2954#line 1743 "dhcp4_parser.yy" 
 2956    ctx.unique(
"interface", ctx.loc2pos(yystack_[0].location));
 
 2957    ctx.enter(ctx.NO_KEYWORD);
 
 2959#line 2960 "dhcp4_parser.cc" 
 2963#line 1746 "dhcp4_parser.yy" 
 2965    ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2966    ctx.stack_.back()->set(
"interface", iface);
 
 2969#line 2970 "dhcp4_parser.cc" 
 2973#line 1752 "dhcp4_parser.yy" 
 2975    ctx.unique(
"client-class", ctx.loc2pos(yystack_[0].location));
 
 2976    ctx.enter(ctx.NO_KEYWORD);
 
 2978#line 2979 "dhcp4_parser.cc" 
 2982#line 1755 "dhcp4_parser.yy" 
 2984    ElementPtr cls(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 2985    ctx.stack_.back()->set(
"client-class", cls);
 
 2988#line 2989 "dhcp4_parser.cc" 
 2992#line 1762 "dhcp4_parser.yy" 
 2994    ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
 
 2996    ctx.stack_.back()->set(
"client-classes", c);
 
 2997    ctx.stack_.push_back(c);
 
 2998    ctx.enter(ctx.NO_KEYWORD);
 
 3000#line 3001 "dhcp4_parser.cc" 
 3004#line 1768 "dhcp4_parser.yy" 
 3006    ctx.stack_.pop_back();
 
 3009#line 3010 "dhcp4_parser.cc" 
 3013#line 1774 "dhcp4_parser.yy" 
 3015    ctx.unique(
"require-client-classes", ctx.loc2pos(yystack_[0].location));
 
 3017    ctx.stack_.back()->set(
"require-client-classes", c);
 
 3018    ctx.stack_.push_back(c);
 
 3019    ctx.enter(ctx.NO_KEYWORD);
 
 3021#line 3022 "dhcp4_parser.cc" 
 3025#line 1780 "dhcp4_parser.yy" 
 3027    ctx.stack_.pop_back();
 
 3030#line 3031 "dhcp4_parser.cc" 
 3034#line 1785 "dhcp4_parser.yy" 
 3036    ctx.unique(
"evaluate-additional-classes", ctx.loc2pos(yystack_[0].location));
 
 3038    ctx.stack_.back()->set(
"evaluate-additional-classes", c);
 
 3039    ctx.stack_.push_back(c);
 
 3040    ctx.enter(ctx.NO_KEYWORD);
 
 3042#line 3043 "dhcp4_parser.cc" 
 3046#line 1791 "dhcp4_parser.yy" 
 3048    ctx.stack_.pop_back();
 
 3051#line 3052 "dhcp4_parser.cc" 
 3055#line 1796 "dhcp4_parser.yy" 
 3057    ctx.unique(
"reservations-global", ctx.loc2pos(yystack_[2].location));
 
 3059    ctx.stack_.back()->set(
"reservations-global", b);
 
 3061#line 3062 "dhcp4_parser.cc" 
 3065#line 1802 "dhcp4_parser.yy" 
 3067    ctx.unique(
"reservations-in-subnet", ctx.loc2pos(yystack_[2].location));
 
 3069    ctx.stack_.back()->set(
"reservations-in-subnet", b);
 
 3071#line 3072 "dhcp4_parser.cc" 
 3075#line 1808 "dhcp4_parser.yy" 
 3077    ctx.unique(
"reservations-out-of-pool", ctx.loc2pos(yystack_[2].location));
 
 3079    ctx.stack_.back()->set(
"reservations-out-of-pool", b);
 
 3081#line 3082 "dhcp4_parser.cc" 
 3085#line 1814 "dhcp4_parser.yy" 
 3087    ctx.unique(
"id", ctx.loc2pos(yystack_[2].location));
 
 3088    ElementPtr id(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 3089    ctx.stack_.back()->set(
"id", 
id);
 
 3091#line 3092 "dhcp4_parser.cc" 
 3095#line 1822 "dhcp4_parser.yy" 
 3097    ctx.unique(
"shared-networks", ctx.loc2pos(yystack_[0].location));
 
 3099    ctx.stack_.back()->set(
"shared-networks", l);
 
 3100    ctx.stack_.push_back(l);
 
 3101    ctx.enter(ctx.SHARED_NETWORK);
 
 3103#line 3104 "dhcp4_parser.cc" 
 3107#line 1828 "dhcp4_parser.yy" 
 3109    ctx.stack_.pop_back();
 
 3112#line 3113 "dhcp4_parser.cc" 
 3116#line 1841 "dhcp4_parser.yy" 
 3118                        ctx.warnAboutExtraCommas(yystack_[0].location);
 
 3120#line 3121 "dhcp4_parser.cc" 
 3124#line 1846 "dhcp4_parser.yy" 
 3127    ctx.stack_.back()->add(m);
 
 3128    ctx.stack_.push_back(m);
 
 3130#line 3131 "dhcp4_parser.cc" 
 3134#line 1850 "dhcp4_parser.yy" 
 3136    ctx.stack_.pop_back();
 
 3138#line 3139 "dhcp4_parser.cc" 
 3142#line 1856 "dhcp4_parser.yy" 
 3144                         ctx.warnAboutExtraCommas(yystack_[0].location);
 
 3146#line 3147 "dhcp4_parser.cc" 
 3150#line 1915 "dhcp4_parser.yy" 
 3152    ctx.unique(
"option-def", ctx.loc2pos(yystack_[0].location));
 
 3154    ctx.stack_.back()->set(
"option-def", l);
 
 3155    ctx.stack_.push_back(l);
 
 3156    ctx.enter(ctx.OPTION_DEF);
 
 3158#line 3159 "dhcp4_parser.cc" 
 3162#line 1921 "dhcp4_parser.yy" 
 3164    ctx.stack_.pop_back();
 
 3167#line 3168 "dhcp4_parser.cc" 
 3171#line 1929 "dhcp4_parser.yy" 
 3174    ctx.stack_.push_back(m);
 
 3176#line 3177 "dhcp4_parser.cc" 
 3180#line 1932 "dhcp4_parser.yy" 
 3184#line 3185 "dhcp4_parser.cc" 
 3188#line 1944 "dhcp4_parser.yy" 
 3190                             ctx.warnAboutExtraCommas(yystack_[0].location);
 
 3192#line 3193 "dhcp4_parser.cc" 
 3196#line 1951 "dhcp4_parser.yy" 
 3199    ctx.stack_.back()->add(m);
 
 3200    ctx.stack_.push_back(m);
 
 3202#line 3203 "dhcp4_parser.cc" 
 3206#line 1955 "dhcp4_parser.yy" 
 3209    ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 3210    ctx.require(
"code", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 3211    ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 3212    ctx.stack_.pop_back();
 
 3214#line 3215 "dhcp4_parser.cc" 
 3218#line 1966 "dhcp4_parser.yy" 
 3222    ctx.stack_.push_back(m);
 
 3224#line 3225 "dhcp4_parser.cc" 
 3228#line 1970 "dhcp4_parser.yy" 
 3231    ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 3232    ctx.require(
"code", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 3233    ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 3236#line 3237 "dhcp4_parser.cc" 
 3240#line 1986 "dhcp4_parser.yy" 
 3242                               ctx.warnAboutExtraCommas(yystack_[0].location);
 
 3244#line 3245 "dhcp4_parser.cc" 
 3248#line 2005 "dhcp4_parser.yy" 
 3250    ctx.unique(
"code", ctx.loc2pos(yystack_[2].location));
 
 3251    ElementPtr code(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 3252    ctx.stack_.back()->set(
"code", code);
 
 3254#line 3255 "dhcp4_parser.cc" 
 3258#line 2013 "dhcp4_parser.yy" 
 3260    ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
 
 3261    ctx.enter(ctx.NO_KEYWORD);
 
 3263#line 3264 "dhcp4_parser.cc" 
 3267#line 2016 "dhcp4_parser.yy" 
 3269    ElementPtr prf(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3270    ctx.stack_.back()->set(
"type", prf);
 
 3273#line 3274 "dhcp4_parser.cc" 
 3277#line 2022 "dhcp4_parser.yy" 
 3279    ctx.unique(
"record-types", ctx.loc2pos(yystack_[0].location));
 
 3280    ctx.enter(ctx.NO_KEYWORD);
 
 3282#line 3283 "dhcp4_parser.cc" 
 3286#line 2025 "dhcp4_parser.yy" 
 3288    ElementPtr rtypes(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3289    ctx.stack_.back()->set(
"record-types", rtypes);
 
 3292#line 3293 "dhcp4_parser.cc" 
 3296#line 2031 "dhcp4_parser.yy" 
 3298    ctx.unique(
"space", ctx.loc2pos(yystack_[0].location));
 
 3299    ctx.enter(ctx.NO_KEYWORD);
 
 3301#line 3302 "dhcp4_parser.cc" 
 3305#line 2034 "dhcp4_parser.yy" 
 3307    ElementPtr space(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3308    ctx.stack_.back()->set(
"space", space);
 
 3311#line 3312 "dhcp4_parser.cc" 
 3315#line 2042 "dhcp4_parser.yy" 
 3317    ctx.unique(
"encapsulate", ctx.loc2pos(yystack_[0].location));
 
 3318    ctx.enter(ctx.NO_KEYWORD);
 
 3320#line 3321 "dhcp4_parser.cc" 
 3324#line 2045 "dhcp4_parser.yy" 
 3326    ElementPtr encap(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3327    ctx.stack_.back()->set(
"encapsulate", encap);
 
 3330#line 3331 "dhcp4_parser.cc" 
 3334#line 2051 "dhcp4_parser.yy" 
 3336    ctx.unique(
"array", ctx.loc2pos(yystack_[2].location));
 
 3337    ElementPtr array(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 3338    ctx.stack_.back()->set(
"array", array);
 
 3340#line 3341 "dhcp4_parser.cc" 
 3344#line 2061 "dhcp4_parser.yy" 
 3346    ctx.unique(
"option-data", ctx.loc2pos(yystack_[0].location));
 
 3348    ctx.stack_.back()->set(
"option-data", l);
 
 3349    ctx.stack_.push_back(l);
 
 3350    ctx.enter(ctx.OPTION_DATA);
 
 3352#line 3353 "dhcp4_parser.cc" 
 3356#line 2067 "dhcp4_parser.yy" 
 3358    ctx.stack_.pop_back();
 
 3361#line 3362 "dhcp4_parser.cc" 
 3365#line 2082 "dhcp4_parser.yy" 
 3367                              ctx.warnAboutExtraCommas(yystack_[0].location);
 
 3369#line 3370 "dhcp4_parser.cc" 
 3373#line 2089 "dhcp4_parser.yy" 
 3376    ctx.stack_.back()->add(m);
 
 3377    ctx.stack_.push_back(m);
 
 3379#line 3380 "dhcp4_parser.cc" 
 3383#line 2093 "dhcp4_parser.yy" 
 3386    ctx.stack_.pop_back();
 
 3388#line 3389 "dhcp4_parser.cc" 
 3392#line 2101 "dhcp4_parser.yy" 
 3396    ctx.stack_.push_back(m);
 
 3398#line 3399 "dhcp4_parser.cc" 
 3402#line 2105 "dhcp4_parser.yy" 
 3407#line 3408 "dhcp4_parser.cc" 
 3411#line 2121 "dhcp4_parser.yy" 
 3413        ctx.warnAboutExtraCommas(yystack_[0].location);
 
 3415#line 3416 "dhcp4_parser.cc" 
 3419#line 2143 "dhcp4_parser.yy" 
 3421    ctx.unique(
"data", ctx.loc2pos(yystack_[0].location));
 
 3422    ctx.enter(ctx.NO_KEYWORD);
 
 3424#line 3425 "dhcp4_parser.cc" 
 3428#line 2146 "dhcp4_parser.yy" 
 3431    ctx.stack_.back()->set(
"data", 
data);
 
 3434#line 3435 "dhcp4_parser.cc" 
 3438#line 2156 "dhcp4_parser.yy" 
 3440    ctx.unique(
"csv-format", ctx.loc2pos(yystack_[2].location));
 
 3441    ElementPtr csv(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 3442    ctx.stack_.back()->set(
"csv-format", csv);
 
 3444#line 3445 "dhcp4_parser.cc" 
 3448#line 2162 "dhcp4_parser.yy" 
 3450    ctx.unique(
"always-send", ctx.loc2pos(yystack_[2].location));
 
 3451    ElementPtr persist(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 3452    ctx.stack_.back()->set(
"always-send", persist);
 
 3454#line 3455 "dhcp4_parser.cc" 
 3458#line 2168 "dhcp4_parser.yy" 
 3460    ctx.unique(
"never-send", ctx.loc2pos(yystack_[2].location));
 
 3461    ElementPtr cancel(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 3462    ctx.stack_.back()->set(
"never-send", cancel);
 
 3464#line 3465 "dhcp4_parser.cc" 
 3468#line 2174 "dhcp4_parser.yy" 
 3470    ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
 
 3472    ctx.stack_.back()->set(
"client-classes", c);
 
 3473    ctx.stack_.push_back(c);
 
 3474    ctx.enter(ctx.NO_KEYWORD);
 
 3476#line 3477 "dhcp4_parser.cc" 
 3480#line 2180 "dhcp4_parser.yy" 
 3482    ctx.stack_.pop_back();
 
 3485#line 3486 "dhcp4_parser.cc" 
 3489#line 2188 "dhcp4_parser.yy" 
 3491    ctx.unique(
"pools", ctx.loc2pos(yystack_[0].location));
 
 3493    ctx.stack_.back()->set(
"pools", l);
 
 3494    ctx.stack_.push_back(l);
 
 3495    ctx.enter(ctx.POOLS);
 
 3497#line 3498 "dhcp4_parser.cc" 
 3501#line 2194 "dhcp4_parser.yy" 
 3503    ctx.stack_.pop_back();
 
 3506#line 3507 "dhcp4_parser.cc" 
 3510#line 2207 "dhcp4_parser.yy" 
 3512                        ctx.warnAboutExtraCommas(yystack_[0].location);
 
 3514#line 3515 "dhcp4_parser.cc" 
 3518#line 2212 "dhcp4_parser.yy" 
 3521    ctx.stack_.back()->add(m);
 
 3522    ctx.stack_.push_back(m);
 
 3524#line 3525 "dhcp4_parser.cc" 
 3528#line 2216 "dhcp4_parser.yy" 
 3531    ctx.require(
"pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 3532    ctx.stack_.pop_back();
 
 3534#line 3535 "dhcp4_parser.cc" 
 3538#line 2222 "dhcp4_parser.yy" 
 3542    ctx.stack_.push_back(m);
 
 3544#line 3545 "dhcp4_parser.cc" 
 3548#line 2226 "dhcp4_parser.yy" 
 3551    ctx.require(
"pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 3554#line 3555 "dhcp4_parser.cc" 
 3558#line 2234 "dhcp4_parser.yy" 
 3560               ctx.warnAboutExtraCommas(yystack_[0].location);
 
 3562#line 3563 "dhcp4_parser.cc" 
 3566#line 2265 "dhcp4_parser.yy" 
 3568    ctx.unique(
"pool", ctx.loc2pos(yystack_[0].location));
 
 3569    ctx.enter(ctx.NO_KEYWORD);
 
 3571#line 3572 "dhcp4_parser.cc" 
 3575#line 2268 "dhcp4_parser.yy" 
 3577    ElementPtr pool(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3578    ctx.stack_.back()->set(
"pool", pool);
 
 3581#line 3582 "dhcp4_parser.cc" 
 3585#line 2274 "dhcp4_parser.yy" 
 3587    ctx.unique(
"pool-id", ctx.loc2pos(yystack_[2].location));
 
 3588    ElementPtr id(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 3589    ctx.stack_.back()->set(
"pool-id", 
id);
 
 3591#line 3592 "dhcp4_parser.cc" 
 3595#line 2280 "dhcp4_parser.yy" 
 3597    ctx.enter(ctx.NO_KEYWORD);
 
 3599#line 3600 "dhcp4_parser.cc" 
 3603#line 2282 "dhcp4_parser.yy" 
 3612        if ((old->size() != 1) || !old->contains(
"comment")) {
 
 3613            std::stringstream msg;
 
 3614            msg << 
"duplicate user-context entries (previous at " 
 3615                << old->getPosition().str() << 
")";
 
 3616            error(yystack_[3].location, msg.str());
 
 3619        user_context->set(
"comment", old->get(
"comment"));
 
 3623    parent->set(
"user-context", user_context);
 
 3626#line 3627 "dhcp4_parser.cc" 
 3630#line 2305 "dhcp4_parser.yy" 
 3632    ctx.enter(ctx.NO_KEYWORD);
 
 3634#line 3635 "dhcp4_parser.cc" 
 3638#line 2307 "dhcp4_parser.yy" 
 3642    ElementPtr comment(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3643    user_context->set(
"comment", comment);
 
 3649        if (old->contains(
"comment")) {
 
 3650            std::stringstream msg;
 
 3651            msg << 
"duplicate user-context/comment entries (previous at " 
 3652                << old->getPosition().str() << 
")";
 
 3653            error(yystack_[3].location, msg.str());
 
 3656        merge(user_context, old);
 
 3660    parent->set(
"user-context", user_context);
 
 3663#line 3664 "dhcp4_parser.cc" 
 3667#line 2335 "dhcp4_parser.yy" 
 3669    ctx.unique(
"reservations", ctx.loc2pos(yystack_[0].location));
 
 3671    ctx.stack_.back()->set(
"reservations", l);
 
 3672    ctx.stack_.push_back(l);
 
 3673    ctx.enter(ctx.RESERVATIONS);
 
 3675#line 3676 "dhcp4_parser.cc" 
 3679#line 2341 "dhcp4_parser.yy" 
 3681    ctx.stack_.pop_back();
 
 3684#line 3685 "dhcp4_parser.cc" 
 3688#line 2352 "dhcp4_parser.yy" 
 3690                               ctx.warnAboutExtraCommas(yystack_[0].location);
 
 3692#line 3693 "dhcp4_parser.cc" 
 3696#line 2357 "dhcp4_parser.yy" 
 3699    ctx.stack_.back()->add(m);
 
 3700    ctx.stack_.push_back(m);
 
 3702#line 3703 "dhcp4_parser.cc" 
 3706#line 2361 "dhcp4_parser.yy" 
 3709    ctx.stack_.pop_back();
 
 3711#line 3712 "dhcp4_parser.cc" 
 3715#line 2366 "dhcp4_parser.yy" 
 3719    ctx.stack_.push_back(m);
 
 3721#line 3722 "dhcp4_parser.cc" 
 3725#line 2370 "dhcp4_parser.yy" 
 3730#line 3731 "dhcp4_parser.cc" 
 3734#line 2381 "dhcp4_parser.yy" 
 3736        ctx.warnAboutExtraCommas(yystack_[0].location);
 
 3738#line 3739 "dhcp4_parser.cc" 
 3742#line 2404 "dhcp4_parser.yy" 
 3744    ctx.unique(
"next-server", ctx.loc2pos(yystack_[0].location));
 
 3745    ctx.enter(ctx.NO_KEYWORD);
 
 3747#line 3748 "dhcp4_parser.cc" 
 3751#line 2407 "dhcp4_parser.yy" 
 3753    ElementPtr next_server(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3754    ctx.stack_.back()->set(
"next-server", next_server);
 
 3757#line 3758 "dhcp4_parser.cc" 
 3761#line 2413 "dhcp4_parser.yy" 
 3763    ctx.unique(
"server-hostname", ctx.loc2pos(yystack_[0].location));
 
 3764    ctx.enter(ctx.NO_KEYWORD);
 
 3766#line 3767 "dhcp4_parser.cc" 
 3770#line 2416 "dhcp4_parser.yy" 
 3772    ElementPtr srv(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3773    ctx.stack_.back()->set(
"server-hostname", srv);
 
 3776#line 3777 "dhcp4_parser.cc" 
 3780#line 2422 "dhcp4_parser.yy" 
 3782    ctx.unique(
"boot-file-name", ctx.loc2pos(yystack_[0].location));
 
 3783    ctx.enter(ctx.NO_KEYWORD);
 
 3785#line 3786 "dhcp4_parser.cc" 
 3789#line 2425 "dhcp4_parser.yy" 
 3791    ElementPtr bootfile(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3792    ctx.stack_.back()->set(
"boot-file-name", bootfile);
 
 3795#line 3796 "dhcp4_parser.cc" 
 3799#line 2431 "dhcp4_parser.yy" 
 3801    ctx.unique(
"ip-address", ctx.loc2pos(yystack_[0].location));
 
 3802    ctx.enter(ctx.NO_KEYWORD);
 
 3804#line 3805 "dhcp4_parser.cc" 
 3808#line 2434 "dhcp4_parser.yy" 
 3810    ElementPtr addr(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3811    ctx.stack_.back()->set(
"ip-address", addr);
 
 3814#line 3815 "dhcp4_parser.cc" 
 3818#line 2440 "dhcp4_parser.yy" 
 3820    ctx.unique(
"duid", ctx.loc2pos(yystack_[0].location));
 
 3821    ctx.enter(ctx.NO_KEYWORD);
 
 3823#line 3824 "dhcp4_parser.cc" 
 3827#line 2443 "dhcp4_parser.yy" 
 3830    ctx.stack_.back()->set(
"duid", d);
 
 3833#line 3834 "dhcp4_parser.cc" 
 3837#line 2449 "dhcp4_parser.yy" 
 3839    ctx.unique(
"hw-address", ctx.loc2pos(yystack_[0].location));
 
 3840    ctx.enter(ctx.NO_KEYWORD);
 
 3842#line 3843 "dhcp4_parser.cc" 
 3846#line 2452 "dhcp4_parser.yy" 
 3849    ctx.stack_.back()->set(
"hw-address", hw);
 
 3852#line 3853 "dhcp4_parser.cc" 
 3856#line 2458 "dhcp4_parser.yy" 
 3858    ctx.unique(
"client-id", ctx.loc2pos(yystack_[0].location));
 
 3859    ctx.enter(ctx.NO_KEYWORD);
 
 3861#line 3862 "dhcp4_parser.cc" 
 3865#line 2461 "dhcp4_parser.yy" 
 3868    ctx.stack_.back()->set(
"client-id", hw);
 
 3871#line 3872 "dhcp4_parser.cc" 
 3875#line 2467 "dhcp4_parser.yy" 
 3877    ctx.unique(
"circuit-id", ctx.loc2pos(yystack_[0].location));
 
 3878    ctx.enter(ctx.NO_KEYWORD);
 
 3880#line 3881 "dhcp4_parser.cc" 
 3884#line 2470 "dhcp4_parser.yy" 
 3887    ctx.stack_.back()->set(
"circuit-id", hw);
 
 3890#line 3891 "dhcp4_parser.cc" 
 3894#line 2476 "dhcp4_parser.yy" 
 3896    ctx.unique(
"flex-id", ctx.loc2pos(yystack_[0].location));
 
 3897    ctx.enter(ctx.NO_KEYWORD);
 
 3899#line 3900 "dhcp4_parser.cc" 
 3903#line 2479 "dhcp4_parser.yy" 
 3906    ctx.stack_.back()->set(
"flex-id", hw);
 
 3909#line 3910 "dhcp4_parser.cc" 
 3913#line 2485 "dhcp4_parser.yy" 
 3915    ctx.unique(
"hostname", ctx.loc2pos(yystack_[0].location));
 
 3916    ctx.enter(ctx.NO_KEYWORD);
 
 3918#line 3919 "dhcp4_parser.cc" 
 3922#line 2488 "dhcp4_parser.yy" 
 3924    ElementPtr host(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 3925    ctx.stack_.back()->set(
"hostname", host);
 
 3928#line 3929 "dhcp4_parser.cc" 
 3932#line 2494 "dhcp4_parser.yy" 
 3934    ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
 
 3936    ctx.stack_.back()->set(
"client-classes", c);
 
 3937    ctx.stack_.push_back(c);
 
 3938    ctx.enter(ctx.NO_KEYWORD);
 
 3940#line 3941 "dhcp4_parser.cc" 
 3944#line 2500 "dhcp4_parser.yy" 
 3946    ctx.stack_.pop_back();
 
 3949#line 3950 "dhcp4_parser.cc" 
 3953#line 2508 "dhcp4_parser.yy" 
 3955    ctx.unique(
"relay", ctx.loc2pos(yystack_[0].location));
 
 3957    ctx.stack_.back()->set(
"relay", m);
 
 3958    ctx.stack_.push_back(m);
 
 3959    ctx.enter(ctx.RELAY);
 
 3961#line 3962 "dhcp4_parser.cc" 
 3965#line 2514 "dhcp4_parser.yy" 
 3967    ctx.stack_.pop_back();
 
 3970#line 3971 "dhcp4_parser.cc" 
 3974#line 2522 "dhcp4_parser.yy" 
 3976    ctx.unique(
"ip-addresses", ctx.loc2pos(yystack_[0].location));
 
 3978    ctx.stack_.back()->set(
"ip-addresses", l);
 
 3979    ctx.stack_.push_back(l);
 
 3980    ctx.enter(ctx.NO_KEYWORD);
 
 3982#line 3983 "dhcp4_parser.cc" 
 3986#line 2528 "dhcp4_parser.yy" 
 3988    ctx.stack_.pop_back();
 
 3991#line 3992 "dhcp4_parser.cc" 
 3995#line 2536 "dhcp4_parser.yy" 
 3997    ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
 
 3999    ctx.stack_.back()->set(
"client-classes", l);
 
 4000    ctx.stack_.push_back(l);
 
 4001    ctx.enter(ctx.CLIENT_CLASSES);
 
 4003#line 4004 "dhcp4_parser.cc" 
 4007#line 2542 "dhcp4_parser.yy" 
 4009    ctx.stack_.pop_back();
 
 4012#line 4013 "dhcp4_parser.cc" 
 4016#line 2549 "dhcp4_parser.yy" 
 4018                       ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4020#line 4021 "dhcp4_parser.cc" 
 4024#line 2554 "dhcp4_parser.yy" 
 4027    ctx.stack_.back()->add(m);
 
 4028    ctx.stack_.push_back(m);
 
 4030#line 4031 "dhcp4_parser.cc" 
 4034#line 2558 "dhcp4_parser.yy" 
 4037    ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 4038    ctx.stack_.pop_back();
 
 4040#line 4041 "dhcp4_parser.cc" 
 4044#line 2570 "dhcp4_parser.yy" 
 4046        ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4048#line 4049 "dhcp4_parser.cc" 
 4052#line 2596 "dhcp4_parser.yy" 
 4054    ctx.unique(
"test", ctx.loc2pos(yystack_[0].location));
 
 4055    ctx.enter(ctx.NO_KEYWORD);
 
 4057#line 4058 "dhcp4_parser.cc" 
 4061#line 2599 "dhcp4_parser.yy" 
 4064    ctx.stack_.back()->set(
"test", 
test);
 
 4067#line 4068 "dhcp4_parser.cc" 
 4071#line 2605 "dhcp4_parser.yy" 
 4073    ctx.unique(
"template-test", ctx.loc2pos(yystack_[0].location));
 
 4074    ctx.enter(ctx.NO_KEYWORD);
 
 4076#line 4077 "dhcp4_parser.cc" 
 4080#line 2608 "dhcp4_parser.yy" 
 4082    ElementPtr template_test(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 4083    ctx.stack_.back()->set(
"template-test", template_test);
 
 4086#line 4087 "dhcp4_parser.cc" 
 4090#line 2615 "dhcp4_parser.yy" 
 4092    ctx.unique(
"only-if-required", ctx.loc2pos(yystack_[2].location));
 
 4094    ctx.stack_.back()->set(
"only-if-required", b);
 
 4096#line 4097 "dhcp4_parser.cc" 
 4100#line 2621 "dhcp4_parser.yy" 
 4102    ctx.unique(
"only-in-additional-list", ctx.loc2pos(yystack_[2].location));
 
 4104    ctx.stack_.back()->set(
"only-in-additional-list", b);
 
 4106#line 4107 "dhcp4_parser.cc" 
 4110#line 2629 "dhcp4_parser.yy" 
 4112    ctx.unique(
"dhcp4o6-port", ctx.loc2pos(yystack_[2].location));
 
 4113    ElementPtr time(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 4114    ctx.stack_.back()->set(
"dhcp4o6-port", time);
 
 4116#line 4117 "dhcp4_parser.cc" 
 4120#line 2637 "dhcp4_parser.yy" 
 4122    ctx.unique(
"control-socket", ctx.loc2pos(yystack_[0].location));
 
 4123    ctx.unique(
"control-sockets", ctx.loc2pos(yystack_[0].location));
 
 4125    ctx.stack_.back()->set(
"control-socket", m);
 
 4126    ctx.stack_.push_back(m);
 
 4127    ctx.enter(ctx.CONTROL_SOCKET);
 
 4129#line 4130 "dhcp4_parser.cc" 
 4133#line 2644 "dhcp4_parser.yy" 
 4135    ctx.stack_.pop_back();
 
 4138#line 4139 "dhcp4_parser.cc" 
 4142#line 2649 "dhcp4_parser.yy" 
 4144    ctx.unique(
"control-sockets", ctx.loc2pos(yystack_[0].location));
 
 4145    ctx.unique(
"control-socket", ctx.loc2pos(yystack_[0].location));
 
 4147    ctx.stack_.back()->set(
"control-sockets", l);
 
 4148    ctx.stack_.push_back(l);
 
 4149    ctx.enter(ctx.CONTROL_SOCKET);
 
 4151#line 4152 "dhcp4_parser.cc" 
 4155#line 2656 "dhcp4_parser.yy" 
 4157    ctx.stack_.pop_back();
 
 4160#line 4161 "dhcp4_parser.cc" 
 4164#line 2667 "dhcp4_parser.yy" 
 4166                                 ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4168#line 4169 "dhcp4_parser.cc" 
 4172#line 2672 "dhcp4_parser.yy" 
 4175    ctx.stack_.back()->add(m);
 
 4176    ctx.stack_.push_back(m);
 
 4178#line 4179 "dhcp4_parser.cc" 
 4182#line 2676 "dhcp4_parser.yy" 
 4184    ctx.stack_.pop_back();
 
 4186#line 4187 "dhcp4_parser.cc" 
 4190#line 2682 "dhcp4_parser.yy" 
 4192                          ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4194#line 4195 "dhcp4_parser.cc" 
 4198#line 2702 "dhcp4_parser.yy" 
 4200    ctx.unique(
"socket-type", ctx.loc2pos(yystack_[0].location));
 
 4201    ctx.enter(ctx.CONTROL_SOCKET_TYPE);
 
 4203#line 4204 "dhcp4_parser.cc" 
 4207#line 2705 "dhcp4_parser.yy" 
 4209    ctx.stack_.back()->set(
"socket-type", yystack_[0].value.as < 
ElementPtr > ());
 
 4212#line 4213 "dhcp4_parser.cc" 
 4216#line 2711 "dhcp4_parser.yy" 
 4218#line 4219 "dhcp4_parser.cc" 
 4222#line 2712 "dhcp4_parser.yy" 
 4224#line 4225 "dhcp4_parser.cc" 
 4228#line 2713 "dhcp4_parser.yy" 
 4230#line 4231 "dhcp4_parser.cc" 
 4234#line 2716 "dhcp4_parser.yy" 
 4236    ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
 
 4237    ctx.unique(
"socket-address", ctx.loc2pos(yystack_[0].location));
 
 4238    ctx.enter(ctx.NO_KEYWORD);
 
 4240#line 4241 "dhcp4_parser.cc" 
 4244#line 2720 "dhcp4_parser.yy" 
 4246    ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 4247    ctx.stack_.back()->set(
"socket-name", name);
 
 4250#line 4251 "dhcp4_parser.cc" 
 4254#line 2726 "dhcp4_parser.yy" 
 4256    ctx.unique(
"socket-address", ctx.loc2pos(yystack_[0].location));
 
 4257    ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
 
 4258    ctx.enter(ctx.NO_KEYWORD);
 
 4260#line 4261 "dhcp4_parser.cc" 
 4264#line 2730 "dhcp4_parser.yy" 
 4266    ElementPtr address(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 4267    ctx.stack_.back()->set(
"socket-address", address);
 
 4270#line 4271 "dhcp4_parser.cc" 
 4274#line 2736 "dhcp4_parser.yy" 
 4276    ctx.unique(
"socket-port", ctx.loc2pos(yystack_[2].location));
 
 4277    ElementPtr port(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 4278    ctx.stack_.back()->set(
"socket-port", port);
 
 4280#line 4281 "dhcp4_parser.cc" 
 4284#line 2742 "dhcp4_parser.yy" 
 4286    ctx.unique(
"cert-required", ctx.loc2pos(yystack_[2].location));
 
 4287    ElementPtr req(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 4288    ctx.stack_.back()->set(
"cert-required", req);
 
 4290#line 4291 "dhcp4_parser.cc" 
 4294#line 2748 "dhcp4_parser.yy" 
 4296    ctx.unique(
"http-headers", ctx.loc2pos(yystack_[0].location));
 
 4298    ctx.stack_.back()->set(
"http-headers", l);
 
 4299    ctx.stack_.push_back(l);
 
 4300    ctx.enter(ctx.HTTP_HEADERS);
 
 4302#line 4303 "dhcp4_parser.cc" 
 4306#line 2754 "dhcp4_parser.yy" 
 4308    ctx.stack_.pop_back();
 
 4311#line 4312 "dhcp4_parser.cc" 
 4315#line 2765 "dhcp4_parser.yy" 
 4317                              ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4319#line 4320 "dhcp4_parser.cc" 
 4323#line 2770 "dhcp4_parser.yy" 
 4326    ctx.stack_.back()->add(m);
 
 4327    ctx.stack_.push_back(m);
 
 4329#line 4330 "dhcp4_parser.cc" 
 4333#line 2774 "dhcp4_parser.yy" 
 4335    ctx.stack_.pop_back();
 
 4337#line 4338 "dhcp4_parser.cc" 
 4341#line 2780 "dhcp4_parser.yy" 
 4343                      ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4345#line 4346 "dhcp4_parser.cc" 
 4349#line 2792 "dhcp4_parser.yy" 
 4351    ctx.unique(
"value", ctx.loc2pos(yystack_[0].location));
 
 4352    ctx.enter(ctx.NO_KEYWORD);
 
 4354#line 4355 "dhcp4_parser.cc" 
 4358#line 2795 "dhcp4_parser.yy" 
 4360    ElementPtr value(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 4361    ctx.stack_.back()->set(
"value", value);
 
 4364#line 4365 "dhcp4_parser.cc" 
 4368#line 2803 "dhcp4_parser.yy" 
 4370    ctx.unique(
"authentication", ctx.loc2pos(yystack_[0].location));
 
 4372    ctx.stack_.back()->set(
"authentication", m);
 
 4373    ctx.stack_.push_back(m);
 
 4374    ctx.enter(ctx.AUTHENTICATION);
 
 4376#line 4377 "dhcp4_parser.cc" 
 4380#line 2809 "dhcp4_parser.yy" 
 4383    ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
 
 4384    ctx.stack_.pop_back();
 
 4387#line 4388 "dhcp4_parser.cc" 
 4391#line 2818 "dhcp4_parser.yy" 
 4393               ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4395#line 4396 "dhcp4_parser.cc" 
 4399#line 2832 "dhcp4_parser.yy" 
 4401    ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
 
 4402    ctx.enter(ctx.AUTH_TYPE);
 
 4404#line 4405 "dhcp4_parser.cc" 
 4408#line 2835 "dhcp4_parser.yy" 
 4410    ctx.stack_.back()->set(
"type", yystack_[0].value.as < 
ElementPtr > ());
 
 4413#line 4414 "dhcp4_parser.cc" 
 4417#line 2840 "dhcp4_parser.yy" 
 4419#line 4420 "dhcp4_parser.cc" 
 4423#line 2843 "dhcp4_parser.yy" 
 4425    ctx.unique(
"realm", ctx.loc2pos(yystack_[0].location));
 
 4426    ctx.enter(ctx.NO_KEYWORD);
 
 4428#line 4429 "dhcp4_parser.cc" 
 4432#line 2846 "dhcp4_parser.yy" 
 4434    ElementPtr realm(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 4435    ctx.stack_.back()->set(
"realm", realm);
 
 4438#line 4439 "dhcp4_parser.cc" 
 4442#line 2852 "dhcp4_parser.yy" 
 4444    ctx.unique(
"directory", ctx.loc2pos(yystack_[0].location));
 
 4445    ctx.enter(ctx.NO_KEYWORD);
 
 4447#line 4448 "dhcp4_parser.cc" 
 4451#line 2855 "dhcp4_parser.yy" 
 4453    ElementPtr directory(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 4454    ctx.stack_.back()->set(
"directory", directory);
 
 4457#line 4458 "dhcp4_parser.cc" 
 4461#line 2861 "dhcp4_parser.yy" 
 4463    ctx.unique(
"clients", ctx.loc2pos(yystack_[0].location));
 
 4465    ctx.stack_.back()->set(
"clients", l);
 
 4466    ctx.stack_.push_back(l);
 
 4467    ctx.enter(ctx.CLIENTS);
 
 4469#line 4470 "dhcp4_parser.cc" 
 4473#line 2867 "dhcp4_parser.yy" 
 4475    ctx.stack_.pop_back();
 
 4478#line 4479 "dhcp4_parser.cc" 
 4482#line 2878 "dhcp4_parser.yy" 
 4484                          ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4486#line 4487 "dhcp4_parser.cc" 
 4490#line 2883 "dhcp4_parser.yy" 
 4493    ctx.stack_.back()->add(m);
 
 4494    ctx.stack_.push_back(m);
 
 4496#line 4497 "dhcp4_parser.cc" 
 4500#line 2887 "dhcp4_parser.yy" 
 4502    ctx.stack_.pop_back();
 
 4504#line 4505 "dhcp4_parser.cc" 
 4508#line 2893 "dhcp4_parser.yy" 
 4510                  ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4512#line 4513 "dhcp4_parser.cc" 
 4516#line 2907 "dhcp4_parser.yy" 
 4518    ctx.unique(
"user-file", ctx.loc2pos(yystack_[0].location));
 
 4519    ctx.enter(ctx.NO_KEYWORD);
 
 4521#line 4522 "dhcp4_parser.cc" 
 4525#line 2910 "dhcp4_parser.yy" 
 4527    ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 4528    ctx.stack_.back()->set(
"user-file", user);
 
 4531#line 4532 "dhcp4_parser.cc" 
 4535#line 2916 "dhcp4_parser.yy" 
 4537    ctx.unique(
"password-file", ctx.loc2pos(yystack_[0].location));
 
 4538    ctx.enter(ctx.NO_KEYWORD);
 
 4540#line 4541 "dhcp4_parser.cc" 
 4544#line 2919 "dhcp4_parser.yy" 
 4546    ElementPtr password(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 4547    ctx.stack_.back()->set(
"password-file", password);
 
 4550#line 4551 "dhcp4_parser.cc" 
 4554#line 2927 "dhcp4_parser.yy" 
 4556    ctx.unique(
"dhcp-queue-control", ctx.loc2pos(yystack_[0].location));
 
 4558    ctx.stack_.back()->set(
"dhcp-queue-control", qc);
 
 4559    ctx.stack_.push_back(qc);
 
 4560    ctx.enter(ctx.DHCP_QUEUE_CONTROL);
 
 4562#line 4563 "dhcp4_parser.cc" 
 4566#line 2933 "dhcp4_parser.yy" 
 4569    ctx.require(
"enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
 
 4570    ctx.stack_.pop_back();
 
 4573#line 4574 "dhcp4_parser.cc" 
 4577#line 2942 "dhcp4_parser.yy" 
 4579                        ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4581#line 4582 "dhcp4_parser.cc" 
 4585#line 2955 "dhcp4_parser.yy" 
 4587    ctx.unique(
"enable-queue", ctx.loc2pos(yystack_[2].location));
 
 4589    ctx.stack_.back()->set(
"enable-queue", b);
 
 4591#line 4592 "dhcp4_parser.cc" 
 4595#line 2961 "dhcp4_parser.yy" 
 4597    ctx.unique(
"queue-type", ctx.loc2pos(yystack_[0].location));
 
 4598    ctx.enter(ctx.NO_KEYWORD);
 
 4600#line 4601 "dhcp4_parser.cc" 
 4604#line 2964 "dhcp4_parser.yy" 
 4607    ctx.stack_.back()->set(
"queue-type", qt);
 
 4610#line 4611 "dhcp4_parser.cc" 
 4614#line 2970 "dhcp4_parser.yy" 
 4616    ctx.unique(
"capacity", ctx.loc2pos(yystack_[2].location));
 
 4617    ElementPtr c(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 4618    ctx.stack_.back()->set(
"capacity", c);
 
 4620#line 4621 "dhcp4_parser.cc" 
 4624#line 2976 "dhcp4_parser.yy" 
 4626    ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location));
 
 4627    ctx.enter(ctx.NO_KEYWORD);
 
 4629#line 4630 "dhcp4_parser.cc" 
 4633#line 2979 "dhcp4_parser.yy" 
 4635    ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < 
ElementPtr > ());
 
 4638#line 4639 "dhcp4_parser.cc" 
 4642#line 2986 "dhcp4_parser.yy" 
 4644    ctx.unique(
"dhcp-ddns", ctx.loc2pos(yystack_[0].location));
 
 4646    ctx.stack_.back()->set(
"dhcp-ddns", m);
 
 4647    ctx.stack_.push_back(m);
 
 4648    ctx.enter(ctx.DHCP_DDNS);
 
 4650#line 4651 "dhcp4_parser.cc" 
 4654#line 2992 "dhcp4_parser.yy" 
 4657    ctx.require(
"enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
 
 4658    ctx.stack_.pop_back();
 
 4661#line 4662 "dhcp4_parser.cc" 
 4665#line 2999 "dhcp4_parser.yy" 
 4669    ctx.stack_.push_back(m);
 
 4671#line 4672 "dhcp4_parser.cc" 
 4675#line 3003 "dhcp4_parser.yy" 
 4678    ctx.require(
"enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 
 4681#line 4682 "dhcp4_parser.cc" 
 4685#line 3011 "dhcp4_parser.yy" 
 4687                    ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4689#line 4690 "dhcp4_parser.cc" 
 4693#line 3029 "dhcp4_parser.yy" 
 4695    ctx.unique(
"enable-updates", ctx.loc2pos(yystack_[2].location));
 
 4697    ctx.stack_.back()->set(
"enable-updates", b);
 
 4699#line 4700 "dhcp4_parser.cc" 
 4703#line 3035 "dhcp4_parser.yy" 
 4705    ctx.unique(
"server-ip", ctx.loc2pos(yystack_[0].location));
 
 4706    ctx.enter(ctx.NO_KEYWORD);
 
 4708#line 4709 "dhcp4_parser.cc" 
 4712#line 3038 "dhcp4_parser.yy" 
 4715    ctx.stack_.back()->set(
"server-ip", s);
 
 4718#line 4719 "dhcp4_parser.cc" 
 4722#line 3044 "dhcp4_parser.yy" 
 4724    ctx.unique(
"server-port", ctx.loc2pos(yystack_[2].location));
 
 4725    ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 4726    ctx.stack_.back()->set(
"server-port", i);
 
 4728#line 4729 "dhcp4_parser.cc" 
 4732#line 3050 "dhcp4_parser.yy" 
 4734    ctx.unique(
"sender-ip", ctx.loc2pos(yystack_[0].location));
 
 4735    ctx.enter(ctx.NO_KEYWORD);
 
 4737#line 4738 "dhcp4_parser.cc" 
 4741#line 3053 "dhcp4_parser.yy" 
 4744    ctx.stack_.back()->set(
"sender-ip", s);
 
 4747#line 4748 "dhcp4_parser.cc" 
 4751#line 3059 "dhcp4_parser.yy" 
 4753    ctx.unique(
"sender-port", ctx.loc2pos(yystack_[2].location));
 
 4754    ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 4755    ctx.stack_.back()->set(
"sender-port", i);
 
 4757#line 4758 "dhcp4_parser.cc" 
 4761#line 3065 "dhcp4_parser.yy" 
 4763    ctx.unique(
"max-queue-size", ctx.loc2pos(yystack_[2].location));
 
 4764    ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 4765    ctx.stack_.back()->set(
"max-queue-size", i);
 
 4767#line 4768 "dhcp4_parser.cc" 
 4771#line 3071 "dhcp4_parser.yy" 
 4773    ctx.unique(
"ncr-protocol", ctx.loc2pos(yystack_[0].location));
 
 4774    ctx.enter(ctx.NCR_PROTOCOL);
 
 4776#line 4777 "dhcp4_parser.cc" 
 4780#line 3074 "dhcp4_parser.yy" 
 4782    ctx.stack_.back()->set(
"ncr-protocol", yystack_[0].value.as < 
ElementPtr > ());
 
 4785#line 4786 "dhcp4_parser.cc" 
 4789#line 3080 "dhcp4_parser.yy" 
 4791#line 4792 "dhcp4_parser.cc" 
 4795#line 3081 "dhcp4_parser.yy" 
 4797#line 4798 "dhcp4_parser.cc" 
 4801#line 3084 "dhcp4_parser.yy" 
 4803    ctx.unique(
"ncr-format", ctx.loc2pos(yystack_[0].location));
 
 4804    ctx.enter(ctx.NCR_FORMAT);
 
 4806#line 4807 "dhcp4_parser.cc" 
 4810#line 3087 "dhcp4_parser.yy" 
 4813    ctx.stack_.back()->set(
"ncr-format", json);
 
 4816#line 4817 "dhcp4_parser.cc" 
 4820#line 3095 "dhcp4_parser.yy" 
 4822    ctx.unique(
"config-control", ctx.loc2pos(yystack_[0].location));
 
 4824    ctx.stack_.back()->set(
"config-control", i);
 
 4825    ctx.stack_.push_back(i);
 
 4826    ctx.enter(ctx.CONFIG_CONTROL);
 
 4828#line 4829 "dhcp4_parser.cc" 
 4832#line 3101 "dhcp4_parser.yy" 
 4835    ctx.stack_.pop_back();
 
 4838#line 4839 "dhcp4_parser.cc" 
 4842#line 3107 "dhcp4_parser.yy" 
 4846    ctx.stack_.push_back(m);
 
 4848#line 4849 "dhcp4_parser.cc" 
 4852#line 3111 "dhcp4_parser.yy" 
 4857#line 4858 "dhcp4_parser.cc" 
 4861#line 3119 "dhcp4_parser.yy" 
 4863                         ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4865#line 4866 "dhcp4_parser.cc" 
 4869#line 3129 "dhcp4_parser.yy" 
 4871    ctx.unique(
"config-databases", ctx.loc2pos(yystack_[0].location));
 
 4873    ctx.stack_.back()->set(
"config-databases", l);
 
 4874    ctx.stack_.push_back(l);
 
 4875    ctx.enter(ctx.CONFIG_DATABASE);
 
 4877#line 4878 "dhcp4_parser.cc" 
 4881#line 3135 "dhcp4_parser.yy" 
 4883    ctx.stack_.pop_back();
 
 4886#line 4887 "dhcp4_parser.cc" 
 4890#line 3140 "dhcp4_parser.yy" 
 4892    ctx.unique(
"config-fetch-wait-time", ctx.loc2pos(yystack_[2].location));
 
 4893    ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 4894    ctx.stack_.back()->set(
"config-fetch-wait-time", value);
 
 4896#line 4897 "dhcp4_parser.cc" 
 4900#line 3148 "dhcp4_parser.yy" 
 4902    ctx.unique(
"loggers", ctx.loc2pos(yystack_[0].location));
 
 4904    ctx.stack_.back()->set(
"loggers", l);
 
 4905    ctx.stack_.push_back(l);
 
 4906    ctx.enter(ctx.LOGGERS);
 
 4908#line 4909 "dhcp4_parser.cc" 
 4912#line 3154 "dhcp4_parser.yy" 
 4914    ctx.stack_.pop_back();
 
 4917#line 4918 "dhcp4_parser.cc" 
 4921#line 3163 "dhcp4_parser.yy" 
 4923                   ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4925#line 4926 "dhcp4_parser.cc" 
 4929#line 3169 "dhcp4_parser.yy" 
 4932    ctx.stack_.back()->add(l);
 
 4933    ctx.stack_.push_back(l);
 
 4935#line 4936 "dhcp4_parser.cc" 
 4939#line 3173 "dhcp4_parser.yy" 
 4941    ctx.stack_.pop_back();
 
 4943#line 4944 "dhcp4_parser.cc" 
 4947#line 3179 "dhcp4_parser.yy" 
 4949                 ctx.warnAboutExtraCommas(yystack_[0].location);
 
 4951#line 4952 "dhcp4_parser.cc" 
 4955#line 3193 "dhcp4_parser.yy" 
 4957    ctx.unique(
"debuglevel", ctx.loc2pos(yystack_[2].location));
 
 4958    ElementPtr dl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 4959    ctx.stack_.back()->set(
"debuglevel", dl);
 
 4961#line 4962 "dhcp4_parser.cc" 
 4965#line 3199 "dhcp4_parser.yy" 
 4967    ctx.unique(
"severity", ctx.loc2pos(yystack_[0].location));
 
 4968    ctx.enter(ctx.NO_KEYWORD);
 
 4970#line 4971 "dhcp4_parser.cc" 
 4974#line 3202 "dhcp4_parser.yy" 
 4976    ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 4977    ctx.stack_.back()->set(
"severity", sev);
 
 4980#line 4981 "dhcp4_parser.cc" 
 4984#line 3208 "dhcp4_parser.yy" 
 4986    ctx.unique(
"output-options", ctx.loc2pos(yystack_[0].location));
 
 4988    ctx.stack_.back()->set(
"output-options", l);
 
 4989    ctx.stack_.push_back(l);
 
 4990    ctx.enter(ctx.OUTPUT_OPTIONS);
 
 4992#line 4993 "dhcp4_parser.cc" 
 4996#line 3214 "dhcp4_parser.yy" 
 4998    ctx.stack_.pop_back();
 
 5001#line 5002 "dhcp4_parser.cc" 
 5005#line 3221 "dhcp4_parser.yy" 
 5007                               ctx.warnAboutExtraCommas(yystack_[0].location);
 
 5009#line 5010 "dhcp4_parser.cc" 
 5013#line 3226 "dhcp4_parser.yy" 
 5016    ctx.stack_.back()->add(m);
 
 5017    ctx.stack_.push_back(m);
 
 5019#line 5020 "dhcp4_parser.cc" 
 5023#line 3230 "dhcp4_parser.yy" 
 5025    ctx.stack_.pop_back();
 
 5027#line 5028 "dhcp4_parser.cc" 
 5031#line 3236 "dhcp4_parser.yy" 
 5033                      ctx.warnAboutExtraCommas(yystack_[0].location);
 
 5035#line 5036 "dhcp4_parser.cc" 
 5039#line 3248 "dhcp4_parser.yy" 
 5041    ctx.unique(
"output", ctx.loc2pos(yystack_[0].location));
 
 5042    ctx.enter(ctx.NO_KEYWORD);
 
 5044#line 5045 "dhcp4_parser.cc" 
 5048#line 3251 "dhcp4_parser.yy" 
 5050    ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 5051    ctx.stack_.back()->set(
"output", sev);
 
 5054#line 5055 "dhcp4_parser.cc" 
 5058#line 3257 "dhcp4_parser.yy" 
 5060    ctx.unique(
"flush", ctx.loc2pos(yystack_[2].location));
 
 5061    ElementPtr flush(
new BoolElement(yystack_[0].value.as < 
bool > (), ctx.loc2pos(yystack_[0].location)));
 
 5062    ctx.stack_.back()->set(
"flush", flush);
 
 5064#line 5065 "dhcp4_parser.cc" 
 5068#line 3263 "dhcp4_parser.yy" 
 5070    ctx.unique(
"maxsize", ctx.loc2pos(yystack_[2].location));
 
 5071    ElementPtr maxsize(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 5072    ctx.stack_.back()->set(
"maxsize", maxsize);
 
 5074#line 5075 "dhcp4_parser.cc" 
 5078#line 3269 "dhcp4_parser.yy" 
 5080    ctx.unique(
"maxver", ctx.loc2pos(yystack_[2].location));
 
 5081    ElementPtr maxver(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
 
 5082    ctx.stack_.back()->set(
"maxver", maxver);
 
 5084#line 5085 "dhcp4_parser.cc" 
 5088#line 3275 "dhcp4_parser.yy" 
 5090    ctx.unique(
"pattern", ctx.loc2pos(yystack_[0].location));
 
 5091    ctx.enter(ctx.NO_KEYWORD);
 
 5093#line 5094 "dhcp4_parser.cc" 
 5097#line 3278 "dhcp4_parser.yy" 
 5099    ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
 
 5100    ctx.stack_.back()->set(
"pattern", sev);
 
 5103#line 5104 "dhcp4_parser.cc" 
 5107#line 3284 "dhcp4_parser.yy" 
 5109    ctx.unique(
"compatibility", ctx.loc2pos(yystack_[0].location));
 
 5111    ctx.stack_.back()->set(
"compatibility", i);
 
 5112    ctx.stack_.push_back(i);
 
 5113    ctx.enter(ctx.COMPATIBILITY);
 
 5115#line 5116 "dhcp4_parser.cc" 
 5119#line 3290 "dhcp4_parser.yy" 
 5121    ctx.stack_.pop_back();
 
 5124#line 5125 "dhcp4_parser.cc" 
 5128#line 3297 "dhcp4_parser.yy" 
 5130                        ctx.warnAboutExtraCommas(yystack_[0].location);
 
 5132#line 5133 "dhcp4_parser.cc" 
 5136#line 3309 "dhcp4_parser.yy" 
 5138    ctx.unique(
"lenient-option-parsing", ctx.loc2pos(yystack_[2].location));
 
 5140    ctx.stack_.back()->set(
"lenient-option-parsing", b);
 
 5142#line 5143 "dhcp4_parser.cc" 
 5146#line 3315 "dhcp4_parser.yy" 
 5148    ctx.unique(
"ignore-dhcp-server-identifier", ctx.loc2pos(yystack_[2].location));
 
 5150    ctx.stack_.back()->set(
"ignore-dhcp-server-identifier", b);
 
 5152#line 5153 "dhcp4_parser.cc" 
 5156#line 3321 "dhcp4_parser.yy" 
 5158    ctx.unique(
"ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location));
 
 5160    ctx.stack_.back()->set(
"ignore-rai-link-selection", b);
 
 5162#line 5163 "dhcp4_parser.cc" 
 5166#line 3327 "dhcp4_parser.yy" 
 5168    ctx.unique(
"exclude-first-last-24", ctx.loc2pos(yystack_[2].location));
 
 5170    ctx.stack_.back()->set(
"exclude-first-last-24", b);
 
 5172#line 5173 "dhcp4_parser.cc" 
 5176#line 5177 "dhcp4_parser.cc" 
 5185          YYCDEBUG << 
"Caught exception: " << yyexc.what() << 
'\n';
 
 5195      yypush_ (YY_NULLPTR, 
YY_MOVE (yylhs));
 
 5209        std::string msg = yysyntax_error_ (yyctx);
 
 5215    if (yyerrstatus_ == 3)
 
 5223        else if (!yyla.
empty ())
 
 5225            yy_destroy_ (
"Error: discarding", yyla);
 
 5259        yyn = yypact_[+yystack_[0].state];
 
 5260        if (!yy_pact_value_is_default_ (yyn))
 
 5263            if (0 <= yyn && yyn <= yylast_
 
 5266                yyn = yytable_[yyn];
 
 5273        if (yystack_.size () == 1)
 
 5276        yyerror_range[1].
location = yystack_[0].location;
 
 5277        yy_destroy_ (
"Error: popping", yystack_[0]);
 
 5282      stack_symbol_type error_token;
 
 5288      error_token.state = state_type (yyn);
 
 5289      yypush_ (
"Shifting", 
YY_MOVE (error_token));
 
 5315      yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
 
 5321    while (1 < yystack_.size ())
 
 5323        yy_destroy_ (
"Cleanup: popping", yystack_[0]);
 
 5332        YYCDEBUG << 
"Exception caught: cleaning lookahead and stack\n";
 
 5336          yy_destroy_ (YY_NULLPTR, yyla);
 
 5338        while (1 < yystack_.size ())
 
 5340            yy_destroy_ (YY_NULLPTR, yystack_[0]);
 
 
 5360  Dhcp4Parser::yytnamerr_ (
const char *yystr)
 
 5365        char const *yyp = yystr;
 
 5372              goto do_not_strip_quotes;
 
 5376                goto do_not_strip_quotes;
 
 5388      do_not_strip_quotes: ;
 
 5397    return yytnamerr_ (yytname_[yysymbol]);
 
 
 5404    : yyparser_ (yyparser)
 
 
 5414    const int yyn = yypact_[+yyparser_.yystack_[0].state];
 
 5415    if (!yy_pact_value_is_default_ (yyn))
 
 5420        const int yyxbegin = yyn < 0 ? -yyn : 0;
 
 5422        const int yychecklim = yylast_ - yyn + 1;
 
 5424        for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
 
 5426              && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
 
 5430              else if (yycount == yyargn)
 
 5437    if (yyarg && yycount == 0 && 0 < yyargn)
 
 
 5448  Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
 
 5479          yyarg[0] = yyctx.
token ();
 
 5480        int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
 
 5488  Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
 const 
 5491    enum { YYARGS_MAX = 5 };
 
 5494    int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
 
 5496    char const* yyformat = YY_NULLPTR;
 
 5499#define YYCASE_(N, S)                         \ 
 5505        YYCASE_ (1, 
YY_(
"syntax error, unexpected %s"));
 
 5506        YYCASE_ (2, 
YY_(
"syntax error, unexpected %s, expecting %s"));
 
 5507        YYCASE_ (3, 
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
 
 5508        YYCASE_ (4, 
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
 
 5509        YYCASE_ (5, 
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
 
 5515    std::ptrdiff_t yyi = 0;
 
 5516    for (
char const* yyp = yyformat; *yyp; ++yyp)
 
 5517      if (yyp[0] == 
'%' && yyp[1] == 
's' && yyi < yycount)
 
 5528  const short Dhcp4Parser::yypact_ninf_ = -1405;
 
 5530  const signed char Dhcp4Parser::yytable_ninf_ = -1;
 
 5533  Dhcp4Parser::yypact_[] =
 
 5535     464, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5536   -1405, -1405, -1405, -1405,    28,    37,    38,    44,    80,    90,
 
 5537     106,   109,   140,   171,   175,   188,   196,   228, -1405, -1405,
 
 5538   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5539   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5540   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5541   -1405, -1405, -1405, -1405,    37,  -173,    60,   279,   168,   722,
 
 5542    1463,    62,    -8,   346,   154,   -84,   479,    23, -1405,   124,
 
 5543     225,   239,   248,   261, -1405,    45, -1405, -1405, -1405, -1405,
 
 5544     262,   268,   283, -1405, -1405, -1405,   299,   300, -1405, -1405,
 
 5545   -1405,   303,   315,   327,   328,   329,   341,   342,   343,   381,
 
 5546     383,   384, -1405,   385,   387,   393,   394,   402, -1405, -1405,
 
 5547   -1405,   424,   430,   440,   458,   459,   463,   467, -1405, -1405,
 
 5548   -1405,   468, -1405, -1405, -1405, -1405, -1405,   469,   470,   472,
 
 5549   -1405, -1405, -1405, -1405, -1405,   473, -1405, -1405, -1405, -1405,
 
 5550   -1405, -1405, -1405,   474,   475,   476, -1405, -1405,   477, -1405,
 
 5551     134, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5552   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5553   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5554   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5555   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5556   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5557   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5558   -1405, -1405, -1405, -1405, -1405, -1405,   478,   486,   487,   488,
 
 5559   -1405,   169, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5560   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,   490, -1405,
 
 5561   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5562   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5563   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5564   -1405, -1405, -1405, -1405, -1405,   172, -1405, -1405, -1405, -1405,
 
 5565   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5566   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5567     491, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5568   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5569   -1405,   193, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5570   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,   275,
 
 5571     318, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5572   -1405, -1405, -1405,   417, -1405, -1405,   492, -1405, -1405, -1405,
 
 5573     495, -1405, -1405,   453,   498, -1405, -1405, -1405, -1405, -1405,
 
 5574   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,   499,   501,
 
 5575     502, -1405, -1405, -1405, -1405, -1405,   494,   504, -1405, -1405,
 
 5576   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5577   -1405, -1405,   209, -1405, -1405, -1405,   505, -1405,   506, -1405,
 
 5578     507,   509, -1405, -1405, -1405, -1405, -1405,   221, -1405, -1405,
 
 5579   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,   513,   242,
 
 5580   -1405, -1405, -1405, -1405,    37,    37, -1405,   284,   515, -1405,
 
 5581   -1405,   518,   522,   525,   293,   294,   296,   532,   534,   536,
 
 5582     304,   307,   544,   546,   547,   316,   321,   323,   325,   330,
 
 5583     313,   332,   337,   338,   331,   344,   551,   348,   351,   339,
 
 5584     353,   354,   562,   573,   575,   355,   356,   345,   359,   361,
 
 5585     363,   366,   576,   586,   602,   371,   606,   610,   613,   614,
 
 5586     617,   388,   389,   392,   619,   629,   634,   640,   642,   412,
 
 5587     647,   648,   650,   655,   660,   661,   663,   438,   441,   443,
 
 5588     674,   679, -1405,   279, -1405,   680,   681,   696,   462,   466,
 
 5589     465,   471,   168, -1405,   699,   702,   703,   705,   706,   707,
 
 5590     484,   708,   709,   710,   718,   719,   722, -1405,   721,   489,
 
 5591    1463, -1405,   723,   724,   725,   726,   727,   728,   729,   730,
 
 5592   -1405,    62, -1405,   731,   732,   500,   734,   737,   740,   508,
 
 5593   -1405,   346,   741,   510,   511,   519,   742, -1405,   154,   744,
 
 5594     755,   -72, -1405,   521,   757,   527,   758,   528,   529,   767,
 
 5595     768,   479, -1405,   769,   537,    23, -1405, -1405, -1405,   771,
 
 5596     772,   773,   774,   775, -1405, -1405, -1405,   540,   548,   549,
 
 5597   -1405, -1405,   776,   781,   786, -1405, -1405, -1405, -1405, -1405,
 
 5598   -1405, -1405, -1405, -1405, -1405, -1405,   566, -1405, -1405, -1405,
 
 5599   -1405, -1405,    -3,   567,   568, -1405, -1405, -1405, -1405, -1405,
 
 5600   -1405, -1405,   800,   814,   818, -1405,   589,   136,   821,   820,
 
 5601     592, -1405, -1405, -1405,   824,   825,   827,   828,   831, -1405,
 
 5602     832,   834,   829,   835,   837,   599,   604, -1405, -1405, -1405,
 
 5603     848,   850, -1405,   853,   123,   205, -1405, -1405, -1405, -1405,
 
 5604   -1405,   623,   624,   626,   859,   630,   631, -1405,   853,   853,
 
 5605     853,   632,   858, -1405,   633, -1405, -1405,   853,   636,   652,
 
 5606     653,   654,   667,   668,   669, -1405,   670,   671, -1405,   672,
 
 5607     673,   675, -1405, -1405,   676, -1405, -1405, -1405,   853, -1405,
 
 5608     677,   820, -1405, -1405,   678, -1405,   682, -1405, -1405,     4,
 
 5609     711, -1405,   865, -1405, -1405,    37,   279,    23,   168,   254,
 
 5610   -1405, -1405, -1405,   833,   833,   908, -1405, -1405, -1405, -1405,
 
 5611   -1405, -1405, -1405, -1405, -1405,   909,   910,   912, -1405, -1405,
 
 5612   -1405, -1405, -1405, -1405,   913, -1405, -1405, -1405,   103,   914,
 
 5613     915,   916,    63,   165,   595,   917,   -69,   479, -1405, -1405,
 
 5614     918,    -6, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5615   -1405, -1405, -1405,   921, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5616     779, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5617   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5618   -1405, -1405, -1405, -1405, -1405,   908, -1405,   276,   277,   291,
 
 5619   -1405, -1405,   317, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5620     926,   927,   928,   929,   930,   931,   933,   934,   935,   936,
 
 5621   -1405,   937,   938, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5622   -1405, -1405, -1405, -1405,   340, -1405, -1405, -1405, -1405, -1405,
 
 5623   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5624   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,   374,
 
 5625   -1405,   939,   940, -1405, -1405,   941,   943, -1405, -1405,   942,
 
 5626     946, -1405, -1405,   944,   948, -1405, -1405,   947,   949, -1405,
 
 5627   -1405, -1405, -1405, -1405, -1405,    98, -1405, -1405, -1405, -1405,
 
 5628   -1405, -1405, -1405,   121, -1405, -1405,   950,   951, -1405, -1405,
 
 5629     953,   952, -1405,   956,   957,   958,   959,   960,   961,   375,
 
 5630   -1405, -1405, -1405, -1405, -1405, -1405, -1405,   962,   963,   964,
 
 5631   -1405,   376, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5632   -1405,   965, -1405,   966, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5633   -1405,   397, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5634   -1405,   967,   954, -1405,   968, -1405,   970, -1405, -1405, -1405,
 
 5635     409, -1405, -1405, -1405, -1405, -1405,   411, -1405,   151, -1405,
 
 5636     971,   972,   973,   974, -1405,   415, -1405, -1405, -1405, -1405,
 
 5637   -1405,   735, -1405,   975,   976, -1405, -1405,   977, -1405,   978,
 
 5638   -1405, -1405, -1405,   979,   982,   254, -1405,   983,   984,   985,
 
 5639     986,   743,   752,   745,   753,   756,   759,   760,   762,   763,
 
 5640     765,   990,   764,   777,   991,  1002,  1006,  1009,  1016,   833,
 
 5641   -1405, -1405,   833, -1405,   908,   722, -1405,   909,   346, -1405,
 
 5642     910,   154, -1405,   912,  1405, -1405,   913,   103, -1405,   199,
 
 5643     914, -1405,    62, -1405,   915,   -84, -1405,   916,   785,   788,
 
 5644     791,   792,   799,   803,    63, -1405,   784,   809,   812,   165,
 
 5645   -1405,  1047,  1050,  1055,   826,  1058,   844,  1080,   595, -1405,
 
 5646     595, -1405,   917,   847,  1087,   855,  1089,   -69, -1405, -1405,
 
 5647     203,   918, -1405,   860,   862,   870,   887,    -6, -1405, -1405,
 
 5648    1098,  1129,  1463, -1405,   921,  1132, -1405, -1405,   906,   911,
 
 5649   -1405,   969,   980,   981,   987, -1405, -1405, -1405, -1405, -1405,
 
 5650   -1405, -1405, -1405, -1405, -1405,    34, -1405, -1405,   988,   989,
 
 5651     992,   174,   993, -1405,   418, -1405,   419, -1405,  1156, -1405,
 
 5652    1166, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5653   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5654   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5655   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5656   -1405, -1405, -1405,   421, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5657   -1405, -1405, -1405, -1405, -1405, -1405,  1176,  1178, -1405, -1405,
 
 5658   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5659   -1405,  1179,  1186, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5660    1182, -1405,   428, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5661   -1405, -1405, -1405, -1405, -1405,   126,   994,   995, -1405,  1185,
 
 5662   -1405,  1188, -1405,   429, -1405, -1405,   996, -1405,    37, -1405,
 
 5663   -1405,  1190, -1405, -1405, -1405, -1405, -1405,   435, -1405, -1405,
 
 5664   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,   997,
 
 5665     439, -1405,   853, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5666   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5667   -1405, -1405,  1405, -1405,  1191,  1193,   998,   999, -1405,   199,
 
 5668   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,    -9,  1192,
 
 5669   -1405, -1405, -1405,  1196,  1003,  1198,   203, -1405, -1405, -1405,
 
 5670   -1405, -1405,  1000,  1005, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5671   -1405, -1405, -1405, -1405,   445, -1405, -1405, -1405, -1405, -1405,
 
 5672   -1405,  1197,  1201, -1405,  1202, -1405,  1007, -1405, -1405, -1405,
 
 5673    1205,  1206,  1208,  1210,    -9, -1405,   -25, -1405,  1192,  1211,
 
 5674   -1405,  1039,  1008,  1010,  1215, -1405, -1405, -1405, -1405, -1405,
 
 5675   -1405,   447, -1405, -1405, -1405, -1405,   159, -1405, -1405, -1405,
 
 5676   -1405, -1405,  1214,  1218,   -25, -1405,  -108,  1211, -1405, -1405,
 
 5677    1220,  1224, -1405,  1011, -1405, -1405,  1230,  1231,  1235, -1405,
 
 5678     451, -1405, -1405, -1405, -1405, -1405, -1405, -1405,     8, -1405,
 
 5679    1214, -1405,  1238,  1012,  1013,  1015,  1241,  -108, -1405, -1405,
 
 5680   -1405, -1405, -1405, -1405, -1405, -1405,   457, -1405, -1405, -1405,
 
 5681   -1405,  1017, -1405, -1405, -1405,  1018, -1405,  1244,  1245,     8,
 
 5682   -1405, -1405, -1405,  1020,  1021, -1405, -1405, -1405
 
 5686  Dhcp4Parser::yydefact_[] =
 
 5688       0,     2,     4,     6,     8,    10,    12,    14,    16,    18,
 
 5689      20,    22,    24,    26,     0,     0,     0,     0,     0,     0,
 
 5690       0,     0,     0,     0,     0,     0,     0,     0,     1,    44,
 
 5691      36,    32,    31,    28,    29,    30,    35,     3,    33,    34,
 
 5692      59,     5,    65,     7,   214,     9,   399,    11,   626,    13,
 
 5693     671,    15,   541,    17,   550,    19,   589,    21,   361,    23,
 
 5694     875,    25,   907,    27,    46,    39,     0,     0,     0,     0,
 
 5695       0,   673,     0,   552,   591,     0,     0,     0,    48,     0,
 
 5696      47,     0,     0,    40,    61,     0,    63,   905,   199,   232,
 
 5697       0,     0,     0,   693,   695,   697,     0,     0,   230,   243,
 
 5698     245,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5699       0,     0,   153,     0,     0,     0,     0,     0,   164,   171,
 
 5700     173,     0,     0,     0,     0,     0,     0,     0,   390,   539,
 
 5701     580,     0,   156,   177,   479,   658,   660,     0,     0,     0,
 
 5702     323,   720,   662,   352,   373,     0,   338,   757,   759,   856,
 
 5703     873,   187,   189,     0,     0,     0,   917,   959,     0,   141,
 
 5704       0,    67,    70,    71,    72,    73,    74,   108,   109,   110,
 
 5705     111,   112,    75,   104,   137,   138,    93,    94,    95,   116,
 
 5706     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
 
 5707     127,   128,   114,   115,   129,   130,   131,   133,   134,   135,
 
 5708     139,   140,    78,    79,   101,    80,    81,    82,   132,    86,
 
 5709      87,    76,   105,   106,   107,    77,    84,    85,    99,   100,
 
 5710     102,    96,    97,    98,    83,    88,    89,    90,    91,    92,
 
 5711     103,   113,   136,   216,   218,   222,     0,     0,     0,     0,
 
 5712     213,     0,   201,   204,   205,   206,   207,   208,   209,   210,
 
 5713     211,   212,   459,   461,   463,   617,   457,   465,     0,   469,
 
 5714     471,   473,   467,   715,   456,   404,   405,   406,   407,   408,
 
 5715     433,   434,   435,   436,   437,   454,   423,   424,   438,   439,
 
 5716     440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
 
 5717     450,   451,   452,   453,   455,     0,   401,   411,   428,   429,
 
 5718     430,   412,   414,   415,   416,   417,   419,   420,   421,   413,
 
 5719     409,   410,   431,   432,   418,   425,   426,   427,   422,   655,
 
 5720       0,   654,   638,   639,   640,   641,   642,   643,   644,   645,
 
 5721     646,   647,   648,   649,   650,   651,   634,   635,   636,   637,
 
 5722     633,     0,   628,   631,   632,   652,   653,   713,   699,   701,
 
 5723     703,   707,   705,   711,   709,   692,   686,   690,   691,     0,
 
 5724     674,   675,   687,   688,   689,   683,   678,   684,   680,   681,
 
 5725     682,   685,   679,     0,   570,   290,     0,   574,   572,   577,
 
 5726       0,   566,   567,     0,   553,   554,   557,   569,   558,   559,
 
 5727     560,   576,   561,   562,   563,   564,   565,   608,     0,     0,
 
 5728       0,   615,   606,   607,   610,   611,     0,   592,   593,   596,
 
 5729     597,   598,   599,   600,   601,   602,   605,   603,   604,   369,
 
 5730     371,   366,     0,   363,   367,   368,     0,   892,     0,   895,
 
 5731       0,     0,   899,   903,   890,   888,   889,     0,   877,   880,
 
 5732     881,   882,   883,   884,   885,   886,   887,   914,     0,     0,
 
 5733     909,   912,   913,    45,    50,     0,    37,    43,     0,    64,
 
 5734      60,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5735       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5736       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5737       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5738       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5739       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5740       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5741       0,     0,    58,    69,    66,     0,     0,     0,     0,     0,
 
 5742       0,     0,   203,   215,     0,     0,     0,     0,     0,     0,
 
 5743       0,     0,     0,     0,     0,     0,   403,   400,     0,     0,
 
 5744     630,   627,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5745     672,   677,   542,     0,     0,     0,     0,     0,     0,     0,
 
 5746     551,   556,     0,     0,     0,     0,     0,   590,   595,     0,
 
 5747       0,   365,   362,     0,     0,     0,     0,     0,     0,     0,
 
 5748       0,   879,   876,     0,     0,   911,   908,    49,    41,     0,
 
 5749       0,     0,     0,     0,   158,   159,   160,     0,     0,     0,
 
 5750     197,   198,     0,     0,     0,   142,   143,   144,   145,   146,
 
 5751     147,   148,   149,   150,   151,   152,     0,   192,   193,   161,
 
 5752     162,   163,     0,     0,     0,   175,   176,   183,   184,   185,
 
 5753     186,   191,     0,     0,     0,   155,     0,     0,     0,     0,
 
 5754       0,   475,   476,   477,     0,     0,     0,     0,     0,   756,
 
 5755       0,     0,     0,     0,     0,     0,     0,   194,   195,   196,
 
 5756       0,     0,    68,     0,     0,     0,   226,   227,   228,   229,
 
 5757     202,     0,     0,     0,     0,     0,     0,   478,     0,     0,
 
 5758       0,     0,     0,   402,     0,   657,   629,     0,     0,     0,
 
 5759       0,     0,     0,     0,     0,   676,     0,     0,   568,     0,
 
 5760       0,     0,   579,   555,     0,   612,   613,   614,     0,   594,
 
 5761       0,     0,   364,   891,     0,   894,     0,   897,   898,     0,
 
 5762       0,   878,     0,   916,   910,     0,     0,     0,     0,     0,
 
 5763     694,   696,   698,     0,     0,   247,   154,   166,   167,   168,
 
 5764     169,   170,   165,   172,   174,   392,   543,   582,   157,   179,
 
 5765     180,   181,   182,   178,   481,    38,   659,   661,     0,     0,
 
 5766     664,   354,     0,     0,     0,   761,     0,     0,   188,   190,
 
 5767       0,     0,    51,   217,   220,   221,   219,   224,   225,   223,
 
 5768     460,   462,   464,   619,   458,   466,   470,   472,   474,   468,
 
 5769       0,   656,   714,   700,   702,   704,   708,   706,   712,   710,
 
 5770     571,   291,   575,   573,   578,   609,   616,   370,   372,   893,
 
 5771     896,   901,   902,   900,   904,   247,    42,     0,     0,     0,
 
 5772     239,   241,     0,   234,   237,   238,   281,   283,   285,   287,
 
 5773       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5774     301,     0,     0,   308,   310,   312,   314,   316,   317,   318,
 
 5775     319,   320,   321,   280,     0,   254,   257,   258,   259,   260,
 
 5776     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
 
 5777     271,   272,   273,   274,   275,   276,   277,   278,   279,     0,
 
 5778     252,     0,   248,   249,   397,     0,   393,   394,   548,     0,
 
 5779     544,   545,   587,     0,   583,   584,   486,     0,   482,   483,
 
 5780     333,   334,   335,   336,   337,     0,   325,   328,   329,   330,
 
 5781     331,   332,   725,     0,   722,   669,     0,   665,   666,   359,
 
 5782       0,   355,   356,     0,     0,     0,     0,     0,     0,     0,
 
 5783     375,   378,   379,   380,   381,   382,   383,     0,     0,     0,
 
 5784     348,     0,   340,   343,   344,   345,   346,   347,   784,   789,
 
 5785     791,     0,   814,     0,   795,   783,   776,   777,   778,   781,
 
 5786     782,     0,   768,   771,   772,   773,   774,   779,   780,   775,
 
 5787     766,     0,   762,   763,     0,   868,     0,   871,   864,   865,
 
 5788       0,   858,   861,   862,   863,   866,     0,   922,     0,   919,
 
 5789       0,     0,     0,     0,   968,     0,   961,   964,   965,   966,
 
 5790     967,    53,   624,     0,   620,   621,   718,     0,   717,     0,
 
 5791      62,   906,   200,     0,     0,   236,   233,     0,     0,     0,
 
 5792       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 5793       0,     0,     0,     0,     0,     0,     0,     0,     0,   256,
 
 5794     231,   244,     0,   246,   251,     0,   391,   396,   552,   540,
 
 5795     547,   591,   581,   586,     0,   480,   485,   327,   324,   727,
 
 5796     724,   721,   673,   663,   668,     0,   353,   358,     0,     0,
 
 5797       0,     0,     0,     0,   377,   374,     0,     0,     0,   342,
 
 5798     339,     0,     0,     0,     0,     0,     0,     0,   770,   758,
 
 5799       0,   760,   765,     0,     0,     0,     0,   860,   857,   874,
 
 5800       0,   921,   918,     0,     0,     0,     0,   963,   960,    55,
 
 5801       0,    54,     0,   618,   623,     0,   716,   915,     0,     0,
 
 5802     235,     0,     0,     0,     0,   289,   292,   293,   294,   295,
 
 5803     296,   297,   298,   299,   300,     0,   306,   307,     0,     0,
 
 5804       0,     0,     0,   255,     0,   250,     0,   395,     0,   546,
 
 5805       0,   585,   538,   510,   511,   512,   494,   495,   515,   516,
 
 5806     517,   518,   519,   536,   497,   498,   520,   521,   522,   523,
 
 5807     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
 
 5808     534,   535,   537,   491,   492,   493,   506,   507,   508,   509,
 
 5809     503,   504,   505,     0,   488,   496,   513,   514,   499,   500,
 
 5810     501,   502,   484,   326,   750,   752,     0,     0,   744,   745,
 
 5811     746,   747,   748,   749,   737,   738,   742,   743,   739,   740,
 
 5812     741,     0,   728,   729,   732,   733,   734,   735,   736,   723,
 
 5813       0,   667,     0,   357,   384,   385,   386,   387,   388,   389,
 
 5814     376,   349,   350,   351,   341,     0,     0,     0,   793,     0,
 
 5815     794,     0,   769,     0,   764,   867,     0,   870,     0,   859,
 
 5816     937,     0,   935,   933,   927,   931,   932,     0,   924,   929,
 
 5817     930,   928,   920,   969,   970,   971,   972,   962,    52,    57,
 
 5818       0,   622,     0,   240,   242,   282,   284,   286,   288,   303,
 
 5819     304,   305,   302,   309,   311,   313,   315,   322,   253,   398,
 
 5820     549,   588,   490,   487,     0,     0,     0,     0,   726,   731,
 
 5821     670,   360,   786,   787,   788,   785,   790,   792,     0,   797,
 
 5822     767,   869,   872,     0,     0,     0,   926,   923,    56,   625,
 
 5823     719,   489,     0,     0,   754,   755,   730,   826,   829,   831,
 
 5824     833,   825,   824,   823,     0,   816,   819,   820,   821,   822,
 
 5825     802,     0,   798,   799,     0,   934,     0,   925,   751,   753,
 
 5826       0,     0,     0,     0,   818,   815,     0,   796,   801,     0,
 
 5827     936,     0,     0,     0,     0,   817,   812,   811,   807,   809,
 
 5828     810,     0,   804,   808,   800,   942,     0,   939,   828,   827,
 
 5829     830,   832,   835,     0,   806,   803,     0,   941,   938,   840,
 
 5830       0,   836,   837,     0,   805,   952,     0,     0,     0,   957,
 
 5831       0,   944,   947,   948,   949,   950,   951,   940,     0,   834,
 
 5832     839,   813,     0,     0,     0,     0,     0,   946,   943,   852,
 
 5833     854,   851,   845,   847,   849,   850,     0,   842,   846,   848,
 
 5834     838,     0,   954,   955,   956,     0,   945,     0,     0,   844,
 
 5835     841,   953,   958,     0,     0,   843,   853,   855
 
 5839  Dhcp4Parser::yypgoto_[] =
 
 5841   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5842   -1405, -1405, -1405, -1405, -1405,   -59, -1405,  -626, -1405,   213,
 
 5843   -1405, -1405, -1405, -1405, -1405, -1405,  -640, -1405, -1405, -1405,
 
 5844     -67, -1405, -1405, -1405, -1405, -1405, -1405, -1405,   512,   739,
 
 5845      16,    31,    33,   -26,    84,    86,    87,    89,    91,    92,
 
 5846   -1405, -1405, -1405, -1405,    94, -1405, -1405,    97,   102,   -13,
 
 5847      13,    41,    51, -1405, -1405,    53, -1405,    56, -1405,    59,
 
 5848     104,    64, -1405, -1405,    66,    69,    74,    76,    79, -1405,
 
 5849      81, -1405,   105, -1405, -1405, -1405, -1405, -1405,    43, -1405,
 
 5850   -1405, -1405,   516,   733, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5851   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5852   -1405, -1405, -1405,   226, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5853   -1405, -1405,   425, -1405,   201, -1405,  -738,   204, -1405, -1405,
 
 5854   -1404, -1405, -1377, -1405, -1405, -1405, -1405,   -63, -1405, -1405,
 
 5855   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5856   -1405, -1405, -1405,  -770, -1405,  -769, -1405,  -766, -1405,   115,
 
 5857   -1405, -1405, -1405, -1405, -1405, -1405,   190, -1405, -1405, -1405,
 
 5858   -1405, -1405, -1405, -1405, -1405,   178, -1405, -1405, -1405, -1405,
 
 5859   -1405, -1405, -1405,   181, -1405, -1405, -1405,   185,   689, -1405,
 
 5860   -1405, -1405, -1405, -1405, -1405, -1405,   179, -1405, -1405, -1405,
 
 5861   -1405, -1405, -1405, -1057, -1405, -1405, -1405,   215, -1405, -1405,
 
 5862   -1405,   219,   736, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5863   -1405, -1055, -1405,   -29, -1405,   -18, -1405,    -4, -1405,     5,
 
 5864   -1405,   107,   110,   112, -1405, -1405, -1405, -1405, -1405,   210,
 
 5865   -1405, -1405,   -35,   -60, -1405, -1405, -1405, -1405, -1405,   218,
 
 5866   -1405, -1405, -1405,   223, -1405,   714, -1405,   -34, -1405, -1405,
 
 5867   -1405, -1405, -1405,   -27, -1405, -1405, -1405, -1405, -1405,   -32,
 
 5868   -1405, -1405, -1405,   216, -1405, -1405, -1405,   227, -1405,   712,
 
 5869   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5870   -1405, -1405, -1405, -1405,   167, -1405, -1405, -1405,   173,   746,
 
 5871   -1405, -1405, -1405,   -44, -1405,     3, -1405,   -56, -1405, -1405,
 
 5872   -1405,   224, -1405, -1405, -1405,   217, -1405,   749,   -48, -1405,
 
 5873      -7, -1405,    15, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5874   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5875   -1054, -1405, -1405, -1405, -1405, -1405, -1405, -1405,   230, -1405,
 
 5876   -1405, -1405,   -22, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5877   -1405, -1405, -1405, -1405, -1405, -1405, -1405,   191, -1405,   202,
 
 5878     206, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5879   -1405, -1405, -1405, -1405,   -77, -1405, -1405,  -101, -1405, -1405,
 
 5880   -1405, -1405, -1405,   -68, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5881   -1405, -1405, -1405, -1405, -1405,  -119, -1405, -1405,  -145, -1405,
 
 5882   -1405, -1405, -1405, -1405, -1405, -1405,   211, -1405, -1405, -1405,
 
 5883   -1405, -1405, -1405, -1405, -1405, -1405, -1405,   539,   738, -1405,
 
 5884   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
 
 5885   -1405, -1405, -1405, -1405, -1405, -1405,   582,   747, -1405, -1405,
 
 5886   -1405, -1405, -1405, -1405,   212, -1405, -1405,   -16, -1405, -1405,
 
 5887   -1405, -1405, -1405, -1405,   -86, -1405, -1405,  -113, -1405, -1405,
 
 5888   -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,   229, -1405,
 
 5893  Dhcp4Parser::yydefgoto_[] =
 
 5895       0,    14,    15,    16,    17,    18,    19,    20,    21,    22,
 
 5896      23,    24,    25,    26,    27,    36,    37,    38,    65,   776,
 
 5897      82,    83,    39,    64,    79,    80,   793,  1021,  1130,  1131,
 
 5898     873,    41,    66,    85,   458,    86,    43,    67,   160,   161,
 
 5899     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
 
 5900     172,   173,   486,   174,   175,   506,   176,   177,   178,   179,
 
 5901     180,   181,   182,   492,   762,   183,   493,   184,   494,   185,
 
 5902     186,   187,   507,   773,   188,   189,   190,   191,   192,   525,
 
 5903     193,   526,   194,   195,   196,   197,   198,   199,   200,   201,
 
 5904     202,   462,   241,   242,    45,    68,   243,   535,   244,   536,
 
 5905     796,   245,   537,   799,   246,   247,   248,   249,   203,   472,
 
 5906     204,   463,   842,   843,   844,  1033,   845,  1034,   205,   473,
 
 5907     206,   474,   901,   902,   903,  1062,   874,   875,   876,  1037,
 
 5908     877,  1038,   878,  1039,   879,  1040,   880,   881,   574,   882,
 
 5909     883,   884,   885,   886,   887,   888,   889,   890,   891,  1051,
 
 5910    1312,   892,   893,   894,  1054,   895,  1055,   896,  1056,   897,
 
 5911    1057,   898,  1058,   207,   514,   925,   926,   927,   928,   929,
 
 5912     930,   931,   208,   520,   961,   962,   963,   964,   965,   209,
 
 5913     517,   940,   941,   942,  1085,    59,    75,   422,   423,   424,
 
 5914     589,   425,   590,   210,   518,   949,   950,   951,   952,   953,
 
 5915     954,   955,   956,   211,   502,   905,   906,   907,  1065,    47,
 
 5916      69,   295,   296,   297,   548,   298,   544,   299,   545,   300,
 
 5917     546,   301,   549,   302,   554,   303,   551,   304,   552,   305,
 
 5918     553,   212,   213,   214,   309,   215,   508,   917,   918,   919,
 
 5919    1074,  1213,  1214,   216,   503,    53,    72,   909,   910,   911,
 
 5920    1068,    55,    73,   383,   384,   385,   386,   387,   388,   389,
 
 5921     573,   390,   577,   391,   576,   392,   393,   578,   394,   217,
 
 5922     504,   913,   914,   915,  1071,    57,    74,   406,   407,   408,
 
 5923     409,   410,   582,   411,   412,   413,   414,   415,   416,   586,
 
 5924     311,   547,  1023,  1024,  1025,  1132,    49,    70,   341,   342,
 
 5925     343,   558,   344,   218,   509,   219,   510,   220,   516,   936,
 
 5926     937,   938,  1082,    51,    71,   359,   360,   361,   221,   467,
 
 5927     222,   468,   223,   469,   365,   563,   366,   564,   367,   565,
 
 5928     368,   567,   369,   566,   370,   569,   371,   568,   372,   562,
 
 5929     318,   555,  1027,  1028,  1135,   224,   515,   933,   934,  1079,
 
 5930    1241,  1242,  1243,  1244,  1245,  1324,  1246,  1325,  1247,  1248,
 
 5931     225,   226,   521,   227,   522,   991,   992,   993,  1110,   981,
 
 5932     982,   983,  1101,  1335,   984,  1102,   985,  1103,   986,   987,
 
 5933     988,  1107,  1371,  1372,  1373,  1386,  1401,  1402,  1403,  1413,
 
 5934     989,  1105,  1364,  1365,  1366,  1380,  1409,  1367,  1381,  1368,
 
 5935    1382,  1369,  1383,  1420,  1421,  1422,  1438,  1456,  1457,  1458,
 
 5936    1467,  1459,  1468,   228,   523,  1000,  1001,  1002,  1003,  1114,
 
 5937    1004,  1005,  1116,   229,   524,    61,    76,   437,   438,   439,
 
 5938     440,   594,   441,   442,   596,   443,   444,   445,   599,   833,
 
 5939     446,   600,   230,   461,    63,    77,   449,   450,   451,   603,
 
 5940     452,   231,   530,  1008,  1009,  1120,  1287,  1288,  1289,  1290,
 
 5941    1345,  1291,  1343,  1406,  1407,  1416,  1430,  1431,  1432,  1442,
 
 5942    1433,  1434,  1435,  1436,  1446,   232,   531,  1015,  1016,  1017,
 
 5947  Dhcp4Parser::yytable_[] =
 
 5949     159,   240,   264,   321,   355,    78,   381,   402,   421,   434,
 
 5950     382,   403,   373,   314,   976,   977,   899,  1204,   978,  1205,
 
 5951    1221,   315,   831,   362,   250,   312,   345,   357,    28,   395,
 
 5952     417,  1357,   435,   775,  1452,   447,   448,   310,   340,   356,
 
 5953     404,   336,    29,   268,    30,    40,    31,   405,   459,   847,
 
 5954     848,    42,   337,   460,   135,   136,   278,   322,   806,   807,
 
 5955     808,  1453,   316,    81,   363,  1452,   338,   812,   419,   420,
 
 5956      84,   251,   313,   346,   358,   339,   396,   418,   375,   436,
 
 5957     419,   420,   279,   323,   317,   265,   364,    44,   826,  1309,
 
 5958    1310,  1311,  1453,   129,    93,    94,    95,    46,   135,   136,
 
 5959     266,  1077,   267,  1425,  1078,   775,  1426,  1427,  1428,  1429,
 
 5960     280,   324,   294,    48,   135,   136,    50,   994,   995,   996,
 
 5961     281,   325,   282,   326,  1080,   283,   327,  1081,   284,   328,
 
 5962     453,   135,   136,   286,   329,   287,   330,   533,   288,   331,
 
 5963     794,   795,   534,   289,   332,   290,   333,    52,   291,   334,
 
 5964     292,   335,   158,   269,  1121,   270,   271,  1122,   272,  1396,
 
 5965     273,   274,  1417,   275,   130,  1418,   276,   997,  1358,  1359,
 
 5966    1360,   277,   542,   285,   293,   556,   306,   543,    54,   307,
 
 5967     557,   308,    56,   233,   234,   135,   136,   235,  1449,  1450,
 
 5968     236,   237,   238,   239,   347,    58,   560,   757,   758,   759,
 
 5969     760,   561,   832,    60,   348,   349,   350,   351,   352,   353,
 
 5970     354,   158,   591,  1010,  1011,  1012,  1013,   592,   943,   944,
 
 5971     945,   946,   947,   948,   601,   797,   798,   158,   454,   602,
 
 5972     158,    93,    94,    95,    96,    62,   761,   866,   867,   868,
 
 5973     869,   870,   871,   455,   158,   605,   920,   921,   922,   923,
 
 5974     606,   924,   769,   770,   771,   772,   456,   375,   397,   376,
 
 5975     377,   398,   399,   400,   457,  1204,   464,  1205,  1221,   101,
 
 5976     102,   103,   465,    32,    33,    34,    35,   135,   136,   533,
 
 5977     605,   840,   841,   570,  1030,  1031,   401,   466,   135,   136,
 
 5978      87,   135,   136,    88,   542,  1332,  1333,  1334,   158,  1032,
 
 5979     129,   130,   375,   470,   471,    89,   375,   475,    90,    91,
 
 5980      92,    93,    94,    95,    96,    97,    98,    99,   100,   476,
 
 5981    1035,   571,   135,   136,  1164,  1036,   135,   136,   957,   958,
 
 5982     959,   477,   478,   479,  1224,  1225,  1226,  1227,   976,   977,
 
 5983     976,   977,   978,  1059,   978,   480,   481,   482,  1060,   101,
 
 5984     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
 
 5985     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
 
 5986     122,   123,   124,   125,   126,   127,   128,  1059,  1094,  1099,
 
 5987     129,   130,  1061,  1095,  1100,   483,   374,   484,   485,   487,
 
 5988     158,   488,   131,   132,   133,   607,   608,   489,   490,   134,
 
 5989    1108,   158,   135,   136,   158,  1109,   491,   137,   138,   139,
 
 5990     140,   141,  1117,  1280,   601,  1281,  1282,  1118,  1127,  1119,
 
 5991     142,  1059,   556,  1128,  1322,   572,  1318,  1319,   495,  1323,
 
 5992     143,   591,  1108,   144,   496,   158,  1331,  1340,  1346,   158,
 
 5993     145,   146,   560,  1347,   497,   147,   148,  1349,  1384,   375,
 
 5994    1414,   376,   377,  1385,  1447,  1415,   378,   379,   380,  1448,
 
 5995    1469,   580,   498,   499,   149,  1470,   159,   500,   150,   135,
 
 5996     136,   501,   505,   511,   512,   240,   513,   519,   527,   528,
 
 5997     529,   532,   538,   151,   152,   153,   154,   155,   156,   264,
 
 5998     539,   540,   541,   321,   550,   559,   575,   157,   250,   579,
 
 5999     314,   581,   587,   583,   355,   584,   585,   588,   315,   593,
 
 6000     595,   597,   312,   598,   381,   158,   345,   604,   382,   610,
 
 6001     609,   402,   611,   362,   310,   403,   612,   357,   340,   613,
 
 6002     268,   336,   614,   615,   434,   616,   617,   395,   618,   356,
 
 6003     619,   620,   337,   278,   417,   251,   621,   322,   622,   316,
 
 6004     623,   624,   630,   625,   404,   636,   338,   435,   626,   313,
 
 6005     627,   405,   628,   346,   363,   339,   642,   629,   634,   279,
 
 6006     631,   317,   265,   323,   358,   632,   633,   643,   639,   644,
 
 6007     652,   635,   158,   647,   396,   637,   364,   266,   638,   267,
 
 6008     653,   418,   640,   641,   645,   646,   648,   280,   649,   294,
 
 6009     650,   324,   135,   136,   436,   651,   654,   281,   655,   282,
 
 6010     656,   325,   283,   326,   657,   284,   327,   658,   659,   328,
 
 6011     286,   660,   287,   664,   329,   288,   330,   661,   662,   331,
 
 6012     289,   663,   290,   665,   332,   291,   333,   292,   666,   334,
 
 6013     269,   335,   270,   271,   667,   272,   668,   273,   274,   669,
 
 6014     275,   670,   671,   276,   672,   863,   864,   865,   277,   673,
 
 6015     285,   293,  1350,   306,   674,   675,   307,   676,   308,   426,
 
 6016     427,   428,   429,   430,   431,   432,   433,   677,   680,   159,
 
 6017     678,   240,   679,   681,   683,   684,   836,     1,     2,     3,
 
 6018       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
 
 6019     685,   686,   688,   691,   250,   687,   692,   693,   689,   694,
 
 6020     695,   696,   698,   699,   700,   158,   960,   975,   135,   136,
 
 6021     434,   697,   701,   702,  1014,   704,   705,   707,   708,   709,
 
 6022     710,   711,   712,   713,   714,   716,   717,   718,   719,   966,
 
 6023     979,   720,   998,   435,   721,   724,   728,   722,   730,   725,
 
 6024     726,   251,    91,    92,    93,    94,    95,    96,   727,   731,
 
 6025     733,   734,   736,   968,   735,   737,   738,   969,   970,   971,
 
 6026     972,   739,   740,   742,   743,   745,   750,   973,   974,   746,
 
 6027     747,   748,   749,   753,   751,   752,   967,   980,   754,   999,
 
 6028     436,   755,   101,   102,   103,   104,   105,   106,   107,   108,
 
 6029     109,   110,   756,   763,   764,   765,   115,   116,   117,   118,
 
 6030     119,   120,   121,   122,   123,   124,   125,   126,   127,   766,
 
 6031     252,   253,   254,   767,   130,   768,   774,    30,   777,   778,
 
 6032     779,   158,   780,   781,   785,   788,   132,   133,   782,   783,
 
 6033     789,   784,   786,   255,   787,   135,   136,   256,   257,   258,
 
 6034     137,   138,   139,   790,   259,   260,   261,   791,   792,   800,
 
 6035     801,   262,   802,   142,   803,   810,   804,   805,   809,   811,
 
 6036     835,   263,   813,   846,   847,   848,   849,   850,   851,   852,
 
 6037     853,   854,   855,   856,   857,   858,   859,   860,   814,   815,
 
 6038     816,   861,   862,   863,   864,   865,   866,   867,   868,   869,
 
 6039     870,   871,   872,   817,   818,   819,   820,   821,   822,   823,
 
 6040     834,   824,   825,   827,   829,   900,   904,   908,   830,   912,
 
 6041     916,   932,   935,   939,   990,  1007,   151,   152,  1022,  1026,
 
 6042    1041,  1042,  1043,  1044,  1045,  1046,   375,  1047,  1048,  1049,
 
 6043    1050,  1052,  1053,  1064,   828,  1063,  1067,  1066,  1069,  1070,
 
 6044    1072,  1073,  1076,  1075,  1084,  1087,  1083,  1112,   158,  1086,
 
 6045    1088,  1089,  1090,  1091,  1092,  1093,  1096,  1097,  1098,  1104,
 
 6046    1106,  1129,  1113,  1111,  1115,  1123,  1124,  1125,  1126,  1134,
 
 6047    1145,  1133,  1147,  1138,  1137,  1136,  1139,  1141,  1142,  1143,
 
 6048    1144,  1146,  1148,  1149,  1155,  1158,  1150,  1151,   264,  1152,
 
 6049    1153,   381,  1154,  1156,   402,   382,  1159,  1172,   403,   314,
 
 6050    1160,  1203,  1228,  1161,  1157,   355,  1233,   315,   421,  1234,
 
 6051    1162,   312,  1254,  1261,   395,  1255,  1218,   417,  1256,  1257,
 
 6052    1216,  1238,   960,   310,   362,  1236,  1258,   404,   357,   268,
 
 6053    1259,   975,  1215,   975,   405,  1206,  1262,  1235,  1176,  1263,
 
 6054     356,  1265,   278,  1283,  1266,   966,  1207,  1284,   316,  1267,
 
 6055    1014,  1186,  1269,  1268,   979,   321,   979,  1219,   313,   158,
 
 6056    1208,   396,  1239,   998,   418,   363,  1285,  1217,   279,  1209,
 
 6057     317,   265,  1237,  1270,  1271,   358,  1275,  1187,   345,  1220,
 
 6058    1173,  1276,  1277,  1278,  1240,  1229,   266,   364,   267,  1293,
 
 6059     340,  1294,   967,   336,  1298,  1174,   280,  1175,   294,  1295,
 
 6060    1230,   980,  1231,   980,   337,  1188,   281,  1202,   282,   322,
 
 6061     999,   283,  1232,  1286,   284,  1189,  1296,  1190,   338,   286,
 
 6062    1191,   287,  1299,  1192,   288,   346,  1302,   339,  1194,   289,
 
 6063    1195,   290,  1303,  1196,   291,   323,   292,  1304,  1197,   269,
 
 6064    1198,   270,   271,  1199,   272,  1200,   273,   274,  1177,   275,
 
 6065    1178,  1179,   276,  1180,  1320,  1181,  1182,   277,  1183,   285,
 
 6066     293,  1184,   306,   324,  1321,   307,  1185,   308,  1193,  1201,
 
 6067    1326,  1210,  1327,   325,  1211,   326,  1212,  1328,   327,  1329,
 
 6068    1330,   328,  1338,  1339,  1344,  1352,   329,  1353,   330,  1370,
 
 6069    1374,   331,  1376,  1387,  1388,  1305,   332,  1389,   333,  1391,
 
 6070    1392,   334,  1393,   335,  1394,  1408,  1306,  1307,  1405,  1342,
 
 6071    1412,  1419,  1423,  1308,  1313,  1314,  1439,  1440,  1315,  1317,
 
 6072    1336,  1337,  1341,  1348,  1443,  1444,  1378,  1354,  1355,  1445,
 
 6073    1375,  1379,  1461,  1390,  1410,  1465,  1411,  1441,  1473,  1474,
 
 6074    1463,  1462,  1464,  1471,  1472,  1172,  1476,  1477,   837,  1203,
 
 6075    1029,  1140,  1228,  1163,   839,  1165,  1233,  1223,  1253,  1234,
 
 6076    1252,  1361,   682,  1260,  1218,   690,  1316,  1264,  1216,  1283,
 
 6077     732,  1238,  1167,  1284,  1166,  1236,  1222,  1351,  1169,  1171,
 
 6078    1215,  1168,   703,  1206,  1362,   723,  1176,  1235,  1170,  1250,
 
 6079     729,  1301,  1285,  1274,  1207,  1300,   706,  1356,  1251,  1186,
 
 6080    1249,  1404,  1273,  1424,  1272,  1219,  1395,  1361,  1208,  1397,
 
 6081     715,  1460,  1239,  1398,  1475,  1217,  1006,  1209,  1279,   838,
 
 6082    1377,  1437,  1237,  1292,  1466,  1187,     0,  1220,  1173,   741,
 
 6083    1362,  1363,  1399,     0,  1240,  1229,     0,  1397,     0,  1286,
 
 6084       0,  1398,   744,  1174,     0,  1175,  1297,     0,     0,     0,
 
 6085    1230,     0,  1231,  1188,     0,  1202,     0,     0,     0,     0,
 
 6086    1399,  1451,  1232,  1189,     0,  1190,     0,     0,  1191,     0,
 
 6087       0,  1192,     0,     0,     0,     0,  1194,  1363,  1195,  1400,
 
 6088       0,  1196,     0,     0,  1454,     0,  1197,     0,  1198,     0,
 
 6089       0,  1199,  1451,  1200,     0,     0,  1177,     0,  1178,  1179,
 
 6090       0,  1180,     0,  1181,  1182,     0,  1183,  1400,     0,  1184,
 
 6091       0,     0,     0,     0,  1185,  1454,  1193,  1201,     0,  1210,
 
 6092       0,     0,  1211,     0,  1212,    91,    92,    93,    94,    95,
 
 6093      96,  1455,     0,     0,     0,     0,     0,     0,     0,     0,
 
 6094       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 6095       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 6096       0,     0,  1455,     0,     0,   101,   102,   103,   104,   105,
 
 6097     106,   107,   108,   109,   110,     0,     0,     0,     0,   115,
 
 6098     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
 
 6099     126,   127,   128,     0,     0,     0,     0,   130,   375,     0,
 
 6100       0,     0,     0,     0,     0,     0,     0,     0,     0,   132,
 
 6101     133,     0,     0,     0,     0,     0,     0,     0,   135,   136,
 
 6102       0,   257,     0,   137,   138,   139,     0,   259,   260,   261,
 
 6103       0,     0,     0,     0,   262,     0,     0,   115,   116,   117,
 
 6104     118,   119,   120,   121,   263,   123,   124,   125,   126,     0,
 
 6105       0,     0,     0,     0,     0,   130,     0,     0,     0,     0,
 
 6106       0,     0,     0,     0,     0,     0,     0,     0,   133,     0,
 
 6107       0,     0,     0,     0,     0,   319,   135,   136,     0,     0,
 
 6108       0,     0,     0,     0,     0,   259,   260,   261,     0,     0,
 
 6109       0,     0,   262,   320,     0,     0,     0,     0,     0,   151,
 
 6110     152,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 6111       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 6112       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 6113       0,   158,     0,     0,     0,     0,     0,     0,     0,     0,
 
 6114       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 6115       0,     0,     0,     0,     0,     0,     0,   151,   152,     0,
 
 6116       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 6117       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
 6118       0,     0,     0,     0,     0,     0,     0,     0,     0,   158
 
 6122  Dhcp4Parser::yycheck_[] =
 
 6124      67,    68,    69,    70,    71,    64,    73,    74,    75,    76,
 
 6125      73,    74,    72,    69,   784,   784,   754,  1074,   784,  1074,
 
 6126    1074,    69,    18,    71,    68,    69,    70,    71,     0,    73,
 
 6127      74,    40,    76,   659,  1438,    12,    13,    69,    70,    71,
 
 6128      74,    70,     5,    69,     7,     7,     9,    74,     3,    41,
 
 6129      42,     7,    70,     8,   123,   124,    69,    70,   698,   699,
 
 6130     700,  1438,    69,   236,    71,  1469,    70,   707,   152,   153,
 
 6131      10,    68,    69,    70,    71,    70,    73,    74,   103,    76,
 
 6132     152,   153,    69,    70,    69,    69,    71,     7,   728,    55,
 
 6133      56,    57,  1469,   101,    32,    33,    34,     7,   123,   124,
 
 6134      69,     3,    69,   211,     6,   731,   214,   215,   216,   217,
 
 6135      69,    70,    69,     7,   123,   124,     7,   186,   187,   188,
 
 6136      69,    70,    69,    70,     3,    69,    70,     6,    69,    70,
 
 6137       6,   123,   124,    69,    70,    69,    70,     3,    69,    70,
 
 6138      17,    18,     8,    69,    70,    69,    70,     7,    69,    70,
 
 6139      69,    70,   236,    69,     3,    69,    69,     6,    69,   184,
 
 6140      69,    69,     3,    69,   102,     6,    69,   236,   177,   178,
 
 6141     179,    69,     3,    69,    69,     3,    69,     8,     7,    69,
 
 6142       8,    69,     7,    15,    16,   123,   124,    19,   180,   181,
 
 6143      22,    23,    24,    25,   132,     7,     3,   200,   201,   202,
 
 6144     203,     8,   198,     7,   142,   143,   144,   145,   146,   147,
 
 6145     148,   236,     3,   219,   220,   221,   222,     8,   155,   156,
 
 6146     157,   158,   159,   160,     3,    20,    21,   236,     3,     8,
 
 6147     236,    32,    33,    34,    35,     7,   239,    63,    64,    65,
 
 6148      66,    67,    68,     4,   236,     3,   143,   144,   145,   146,
 
 6149       8,   148,   116,   117,   118,   119,     8,   103,   104,   105,
 
 6150     106,   107,   108,   109,     3,  1322,     4,  1322,  1322,    70,
 
 6151      71,    72,     4,   236,   237,   238,   239,   123,   124,     3,
 
 6152       3,    27,    28,     8,     8,     8,   132,     4,   123,   124,
 
 6153      11,   123,   124,    14,     3,   169,   170,   171,   236,     8,
 
 6154     101,   102,   103,     4,     4,    26,   103,     4,    29,    30,
 
 6155      31,    32,    33,    34,    35,    36,    37,    38,    39,     4,
 
 6156       3,     3,   123,   124,  1062,     8,   123,   124,   163,   164,
 
 6157     165,     4,     4,     4,   135,   136,   137,   138,  1108,  1108,
 
 6158    1110,  1110,  1108,     3,  1110,     4,     4,     4,     8,    70,
 
 6159      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
 
 6160      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
 
 6161      91,    92,    93,    94,    95,    96,    97,     3,     3,     3,
 
 6162     101,   102,     8,     8,     8,     4,    40,     4,     4,     4,
 
 6163     236,     4,   113,   114,   115,   454,   455,     4,     4,   120,
 
 6164       3,   236,   123,   124,   236,     8,     4,   128,   129,   130,
 
 6165     131,   132,     3,   210,     3,   212,   213,     8,     3,     8,
 
 6166     141,     3,     3,     8,     3,     8,     8,     8,     4,     8,
 
 6167     151,     3,     3,   154,     4,   236,     8,     8,     3,   236,
 
 6168     161,   162,     3,     8,     4,   166,   167,     8,     3,   103,
 
 6169       3,   105,   106,     8,     3,     8,   110,   111,   112,     8,
 
 6170       3,     8,     4,     4,   185,     8,   533,     4,   189,   123,
 
 6171     124,     4,     4,     4,     4,   542,     4,     4,     4,     4,
 
 6172       4,     4,     4,   204,   205,   206,   207,   208,   209,   556,
 
 6173       4,     4,     4,   560,     4,     4,     4,   218,   542,     4,
 
 6174     556,     3,     8,     4,   571,     4,     4,     3,   556,     4,
 
 6175       4,     4,   556,     4,   581,   236,   560,     4,   581,     4,
 
 6176     236,   588,     4,   571,   556,   588,     4,   571,   560,     4,
 
 6177     556,   560,   239,   239,   601,   239,     4,   581,     4,   571,
 
 6178       4,   237,   560,   556,   588,   542,   239,   560,     4,   556,
 
 6179       4,     4,   239,   237,   588,     4,   560,   601,   237,   556,
 
 6180     237,   588,   237,   560,   571,   560,     4,   237,   237,   556,
 
 6181     238,   556,   556,   560,   571,   238,   238,     4,   239,     4,
 
 6182       4,   237,   236,   238,   581,   237,   571,   556,   237,   556,
 
 6183       4,   588,   239,   239,   239,   239,   237,   556,   237,   556,
 
 6184     237,   560,   123,   124,   601,   239,     4,   556,   237,   556,
 
 6185       4,   560,   556,   560,     4,   556,   560,     4,     4,   560,
 
 6186     556,     4,   556,     4,   560,   556,   560,   239,   239,   560,
 
 6187     556,   239,   556,     4,   560,   556,   560,   556,     4,   560,
 
 6188     556,   560,   556,   556,     4,   556,     4,   556,   556,   237,
 
 6189     556,     4,     4,   556,     4,    60,    61,    62,   556,     4,
 
 6190     556,   556,  1302,   556,     4,     4,   556,     4,   556,   190,
 
 6191     191,   192,   193,   194,   195,   196,   197,   239,     4,   746,
 
 6192     239,   748,   239,     4,     4,     4,   745,   223,   224,   225,
 
 6193     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
 
 6194       4,   239,   237,     4,   748,   239,     4,     4,   237,     4,
 
 6195       4,     4,     4,     4,     4,   236,   783,   784,   123,   124,
 
 6196     787,   237,     4,     4,   791,     4,   237,     4,     4,     4,
 
 6197       4,     4,     4,     4,     4,     4,     4,   237,     4,   783,
 
 6198     784,     4,   786,   787,     4,     4,     4,   239,     4,   239,
 
 6199     239,   748,    30,    31,    32,    33,    34,    35,   239,     4,
 
 6200     239,     4,     4,   168,   237,   237,   237,   172,   173,   174,
 
 6201     175,     4,     4,     4,   237,     4,   236,   182,   183,     7,
 
 6202       7,     7,     7,     7,   236,   236,   783,   784,     7,   786,
 
 6203     787,     5,    70,    71,    72,    73,    74,    75,    76,    77,
 
 6204      78,    79,   236,   236,   236,     5,    84,    85,    86,    87,
 
 6205      88,    89,    90,    91,    92,    93,    94,    95,    96,     5,
 
 6206      98,    99,   100,     5,   102,   236,     5,     7,   236,     5,
 
 6207       5,   236,     5,     5,     5,   236,   114,   115,     7,     7,
 
 6208     236,     7,     7,   121,     7,   123,   124,   125,   126,   127,
 
 6209     128,   129,   130,     5,   132,   133,   134,     7,     5,   236,
 
 6210     236,   139,   236,   141,     5,     7,   236,   236,   236,   236,
 
 6211       5,   149,   236,    40,    41,    42,    43,    44,    45,    46,
 
 6212      47,    48,    49,    50,    51,    52,    53,    54,   236,   236,
 
 6213     236,    58,    59,    60,    61,    62,    63,    64,    65,    66,
 
 6214      67,    68,    69,   236,   236,   236,   236,   236,   236,   236,
 
 6215     199,   236,   236,   236,   236,     7,     7,     7,   236,     7,
 
 6216       7,     7,     7,     7,     7,     7,   204,   205,     7,   150,
 
 6217       4,     4,     4,     4,     4,     4,   103,     4,     4,     4,
 
 6218       4,     4,     4,     3,   731,     6,     3,     6,     6,     3,
 
 6219       6,     3,     3,     6,     3,     3,     6,     3,   236,     6,
 
 6220       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
 
 6221       4,   236,     4,     6,     4,     4,     4,     4,     4,     3,
 
 6222     237,     6,   237,     4,     6,     8,     4,     4,     4,     4,
 
 6223       4,   239,   239,   237,     4,     4,   237,   237,  1065,   237,
 
 6224     237,  1068,   237,   239,  1071,  1068,     4,  1074,  1071,  1065,
 
 6225       4,  1074,  1079,     4,   237,  1082,  1079,  1065,  1085,  1079,
 
 6226       4,  1065,   237,   239,  1068,   237,  1074,  1071,   237,   237,
 
 6227    1074,  1079,  1099,  1065,  1082,  1079,   237,  1071,  1082,  1065,
 
 6228     237,  1108,  1074,  1110,  1071,  1074,   237,  1079,  1074,   237,
 
 6229    1082,     4,  1065,  1120,     4,  1099,  1074,  1120,  1065,     4,
 
 6230    1127,  1074,     4,   237,  1108,  1132,  1110,  1074,  1065,   236,
 
 6231    1074,  1068,  1079,  1117,  1071,  1082,  1120,  1074,  1065,  1074,
 
 6232    1065,  1065,  1079,   239,     4,  1082,   239,  1074,  1132,  1074,
 
 6233    1074,     4,   237,     4,  1079,  1079,  1065,  1082,  1065,   239,
 
 6234    1132,   239,  1099,  1132,     6,  1074,  1065,  1074,  1065,   239,
 
 6235    1079,  1108,  1079,  1110,  1132,  1074,  1065,  1074,  1065,  1132,
 
 6236    1117,  1065,  1079,  1120,  1065,  1074,   239,  1074,  1132,  1065,
 
 6237    1074,  1065,     3,  1074,  1065,  1132,     4,  1132,  1074,  1065,
 
 6238    1074,  1065,   236,  1074,  1065,  1132,  1065,   236,  1074,  1065,
 
 6239    1074,  1065,  1065,  1074,  1065,  1074,  1065,  1065,  1074,  1065,
 
 6240    1074,  1074,  1065,  1074,     8,  1074,  1074,  1065,  1074,  1065,
 
 6241    1065,  1074,  1065,  1132,     8,  1065,  1074,  1065,  1074,  1074,
 
 6242       4,  1074,     4,  1132,  1074,  1132,  1074,     8,  1132,     3,
 
 6243       8,  1132,     7,     5,     4,     4,  1132,     4,  1132,     7,
 
 6244       4,  1132,     4,     6,     3,   236,  1132,     5,  1132,     4,
 
 6245       4,  1132,     4,  1132,     4,   176,   236,   236,     7,  1278,
 
 6246       5,     7,     4,   236,   236,   236,     6,     3,   236,   236,
 
 6247     236,   236,   236,   236,     4,     4,   236,   239,   239,     4,
 
 6248     237,   236,     4,   236,   236,     4,   236,   236,     4,     4,
 
 6249     237,   239,   237,   236,   236,  1322,   236,   236,   746,  1322,
 
 6250     835,  1035,  1329,  1059,   748,  1064,  1329,  1077,  1087,  1329,
 
 6251    1085,  1338,   533,  1094,  1322,   542,  1161,  1099,  1322,  1346,
 
 6252     591,  1329,  1067,  1346,  1065,  1329,  1076,  1322,  1070,  1073,
 
 6253    1322,  1068,   556,  1322,  1338,   581,  1322,  1329,  1071,  1082,
 
 6254     588,  1134,  1346,  1112,  1322,  1132,   560,  1329,  1084,  1322,
 
 6255    1080,  1388,  1110,  1414,  1108,  1322,  1384,  1384,  1322,  1386,
 
 6256     571,  1440,  1329,  1386,  1469,  1322,   787,  1322,  1117,   747,
 
 6257    1346,  1417,  1329,  1121,  1447,  1322,    -1,  1322,  1322,   601,
 
 6258    1384,  1338,  1386,    -1,  1329,  1329,    -1,  1414,    -1,  1346,
 
 6259      -1,  1414,   605,  1322,    -1,  1322,  1127,    -1,    -1,    -1,
 
 6260    1329,    -1,  1329,  1322,    -1,  1322,    -1,    -1,    -1,    -1,
 
 6261    1414,  1438,  1329,  1322,    -1,  1322,    -1,    -1,  1322,    -1,
 
 6262      -1,  1322,    -1,    -1,    -1,    -1,  1322,  1384,  1322,  1386,
 
 6263      -1,  1322,    -1,    -1,  1438,    -1,  1322,    -1,  1322,    -1,
 
 6264      -1,  1322,  1469,  1322,    -1,    -1,  1322,    -1,  1322,  1322,
 
 6265      -1,  1322,    -1,  1322,  1322,    -1,  1322,  1414,    -1,  1322,
 
 6266      -1,    -1,    -1,    -1,  1322,  1469,  1322,  1322,    -1,  1322,
 
 6267      -1,    -1,  1322,    -1,  1322,    30,    31,    32,    33,    34,
 
 6268      35,  1438,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
 6269      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
 6270      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
 6271      -1,    -1,  1469,    -1,    -1,    70,    71,    72,    73,    74,
 
 6272      75,    76,    77,    78,    79,    -1,    -1,    -1,    -1,    84,
 
 6273      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
 
 6274      95,    96,    97,    -1,    -1,    -1,    -1,   102,   103,    -1,
 
 6275      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
 
 6276     115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,   124,
 
 6277      -1,   126,    -1,   128,   129,   130,    -1,   132,   133,   134,
 
 6278      -1,    -1,    -1,    -1,   139,    -1,    -1,    84,    85,    86,
 
 6279      87,    88,    89,    90,   149,    92,    93,    94,    95,    -1,
 
 6280      -1,    -1,    -1,    -1,    -1,   102,    -1,    -1,    -1,    -1,
 
 6281      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   115,    -1,
 
 6282      -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,
 
 6283      -1,    -1,    -1,    -1,    -1,   132,   133,   134,    -1,    -1,
 
 6284      -1,    -1,   139,   140,    -1,    -1,    -1,    -1,    -1,   204,
 
 6285     205,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
 6286      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
 6287      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
 6288      -1,   236,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
 6289      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
 6290      -1,    -1,    -1,    -1,    -1,    -1,    -1,   204,   205,    -1,
 
 6291      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
 6292      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
 6293      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   236
 
 6297  Dhcp4Parser::yystos_[] =
 
 6299       0,   223,   224,   225,   226,   227,   228,   229,   230,   231,
 
 6300     232,   233,   234,   235,   241,   242,   243,   244,   245,   246,
 
 6301     247,   248,   249,   250,   251,   252,   253,   254,     0,     5,
 
 6302       7,     9,   236,   237,   238,   239,   255,   256,   257,   262,
 
 6303       7,   271,     7,   276,     7,   334,     7,   449,     7,   536,
 
 6304       7,   553,     7,   485,     7,   491,     7,   515,     7,   425,
 
 6305       7,   665,     7,   684,   263,   258,   272,   277,   335,   450,
 
 6306     537,   554,   486,   492,   516,   426,   666,   685,   255,   264,
 
 6307     265,   236,   260,   261,    10,   273,   275,    11,    14,    26,
 
 6308      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
 
 6309      39,    70,    71,    72,    73,    74,    75,    76,    77,    78,
 
 6310      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
 
 6311      89,    90,    91,    92,    93,    94,    95,    96,    97,   101,
 
 6312     102,   113,   114,   115,   120,   123,   124,   128,   129,   130,
 
 6313     131,   132,   141,   151,   154,   161,   162,   166,   167,   185,
 
 6314     189,   204,   205,   206,   207,   208,   209,   218,   236,   270,
 
 6315     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
 
 6316     288,   289,   290,   291,   293,   294,   296,   297,   298,   299,
 
 6317     300,   301,   302,   305,   307,   309,   310,   311,   314,   315,
 
 6318     316,   317,   318,   320,   322,   323,   324,   325,   326,   327,
 
 6319     328,   329,   330,   348,   350,   358,   360,   403,   412,   419,
 
 6320     433,   443,   471,   472,   473,   475,   483,   509,   543,   545,
 
 6321     547,   558,   560,   562,   585,   600,   601,   603,   653,   663,
 
 6322     682,   691,   715,    15,    16,    19,    22,    23,    24,    25,
 
 6323     270,   332,   333,   336,   338,   341,   344,   345,   346,   347,
 
 6324     543,   545,    98,    99,   100,   121,   125,   126,   127,   132,
 
 6325     133,   134,   139,   149,   270,   280,   281,   282,   283,   284,
 
 6326     285,   286,   287,   288,   289,   294,   297,   298,   299,   300,
 
 6327     301,   302,   305,   307,   309,   310,   311,   314,   315,   316,
 
 6328     317,   318,   320,   322,   328,   451,   452,   453,   455,   457,
 
 6329     459,   461,   463,   465,   467,   469,   471,   472,   473,   474,
 
 6330     509,   530,   543,   545,   547,   558,   560,   562,   580,   122,
 
 6331     140,   270,   299,   300,   301,   302,   305,   307,   309,   311,
 
 6332     314,   315,   316,   317,   318,   320,   463,   465,   467,   469,
 
 6333     509,   538,   539,   540,   542,   543,   545,   132,   142,   143,
 
 6334     144,   145,   146,   147,   148,   270,   509,   543,   545,   555,
 
 6335     556,   557,   558,   560,   562,   564,   566,   568,   570,   572,
 
 6336     574,   576,   578,   483,    40,   103,   105,   106,   110,   111,
 
 6337     112,   270,   377,   493,   494,   495,   496,   497,   498,   499,
 
 6338     501,   503,   505,   506,   508,   543,   545,   104,   107,   108,
 
 6339     109,   132,   270,   377,   497,   503,   517,   518,   519,   520,
 
 6340     521,   523,   524,   525,   526,   527,   528,   543,   545,   152,
 
 6341     153,   270,   427,   428,   429,   431,   190,   191,   192,   193,
 
 6342     194,   195,   196,   197,   270,   543,   545,   667,   668,   669,
 
 6343     670,   672,   673,   675,   676,   677,   680,    12,    13,   686,
 
 6344     687,   688,   690,     6,     3,     4,     8,     3,   274,     3,
 
 6345       8,   683,   331,   351,     4,     4,     4,   559,   561,   563,
 
 6346       4,     4,   349,   359,   361,     4,     4,     4,     4,     4,
 
 6347       4,     4,     4,     4,     4,     4,   292,     4,     4,     4,
 
 6348       4,     4,   303,   306,   308,     4,     4,     4,     4,     4,
 
 6349       4,     4,   444,   484,   510,     4,   295,   312,   476,   544,
 
 6350     546,     4,     4,     4,   404,   586,   548,   420,   434,     4,
 
 6351     413,   602,   604,   654,   664,   319,   321,     4,     4,     4,
 
 6352     692,   716,     4,     3,     8,   337,   339,   342,     4,     4,
 
 6353       4,     4,     3,     8,   456,   458,   460,   531,   454,   462,
 
 6354       4,   466,   468,   470,   464,   581,     3,     8,   541,     4,
 
 6355       3,     8,   579,   565,   567,   569,   573,   571,   577,   575,
 
 6356       8,     3,     8,   500,   378,     4,   504,   502,   507,     4,
 
 6357       8,     3,   522,     4,     4,     4,   529,     8,     3,   430,
 
 6358     432,     3,     8,     4,   671,     4,   674,     4,     4,   678,
 
 6359     681,     3,     8,   689,     4,     3,     8,   255,   255,   236,
 
 6360       4,     4,     4,     4,   239,   239,   239,     4,     4,     4,
 
 6361     237,   239,     4,     4,     4,   237,   237,   237,   237,   237,
 
 6362     239,   238,   238,   238,   237,   237,     4,   237,   237,   239,
 
 6363     239,   239,     4,     4,     4,   239,   239,   238,   237,   237,
 
 6364     237,   239,     4,     4,     4,   237,     4,     4,     4,     4,
 
 6365       4,   239,   239,   239,     4,     4,     4,     4,     4,   237,
 
 6366       4,     4,     4,     4,     4,     4,     4,   239,   239,   239,
 
 6367       4,     4,   279,     4,     4,     4,   239,   239,   237,   237,
 
 6368     333,     4,     4,     4,     4,     4,     4,   237,     4,     4,
 
 6369       4,     4,     4,   452,     4,   237,   539,     4,     4,     4,
 
 6370       4,     4,     4,     4,     4,   557,     4,     4,   237,     4,
 
 6371       4,     4,   239,   495,     4,   239,   239,   239,     4,   519,
 
 6372       4,     4,   428,   239,     4,   237,     4,   237,   237,     4,
 
 6373       4,   668,     4,   237,   687,     4,     7,     7,     7,     7,
 
 6374     236,   236,   236,     7,     7,     5,   236,   200,   201,   202,
 
 6375     203,   239,   304,   236,   236,     5,     5,     5,   236,   116,
 
 6376     117,   118,   119,   313,     5,   257,   259,   236,     5,     5,
 
 6377       5,     5,     7,     7,     7,     5,     7,     7,   236,   236,
 
 6378       5,     7,     5,   266,    17,    18,   340,    20,    21,   343,
 
 6379     236,   236,   236,     5,   236,   236,   266,   266,   266,   236,
 
 6380       7,   236,   266,   236,   236,   236,   236,   236,   236,   236,
 
 6381     236,   236,   236,   236,   236,   236,   266,   236,   259,   236,
 
 6382     236,    18,   198,   679,   199,     5,   255,   278,   686,   332,
 
 6383      27,    28,   352,   353,   354,   356,    40,    41,    42,    43,
 
 6384      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
 
 6385      54,    58,    59,    60,    61,    62,    63,    64,    65,    66,
 
 6386      67,    68,    69,   270,   366,   367,   368,   370,   372,   374,
 
 6387     376,   377,   379,   380,   381,   382,   383,   384,   385,   386,
 
 6388     387,   388,   391,   392,   393,   395,   397,   399,   401,   366,
 
 6389       7,   362,   363,   364,     7,   445,   446,   447,     7,   487,
 
 6390     488,   489,     7,   511,   512,   513,     7,   477,   478,   479,
 
 6391     143,   144,   145,   146,   148,   405,   406,   407,   408,   409,
 
 6392     410,   411,     7,   587,   588,     7,   549,   550,   551,     7,
 
 6393     421,   422,   423,   155,   156,   157,   158,   159,   160,   435,
 
 6394     436,   437,   438,   439,   440,   441,   442,   163,   164,   165,
 
 6395     270,   414,   415,   416,   417,   418,   543,   545,   168,   172,
 
 6396     173,   174,   175,   182,   183,   270,   393,   395,   397,   543,
 
 6397     545,   609,   610,   611,   614,   616,   618,   619,   620,   630,
 
 6398       7,   605,   606,   607,   186,   187,   188,   236,   543,   545,
 
 6399     655,   656,   657,   658,   660,   661,   667,     7,   693,   694,
 
 6400     219,   220,   221,   222,   270,   717,   718,   719,   720,   721,
 
 6401     722,   267,     7,   532,   533,   534,   150,   582,   583,   362,
 
 6402       8,     8,     8,   355,   357,     3,     8,   369,   371,   373,
 
 6403     375,     4,     4,     4,     4,     4,     4,     4,     4,     4,
 
 6404       4,   389,     4,     4,   394,   396,   398,   400,   402,     3,
 
 6405       8,     8,   365,     6,     3,   448,     6,     3,   490,     6,
 
 6406       3,   514,     6,     3,   480,     6,     3,     3,     6,   589,
 
 6407       3,     6,   552,     6,     3,   424,     6,     3,     4,     4,
 
 6408       4,     4,     4,     4,     3,     8,     4,     4,     4,     3,
 
 6409       8,   612,   615,   617,     4,   631,     4,   621,     3,     8,
 
 6410     608,     6,     3,     4,   659,     4,   662,     3,     8,     8,
 
 6411     695,     3,     6,     4,     4,     4,     4,     3,     8,   236,
 
 6412     268,   269,   535,     6,     3,   584,     8,     6,     4,     4,
 
 6413     353,     4,     4,     4,     4,   237,   239,   237,   239,   237,
 
 6414     237,   237,   237,   237,   237,     4,   239,   237,     4,     4,
 
 6415       4,     4,     4,   367,   366,   364,   451,   447,   493,   489,
 
 6416     517,   513,   270,   280,   281,   282,   283,   284,   285,   286,
 
 6417     287,   288,   289,   294,   297,   298,   299,   300,   301,   302,
 
 6418     305,   307,   309,   310,   311,   314,   315,   316,   317,   318,
 
 6419     320,   322,   328,   377,   443,   461,   463,   465,   467,   469,
 
 6420     471,   472,   473,   481,   482,   509,   543,   545,   558,   560,
 
 6421     562,   580,   479,   406,   135,   136,   137,   138,   270,   280,
 
 6422     281,   282,   328,   377,   483,   509,   543,   545,   558,   560,
 
 6423     562,   590,   591,   592,   593,   594,   596,   598,   599,   588,
 
 6424     555,   551,   427,   423,   237,   237,   237,   237,   237,   237,
 
 6425     436,   239,   237,   237,   415,     4,     4,     4,   237,     4,
 
 6426     239,     4,   610,   609,   607,   239,     4,   237,     4,   656,
 
 6427     210,   212,   213,   270,   377,   543,   545,   696,   697,   698,
 
 6428     699,   701,   694,   239,   239,   239,   239,   718,     6,     3,
 
 6429     538,   534,     4,   236,   236,   236,   236,   236,   236,    55,
 
 6430      56,    57,   390,   236,   236,   236,   399,   236,     8,     8,
 
 6431       8,     8,     3,     8,   595,   597,     4,     4,     8,     3,
 
 6432       8,     8,   169,   170,   171,   613,   236,   236,     7,     5,
 
 6433       8,   236,   255,   702,     4,   700,     3,     8,   236,     8,
 
 6434     266,   482,     4,     4,   239,   239,   592,    40,   177,   178,
 
 6435     179,   270,   543,   545,   632,   633,   634,   637,   639,   641,
 
 6436       7,   622,   623,   624,     4,   237,     4,   697,   236,   236,
 
 6437     635,   638,   640,   642,     3,     8,   625,     6,     3,     5,
 
 6438     236,     4,     4,     4,     4,   633,   184,   270,   377,   543,
 
 6439     545,   626,   627,   628,   624,     7,   703,   704,   176,   636,
 
 6440     236,   236,     5,   629,     3,     8,   705,     3,     6,     7,
 
 6441     643,   644,   645,     4,   627,   211,   214,   215,   216,   217,
 
 6442     706,   707,   708,   710,   711,   712,   713,   704,   646,     6,
 
 6443       3,   236,   709,     4,     4,     4,   714,     3,     8,   180,
 
 6444     181,   270,   370,   372,   543,   545,   647,   648,   649,   651,
 
 6445     645,     4,   239,   237,   237,     4,   707,   650,   652,     3,
 
 6446       8,   236,   236,     4,     4,   648,   236,   236
 
 6450  Dhcp4Parser::yyr1_[] =
 
 6452       0,   240,   242,   241,   243,   241,   244,   241,   245,   241,
 
 6453     246,   241,   247,   241,   248,   241,   249,   241,   250,   241,
 
 6454     251,   241,   252,   241,   253,   241,   254,   241,   255,   255,
 
 6455     255,   255,   255,   255,   255,   256,   258,   257,   259,   260,
 
 6456     260,   261,   261,   261,   263,   262,   264,   264,   265,   265,
 
 6457     265,   267,   266,   268,   268,   269,   269,   269,   270,   272,
 
 6458     271,   274,   273,   273,   275,   277,   276,   278,   278,   278,
 
 6459     279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
 
 6460     279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
 
 6461     279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
 
 6462     279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
 
 6463     279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
 
 6464     279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
 
 6465     279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
 
 6466     279,   279,   280,   281,   282,   283,   284,   285,   286,   287,
 
 6467     288,   289,   290,   292,   291,   293,   295,   294,   296,   297,
 
 6468     298,   299,   300,   301,   303,   302,   304,   304,   304,   304,
 
 6469     304,   306,   305,   308,   307,   309,   310,   312,   311,   313,
 
 6470     313,   313,   313,   314,   315,   316,   317,   319,   318,   321,
 
 6471     320,   322,   323,   324,   325,   326,   327,   328,   329,   331,
 
 6472     330,   332,   332,   332,   333,   333,   333,   333,   333,   333,
 
 6473     333,   333,   333,   333,   335,   334,   337,   336,   339,   338,
 
 6474     340,   340,   342,   341,   343,   343,   344,   345,   346,   347,
 
 6475     349,   348,   351,   350,   352,   352,   352,   353,   353,   355,
 
 6476     354,   357,   356,   359,   358,   361,   360,   362,   362,   363,
 
 6477     363,   363,   365,   364,   366,   366,   366,   367,   367,   367,
 
 6478     367,   367,   367,   367,   367,   367,   367,   367,   367,   367,
 
 6479     367,   367,   367,   367,   367,   367,   367,   367,   367,   367,
 
 6480     367,   369,   368,   371,   370,   373,   372,   375,   374,   376,
 
 6481     378,   377,   379,   380,   381,   382,   383,   384,   385,   386,
 
 6482     387,   389,   388,   390,   390,   390,   391,   392,   394,   393,
 
 6483     396,   395,   398,   397,   400,   399,   399,   399,   399,   399,
 
 6484     399,   402,   401,   404,   403,   405,   405,   405,   406,   406,
 
 6485     406,   406,   406,   407,   408,   409,   410,   411,   413,   412,
 
 6486     414,   414,   414,   415,   415,   415,   415,   415,   415,   416,
 
 6487     417,   418,   420,   419,   421,   421,   422,   422,   422,   424,
 
 6488     423,   426,   425,   427,   427,   427,   427,   428,   428,   430,
 
 6489     429,   432,   431,   434,   433,   435,   435,   435,   436,   436,
 
 6490     436,   436,   436,   436,   437,   438,   439,   440,   441,   442,
 
 6491     444,   443,   445,   445,   446,   446,   446,   448,   447,   450,
 
 6492     449,   451,   451,   451,   452,   452,   452,   452,   452,   452,
 
 6493     452,   452,   452,   452,   452,   452,   452,   452,   452,   452,
 
 6494     452,   452,   452,   452,   452,   452,   452,   452,   452,   452,
 
 6495     452,   452,   452,   452,   452,   452,   452,   452,   452,   452,
 
 6496     452,   452,   452,   452,   452,   452,   452,   452,   452,   452,
 
 6497     452,   452,   452,   452,   452,   452,   452,   454,   453,   456,
 
 6498     455,   458,   457,   460,   459,   462,   461,   464,   463,   466,
 
 6499     465,   468,   467,   470,   469,   471,   472,   473,   474,   476,
 
 6500     475,   477,   477,   478,   478,   478,   480,   479,   481,   481,
 
 6501     481,   482,   482,   482,   482,   482,   482,   482,   482,   482,
 
 6502     482,   482,   482,   482,   482,   482,   482,   482,   482,   482,
 
 6503     482,   482,   482,   482,   482,   482,   482,   482,   482,   482,
 
 6504     482,   482,   482,   482,   482,   482,   482,   482,   482,   482,
 
 6505     482,   482,   482,   482,   482,   482,   482,   482,   482,   484,
 
 6506     483,   486,   485,   487,   487,   488,   488,   488,   490,   489,
 
 6507     492,   491,   493,   493,   494,   494,   494,   495,   495,   495,
 
 6508     495,   495,   495,   495,   495,   495,   495,   496,   497,   498,
 
 6509     500,   499,   502,   501,   504,   503,   505,   507,   506,   508,
 
 6510     510,   509,   511,   511,   512,   512,   512,   514,   513,   516,
 
 6511     515,   517,   517,   518,   518,   518,   519,   519,   519,   519,
 
 6512     519,   519,   519,   519,   519,   519,   519,   520,   522,   521,
 
 6513     523,   524,   525,   526,   527,   529,   528,   531,   530,   532,
 
 6514     532,   533,   533,   533,   535,   534,   537,   536,   538,   538,
 
 6515     538,   539,   539,   539,   539,   539,   539,   539,   539,   539,
 
 6516     539,   539,   539,   539,   539,   539,   539,   539,   539,   539,
 
 6517     539,   539,   539,   539,   539,   541,   540,   542,   544,   543,
 
 6518     546,   545,   548,   547,   549,   549,   550,   550,   550,   552,
 
 6519     551,   554,   553,   555,   555,   556,   556,   556,   557,   557,
 
 6520     557,   557,   557,   557,   557,   557,   557,   557,   557,   557,
 
 6521     557,   557,   557,   559,   558,   561,   560,   563,   562,   565,
 
 6522     564,   567,   566,   569,   568,   571,   570,   573,   572,   575,
 
 6523     574,   577,   576,   579,   578,   581,   580,   582,   584,   583,
 
 6524     586,   585,   587,   587,   587,   589,   588,   590,   590,   591,
 
 6525     591,   591,   592,   592,   592,   592,   592,   592,   592,   592,
 
 6526     592,   592,   592,   592,   592,   592,   592,   592,   592,   593,
 
 6527     595,   594,   597,   596,   598,   599,   600,   602,   601,   604,
 
 6528     603,   605,   605,   606,   606,   606,   608,   607,   609,   609,
 
 6529     609,   610,   610,   610,   610,   610,   610,   610,   610,   610,
 
 6530     610,   610,   610,   610,   612,   611,   613,   613,   613,   615,
 
 6531     614,   617,   616,   618,   619,   621,   620,   622,   622,   623,
 
 6532     623,   623,   625,   624,   626,   626,   626,   627,   627,   627,
 
 6533     627,   627,   629,   628,   631,   630,   632,   632,   632,   633,
 
 6534     633,   633,   633,   633,   633,   633,   635,   634,   636,   638,
 
 6535     637,   640,   639,   642,   641,   643,   643,   644,   644,   644,
 
 6536     646,   645,   647,   647,   647,   648,   648,   648,   648,   648,
 
 6537     648,   648,   650,   649,   652,   651,   654,   653,   655,   655,
 
 6538     655,   656,   656,   656,   656,   656,   656,   657,   659,   658,
 
 6539     660,   662,   661,   664,   663,   666,   665,   667,   667,   667,
 
 6540     668,   668,   668,   668,   668,   668,   668,   668,   668,   668,
 
 6541     668,   669,   671,   670,   672,   674,   673,   675,   676,   678,
 
 6542     677,   679,   679,   681,   680,   683,   682,   685,   684,   686,
 
 6543     686,   686,   687,   687,   689,   688,   690,   692,   691,   693,
 
 6544     693,   693,   695,   694,   696,   696,   696,   697,   697,   697,
 
 6545     697,   697,   697,   697,   698,   700,   699,   702,   701,   703,
 
 6546     703,   703,   705,   704,   706,   706,   706,   707,   707,   707,
 
 6547     707,   707,   709,   708,   710,   711,   712,   714,   713,   716,
 
 6548     715,   717,   717,   717,   718,   718,   718,   718,   718,   719,
 
 6553  Dhcp4Parser::yyr2_[] =
 
 6555       0,     2,     0,     3,     0,     3,     0,     3,     0,     3,
 
 6556       0,     3,     0,     3,     0,     3,     0,     3,     0,     3,
 
 6557       0,     3,     0,     3,     0,     3,     0,     3,     1,     1,
 
 6558       1,     1,     1,     1,     1,     1,     0,     4,     1,     0,
 
 6559       1,     3,     5,     2,     0,     4,     0,     1,     1,     3,
 
 6560       2,     0,     4,     0,     1,     1,     3,     2,     2,     0,
 
 6561       4,     0,     6,     1,     2,     0,     4,     1,     3,     2,
 
 6562       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6563       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6564       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6565       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6566       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6567       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6568       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6569       1,     1,     3,     3,     3,     3,     3,     3,     3,     3,
 
 6570       3,     3,     3,     0,     4,     3,     0,     4,     3,     3,
 
 6571       3,     3,     3,     3,     0,     4,     1,     1,     1,     1,
 
 6572       1,     0,     4,     0,     4,     3,     3,     0,     4,     1,
 
 6573       1,     1,     1,     3,     3,     3,     3,     0,     4,     0,
 
 6574       4,     3,     3,     3,     3,     3,     3,     3,     3,     0,
 
 6575       6,     1,     3,     2,     1,     1,     1,     1,     1,     1,
 
 6576       1,     1,     1,     1,     0,     4,     0,     4,     0,     4,
 
 6577       1,     1,     0,     4,     1,     1,     3,     3,     3,     3,
 
 6578       0,     6,     0,     6,     1,     3,     2,     1,     1,     0,
 
 6579       4,     0,     4,     0,     6,     0,     6,     0,     1,     1,
 
 6580       3,     2,     0,     4,     1,     3,     2,     1,     1,     1,
 
 6581       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6582       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6583       1,     0,     4,     0,     4,     0,     4,     0,     4,     3,
 
 6584       0,     4,     3,     3,     3,     3,     3,     3,     3,     3,
 
 6585       3,     0,     4,     1,     1,     1,     3,     3,     0,     4,
 
 6586       0,     4,     0,     4,     0,     4,     1,     1,     1,     1,
 
 6587       1,     0,     4,     0,     6,     1,     3,     2,     1,     1,
 
 6588       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
 
 6589       1,     3,     2,     1,     1,     1,     1,     1,     1,     3,
 
 6590       3,     3,     0,     6,     0,     1,     1,     3,     2,     0,
 
 6591       4,     0,     4,     1,     3,     2,     1,     1,     1,     0,
 
 6592       4,     0,     4,     0,     6,     1,     3,     2,     1,     1,
 
 6593       1,     1,     1,     1,     3,     3,     3,     3,     3,     3,
 
 6594       0,     6,     0,     1,     1,     3,     2,     0,     4,     0,
 
 6595       4,     1,     3,     2,     1,     1,     1,     1,     1,     1,
 
 6596       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6597       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6598       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6599       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6600       1,     1,     1,     1,     1,     1,     1,     0,     4,     0,
 
 6601       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
 
 6602       4,     0,     4,     0,     4,     3,     3,     3,     3,     0,
 
 6603       6,     0,     1,     1,     3,     2,     0,     4,     1,     3,
 
 6604       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6605       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6606       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6607       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6608       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
 
 6609       6,     0,     4,     0,     1,     1,     3,     2,     0,     4,
 
 6610       0,     4,     0,     1,     1,     3,     2,     1,     1,     1,
 
 6611       1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
 
 6612       0,     4,     0,     4,     0,     4,     1,     0,     4,     3,
 
 6613       0,     6,     0,     1,     1,     3,     2,     0,     4,     0,
 
 6614       4,     0,     1,     1,     3,     2,     1,     1,     1,     1,
 
 6615       1,     1,     1,     1,     1,     1,     1,     1,     0,     4,
 
 6616       1,     1,     3,     3,     3,     0,     4,     0,     6,     0,
 
 6617       1,     1,     3,     2,     0,     4,     0,     4,     1,     3,
 
 6618       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6619       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6620       1,     1,     1,     1,     1,     0,     4,     3,     0,     4,
 
 6621       0,     4,     0,     6,     0,     1,     1,     3,     2,     0,
 
 6622       4,     0,     4,     0,     1,     1,     3,     2,     1,     1,
 
 6623       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6624       1,     1,     1,     0,     4,     0,     4,     0,     4,     0,
 
 6625       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
 
 6626       4,     0,     4,     0,     4,     0,     6,     1,     0,     4,
 
 6627       0,     6,     1,     3,     2,     0,     4,     0,     1,     1,
 
 6628       3,     2,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6629       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6630       0,     4,     0,     4,     3,     3,     3,     0,     6,     0,
 
 6631       6,     0,     1,     1,     3,     2,     0,     4,     1,     3,
 
 6632       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6633       1,     1,     1,     1,     0,     4,     1,     1,     1,     0,
 
 6634       4,     0,     4,     3,     3,     0,     6,     0,     1,     1,
 
 6635       3,     2,     0,     4,     1,     3,     2,     1,     1,     1,
 
 6636       1,     1,     0,     4,     0,     6,     1,     3,     2,     1,
 
 6637       1,     1,     1,     1,     1,     1,     0,     4,     1,     0,
 
 6638       4,     0,     4,     0,     6,     0,     1,     1,     3,     2,
 
 6639       0,     4,     1,     3,     2,     1,     1,     1,     1,     1,
 
 6640       1,     1,     0,     4,     0,     4,     0,     6,     1,     3,
 
 6641       2,     1,     1,     1,     1,     1,     1,     3,     0,     4,
 
 6642       3,     0,     4,     0,     6,     0,     4,     1,     3,     2,
 
 6643       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
 6644       1,     3,     0,     4,     3,     0,     4,     3,     3,     0,
 
 6645       4,     1,     1,     0,     4,     0,     6,     0,     4,     1,
 
 6646       3,     2,     1,     1,     0,     6,     3,     0,     6,     1,
 
 6647       3,     2,     0,     4,     1,     3,     2,     1,     1,     1,
 
 6648       1,     1,     1,     1,     3,     0,     4,     0,     6,     1,
 
 6649       3,     2,     0,     4,     1,     3,     2,     1,     1,     1,
 
 6650       1,     1,     0,     4,     3,     3,     3,     0,     4,     0,
 
 6651       6,     1,     3,     2,     1,     1,     1,     1,     1,     3,
 
 6656#if PARSER4_DEBUG || 1 
 6660  const Dhcp4Parser::yytname_[] =
 
 6662  "\"end of file\"", 
"error", 
"\"invalid token\"", 
"\",\"", 
"\":\"",
 
 6663  "\"[\"", 
"\"]\"", 
"\"{\"", 
"\"}\"", 
"\"null\"", 
"\"Dhcp4\"",
 
 6664  "\"config-control\"", 
"\"config-databases\"",
 
 6665  "\"config-fetch-wait-time\"", 
"\"interfaces-config\"", 
"\"interfaces\"",
 
 6666  "\"dhcp-socket-type\"", 
"\"raw\"", 
"\"udp\"", 
"\"outbound-interface\"",
 
 6667  "\"same-as-inbound\"", 
"\"use-routing\"", 
"\"re-detect\"",
 
 6668  "\"service-sockets-require-all\"", 
"\"service-sockets-retry-wait-time\"",
 
 6669  "\"service-sockets-max-retries\"", 
"\"sanity-checks\"",
 
 6670  "\"lease-checks\"", 
"\"extended-info-checks\"", 
"\"echo-client-id\"",
 
 6671  "\"match-client-id\"", 
"\"authoritative\"", 
"\"next-server\"",
 
 6672  "\"server-hostname\"", 
"\"boot-file-name\"", 
"\"offer-lifetime\"",
 
 6673  "\"stash-agent-options\"", 
"\"lease-database\"", 
"\"hosts-database\"",
 
 6674  "\"hosts-databases\"", 
"\"type\"", 
"\"user\"", 
"\"password\"",
 
 6675  "\"host\"", 
"\"port\"", 
"\"persist\"", 
"\"lfc-interval\"",
 
 6676  "\"readonly\"", 
"\"connect-timeout\"", 
"\"read-timeout\"",
 
 6677  "\"write-timeout\"", 
"\"tcp-user-timeout\"", 
"\"max-reconnect-tries\"",
 
 6678  "\"reconnect-wait-time\"", 
"\"on-fail\"", 
"\"stop-retry-exit\"",
 
 6679  "\"serve-retry-exit\"", 
"\"serve-retry-continue\"",
 
 6680  "\"retry-on-startup\"", 
"\"max-row-errors\"", 
"\"trust-anchor\"",
 
 6681  "\"cert-file\"", 
"\"key-file\"", 
"\"ssl-mode\"", 
"\"disable\"",
 
 6682  "\"prefer\"", 
"\"require\"", 
"\"verify-ca\"", 
"\"verify-full\"",
 
 6683  "\"cipher-list\"", 
"\"valid-lifetime\"", 
"\"min-valid-lifetime\"",
 
 6684  "\"max-valid-lifetime\"", 
"\"renew-timer\"", 
"\"rebind-timer\"",
 
 6685  "\"calculate-tee-times\"", 
"\"t1-percent\"", 
"\"t2-percent\"",
 
 6686  "\"cache-threshold\"", 
"\"cache-max-age\"",
 
 6687  "\"decline-probation-period\"", 
"\"server-tag\"",
 
 6688  "\"statistic-default-sample-count\"", 
"\"statistic-default-sample-age\"",
 
 6689  "\"ddns-send-updates\"", 
"\"ddns-override-no-update\"",
 
 6690  "\"ddns-override-client-update\"", 
"\"ddns-replace-client-name\"",
 
 6691  "\"ddns-generated-prefix\"", 
"\"ddns-qualifying-suffix\"",
 
 6692  "\"ddns-update-on-renew\"", 
"\"ddns-use-conflict-resolution\"",
 
 6693  "\"ddns-ttl-percent\"", 
"\"ddns-ttl\"", 
"\"ddns-ttl-min\"",
 
 6694  "\"ddns-ttl-mix\"", 
"\"store-extended-info\"", 
"\"subnet4\"",
 
 6695  "\"4o6-interface\"", 
"\"4o6-interface-id\"", 
"\"4o6-subnet\"",
 
 6696  "\"option-def\"", 
"\"option-data\"", 
"\"name\"", 
"\"data\"", 
"\"code\"",
 
 6697  "\"space\"", 
"\"csv-format\"", 
"\"always-send\"", 
"\"never-send\"",
 
 6698  "\"record-types\"", 
"\"encapsulate\"", 
"\"array\"",
 
 6699  "\"parked-packet-limit\"", 
"\"allocator\"",
 
 6700  "\"ddns-conflict-resolution-mode\"", 
"\"check-with-dhcid\"",
 
 6701  "\"no-check-with-dhcid\"", 
"\"check-exists-with-dhcid\"",
 
 6702  "\"no-check-without-dhcid\"", 
"\"shared-networks\"", 
"\"pools\"",
 
 6703  "\"pool\"", 
"\"user-context\"", 
"\"comment\"", 
"\"subnet\"",
 
 6704  "\"interface\"", 
"\"id\"", 
"\"reservations-global\"",
 
 6705  "\"reservations-in-subnet\"", 
"\"reservations-out-of-pool\"",
 
 6706  "\"host-reservation-identifiers\"", 
"\"client-classes\"",
 
 6707  "\"require-client-classes\"", 
"\"evaluate-additional-classes\"",
 
 6708  "\"test\"", 
"\"template-test\"", 
"\"only-if-required\"",
 
 6709  "\"only-in-additional-list\"", 
"\"client-class\"", 
"\"pool-id\"",
 
 6710  "\"reservations\"", 
"\"ip-address\"", 
"\"duid\"", 
"\"hw-address\"",
 
 6711  "\"circuit-id\"", 
"\"client-id\"", 
"\"hostname\"", 
"\"flex-id\"",
 
 6712  "\"relay\"", 
"\"ip-addresses\"", 
"\"hooks-libraries\"", 
"\"library\"",
 
 6713  "\"parameters\"", 
"\"expired-leases-processing\"",
 
 6714  "\"reclaim-timer-wait-time\"", 
"\"flush-reclaimed-timer-wait-time\"",
 
 6715  "\"hold-reclaimed-time\"", 
"\"max-reclaim-leases\"",
 
 6716  "\"max-reclaim-time\"", 
"\"unwarned-reclaim-cycles\"",
 
 6717  "\"dhcp4o6-port\"", 
"\"multi-threading\"", 
"\"enable-multi-threading\"",
 
 6718  "\"thread-pool-size\"", 
"\"packet-queue-size\"", 
"\"control-socket\"",
 
 6719  "\"control-sockets\"", 
"\"socket-type\"", 
"\"unix\"", 
"\"http\"",
 
 6720  "\"https\"", 
"\"socket-name\"", 
"\"socket-address\"", 
"\"socket-port\"",
 
 6721  "\"authentication\"", 
"\"basic\"", 
"\"realm\"", 
"\"directory\"",
 
 6722  "\"clients\"", 
"\"user-file\"", 
"\"password-file\"", 
"\"cert-required\"",
 
 6723  "\"http-headers\"", 
"\"value\"", 
"\"dhcp-queue-control\"",
 
 6724  "\"enable-queue\"", 
"\"queue-type\"", 
"\"capacity\"", 
"\"dhcp-ddns\"",
 
 6725  "\"enable-updates\"", 
"\"server-ip\"", 
"\"server-port\"",
 
 6726  "\"sender-ip\"", 
"\"sender-port\"", 
"\"max-queue-size\"",
 
 6727  "\"ncr-protocol\"", 
"\"ncr-format\"", 
"\"tcp\"", 
"\"JSON\"",
 
 6728  "\"when-present\"", 
"\"never\"", 
"\"always\"", 
"\"when-not-present\"",
 
 6729  "\"hostname-char-set\"", 
"\"hostname-char-replacement\"",
 
 6730  "\"early-global-reservations-lookup\"", 
"\"ip-reservations-unique\"",
 
 6731  "\"reservations-lookup-first\"", 
"\"loggers\"", 
"\"output-options\"",
 
 6732  "\"output\"", 
"\"debuglevel\"", 
"\"severity\"", 
"\"flush\"",
 
 6733  "\"maxsize\"", 
"\"maxver\"", 
"\"pattern\"", 
"\"compatibility\"",
 
 6734  "\"lenient-option-parsing\"", 
"\"ignore-dhcp-server-identifier\"",
 
 6735  "\"ignore-rai-link-selection\"", 
"\"exclude-first-last-24\"",
 
 6736  "TOPLEVEL_JSON", 
"TOPLEVEL_DHCP4", 
"SUB_DHCP4", 
"SUB_INTERFACES4",
 
 6737  "SUB_SUBNET4", 
"SUB_POOL4", 
"SUB_RESERVATION", 
"SUB_OPTION_DEFS",
 
 6738  "SUB_OPTION_DEF", 
"SUB_OPTION_DATA", 
"SUB_HOOKS_LIBRARY",
 
 6739  "SUB_DHCP_DDNS", 
"SUB_CONFIG_CONTROL", 
"\"constant string\"",
 
 6740  "\"integer\"", 
"\"floating point\"", 
"\"boolean\"", 
"$accept", 
"start",
 
 6741  "$@1", 
"$@2", 
"$@3", 
"$@4", 
"$@5", 
"$@6", 
"$@7", 
"$@8", 
"$@9", 
"$@10",
 
 6742  "$@11", 
"$@12", 
"$@13", 
"value", 
"sub_json", 
"map2", 
"$@14", 
"map_value",
 
 6743  "map_content", 
"not_empty_map", 
"list_generic", 
"$@15", 
"list_content",
 
 6744  "not_empty_list", 
"list_strings", 
"$@16", 
"list_strings_content",
 
 6745  "not_empty_list_strings", 
"unknown_map_entry", 
"syntax_map", 
"$@17",
 
 6746  "global_object", 
"$@18", 
"global_object_comma", 
"sub_dhcp4", 
"$@19",
 
 6747  "global_params", 
"global_param", 
"valid_lifetime", 
"min_valid_lifetime",
 
 6748  "max_valid_lifetime", 
"renew_timer", 
"rebind_timer",
 
 6749  "calculate_tee_times", 
"t1_percent", 
"t2_percent", 
"cache_threshold",
 
 6750  "cache_max_age", 
"decline_probation_period", 
"server_tag", 
"$@20",
 
 6751  "parked_packet_limit", 
"allocator", 
"$@21", 
"echo_client_id",
 
 6752  "match_client_id", 
"authoritative", 
"ddns_send_updates",
 
 6753  "ddns_override_no_update", 
"ddns_override_client_update",
 
 6754  "ddns_replace_client_name", 
"$@22", 
"ddns_replace_client_name_value",
 
 6755  "ddns_generated_prefix", 
"$@23", 
"ddns_qualifying_suffix", 
"$@24",
 
 6756  "ddns_update_on_renew", 
"ddns_use_conflict_resolution",
 
 6757  "ddns_conflict_resolution_mode", 
"$@25",
 
 6758  "ddns_conflict_resolution_mode_value", 
"ddns_ttl_percent", 
"ddns_ttl",
 
 6759  "ddns_ttl_min", 
"ddns_ttl_max", 
"hostname_char_set", 
"$@26",
 
 6760  "hostname_char_replacement", 
"$@27", 
"store_extended_info",
 
 6761  "statistic_default_sample_count", 
"statistic_default_sample_age",
 
 6762  "early_global_reservations_lookup", 
"ip_reservations_unique",
 
 6763  "reservations_lookup_first", 
"offer_lifetime", 
"stash_agent_options",
 
 6764  "interfaces_config", 
"$@28", 
"interfaces_config_params",
 
 6765  "interfaces_config_param", 
"sub_interfaces4", 
"$@29", 
"interfaces_list",
 
 6766  "$@30", 
"dhcp_socket_type", 
"$@31", 
"socket_type", 
"outbound_interface",
 
 6767  "$@32", 
"outbound_interface_value", 
"re_detect",
 
 6768  "service_sockets_require_all", 
"service_sockets_retry_wait_time",
 
 6769  "service_sockets_max_retries", 
"lease_database", 
"$@33", 
"sanity_checks",
 
 6770  "$@34", 
"sanity_checks_params", 
"sanity_checks_param", 
"lease_checks",
 
 6771  "$@35", 
"extended_info_checks", 
"$@36", 
"hosts_database", 
"$@37",
 
 6772  "hosts_databases", 
"$@38", 
"database_list", 
"not_empty_database_list",
 
 6773  "database", 
"$@39", 
"database_map_params", 
"database_map_param",
 
 6774  "database_type", 
"$@40", 
"user", 
"$@41", 
"password", 
"$@42", 
"host",
 
 6775  "$@43", 
"port", 
"name", 
"$@44", 
"persist", 
"lfc_interval", 
"readonly",
 
 6776  "connect_timeout", 
"read_timeout", 
"write_timeout", 
"tcp_user_timeout",
 
 6777  "max_reconnect_tries", 
"reconnect_wait_time", 
"on_fail", 
"$@45",
 
 6778  "on_fail_mode", 
"retry_on_startup", 
"max_row_errors", 
"trust_anchor",
 
 6779  "$@46", 
"cert_file", 
"$@47", 
"key_file", 
"$@48", 
"ssl_mode", 
"$@49",
 
 6780  "cipher_list", 
"$@50", 
"host_reservation_identifiers", 
"$@51",
 
 6781  "host_reservation_identifiers_list", 
"host_reservation_identifier",
 
 6782  "duid_id", 
"hw_address_id", 
"circuit_id", 
"client_id", 
"flex_id",
 
 6783  "dhcp_multi_threading", 
"$@52", 
"multi_threading_params",
 
 6784  "multi_threading_param", 
"enable_multi_threading", 
"thread_pool_size",
 
 6785  "packet_queue_size", 
"hooks_libraries", 
"$@53", 
"hooks_libraries_list",
 
 6786  "not_empty_hooks_libraries_list", 
"hooks_library", 
"$@54",
 
 6787  "sub_hooks_library", 
"$@55", 
"hooks_params", 
"hooks_param", 
"library",
 
 6788  "$@56", 
"parameters", 
"$@57", 
"expired_leases_processing", 
"$@58",
 
 6789  "expired_leases_params", 
"expired_leases_param",
 
 6790  "reclaim_timer_wait_time", 
"flush_reclaimed_timer_wait_time",
 
 6791  "hold_reclaimed_time", 
"max_reclaim_leases", 
"max_reclaim_time",
 
 6792  "unwarned_reclaim_cycles", 
"subnet4_list", 
"$@59",
 
 6793  "subnet4_list_content", 
"not_empty_subnet4_list", 
"subnet4", 
"$@60",
 
 6794  "sub_subnet4", 
"$@61", 
"subnet4_params", 
"subnet4_param", 
"subnet",
 
 6795  "$@62", 
"subnet_4o6_interface", 
"$@63", 
"subnet_4o6_interface_id",
 
 6796  "$@64", 
"subnet_4o6_subnet", 
"$@65", 
"interface", 
"$@66", 
"client_class",
 
 6797  "$@67", 
"network_client_classes", 
"$@68", 
"require_client_classes",
 
 6798  "$@69", 
"evaluate_additional_classes", 
"$@70", 
"reservations_global",
 
 6799  "reservations_in_subnet", 
"reservations_out_of_pool", 
"id",
 
 6800  "shared_networks", 
"$@71", 
"shared_networks_content",
 
 6801  "shared_networks_list", 
"shared_network", 
"$@72",
 
 6802  "shared_network_params", 
"shared_network_param", 
"option_def_list",
 
 6803  "$@73", 
"sub_option_def_list", 
"$@74", 
"option_def_list_content",
 
 6804  "not_empty_option_def_list", 
"option_def_entry", 
"$@75",
 
 6805  "sub_option_def", 
"$@76", 
"option_def_params",
 
 6806  "not_empty_option_def_params", 
"option_def_param", 
"option_def_name",
 
 6807  "code", 
"option_def_code", 
"option_def_type", 
"$@77",
 
 6808  "option_def_record_types", 
"$@78", 
"space", 
"$@79", 
"option_def_space",
 
 6809  "option_def_encapsulate", 
"$@80", 
"option_def_array", 
"option_data_list",
 
 6810  "$@81", 
"option_data_list_content", 
"not_empty_option_data_list",
 
 6811  "option_data_entry", 
"$@82", 
"sub_option_data", 
"$@83",
 
 6812  "option_data_params", 
"not_empty_option_data_params",
 
 6813  "option_data_param", 
"option_data_name", 
"option_data_data", 
"$@84",
 
 6814  "option_data_code", 
"option_data_space", 
"option_data_csv_format",
 
 6815  "option_data_always_send", 
"option_data_never_send",
 
 6816  "option_data_client_classes", 
"$@85", 
"pools_list", 
"$@86",
 
 6817  "pools_list_content", 
"not_empty_pools_list", 
"pool_list_entry", 
"$@87",
 
 6818  "sub_pool4", 
"$@88", 
"pool_params", 
"pool_param", 
"pool_entry", 
"$@89",
 
 6819  "pool_id", 
"user_context", 
"$@90", 
"comment", 
"$@91", 
"reservations",
 
 6820  "$@92", 
"reservations_list", 
"not_empty_reservations_list",
 
 6821  "reservation", 
"$@93", 
"sub_reservation", 
"$@94", 
"reservation_params",
 
 6822  "not_empty_reservation_params", 
"reservation_param", 
"next_server",
 
 6823  "$@95", 
"server_hostname", 
"$@96", 
"boot_file_name", 
"$@97",
 
 6824  "ip_address", 
"$@98", 
"duid", 
"$@99", 
"hw_address", 
"$@100",
 
 6825  "client_id_value", 
"$@101", 
"circuit_id_value", 
"$@102", 
"flex_id_value",
 
 6826  "$@103", 
"hostname", 
"$@104", 
"reservation_client_classes", 
"$@105",
 
 6827  "relay", 
"$@106", 
"relay_map", 
"ip_addresses", 
"$@107", 
"client_classes",
 
 6828  "$@108", 
"client_classes_list", 
"client_class_entry", 
"$@109",
 
 6829  "client_class_params", 
"not_empty_client_class_params",
 
 6830  "client_class_param", 
"client_class_name", 
"client_class_test", 
"$@110",
 
 6831  "client_class_template_test", 
"$@111", 
"only_if_required",
 
 6832  "only_in_additional_list", 
"dhcp4o6_port", 
"control_socket", 
"$@112",
 
 6833  "control_sockets", 
"$@113", 
"control_socket_list",
 
 6834  "not_empty_control_socket_list", 
"control_socket_entry", 
"$@114",
 
 6835  "control_socket_params", 
"control_socket_param", 
"control_socket_type",
 
 6836  "$@115", 
"control_socket_type_value", 
"control_socket_name", 
"$@116",
 
 6837  "control_socket_address", 
"$@117", 
"control_socket_port",
 
 6838  "cert_required", 
"http_headers", 
"$@118", 
"http_header_list",
 
 6839  "not_empty_http_header_list", 
"http_header", 
"$@119",
 
 6840  "http_header_params", 
"http_header_param", 
"header_value", 
"$@120",
 
 6841  "authentication", 
"$@121", 
"auth_params", 
"auth_param", 
"auth_type",
 
 6842  "$@122", 
"auth_type_value", 
"realm", 
"$@123", 
"directory", 
"$@124",
 
 6843  "clients", 
"$@125", 
"clients_list", 
"not_empty_clients_list",
 
 6844  "basic_auth", 
"$@126", 
"clients_params", 
"clients_param", 
"user_file",
 
 6845  "$@127", 
"password_file", 
"$@128", 
"dhcp_queue_control", 
"$@129",
 
 6846  "queue_control_params", 
"queue_control_param", 
"enable_queue",
 
 6847  "queue_type", 
"$@130", 
"capacity", 
"arbitrary_map_entry", 
"$@131",
 
 6848  "dhcp_ddns", 
"$@132", 
"sub_dhcp_ddns", 
"$@133", 
"dhcp_ddns_params",
 
 6849  "dhcp_ddns_param", 
"enable_updates", 
"server_ip", 
"$@134", 
"server_port",
 
 6850  "sender_ip", 
"$@135", 
"sender_port", 
"max_queue_size", 
"ncr_protocol",
 
 6851  "$@136", 
"ncr_protocol_value", 
"ncr_format", 
"$@137", 
"config_control",
 
 6852  "$@138", 
"sub_config_control", 
"$@139", 
"config_control_params",
 
 6853  "config_control_param", 
"config_databases", 
"$@140",
 
 6854  "config_fetch_wait_time", 
"loggers", 
"$@141", 
"loggers_entries",
 
 6855  "logger_entry", 
"$@142", 
"logger_params", 
"logger_param", 
"debuglevel",
 
 6856  "severity", 
"$@143", 
"output_options_list", 
"$@144",
 
 6857  "output_options_list_content", 
"output_entry", 
"$@145",
 
 6858  "output_params_list", 
"output_params", 
"output", 
"$@146", 
"flush",
 
 6859  "maxsize", 
"maxver", 
"pattern", 
"$@147", 
"compatibility", 
"$@148",
 
 6860  "compatibility_params", 
"compatibility_param", 
"lenient_option_parsing",
 
 6861  "ignore_dhcp_server_identifier", 
"ignore_rai_link_selection",
 
 6862  "exclude_first_last_24", YY_NULLPTR
 
 6869  Dhcp4Parser::yyrline_[] =
 
 6871       0,   336,   336,   336,   337,   337,   338,   338,   339,   339,
 
 6872     340,   340,   341,   341,   342,   342,   343,   343,   344,   344,
 
 6873     345,   345,   346,   346,   347,   347,   348,   348,   356,   357,
 
 6874     358,   359,   360,   361,   362,   365,   370,   370,   381,   384,
 
 6875     385,   388,   393,   399,   404,   404,   411,   412,   415,   419,
 
 6876     423,   429,   429,   436,   437,   440,   444,   448,   458,   467,
 
 6877     467,   482,   482,   496,   499,   505,   505,   514,   515,   516,
 
 6878     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
 
 6879     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
 
 6880     543,   544,   545,   546,   547,   548,   549,   550,   551,   552,
 
 6881     553,   554,   555,   556,   557,   558,   559,   560,   561,   562,
 
 6882     563,   564,   565,   566,   567,   568,   569,   570,   571,   572,
 
 6883     573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
 
 6884     583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
 
 6885     593,   594,   597,   603,   609,   615,   621,   627,   633,   639,
 
 6886     645,   651,   657,   663,   663,   672,   678,   678,   687,   693,
 
 6887     699,   705,   711,   717,   723,   723,   732,   735,   738,   741,
 
 6888     744,   750,   750,   759,   759,   768,   777,   787,   787,   796,
 
 6889     799,   802,   805,   810,   816,   822,   828,   834,   834,   843,
 
 6890     843,   852,   858,   864,   870,   876,   882,   888,   894,   900,
 
 6891     900,   912,   913,   914,   919,   920,   921,   922,   923,   924,
 
 6892     925,   926,   927,   928,   931,   931,   940,   940,   951,   951,
 
 6893     959,   960,   963,   963,   971,   973,   977,   983,   989,   995,
 
 6894    1001,  1001,  1014,  1014,  1025,  1026,  1027,  1032,  1033,  1036,
 
 6895    1036,  1055,  1055,  1073,  1073,  1086,  1086,  1097,  1098,  1101,
 
 6896    1102,  1103,  1108,  1108,  1118,  1119,  1120,  1125,  1126,  1127,
 
 6897    1128,  1129,  1130,  1131,  1132,  1133,  1134,  1135,  1136,  1137,
 
 6898    1138,  1139,  1140,  1141,  1142,  1143,  1144,  1145,  1146,  1147,
 
 6899    1148,  1151,  1151,  1160,  1160,  1169,  1169,  1178,  1178,  1187,
 
 6900    1193,  1193,  1202,  1208,  1214,  1220,  1226,  1232,  1238,  1244,
 
 6901    1250,  1256,  1256,  1264,  1265,  1266,  1269,  1275,  1281,  1281,
 
 6902    1290,  1290,  1299,  1299,  1308,  1308,  1316,  1319,  1322,  1325,
 
 6903    1328,  1333,  1333,  1342,  1342,  1353,  1354,  1355,  1360,  1361,
 
 6904    1362,  1363,  1364,  1367,  1372,  1377,  1382,  1387,  1394,  1394,
 
 6905    1407,  1408,  1409,  1414,  1415,  1416,  1417,  1418,  1419,  1422,
 
 6906    1428,  1434,  1440,  1440,  1451,  1452,  1455,  1456,  1457,  1462,
 
 6907    1462,  1472,  1472,  1482,  1483,  1484,  1487,  1490,  1491,  1494,
 
 6908    1494,  1503,  1503,  1512,  1512,  1524,  1525,  1526,  1531,  1532,
 
 6909    1533,  1534,  1535,  1536,  1539,  1545,  1551,  1557,  1563,  1569,
 
 6910    1578,  1578,  1592,  1593,  1596,  1597,  1598,  1607,  1607,  1633,
 
 6911    1633,  1644,  1645,  1646,  1652,  1653,  1654,  1655,  1656,  1657,
 
 6912    1658,  1659,  1660,  1661,  1662,  1663,  1664,  1665,  1666,  1667,
 
 6913    1668,  1669,  1670,  1671,  1672,  1673,  1674,  1675,  1676,  1677,
 
 6914    1678,  1679,  1680,  1681,  1682,  1683,  1684,  1685,  1686,  1687,
 
 6915    1688,  1689,  1690,  1691,  1692,  1693,  1694,  1695,  1696,  1697,
 
 6916    1698,  1699,  1700,  1701,  1702,  1703,  1704,  1707,  1707,  1716,
 
 6917    1716,  1725,  1725,  1734,  1734,  1743,  1743,  1752,  1752,  1762,
 
 6918    1762,  1774,  1774,  1785,  1785,  1796,  1802,  1808,  1814,  1822,
 
 6919    1822,  1834,  1835,  1839,  1840,  1841,  1846,  1846,  1854,  1855,
 
 6920    1856,  1861,  1862,  1863,  1864,  1865,  1866,  1867,  1868,  1869,
 
 6921    1870,  1871,  1872,  1873,  1874,  1875,  1876,  1877,  1878,  1879,
 
 6922    1880,  1881,  1882,  1883,  1884,  1885,  1886,  1887,  1888,  1889,
 
 6923    1890,  1891,  1892,  1893,  1894,  1895,  1896,  1897,  1898,  1899,
 
 6924    1900,  1901,  1902,  1903,  1904,  1905,  1906,  1907,  1908,  1915,
 
 6925    1915,  1929,  1929,  1938,  1939,  1942,  1943,  1944,  1951,  1951,
 
 6926    1966,  1966,  1980,  1981,  1984,  1985,  1986,  1991,  1992,  1993,
 
 6927    1994,  1995,  1996,  1997,  1998,  1999,  2000,  2003,  2005,  2011,
 
 6928    2013,  2013,  2022,  2022,  2031,  2031,  2040,  2042,  2042,  2051,
 
 6929    2061,  2061,  2074,  2075,  2080,  2081,  2082,  2089,  2089,  2101,
 
 6930    2101,  2113,  2114,  2119,  2120,  2121,  2128,  2129,  2130,  2131,
 
 6931    2132,  2133,  2134,  2135,  2136,  2137,  2138,  2141,  2143,  2143,
 
 6932    2152,  2154,  2156,  2162,  2168,  2174,  2174,  2188,  2188,  2201,
 
 6933    2202,  2205,  2206,  2207,  2212,  2212,  2222,  2222,  2232,  2233,
 
 6934    2234,  2239,  2240,  2241,  2242,  2243,  2244,  2245,  2246,  2247,
 
 6935    2248,  2249,  2250,  2251,  2252,  2253,  2254,  2255,  2256,  2257,
 
 6936    2258,  2259,  2260,  2261,  2262,  2265,  2265,  2274,  2280,  2280,
 
 6937    2305,  2305,  2335,  2335,  2346,  2347,  2350,  2351,  2352,  2357,
 
 6938    2357,  2366,  2366,  2375,  2376,  2379,  2380,  2381,  2387,  2388,
 
 6939    2389,  2390,  2391,  2392,  2393,  2394,  2395,  2396,  2397,  2398,
 
 6940    2399,  2400,  2401,  2404,  2404,  2413,  2413,  2422,  2422,  2431,
 
 6941    2431,  2440,  2440,  2449,  2449,  2458,  2458,  2467,  2467,  2476,
 
 6942    2476,  2485,  2485,  2494,  2494,  2508,  2508,  2519,  2522,  2522,
 
 6943    2536,  2536,  2547,  2548,  2549,  2554,  2554,  2564,  2565,  2568,
 
 6944    2569,  2570,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
 
 6945    2583,  2584,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2594,
 
 6946    2596,  2596,  2605,  2605,  2615,  2621,  2629,  2637,  2637,  2649,
 
 6947    2649,  2661,  2662,  2665,  2666,  2667,  2672,  2672,  2680,  2681,
 
 6948    2682,  2687,  2688,  2689,  2690,  2691,  2692,  2693,  2694,  2695,
 
 6949    2696,  2697,  2698,  2699,  2702,  2702,  2711,  2712,  2713,  2716,
 
 6950    2716,  2726,  2726,  2736,  2742,  2748,  2748,  2759,  2760,  2763,
 
 6951    2764,  2765,  2770,  2770,  2778,  2779,  2780,  2785,  2786,  2787,
 
 6952    2788,  2789,  2792,  2792,  2803,  2803,  2816,  2817,  2818,  2823,
 
 6953    2824,  2825,  2826,  2827,  2828,  2829,  2832,  2832,  2840,  2843,
 
 6954    2843,  2852,  2852,  2861,  2861,  2872,  2873,  2876,  2877,  2878,
 
 6955    2883,  2883,  2891,  2892,  2893,  2898,  2899,  2900,  2901,  2902,
 
 6956    2903,  2904,  2907,  2907,  2916,  2916,  2927,  2927,  2940,  2941,
 
 6957    2942,  2947,  2948,  2949,  2950,  2951,  2952,  2955,  2961,  2961,
 
 6958    2970,  2976,  2976,  2986,  2986,  2999,  2999,  3009,  3010,  3011,
 
 6959    3016,  3017,  3018,  3019,  3020,  3021,  3022,  3023,  3024,  3025,
 
 6960    3026,  3029,  3035,  3035,  3044,  3050,  3050,  3059,  3065,  3071,
 
 6961    3071,  3080,  3081,  3084,  3084,  3095,  3095,  3107,  3107,  3117,
 
 6962    3118,  3119,  3125,  3126,  3129,  3129,  3140,  3148,  3148,  3161,
 
 6963    3162,  3163,  3169,  3169,  3177,  3178,  3179,  3184,  3185,  3186,
 
 6964    3187,  3188,  3189,  3190,  3193,  3199,  3199,  3208,  3208,  3219,
 
 6965    3220,  3221,  3226,  3226,  3234,  3235,  3236,  3241,  3242,  3243,
 
 6966    3244,  3245,  3248,  3248,  3257,  3263,  3269,  3275,  3275,  3284,
 
 6967    3284,  3295,  3296,  3297,  3302,  3303,  3304,  3305,  3306,  3309,
 
 6972  Dhcp4Parser::yy_stack_print_ ()
 const 
 6974    *yycdebug_ << 
"Stack now";
 
 6975    for (stack_type::const_iterator
 
 6976           i = yystack_.begin (),
 
 6977           i_end = yystack_.end ();
 
 6979      *yycdebug_ << 
' ' << int (i->state);
 
 6984  Dhcp4Parser::yy_reduce_print_ (
int yyrule)
 const 
 6986    int yylno = yyrline_[yyrule];
 
 6987    int yynrhs = yyr2_[yyrule];
 
 6989    *yycdebug_ << 
"Reducing stack by rule " << yyrule - 1
 
 6990               << 
" (line " << yylno << 
"):\n";
 
 6992    for (
int yyi = 0; yyi < yynrhs; yyi++)
 
 6994                       yystack_[(yynrhs) - (yyi + 1)]);
 
 6999#line 14 "dhcp4_parser.yy" 
 7001#line 7002 "dhcp4_parser.cc" 
 7003#line 3333 "dhcp4_parser.yy" 
 7008                              const std::string& what)
 
 7010    ctx.error(loc, what);
 
 
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
#define YY_CAST(Type, Val)
#define YY_MOVE_REF(Type)
Notes: IntElement type is changed to int64_t.
symbol_kind_type token() const YY_NOEXCEPT
context(const Dhcp4Parser &yyparser, const symbol_type &yyla)
const symbol_type & lookahead() const YY_NOEXCEPT
int expected_tokens(symbol_kind_type yyarg[], int yyargn) const
Put in YYARG at most YYARGN of the expected tokens, and return the number of tokens stored in YYARG.
T & emplace()
Instantiate an empty T in here.
T & as() YY_NOEXCEPT
Accessor to a built T.
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
virtual int parse()
Parse.
location location_type
Symbol locations.
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static const symbol_kind_type YYNTOKENS
The number of tokens.
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
Evaluation context, an interface to the expression evaluation.
Define the isc::dhcp::parser class.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element.
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
location_type location
The location.
value_type value
The semantic value.
bool empty() const YY_NOEXCEPT
Whether empty.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
symbol_kind_type kind_
The symbol kind.
@ S_control_socket_type_value
@ S_ddns_conflict_resolution_mode_value
@ S_ddns_replace_client_name_value
@ S_outbound_interface_value
"External" symbols: returned by the scanner.
Syntax errors thrown from user actions.
~syntax_error() YY_NOEXCEPT YY_NOTHROW