- Rebuilt parser files
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>
Tue, 9 Jun 2015 18:23:43 +0000 (18:23 +0000)
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>
Tue, 9 Jun 2015 18:23:43 +0000 (18:23 +0000)
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/hopm/branches/1.0.x@6080 82007160-df01-0410-b94d-b575c5fd34c7

src/config-lexer.c
src/config-parser.c
src/config-parser.h

index 7e556111f6f876d0eac30a76b318e512e03f09d6..fa8af87c1d1d0986f429b317d97779cf6386da28 100644 (file)
@@ -365,8 +365,8 @@ static void yy_fatal_error (yyconst char msg[]  );
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 93
-#define YY_END_OF_BUFFER 94
+#define YY_NUM_RULES 94
+#define YY_END_OF_BUFFER 95
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -374,48 +374,50 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_accept[371] =
+static yyconst flex_int16_t yy_accept[386] =
     {   0,
-       91,   91,   94,   92,   91,   90,   92,    2,   92,   83,
-       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
-       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
-       91,   90,    0,    3,    2,    1,    2,   83,    0,    0,
+       92,   92,   95,   93,   92,   91,   93,    2,   93,   84,
+       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
+       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
+       92,   91,    0,    3,    2,    1,    2,   84,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,   13,
-        0,    0,    0,    0,   70,    0,    0,    0,    0,   75,
-        0,    0,    0,    0,    0,    0,   88,    0,   86,    0,
+        0,    0,    0,    0,   71,    0,    0,    0,    0,   76,
+        0,    0,    0,    0,    0,    0,   89,    0,   87,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   57,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,   58,    0,    0,    0,    0,
 
         0,    0,    0,   15,    0,   17,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   89,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,   90,
         0,   28,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   85,    4,    0,    0,   65,
-        0,    0,   56,    0,    0,    0,    0,    0,   59,   76,
-        0,    0,    0,    0,   18,    0,    0,    0,    0,   20,
-        0,   21,    0,   24,    0,   27,    0,    0,    0,    0,
-       33,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   84,   46,   47,    0,   55,    0,   51,
-
-        0,    0,   64,    0,    0,    0,    0,    0,    0,   87,
-       58,    0,    0,   69,    0,   16,    0,   74,    0,    0,
-       53,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   37,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   49,   54,    0,   50,    0,    0,    0,    0,
-        0,    0,    0,   12,    0,   14,   68,    0,    0,   73,
-        0,   61,   52,    0,    0,   26,    0,    0,    0,    0,
-        0,    0,    0,   81,    0,    0,   63,    0,   41,   78,
-       79,    0,    0,    0,    0,    0,    0,    7,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,   60,    0,    0,
-
-       29,    0,   31,   32,    0,    0,    0,   38,   39,   62,
-        0,    0,   45,    0,   80,    0,    0,    0,    0,   11,
-        0,   82,   77,   67,   19,   72,   22,   25,   30,   34,
-        0,   36,   40,    0,    0,    0,   48,    0,    6,    8,
-        0,    0,   66,   71,    0,    0,   42,    0,    0,    0,
-       10,    0,    0,    0,    0,    0,    5,    9,    0,   35,
-       43,    0,    0,    0,    0,   44,    0,    0,   23,    0
+        0,    0,    0,    0,    0,    0,   86,    4,    0,    0,
+       66,    0,    0,   57,    0,    0,    0,    0,    0,   60,
+       77,    0,    0,    0,    0,   18,    0,    0,    0,    0,
+       20,    0,   21,    0,   24,    0,   27,    0,    0,    0,
+        0,   33,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,   85,   47,   48,    0,   56,
+
+        0,   52,    0,    0,   65,    0,    0,    0,    0,    0,
+        0,   88,   59,    0,    0,   70,    0,   16,    0,   75,
+        0,    0,   54,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,   38,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,   50,   55,    0,   51,    0,
+        0,    0,    0,    0,    0,    0,   12,    0,   14,   69,
+        0,    0,   74,    0,   62,   53,    0,    0,   26,    0,
+        0,    0,    0,    0,    0,    0,    0,   82,    0,    0,
+       64,    0,   42,   79,   80,    0,    0,    0,    0,    0,
+        0,    7,    0,    0,    0,    0,    0,    0,    0,    0,
+
+        0,   61,    0,    0,   29,    0,   31,   32,    0,    0,
+        0,    0,   39,   40,   63,    0,    0,   46,    0,   81,
+        0,    0,    0,    0,   11,    0,   83,   78,   68,   19,
+       73,   22,   25,   30,   34,    0,   36,    0,   41,    0,
+        0,    0,   49,    0,    6,    8,    0,    0,   67,   72,
+        0,    0,    0,   43,    0,    0,    0,   10,    0,    0,
+        0,    0,    0,    0,    5,    9,    0,   35,    0,   44,
+        0,    0,    0,    0,    0,    0,   45,    0,    0,    0,
+        0,   23,    0,   37,    0
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -460,97 +462,99 @@ static yyconst flex_int32_t yy_meta[58] =
         1,    1,    1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int16_t yy_base[374] =
+static yyconst flex_int16_t yy_base[389] =
     {   0,
-        0,    0,  230,  743,  167,    0,   55,    0,   54,   54,
+        0,    0,  230,  776,  167,    0,   55,    0,   54,   54,
        34,   55,   49,   57,   37,   60,   51,   55,   94,  129,
        99,  103,  167,   72,  112,  155,   43,   59,  116,   69,
-      165,    0,   82,  743,    0,  743,    0,  148,  110,   99,
-      150,  135,  159,  148,  140,  148,  161,  164,  159,  743,
+      165,    0,   82,  776,    0,  776,    0,  148,  110,   99,
+      150,  135,  159,  148,  140,  148,  161,  164,  159,  776,
       154,  156,  159,  179,  163,  168,  188,  192,  187,  185,
-      204,  199,  209,  202,  209,  214,  200,  213,  743,  239,
-      204,  208,  222,  213,  216,  246,  212,  233,  236,  253,
-      243,  248,  243,  249,  260,  252,  262,  256,  277,  249,
-      128,  271,  272,  266,  269,  270,  290,  294,  285,  282,
-
-      284,  289,  296,  743,  289,  743,  294,  296,  300,  120,
-      294,  312,  296,  312,  302,  317,  322,  316,  318,  743,
-      314,  743,  326,  321,  334,  336,  325,  327,  344,  336,
-      334,  340,  342,  353,  338,  350,  354,  358,  360,  363,
-      354,  356,  364,  368,  362,  743,  743,  364,  376,  371,
-      377,  375,  743,  382,  389,  384,  385,  396,  386,  389,
-      387,  401,  406,  404,  743,  395,  408,  414,  400,  743,
-      413,  743,  421,  406,  423,  743,  417,  413,  422,  429,
-      743,  425,  423,  430,  421,  443,  438,  439,  441,  449,
-      439,  452,  445,  743,  743,  448,  446,  449,  468,  453,
-
-      458,  463,  743,  474,  477,   98,  480,  484,  469,  743,
-      743,  475,  486,  475,  473,  743,  492,  482,  477,  496,
-      485,  501,  500,  502,  496,  498,  498,  506,  515,  510,
-      521,  743,  511,  516,  527,  530,  534,  521,  107,  521,
-      521,  543,  743,  743,  527,  743,  537,  539,  538,  543,
-      547,  541,  541,  743,  540,  743,  743,  542,  561,  743,
-      548,  550,  743,  562,  559,  743,  561,  564,  570,  578,
-      571,  575,  576,  743,  585,  577,  578,  587,  743,  743,
-      743,   95,  579,  586,  595,  588,  586,  743,  600,  592,
-      596,  604,  592,  597,  613,  619,  621,  743,  623,  610,
-
-      743,  627,  743,  743,  622,  630,  631,  743,  743,  743,
-      629,  634,  743,  636,  743,  630,  627,  624,  634,  743,
-      641,  743,  743,  639,  743,  641,   90,  743,  743,  743,
-      647,  743,  743,  647,  649,  648,  743,  650,  743,  743,
-      662,  667,  743,  743,  662,  660,  743,  665,  667,  671,
-      743,  670,  684,  673,  674,  684,  743,  743,  692,  743,
-      743,  683,  678,  692,  692,  743,  693,  702,  743,  743,
-       81,  740,   71
+      204,  199,  209,  202,  209,  214,  200,  213,  776,  239,
+      204,  208,  222,  213,  216,  246,  212,  233,  249,  236,
+      240,  247,  241,  249,  261,  253,  264,  257,  278,  249,
+      128,  271,  272,  265,  269,  270,  290,  296,  287,  283,
+
+      288,  290,  298,  776,  290,  776,  295,  297,  302,  120,
+      295,  314,  298,  313,  302,  317,  322,  316,  318,  776,
+      314,  776,  326,  321,  334,  337,  327,  329,  344,  338,
+      342,  338,  344,  344,  356,  341,  353,  358,  361,  363,
+      365,  357,  357,  365,  371,  367,  776,  776,  367,  378,
+      374,  380,  379,  776,  385,  394,  389,  388,  399,  388,
+      391,  390,  404,  409,  408,  776,  398,  411,  416,  403,
+      776,  414,  776,  422,  409,  428,  776,  420,  415,  425,
+      432,  776,  429,  426,  435,  436,  428,  447,  443,  440,
+      445,  454,  444,  457,  450,  776,  776,  453,  451,  453,
+
+      470,  457,  466,  471,  776,  479,  482,   98,  485,  489,
+      474,  776,  776,  482,  492,  482,  477,  776,  496,  485,
+      481,  500,  490,  506,  505,  507,  501,  503,  502,  508,
+      519,  518,  529,  519,  776,  519,  523,  534,  536,  543,
+      529,  107,  529,  529,  548,  776,  776,  532,  776,  542,
+      544,  544,  550,  552,  549,  548,  776,  548,  776,  776,
+      548,  566,  776,  557,  561,  776,  572,  567,  776,  568,
+      571,  576,  587,  579,  583,  584,  592,  776,  591,  584,
+      584,  594,  776,  776,  776,   95,  587,  594,  603,  597,
+      596,  776,  609,  599,  604,  614,  604,  610,  626,  629,
+
+      630,  776,  631,  620,  776,  637,  776,  776,  632,  639,
+      640,  643,  776,  776,  776,  637,  662,  776,  644,  776,
+      637,  636,  634,  644,  776,  649,  776,  776,  645,  776,
+      646,   90,  776,  776,  776,  652,  776,  656,  776,  661,
+      667,  665,  776,  663,  776,  776,  676,  680,  776,  776,
+      675,  673,  684,  776,  678,  680,  684,  776,  681,  697,
+      686,  693,  691,  701,  776,  776,  709,  776,  696,  776,
+      706,  703,  719,  718,  718,  713,  776,  720,  712,  732,
+      736,  776,  728,  776,  776,   81,  773,   71
     } ;
 
-static yyconst flex_int16_t yy_def[374] =
+static yyconst flex_int16_t yy_def[389] =
     {   0,
-      370,    1,  370,  370,  370,  371,  372,  373,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  371,  372,  370,  373,  370,  373,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,    0,
-      370,  370,  370
+      385,    1,  385,  385,  385,  386,  387,  388,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  386,  387,  385,  388,  385,  388,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,    0,  385,  385,  385
     } ;
 
-static yyconst flex_int16_t yy_nxt[801] =
+static yyconst flex_int16_t yy_nxt[834] =
     {   0,
         4,    5,    6,    7,    8,    4,    9,   10,   10,   10,
        11,   12,   13,   14,   15,   16,    4,   17,   18,   19,
@@ -564,85 +568,89 @@ static yyconst flex_int16_t yy_nxt[801] =
        43,   45,   48,   85,   49,   77,   44,   50,   51,   41,
 
        86,   53,   52,   46,   54,   55,   47,   89,   56,   64,
-       76,   42,   57,   65,   58,  280,  281,   66,   68,   77,
-       90,   91,   67,  345,   78,   69,   79,   70,  312,   55,
-       87,  251,   56,   64,   88,   80,   57,   65,   58,   59,
+       76,   42,   57,   65,   58,  284,  285,   66,   68,   77,
+       90,   91,   67,  351,   78,   69,   79,   70,  317,   55,
+       87,  254,   56,   64,   88,   80,   57,   65,   58,   59,
        60,   66,   68,   61,   90,   91,   67,   62,   78,   69,
-       79,   70,   63,  166,   87,   38,   38,   38,   88,   80,
-       92,  148,   93,   59,   60,   81,   31,   61,   31,   94,
+       79,   70,   63,  167,   87,   38,   38,   38,   88,   80,
+       92,  149,   93,   59,   60,   81,   31,   61,   31,   94,
        95,   62,   96,   82,   97,   98,   63,   71,   99,  100,
        83,   72,  101,  102,   92,   73,   93,   84,  103,   81,
        74,  104,   75,   94,   95,  105,   96,   82,   97,   98,
 
       106,   71,   99,  100,   83,   72,  101,  102,  107,   73,
       108,   84,  103,  109,   74,  104,   75,  111,  110,  105,
-      112,  113,  114,  116,  106,  117,  118,  119,  120,  370,
-      124,  115,  107,  125,  108,  126,  370,  109,  127,  128,
-      131,  111,  110,  132,  112,  113,  114,  116,  133,  117,
-      118,  119,  120,  121,  124,  115,  129,  125,  134,  126,
-      122,  135,  127,  128,  131,  136,  123,  132,  137,  138,
-      130,  139,  133,  140,  141,  142,  143,  121,  144,  370,
-      129,  147,  134,  149,  122,  135,  150,  145,  151,  136,
-      123,  152,  137,  138,  130,  139,  153,  140,  141,  142,
-
-      143,  154,  144,  146,  156,  147,  157,  149,  158,  159,
-      150,  145,  151,  160,  161,  152,  162,  163,  164,  165,
-      153,  167,  168,  155,  169,  154,  170,  146,  156,  171,
-      157,  172,  158,  159,  173,  174,  175,  160,  161,  176,
-      162,  163,  164,  165,  177,  167,  168,  178,  169,  179,
-      170,  180,  181,  171,  182,  172,  185,  183,  173,  174,
-      175,  186,  187,  176,  184,  188,  189,  190,  177,  191,
-      192,  178,  193,  179,  194,  180,  181,  195,  182,  196,
-      185,  183,  197,  198,  199,  186,  187,  200,  184,  188,
-      189,  190,  201,  191,  192,  202,  193,  203,  194,  204,
-
-      205,  195,  206,  196,  207,  208,  197,  198,  199,  209,
-      210,  200,  211,  212,  213,  214,  201,  215,  216,  202,
-      217,  203,  218,  204,  205,  219,  206,  220,  207,  208,
-      221,  222,  223,  209,  210,  224,  211,  212,  213,  214,
-      225,  215,  216,  226,  217,  227,  218,  228,  229,  219,
-      230,  220,  231,  232,  221,  222,  223,  233,  234,  224,
-      235,  236,  237,  238,  225,  239,  240,  226,  241,  227,
-      242,  228,  229,  243,  230,  244,  231,  232,  245,  246,
-      247,  233,  234,  248,  235,  236,  237,  238,  249,  239,
-      240,  250,  241,  252,  242,  253,  254,  243,  255,  244,
-
-      256,  257,  245,  246,  247,  258,  259,  248,  260,  261,
-      262,  263,  249,  264,  265,  250,  266,  252,  267,  253,
-      254,  268,  255,  269,  256,  257,  270,  271,  272,  258,
-      259,  273,  260,  261,  262,  263,  274,  264,  265,  275,
-      266,  276,  267,  277,  278,  268,  279,  269,  282,  283,
-      270,  271,  272,  284,  285,  273,  286,  287,  288,  289,
-      274,  292,  290,  275,  293,  276,  294,  277,  278,  295,
-      279,  296,  282,  283,  291,  297,  298,  284,  285,  299,
-      286,  287,  288,  289,  300,  292,  290,  301,  293,  302,
-      294,  303,  304,  295,  305,  296,  306,  307,  291,  297,
-
-      298,  308,  309,  299,  310,  311,  313,  314,  300,  315,
-      316,  301,  317,  302,  318,  303,  304,  319,  305,  320,
-      306,  307,  321,  322,  323,  308,  309,  324,  310,  311,
-      313,  314,  325,  315,  316,  326,  317,  327,  318,  328,
-      329,  319,  330,  320,  331,  332,  321,  322,  323,  333,
-      337,  324,  334,  338,  339,  340,  325,  341,  335,  326,
-      336,  327,  342,  328,  329,  343,  330,  344,  331,  332,
-      346,  347,  348,  333,  337,  349,  334,  338,  339,  340,
-      350,  341,  335,  351,  336,  352,  342,  353,  354,  343,
-      355,  344,  356,  357,  346,  347,  348,  358,  359,  349,
-
-      360,  361,  362,  363,  350,  364,  365,  351,  366,  352,
-      367,  353,  354,  368,  355,  369,  356,  357,  370,  370,
-      370,  358,  359,  370,  360,  361,  362,  363,  370,  364,
-      365,  370,  366,  370,  367,  370,  370,  368,  370,  369,
-       33,   33,    3,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370
-
+      112,  113,  114,  116,  106,  117,  118,  119,  120,  385,
+      124,  115,  107,  125,  108,  126,  385,  109,  127,  128,
+      132,  111,  110,  133,  112,  113,  114,  116,  137,  117,
+      118,  119,  120,  121,  124,  115,  129,  125,  130,  126,
+      122,  134,  127,  128,  132,  138,  123,  133,  139,  140,
+      131,  135,  137,  141,  136,  142,  143,  121,  144,  145,
+      129,  148,  130,  150,  122,  134,  151,  152,  146,  138,
+      123,  153,  139,  140,  131,  135,  154,  141,  136,  142,
+
+      143,  155,  144,  145,  147,  148,  157,  150,  158,  159,
+      151,  152,  146,  160,  161,  153,  162,  163,  164,  165,
+      154,  166,  168,  156,  169,  155,  170,  171,  147,  172,
+      157,  173,  158,  159,  174,  175,  176,  160,  161,  177,
+      162,  163,  164,  165,  178,  166,  168,  179,  169,  180,
+      170,  171,  181,  172,  182,  173,  183,  184,  174,  175,
+      176,  186,  187,  177,  185,  188,  189,  190,  178,  191,
+      192,  179,  193,  180,  194,  195,  181,  196,  182,  197,
+      183,  184,  198,  199,  200,  186,  187,  201,  185,  188,
+      189,  190,  202,  191,  192,  203,  193,  204,  194,  195,
+
+      205,  196,  206,  197,  207,  208,  198,  199,  200,  209,
+      210,  201,  211,  212,  213,  214,  202,  215,  216,  203,
+      217,  204,  218,  219,  205,  220,  206,  221,  207,  208,
+      222,  223,  224,  209,  210,  225,  211,  212,  213,  214,
+      226,  215,  216,  227,  217,  228,  218,  219,  229,  220,
+      230,  221,  231,  232,  222,  223,  224,  233,  234,  225,
+      235,  236,  239,  237,  226,  238,  240,  227,  241,  228,
+      242,  243,  229,  244,  230,  245,  231,  232,  246,  247,
+      248,  233,  234,  249,  235,  236,  239,  237,  250,  238,
+      240,  251,  241,  252,  242,  243,  253,  244,  255,  245,
+
+      256,  257,  246,  247,  248,  258,  259,  249,  260,  261,
+      262,  263,  250,  264,  265,  251,  266,  252,  267,  268,
+      253,  269,  255,  270,  256,  257,  271,  272,  273,  258,
+      259,  274,  260,  261,  262,  263,  275,  264,  265,  276,
+      266,  277,  267,  268,  278,  269,  279,  270,  280,  281,
+      271,  272,  273,  282,  283,  274,  286,  287,  288,  289,
+      275,  290,  291,  276,  292,  277,  293,  294,  278,  296,
+      279,  297,  280,  281,  298,  299,  300,  282,  283,  295,
+      286,  287,  288,  289,  301,  290,  291,  302,  292,  303,
+      293,  294,  304,  296,  305,  297,  306,  307,  298,  299,
+
+      300,  308,  309,  295,  310,  311,  312,  313,  301,  314,
+      315,  302,  316,  303,  318,  319,  304,  320,  305,  321,
+      306,  307,  322,  323,  324,  308,  309,  325,  310,  311,
+      312,  313,  326,  314,  315,  327,  316,  328,  318,  319,
+      329,  320,  330,  321,  331,  332,  322,  323,  324,  333,
+      334,  325,  335,  336,  337,  338,  326,  339,  343,  327,
+      344,  328,  385,  345,  329,  346,  330,  347,  331,  332,
+      348,  349,  350,  333,  334,  352,  335,  336,  337,  338,
+      340,  339,  343,  353,  344,  354,  341,  345,  342,  346,
+      355,  347,  356,  357,  348,  349,  350,  358,  359,  352,
+
+      360,  361,  362,  363,  340,  364,  365,  353,  366,  354,
+      341,  367,  342,  368,  355,  369,  356,  357,  370,  371,
+      372,  358,  359,  373,  360,  361,  362,  363,  374,  364,
+      365,  375,  366,  376,  377,  367,  378,  368,  379,  369,
+      380,  381,  370,  371,  372,  382,  383,  373,  384,  385,
+      385,  385,  374,  385,  385,  375,  385,  376,  377,  385,
+      378,  385,  379,  385,  380,  381,  385,  385,  385,  382,
+      383,  385,  384,   33,   33,    3,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385
     } ;
 
-static yyconst flex_int16_t yy_chk[801] =
+static yyconst flex_int16_t yy_chk[834] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -651,14 +659,14 @@ static yyconst flex_int16_t yy_chk[801] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    7,    7,    9,
         9,   10,   10,   10,   11,   12,   13,   14,   15,   27,
-       16,  373,   13,   16,   17,   12,   28,   18,   17,   14,
-       18,  371,   14,   30,   33,   33,   24,   12,   11,   12,
+       16,  388,   13,   16,   17,   12,   28,   18,   17,   14,
+       18,  386,   14,   30,   33,   33,   24,   12,   11,   12,
        13,   14,   15,   27,   16,   24,   13,   16,   17,   12,
 
        28,   18,   17,   14,   18,   19,   14,   30,   19,   21,
-       24,   12,   19,   21,   19,  239,  239,   21,   22,   24,
-       39,   40,   21,  327,   25,   22,   25,   22,  282,   19,
-       29,  206,   19,   21,   29,   25,   19,   21,   19,   20,
+       24,   12,   19,   21,   19,  242,  242,   21,   22,   24,
+       39,   40,   21,  332,   25,   22,   25,   22,  286,   19,
+       29,  208,   19,   21,   29,   25,   19,   21,   19,   20,
        20,   21,   22,   20,   39,   40,   21,   20,   25,   22,
        25,   22,   20,  110,   29,   38,   38,   38,   29,   25,
        41,   91,   42,   20,   20,   26,   31,   20,    5,   43,
@@ -670,68 +678,72 @@ static yyconst flex_int16_t yy_chk[801] =
        58,   26,   53,   59,   23,   54,   23,   60,   59,   55,
        61,   62,   63,   64,   56,   65,   66,   67,   68,    3,
        71,   63,   57,   72,   58,   73,    0,   59,   74,   75,
-       77,   60,   59,   78,   61,   62,   63,   64,   79,   65,
-       66,   67,   68,   70,   71,   63,   76,   72,   79,   73,
-       70,   79,   74,   75,   77,   80,   70,   78,   81,   82,
-       76,   83,   79,   84,   85,   86,   87,   70,   88,    0,
-       76,   90,   79,   92,   70,   79,   93,   89,   94,   80,
-       70,   95,   81,   82,   76,   83,   96,   84,   85,   86,
-
-       87,   97,   88,   89,   98,   90,   99,   92,  100,  101,
-       93,   89,   94,  102,  103,   95,  105,  107,  108,  109,
-       96,  111,  112,   97,  113,   97,  114,   89,   98,  115,
-       99,  116,  100,  101,  117,  118,  119,  102,  103,  121,
-      105,  107,  108,  109,  123,  111,  112,  124,  113,  125,
-      114,  126,  127,  115,  128,  116,  130,  129,  117,  118,
-      119,  131,  132,  121,  129,  133,  134,  135,  123,  136,
-      137,  124,  138,  125,  139,  126,  127,  140,  128,  141,
-      130,  129,  142,  143,  144,  131,  132,  145,  129,  133,
-      134,  135,  148,  136,  137,  149,  138,  150,  139,  151,
-
-      152,  140,  154,  141,  155,  156,  142,  143,  144,  157,
-      158,  145,  159,  160,  161,  162,  148,  163,  164,  149,
-      166,  150,  167,  151,  152,  168,  154,  169,  155,  156,
-      171,  173,  174,  157,  158,  175,  159,  160,  161,  162,
-      177,  163,  164,  178,  166,  179,  167,  180,  182,  168,
-      183,  169,  184,  185,  171,  173,  174,  186,  187,  175,
-      187,  188,  189,  190,  177,  191,  192,  178,  193,  179,
-      196,  180,  182,  197,  183,  198,  184,  185,  199,  200,
-      201,  186,  187,  202,  187,  188,  189,  190,  204,  191,
-      192,  205,  193,  207,  196,  208,  209,  197,  212,  198,
-
-      213,  214,  199,  200,  201,  215,  217,  202,  218,  219,
-      220,  221,  204,  222,  223,  205,  224,  207,  225,  208,
-      209,  226,  212,  227,  213,  214,  228,  229,  230,  215,
-      217,  231,  218,  219,  220,  221,  233,  222,  223,  234,
-      224,  235,  225,  236,  237,  226,  238,  227,  240,  241,
-      228,  229,  230,  242,  245,  231,  247,  248,  249,  250,
-      233,  252,  251,  234,  253,  235,  255,  236,  237,  258,
-      238,  259,  240,  241,  251,  261,  262,  242,  245,  264,
-      247,  248,  249,  250,  265,  252,  251,  267,  253,  268,
-      255,  269,  270,  258,  271,  259,  272,  273,  251,  261,
-
-      262,  275,  276,  264,  277,  278,  283,  284,  265,  285,
-      286,  267,  287,  268,  289,  269,  270,  290,  271,  291,
-      272,  273,  292,  293,  294,  275,  276,  295,  277,  278,
-      283,  284,  296,  285,  286,  297,  287,  299,  289,  300,
-      302,  290,  305,  291,  306,  307,  292,  293,  294,  311,
-      314,  295,  312,  316,  317,  318,  296,  319,  312,  297,
-      312,  299,  321,  300,  302,  324,  305,  326,  306,  307,
-      331,  334,  335,  311,  314,  336,  312,  316,  317,  318,
-      338,  319,  312,  341,  312,  342,  321,  345,  346,  324,
-      348,  326,  349,  350,  331,  334,  335,  352,  353,  336,
-
-      354,  355,  356,  359,  338,  362,  363,  341,  364,  342,
-      365,  345,  346,  367,  348,  368,  349,  350,    0,    0,
-        0,  352,  353,    0,  354,  355,  356,  359,    0,  362,
-      363,    0,  364,    0,  365,    0,    0,  367,    0,  368,
-      372,  372,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370
-
+       77,   60,   59,   78,   61,   62,   63,   64,   80,   65,
+       66,   67,   68,   70,   71,   63,   76,   72,   76,   73,
+       70,   79,   74,   75,   77,   81,   70,   78,   82,   83,
+       76,   79,   80,   84,   79,   85,   86,   70,   87,   88,
+       76,   90,   76,   92,   70,   79,   93,   94,   89,   81,
+       70,   95,   82,   83,   76,   79,   96,   84,   79,   85,
+
+       86,   97,   87,   88,   89,   90,   98,   92,   99,  100,
+       93,   94,   89,  101,  102,   95,  103,  105,  107,  108,
+       96,  109,  111,   97,  112,   97,  113,  114,   89,  115,
+       98,  116,   99,  100,  117,  118,  119,  101,  102,  121,
+      103,  105,  107,  108,  123,  109,  111,  124,  112,  125,
+      113,  114,  126,  115,  127,  116,  128,  129,  117,  118,
+      119,  130,  131,  121,  129,  132,  133,  134,  123,  135,
+      136,  124,  137,  125,  138,  139,  126,  140,  127,  141,
+      128,  129,  142,  143,  144,  130,  131,  145,  129,  132,
+      133,  134,  146,  135,  136,  149,  137,  150,  138,  139,
+
+      151,  140,  152,  141,  153,  155,  142,  143,  144,  156,
+      157,  145,  158,  159,  160,  161,  146,  162,  163,  149,
+      164,  150,  165,  167,  151,  168,  152,  169,  153,  155,
+      170,  172,  174,  156,  157,  175,  158,  159,  160,  161,
+      176,  162,  163,  178,  164,  179,  165,  167,  180,  168,
+      181,  169,  183,  184,  170,  172,  174,  185,  186,  175,
+      187,  188,  190,  189,  176,  189,  191,  178,  192,  179,
+      193,  194,  180,  195,  181,  198,  183,  184,  199,  200,
+      201,  185,  186,  202,  187,  188,  190,  189,  203,  189,
+      191,  204,  192,  206,  193,  194,  207,  195,  209,  198,
+
+      210,  211,  199,  200,  201,  214,  215,  202,  216,  217,
+      219,  220,  203,  221,  222,  204,  223,  206,  224,  225,
+      207,  226,  209,  227,  210,  211,  228,  229,  230,  214,
+      215,  231,  216,  217,  219,  220,  232,  221,  222,  233,
+      223,  234,  224,  225,  236,  226,  237,  227,  238,  239,
+      228,  229,  230,  240,  241,  231,  243,  244,  245,  248,
+      232,  250,  251,  233,  252,  234,  253,  254,  236,  255,
+      237,  256,  238,  239,  258,  261,  262,  240,  241,  254,
+      243,  244,  245,  248,  264,  250,  251,  265,  252,  267,
+      253,  254,  268,  255,  270,  256,  271,  272,  258,  261,
+
+      262,  273,  274,  254,  275,  276,  277,  279,  264,  280,
+      281,  265,  282,  267,  287,  288,  268,  289,  270,  290,
+      271,  272,  291,  293,  294,  273,  274,  295,  275,  276,
+      277,  279,  296,  280,  281,  297,  282,  298,  287,  288,
+      299,  289,  300,  290,  301,  303,  291,  293,  294,  304,
+      306,  295,  309,  310,  311,  312,  296,  316,  319,  297,
+      321,  298,    0,  322,  299,  323,  300,  324,  301,  303,
+      326,  329,  331,  304,  306,  336,  309,  310,  311,  312,
+      317,  316,  319,  338,  321,  340,  317,  322,  317,  323,
+      341,  324,  342,  344,  326,  329,  331,  347,  348,  336,
+
+      351,  352,  353,  355,  317,  356,  357,  338,  359,  340,
+      317,  360,  317,  361,  341,  362,  342,  344,  363,  364,
+      367,  347,  348,  369,  351,  352,  353,  355,  371,  356,
+      357,  372,  359,  373,  374,  360,  375,  361,  376,  362,
+      378,  379,  363,  364,  367,  380,  381,  369,  383,    0,
+        0,    0,  371,    0,    0,  372,    0,  373,  374,    0,
+      375,    0,  376,    0,  378,  379,    0,    0,    0,  380,
+      381,    0,  383,  387,  387,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
+      385,  385,  385
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -784,7 +796,7 @@ static void ccomment(void);
 unsigned int linenum = 1;
 char linebuf[512];
 
-#line 788 "config-lexer.c"
+#line 800 "config-lexer.c"
 
 #define INITIAL 0
 
@@ -994,7 +1006,7 @@ YY_DECL
 #line 46 "config-lexer.l"
 
 
-#line 998 "config-lexer.c"
+#line 1010 "config-lexer.c"
 
        while ( 1 )             /* loops until end-of-file is reached */
                {
@@ -1027,13 +1039,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 371 )
+                               if ( yy_current_state >= 386 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_current_state != 370 );
+               while ( yy_current_state != 385 );
                yy_cp = (yy_last_accepting_cpos);
                yy_current_state = (yy_last_accepting_state);
 
@@ -1273,72 +1285,72 @@ YY_RULE_SETUP
 case 37:
 YY_RULE_SETUP
 #line 123 "config-lexer.l"
-{ return REPLY;        }
+{ return RECONNECTINTERVAL; }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
 #line 124 "config-lexer.l"
-{ return SCANLOG;      }
+{ return REPLY;        }
        YY_BREAK
 case 39:
 YY_RULE_SETUP
 #line 125 "config-lexer.l"
-{ return SCANNER;      }
+{ return SCANLOG;      }
        YY_BREAK
 case 40:
 YY_RULE_SETUP
 #line 126 "config-lexer.l"
-{ return SENDMAIL;     }
+{ return SCANNER;      }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
 #line 127 "config-lexer.l"
-{ return SERVER;       }
+{ return SENDMAIL;     }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
 #line 128 "config-lexer.l"
-{ return TARGET_IP;    }
+{ return SERVER;       }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
 #line 129 "config-lexer.l"
-{ return TARGET_PORT;  }
+{ return TARGET_IP;    }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
 #line 130 "config-lexer.l"
-{ return TARGET_STRING;}
+{ return TARGET_PORT;  }
        YY_BREAK
 case 45:
 YY_RULE_SETUP
 #line 131 "config-lexer.l"
-{ return TIMEOUT;      }
+{ return TARGET_STRING;}
        YY_BREAK
 case 46:
 YY_RULE_SETUP
 #line 132 "config-lexer.l"
-{ return TYPE;         }
+{ return TIMEOUT;      }
        YY_BREAK
 case 47:
 YY_RULE_SETUP
 #line 133 "config-lexer.l"
-{ return USER;         }
+{ return TYPE;         }
        YY_BREAK
 case 48:
 YY_RULE_SETUP
 #line 134 "config-lexer.l"
-{ return USERNAME;     }
+{ return USER;         }
        YY_BREAK
 case 49:
 YY_RULE_SETUP
 #line 135 "config-lexer.l"
-{ return VHOST;        }
+{ return USERNAME;     }
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 137 "config-lexer.l"
-{ return YEARS; }
+#line 136 "config-lexer.l"
+{ return VHOST;        }
        YY_BREAK
 case 51:
 YY_RULE_SETUP
@@ -1348,7 +1360,7 @@ YY_RULE_SETUP
 case 52:
 YY_RULE_SETUP
 #line 139 "config-lexer.l"
-{ return MONTHS; }
+{ return YEARS; }
        YY_BREAK
 case 53:
 YY_RULE_SETUP
@@ -1358,7 +1370,7 @@ YY_RULE_SETUP
 case 54:
 YY_RULE_SETUP
 #line 141 "config-lexer.l"
-{ return WEEKS; }
+{ return MONTHS; }
        YY_BREAK
 case 55:
 YY_RULE_SETUP
@@ -1368,7 +1380,7 @@ YY_RULE_SETUP
 case 56:
 YY_RULE_SETUP
 #line 143 "config-lexer.l"
-{ return DAYS; }
+{ return WEEKS; }
        YY_BREAK
 case 57:
 YY_RULE_SETUP
@@ -1378,7 +1390,7 @@ YY_RULE_SETUP
 case 58:
 YY_RULE_SETUP
 #line 145 "config-lexer.l"
-{ return HOURS; }
+{ return DAYS; }
        YY_BREAK
 case 59:
 YY_RULE_SETUP
@@ -1388,7 +1400,7 @@ YY_RULE_SETUP
 case 60:
 YY_RULE_SETUP
 #line 147 "config-lexer.l"
-{ return MINUTES; }
+{ return HOURS; }
        YY_BREAK
 case 61:
 YY_RULE_SETUP
@@ -1398,7 +1410,7 @@ YY_RULE_SETUP
 case 62:
 YY_RULE_SETUP
 #line 149 "config-lexer.l"
-{ return SECONDS; }
+{ return MINUTES; }
        YY_BREAK
 case 63:
 YY_RULE_SETUP
@@ -1407,8 +1419,8 @@ YY_RULE_SETUP
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 152 "config-lexer.l"
-{ return BYTES; }
+#line 151 "config-lexer.l"
+{ return SECONDS; }
        YY_BREAK
 case 65:
 YY_RULE_SETUP
@@ -1418,7 +1430,7 @@ YY_RULE_SETUP
 case 66:
 YY_RULE_SETUP
 #line 154 "config-lexer.l"
-{ return KBYTES; }
+{ return BYTES; }
        YY_BREAK
 case 67:
 YY_RULE_SETUP
@@ -1443,7 +1455,7 @@ YY_RULE_SETUP
 case 71:
 YY_RULE_SETUP
 #line 159 "config-lexer.l"
-{ return MBYTES; }
+{ return KBYTES; }
        YY_BREAK
 case 72:
 YY_RULE_SETUP
@@ -1467,142 +1479,147 @@ YY_RULE_SETUP
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 165 "config-lexer.l"
+#line 164 "config-lexer.l"
+{ return MBYTES; }
+       YY_BREAK
+case 77:
+YY_RULE_SETUP
+#line 166 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_HTTP;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 77:
+case 78:
 YY_RULE_SETUP
-#line 170 "config-lexer.l"
+#line 171 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_HTTPPOST;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 78:
+case 79:
 YY_RULE_SETUP
-#line 175 "config-lexer.l"
+#line 176 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_SOCKS4;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 79:
+case 80:
 YY_RULE_SETUP
-#line 180 "config-lexer.l"
+#line 181 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_SOCKS5;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 80:
+case 81:
 YY_RULE_SETUP
-#line 185 "config-lexer.l"
+#line 186 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_WINGATE;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 81:
+case 82:
 YY_RULE_SETUP
-#line 190 "config-lexer.l"
+#line 191 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_ROUTER;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 82:
+case 83:
 YY_RULE_SETUP
-#line 195 "config-lexer.l"
+#line 196 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_DREAMBOX;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 83:
+case 84:
 YY_RULE_SETUP
-#line 202 "config-lexer.l"
+#line 203 "config-lexer.l"
 {
                            yylval.number=atoi(yytext);
                            return NUMBER;
                         }
        YY_BREAK
-case 84:
+case 85:
 YY_RULE_SETUP
-#line 211 "config-lexer.l"
+#line 212 "config-lexer.l"
 {
                            yylval.number=1;
                            return NUMBER;
                          }
        YY_BREAK
-case 85:
+case 86:
 YY_RULE_SETUP
-#line 215 "config-lexer.l"
+#line 216 "config-lexer.l"
 {
                            yylval.number=1;
                            return NUMBER;
                          }
        YY_BREAK
-case 86:
+case 87:
 YY_RULE_SETUP
-#line 219 "config-lexer.l"
+#line 220 "config-lexer.l"
 {
                            yylval.number=1;
                            return NUMBER;
                          }
        YY_BREAK
-case 87:
+case 88:
 YY_RULE_SETUP
-#line 226 "config-lexer.l"
+#line 227 "config-lexer.l"
 {
                            yylval.number=0;
                            return NUMBER;
                          }
        YY_BREAK
-case 88:
+case 89:
 YY_RULE_SETUP
-#line 231 "config-lexer.l"
+#line 232 "config-lexer.l"
 {
                            yylval.number=0;
                            return NUMBER;
                          }
        YY_BREAK
-case 89:
+case 90:
 YY_RULE_SETUP
-#line 236 "config-lexer.l"
+#line 237 "config-lexer.l"
 {
                            yylval.number=0;
                            return NUMBER;
                          }
        YY_BREAK
-case 90:
-/* rule 90 can match eol */
+case 91:
+/* rule 91 can match eol */
 YY_RULE_SETUP
-#line 242 "config-lexer.l"
+#line 243 "config-lexer.l"
 {
                            strlcpy(linebuf, yytext + 1, sizeof(linebuf));
                            ++linenum;
                            yyless(1);
                          }
        YY_BREAK
-case 91:
+case 92:
 YY_RULE_SETUP
-#line 248 "config-lexer.l"
+#line 249 "config-lexer.l"
 /* ignore whitespace */;
        YY_BREAK
-case 92:
+case 93:
 YY_RULE_SETUP
-#line 250 "config-lexer.l"
+#line 251 "config-lexer.l"
 return yytext[0];
        YY_BREAK
-case 93:
+case 94:
 YY_RULE_SETUP
-#line 252 "config-lexer.l"
+#line 253 "config-lexer.l"
 ECHO;
        YY_BREAK
-#line 1606 "config-lexer.c"
+#line 1623 "config-lexer.c"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -1896,7 +1913,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 371 )
+                       if ( yy_current_state >= 386 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1924,11 +1941,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 371 )
+               if ( yy_current_state >= 386 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 370);
+       yy_is_jam = (yy_current_state == 385);
 
                return yy_is_jam ? 0 : yy_current_state;
 }
@@ -2561,7 +2578,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 252 "config-lexer.l"
+#line 253 "config-lexer.l"
 
 
 
index cd0563fc44a2153e0b8faf7d11b61a74d25291ab..a51114597873faeefd5b14033dea1950e20685bd 100644 (file)
@@ -146,29 +146,30 @@ extern int yydebug;
     PROTOCOL = 291,
     READTIMEOUT = 292,
     REALNAME = 293,
-    REPLY = 294,
-    SCANLOG = 295,
-    SCANNER = 296,
-    SECONDS = 297,
-    MINUTES = 298,
-    HOURS = 299,
-    DAYS = 300,
-    WEEKS = 301,
-    MONTHS = 302,
-    YEARS = 303,
-    SENDMAIL = 304,
-    SERVER = 305,
-    TARGET_IP = 306,
-    TARGET_PORT = 307,
-    TARGET_STRING = 308,
-    TIMEOUT = 309,
-    TYPE = 310,
-    USERNAME = 311,
-    USER = 312,
-    VHOST = 313,
-    NUMBER = 314,
-    STRING = 315,
-    PROTOCOLTYPE = 316
+    RECONNECTINTERVAL = 294,
+    REPLY = 295,
+    SCANLOG = 296,
+    SCANNER = 297,
+    SECONDS = 298,
+    MINUTES = 299,
+    HOURS = 300,
+    DAYS = 301,
+    WEEKS = 302,
+    MONTHS = 303,
+    YEARS = 304,
+    SENDMAIL = 305,
+    SERVER = 306,
+    TARGET_IP = 307,
+    TARGET_PORT = 308,
+    TARGET_STRING = 309,
+    TIMEOUT = 310,
+    TYPE = 311,
+    USERNAME = 312,
+    USER = 313,
+    VHOST = 314,
+    NUMBER = 315,
+    STRING = 316,
+    PROTOCOLTYPE = 317
   };
 #endif
 /* Tokens.  */
@@ -208,41 +209,42 @@ extern int yydebug;
 #define PROTOCOL 291
 #define READTIMEOUT 292
 #define REALNAME 293
-#define REPLY 294
-#define SCANLOG 295
-#define SCANNER 296
-#define SECONDS 297
-#define MINUTES 298
-#define HOURS 299
-#define DAYS 300
-#define WEEKS 301
-#define MONTHS 302
-#define YEARS 303
-#define SENDMAIL 304
-#define SERVER 305
-#define TARGET_IP 306
-#define TARGET_PORT 307
-#define TARGET_STRING 308
-#define TIMEOUT 309
-#define TYPE 310
-#define USERNAME 311
-#define USER 312
-#define VHOST 313
-#define NUMBER 314
-#define STRING 315
-#define PROTOCOLTYPE 316
+#define RECONNECTINTERVAL 294
+#define REPLY 295
+#define SCANLOG 296
+#define SCANNER 297
+#define SECONDS 298
+#define MINUTES 299
+#define HOURS 300
+#define DAYS 301
+#define WEEKS 302
+#define MONTHS 303
+#define YEARS 304
+#define SENDMAIL 305
+#define SERVER 306
+#define TARGET_IP 307
+#define TARGET_PORT 308
+#define TARGET_STRING 309
+#define TIMEOUT 310
+#define TYPE 311
+#define USERNAME 312
+#define USER 313
+#define VHOST 314
+#define NUMBER 315
+#define STRING 316
+#define PROTOCOLTYPE 317
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 
 union YYSTYPE
 {
-#line 84 "config-parser.y" /* yacc.c:355  */
+#line 85 "config-parser.y" /* yacc.c:355  */
 
   int number;
   char *string;
 
-#line 246 "config-parser.c" /* yacc.c:355  */
+#line 248 "config-parser.c" /* yacc.c:355  */
 };
 
 typedef union YYSTYPE YYSTYPE;
@@ -259,7 +261,7 @@ int yyparse (void);
 
 /* Copy the second part of user declarations.  */
 
-#line 263 "config-parser.c" /* yacc.c:358  */
+#line 265 "config-parser.c" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -501,21 +503,21 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  2
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   314
+#define YYLAST   333
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  67
+#define YYNTOKENS  68
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  81
+#define YYNNTS  82
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  153
+#define YYNRULES  155
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  334
+#define YYNSTATES  339
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   316
+#define YYMAXUTOK   317
 
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -529,14 +531,14 @@ static const yytype_uint8 yytranslate[] =
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,    66,    64,
-       2,    65,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    67,    65,
+       2,    66,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    62,     2,    63,     2,     2,     2,     2,
+       2,     2,     2,    63,     2,    64,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -555,29 +557,29 @@ static const yytype_uint8 yytranslate[] =
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,    61
+      55,    56,    57,    58,    59,    60,    61,    62
 };
 
 #if YYDEBUG
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,    99,    99,   100,   103,   104,   105,   106,   107,   108,
-     110,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     121,   121,   122,   123,   124,   125,   130,   132,   133,   135,
-     136,   137,   138,   139,   140,   142,   147,   152,   158,   163,
-     171,   173,   174,   176,   177,   178,   179,   180,   181,   182,
-     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
-     193,   195,   201,   207,   213,   219,   225,   231,   237,   245,
-     253,   258,   263,   269,   275,   281,   287,   296,   296,   312,
-     313,   315,   316,   317,   319,   327,   335,   346,   346,   361,
-     362,   364,   365,   366,   368,   378,   391,   391,   434,   435,
-     437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
-     448,   456,   464,   472,   488,   495,   502,   509,   516,   535,
-     537,   538,   540,   541,   542,   543,   544,   546,   552,   558,
-     567,   567,   586,   587,   589,   590,   591,   592,   593,   594,
-     596,   604,   612,   624,   631,   633,   634,   636,   653,   655,
-     656,   658,   659,   661
+       0,   100,   100,   101,   104,   105,   106,   107,   108,   109,
+     111,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     122,   122,   123,   124,   125,   126,   131,   133,   134,   136,
+     137,   138,   139,   140,   141,   143,   148,   153,   159,   164,
+     172,   174,   175,   177,   178,   179,   180,   181,   182,   183,
+     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
+     194,   195,   197,   203,   209,   215,   221,   227,   233,   239,
+     247,   255,   260,   265,   270,   276,   282,   288,   294,   303,
+     303,   319,   320,   322,   323,   324,   326,   334,   342,   353,
+     353,   368,   369,   371,   372,   373,   375,   385,   398,   398,
+     441,   442,   444,   445,   446,   447,   448,   449,   450,   451,
+     452,   453,   455,   463,   471,   479,   495,   502,   509,   516,
+     523,   542,   544,   545,   547,   548,   549,   550,   551,   553,
+     559,   565,   574,   574,   593,   594,   596,   597,   598,   599,
+     600,   601,   603,   611,   619,   631,   638,   640,   641,   643,
+     660,   662,   663,   665,   666,   668
 };
 #endif
 
@@ -592,31 +594,31 @@ static const char *const yytname[] =
   "KEY", "MASK", "MAX_READ", "MODE", "NAME", "NEGCACHE",
   "NEGCACHE_REBUILD", "NICK", "NICKSERV", "NOTICE", "OPER", "OPM",
   "OPTIONS", "PASSWORD", "PERFORM", "PIDFILE", "PORT", "PROTOCOL",
-  "READTIMEOUT", "REALNAME", "REPLY", "SCANLOG", "SCANNER", "SECONDS",
-  "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SENDMAIL",
-  "SERVER", "TARGET_IP", "TARGET_PORT", "TARGET_STRING", "TIMEOUT", "TYPE",
-  "USERNAME", "USER", "VHOST", "NUMBER", "STRING", "PROTOCOLTYPE", "'{'",
-  "'}'", "';'", "'='", "':'", "$accept", "config", "config_items",
-  "timespec_", "timespec", "sizespec_", "sizespec", "options_entry",
-  "options_items", "options_item", "options_negcache",
-  "options_negcache_rebuild", "options_pidfile", "options_dns_fdlimit",
-  "options_scanlog", "irc_entry", "irc_items", "irc_item", "irc_away",
-  "irc_kline", "irc_mode", "irc_nick", "irc_nickserv", "irc_oper",
-  "irc_password", "irc_perform", "irc_notice", "irc_port",
-  "irc_readtimeout", "irc_realname", "irc_server", "irc_username",
-  "irc_vhost", "irc_connregex", "channel_entry", "$@1", "channel_items",
-  "channel_item", "channel_name", "channel_key", "channel_invite",
-  "user_entry", "$@2", "user_items", "user_item", "user_mask",
-  "user_scanner", "scanner_entry", "$@3", "scanner_items", "scanner_item",
-  "scanner_name", "scanner_vhost", "scanner_target_ip",
-  "scanner_target_string", "scanner_fd", "scanner_target_port",
-  "scanner_timeout", "scanner_max_read", "scanner_protocol", "opm_entry",
-  "opm_items", "opm_item", "opm_dnsbl_from", "opm_dnsbl_to",
-  "opm_sendmail", "opm_blacklist_entry", "$@4", "blacklist_items",
-  "blacklist_item", "blacklist_name", "blacklist_kline", "blacklist_type",
-  "blacklist_ban_unknown", "blacklist_reply", "blacklist_reply_items",
-  "blacklist_reply_item", "exempt_entry", "exempt_items", "exempt_item",
-  "exempt_mask", YY_NULLPTR
+  "READTIMEOUT", "REALNAME", "RECONNECTINTERVAL", "REPLY", "SCANLOG",
+  "SCANNER", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS",
+  "YEARS", "SENDMAIL", "SERVER", "TARGET_IP", "TARGET_PORT",
+  "TARGET_STRING", "TIMEOUT", "TYPE", "USERNAME", "USER", "VHOST",
+  "NUMBER", "STRING", "PROTOCOLTYPE", "'{'", "'}'", "';'", "'='", "':'",
+  "$accept", "config", "config_items", "timespec_", "timespec",
+  "sizespec_", "sizespec", "options_entry", "options_items",
+  "options_item", "options_negcache", "options_negcache_rebuild",
+  "options_pidfile", "options_dns_fdlimit", "options_scanlog", "irc_entry",
+  "irc_items", "irc_item", "irc_away", "irc_kline", "irc_mode", "irc_nick",
+  "irc_nickserv", "irc_oper", "irc_password", "irc_perform", "irc_notice",
+  "irc_port", "irc_readtimeout", "irc_reconnectinterval", "irc_realname",
+  "irc_server", "irc_username", "irc_vhost", "irc_connregex",
+  "channel_entry", "$@1", "channel_items", "channel_item", "channel_name",
+  "channel_key", "channel_invite", "user_entry", "$@2", "user_items",
+  "user_item", "user_mask", "user_scanner", "scanner_entry", "$@3",
+  "scanner_items", "scanner_item", "scanner_name", "scanner_vhost",
+  "scanner_target_ip", "scanner_target_string", "scanner_fd",
+  "scanner_target_port", "scanner_timeout", "scanner_max_read",
+  "scanner_protocol", "opm_entry", "opm_items", "opm_item",
+  "opm_dnsbl_from", "opm_dnsbl_to", "opm_sendmail", "opm_blacklist_entry",
+  "$@4", "blacklist_items", "blacklist_item", "blacklist_name",
+  "blacklist_kline", "blacklist_type", "blacklist_ban_unknown",
+  "blacklist_reply", "blacklist_reply_items", "blacklist_reply_item",
+  "exempt_entry", "exempt_items", "exempt_item", "exempt_mask", YY_NULLPTR
 };
 #endif
 
@@ -631,16 +633,16 @@ static const yytype_uint16 yytoknum[] =
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
-     315,   316,   123,   125,    59,    61,    58
+     315,   316,   317,   123,   125,    59,    61,    58
 };
 # endif
 
-#define YYPACT_NINF -245
+#define YYPACT_NINF -249
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-245)))
+  (!!((Yystate) == (-249)))
 
-#define YYTABLE_NINF -131
+#define YYTABLE_NINF -133
 
 #define yytable_value_is_error(Yytable_value) \
   0
@@ -649,40 +651,40 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-    -245,   142,  -245,   -55,   -48,   -43,   -26,  -245,  -245,  -245,
-    -245,   -18,  -245,     2,  -245,  -245,    73,    97,    89,   153,
-     -21,    -9,  -245,    -8,     3,  -245,  -245,  -245,    -1,    13,
-      14,    15,    23,    24,    30,    31,    34,    38,    39,    40,
-      44,    47,    51,    53,     0,  -245,  -245,  -245,  -245,  -245,
-    -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,
-    -245,  -245,  -245,    76,  -245,    57,    62,    71,    12,  -245,
-    -245,  -245,  -245,  -245,   105,  -245,    75,    78,    79,    80,
-      81,    20,  -245,  -245,  -245,  -245,  -245,  -245,    10,   116,
-      88,    77,  -245,    90,    91,    98,   100,   101,   102,   103,
-     106,   111,   115,   117,   120,   121,   122,   124,   125,    93,
-    -245,   118,   126,   128,   129,   127,  -245,   130,   131,   120,
-     120,   141,   149,   146,  -245,  -245,   147,   148,    45,  -245,
-    -245,  -245,  -245,   150,   151,   154,   155,   156,   157,   158,
-     159,   160,    19,  -245,  -245,  -245,  -245,  -245,  -245,  -245,
-    -245,  -245,  -245,   162,  -245,   163,   164,   165,   166,   167,
-     168,   169,   170,   171,   172,   173,   152,   174,   175,   176,
-     177,   178,  -245,    68,   179,   180,   181,  -245,   110,   182,
-     183,   184,   185,   186,  -245,   191,   192,   189,  -245,   195,
-     196,   197,   198,   200,   199,   201,   120,   202,   203,  -245,
-    -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,
-    -245,  -245,   120,   120,   120,   120,   120,   120,   120,  -245,
-    -245,  -245,  -245,  -245,  -245,  -245,   204,   205,   206,   -11,
-    -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,   207,   208,
-     209,   194,   210,    58,  -245,  -245,  -245,  -245,  -245,  -245,
-    -245,  -245,  -245,  -245,  -245,   212,   213,  -245,   214,    61,
-     215,   216,   217,   218,   220,   221,   222,   223,  -245,  -245,
-    -245,  -245,  -245,  -245,  -245,  -245,   228,   229,   230,   227,
-    -245,   233,   234,   235,   237,   238,   236,  -245,  -245,  -245,
-    -245,   196,   196,   196,  -245,  -245,  -245,  -245,   240,  -245,
-    -245,  -245,  -245,  -245,   239,   241,   242,  -245,   243,   244,
-     245,   232,   -57,  -245,   246,  -245,  -245,  -245,  -245,   247,
-    -245,  -245,  -245,  -245,  -245,  -245,   252,   249,  -245,  -245,
-    -245,   250,  -245,  -245
+    -249,   137,  -249,   -56,   -50,   -49,   -39,  -249,  -249,  -249,
+    -249,   -22,  -249,    -1,  -249,  -249,     5,    90,   147,   165,
+      -7,    12,  -249,    -3,     3,  -249,  -249,  -249,     2,    11,
+      21,    23,    24,    26,    29,    30,    31,    35,    37,    38,
+      45,    47,    48,    49,    58,     0,  -249,  -249,  -249,  -249,
+    -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
+    -249,  -249,  -249,  -249,  -249,    67,  -249,    60,    64,    65,
+      57,  -249,  -249,  -249,  -249,  -249,    80,  -249,    66,    69,
+      72,    77,    78,    20,  -249,  -249,  -249,  -249,  -249,  -249,
+      10,   119,    25,    81,  -249,    84,    89,    95,    96,   100,
+     101,   102,   103,   104,   108,   110,   117,   127,   117,   131,
+     132,   133,   115,  -249,   139,   134,   140,   142,   149,  -249,
+     141,   136,   117,   117,   144,   154,   151,  -249,  -249,   152,
+     153,    46,  -249,  -249,  -249,  -249,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,    19,  -249,  -249,  -249,  -249,
+    -249,  -249,  -249,  -249,  -249,  -249,   166,  -249,   167,   168,
+     169,   170,   171,   172,   173,   174,   175,   176,   177,   138,
+     178,   179,   180,   181,   182,   183,  -249,    86,   184,   185,
+     186,  -249,   135,   187,   188,   189,   190,   191,  -249,   196,
+     197,   194,  -249,   200,   201,   202,   203,   205,   204,   206,
+     117,   207,   208,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
+    -249,  -249,  -249,  -249,  -249,  -249,   117,   117,   117,   117,
+     117,   117,   117,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
+    -249,   164,   209,   210,   -11,  -249,  -249,  -249,  -249,  -249,
+    -249,  -249,  -249,   211,   212,   213,   199,   214,    42,  -249,
+    -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
+     216,   217,  -249,   218,    73,   219,   220,   150,   221,   222,
+     223,   224,   225,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
+    -249,   230,   231,   232,   229,  -249,   235,   236,   237,   239,
+     240,   238,  -249,  -249,  -249,  -249,   201,   201,   201,  -249,
+    -249,  -249,  -249,   242,  -249,  -249,  -249,  -249,  -249,   241,
+     243,   244,  -249,   245,   246,   247,   234,   -45,  -249,   248,
+    -249,  -249,  -249,  -249,   249,  -249,  -249,  -249,  -249,  -249,
+    -249,   254,   251,  -249,  -249,  -249,   252,  -249,  -249
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -690,68 +692,68 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       2,    87,     1,     0,     0,     0,     0,     3,     5,     4,
+       2,    89,     1,     0,     0,     0,     0,     3,     5,     4,
        7,     0,     8,     0,     6,     9,     0,     0,     0,     0,
-       0,     0,   152,     0,     0,   150,   151,    60,     0,     0,
+       0,     0,   154,     0,     0,   152,   153,    61,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    42,    43,    45,    48,    46,
-      47,    49,    50,    57,    58,    51,    52,    53,    54,    55,
-      56,    44,    59,     0,   126,     0,     0,     0,     0,   121,
-     122,   123,   124,   125,     0,    34,     0,     0,     0,     0,
-       0,     0,    28,    29,    30,    31,    32,    33,     0,     0,
-       0,     0,   149,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    42,    43,    45,    48,
+      46,    47,    49,    50,    58,    59,    51,    52,    53,    54,
+      55,    56,    57,    44,    60,     0,   128,     0,     0,     0,
+       0,   123,   124,   125,   126,   127,     0,    34,     0,     0,
+       0,     0,     0,     0,    28,    29,    30,    31,    32,    33,
+       0,     0,     0,     0,   151,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      41,     0,     0,     0,     0,     0,   120,     0,     0,     0,
-       0,     0,     0,     0,    27,    93,     0,     0,     0,    90,
-      91,    92,   109,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    99,   100,   101,   103,   105,   102,   104,
-     107,   108,   106,     0,   148,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    10,     0,     0,     0,
-       0,     0,    40,     0,     0,     0,     0,   119,     0,     0,
-       0,     0,     0,     0,    26,     0,     0,     0,    89,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    98,
-     153,    61,    76,    62,    63,    64,    65,    69,    66,    67,
-      68,    70,    10,    10,    10,    10,    10,    10,    10,    12,
-      11,    71,    72,    73,    74,    75,     0,     0,     0,     0,
-      80,    81,    82,    83,   127,   128,   129,   139,     0,     0,
-       0,     0,     0,     0,   133,   134,   136,   135,   137,   138,
-      38,    35,    36,    37,    39,     0,     0,    88,     0,    20,
-       0,     0,     0,     0,     0,     0,     0,     0,    97,    13,
-      14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
-      79,     0,     0,     0,     0,     0,     0,   132,    94,    95,
-     114,    20,    20,    20,    22,    21,   117,   110,     0,   112,
-     115,   113,   116,   111,     0,     0,     0,    78,     0,     0,
-       0,     0,     0,   146,     0,   131,    23,    24,    25,     0,
-      86,    85,    84,   143,   141,   140,     0,     0,   145,   142,
-     118,     0,   144,   147
+       0,     0,     0,    41,     0,     0,     0,     0,     0,   122,
+       0,     0,     0,     0,     0,     0,     0,    27,    95,     0,
+       0,     0,    92,    93,    94,   111,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   101,   102,   103,   105,
+     107,   104,   106,   109,   110,   108,     0,   150,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    10,
+       0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
+       0,   121,     0,     0,     0,     0,     0,     0,    26,     0,
+       0,     0,    91,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   100,   155,    62,    78,    63,    64,    65,
+      66,    70,    67,    68,    69,    71,    10,    10,    10,    10,
+      10,    10,    10,    12,    11,    72,    74,    73,    75,    76,
+      77,     0,     0,     0,     0,    82,    83,    84,    85,   129,
+     130,   131,   141,     0,     0,     0,     0,     0,     0,   135,
+     136,   138,   137,   139,   140,    38,    35,    36,    37,    39,
+       0,     0,    90,     0,    20,     0,     0,     0,     0,     0,
+       0,     0,     0,    99,    13,    14,    15,    16,    17,    18,
+      19,     0,     0,     0,     0,    81,     0,     0,     0,     0,
+       0,     0,   134,    96,    97,   116,    20,    20,    20,    22,
+      21,   119,   112,     0,   114,   117,   115,   118,   113,     0,
+       0,     0,    80,     0,     0,     0,     0,     0,   148,     0,
+     133,    23,    24,    25,     0,    88,    87,    86,   145,   143,
+     142,     0,     0,   147,   144,   120,     0,   146,   149
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -245,  -245,  -245,   -10,  -104,  -244,    27,  -245,  -245,   133,
-    -245,  -245,  -245,  -245,  -245,  -245,  -245,   219,  -245,  -245,
-    -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,
-    -245,  -245,  -245,  -245,  -245,  -245,  -245,    35,  -245,  -245,
-    -245,  -245,  -245,  -245,   137,  -245,  -245,  -245,  -245,  -245,
-     139,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,
-    -245,  -245,   225,  -245,  -245,  -245,  -245,  -245,  -245,   -25,
-    -245,  -245,  -245,  -245,  -245,  -245,   -46,  -245,  -245,   277,
-    -245
+    -249,  -249,  -249,    -9,  -106,  -248,     6,  -249,  -249,   250,
+    -249,  -249,  -249,  -249,  -249,  -249,  -249,   226,  -249,  -249,
+    -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
+    -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,   -14,  -249,
+    -249,  -249,  -249,  -249,  -249,   143,  -249,  -249,  -249,  -249,
+    -249,   124,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
+    -249,  -249,  -249,   253,  -249,  -249,  -249,  -249,  -249,  -249,
+      22,  -249,  -249,  -249,  -249,  -249,  -249,   -21,  -249,  -249,
+     280,  -249
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     1,     7,   219,   220,   294,   295,     8,    81,    82,
-      83,    84,    85,    86,    87,     9,    44,    45,    46,    47,
-      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,    60,    61,    62,    63,   229,   230,   231,   232,
-     233,    10,    11,   128,   129,   130,   131,    12,    13,   142,
-     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
-      14,    68,    69,    70,    71,    72,    73,    74,   243,   244,
-     245,   246,   247,   248,   249,   312,   313,    15,    24,    25,
-      26
+      -1,     1,     7,   223,   224,   299,   300,     8,    83,    84,
+      85,    86,    87,    88,    89,     9,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,   234,   235,   236,
+     237,   238,    10,    11,   131,   132,   133,   134,    12,    13,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,    14,    70,    71,    72,    73,    74,    75,    76,   248,
+     249,   250,   251,   252,   253,   254,   317,   318,    15,    24,
+      25,    26
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -759,135 +761,139 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-     167,    27,   311,    28,    22,   226,   327,    16,   227,   -77,
-      29,   125,   228,    64,    17,   180,   181,  -130,    30,    18,
-     132,    75,    31,    23,    65,    66,    32,    33,    34,    35,
-     126,    76,    36,    37,   133,    38,    19,    39,    40,    20,
-     134,    88,   135,    21,    77,    78,   125,   316,   317,   318,
-      41,   127,   279,    89,    79,   136,    42,    90,    43,   237,
-      80,    67,   238,   109,    93,   126,    91,   291,   292,   293,
-     137,   138,   139,   140,    22,   115,   239,   141,    94,    95,
-      96,   240,   198,   123,   226,   111,   127,   227,    97,    98,
-      64,   228,   266,    23,  -130,    99,   100,   241,    27,   101,
-      28,    65,    66,   102,   103,   104,   -77,    29,   187,   105,
-     117,   237,   106,   242,   238,    30,   107,   132,   108,    31,
-     259,   286,   112,    32,    33,    34,    35,   113,   239,    36,
-      37,   133,    38,   240,    39,    40,   114,   134,    67,   135,
-     118,   154,     2,   119,   120,   121,   122,    41,   153,   241,
-     155,   156,   136,    42,    75,    43,     3,   172,   157,     4,
-     158,   159,   160,   161,    76,   242,   162,   137,   138,   139,
-     140,   163,     5,     6,   141,   164,   165,    77,    78,   166,
-     173,   168,   169,   -96,   170,   171,   174,    79,   175,   176,
-     179,   177,   178,    80,   212,   213,   214,   215,   216,   217,
-     218,   182,   269,   270,   271,   272,   273,   274,   275,   183,
-     184,   166,   185,   186,   124,   189,   190,   260,   287,   191,
-     192,   193,   194,   195,   196,   197,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   221,   222,
-     223,   224,   225,   234,   235,   236,   250,   251,   252,   253,
-     254,   255,   256,   257,   258,   259,   284,   261,   264,   262,
-     263,   265,   267,   110,   280,   188,   328,   268,     0,   276,
-     277,   278,   281,   282,   283,   285,   288,   289,   290,   296,
-     297,   199,   299,   298,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   116,   309,   310,   311,   326,   314,   319,
-     315,    92,     0,   320,     0,   321,   322,   323,   324,   325,
-     329,   330,   331,   332,   333
+     170,    27,   172,    28,    22,   231,    22,    16,   232,   -79,
+      29,   128,   233,    17,    18,   316,   184,   185,    30,   332,
+     135,    77,    31,    23,    19,    23,    32,    33,    34,    35,
+     129,    78,    36,    37,   136,    38,    20,    39,    40,    41,
+     137,    21,   138,   242,    79,    80,   243,   128,   321,   322,
+     323,    42,   130,   284,    81,   139,    90,    43,    66,    44,
+     244,    82,  -132,    92,   112,   245,   129,    93,    95,    67,
+      68,   140,   141,   142,   143,    91,   114,    96,   144,   296,
+     297,   298,   246,   202,   126,   120,   156,    97,   130,    98,
+      99,    27,   100,    28,   271,   101,   102,   103,   247,   -79,
+      29,   104,   231,   105,   106,   232,   291,    69,    30,   233,
+     191,   107,    31,   108,   109,   110,    32,    33,    34,    35,
+     135,   118,    36,    37,   111,    38,   115,    39,    40,    41,
+     116,   117,   121,   264,   136,   122,   242,     2,   123,   243,
+     137,    42,   138,   124,   125,   158,   157,    43,    66,    44,
+     159,     3,  -132,   244,     4,   139,   160,   161,   245,    67,
+      68,   162,   163,   164,   165,   166,    77,     5,     6,   167,
+     168,   140,   141,   142,   143,   246,    78,   169,   144,   -98,
+     176,   216,   217,   218,   219,   220,   221,   222,   171,    79,
+      80,   247,   173,   174,   175,   178,   183,    69,   169,    81,
+     265,   179,   177,   180,   182,   186,    82,   274,   275,   276,
+     277,   278,   279,   280,   181,   187,   188,   303,   189,   190,
+     285,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     281,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   225,   226,   227,   228,   229,   230,   239,
+     240,   241,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   289,   266,   269,   267,   268,   270,   272,   203,
+     292,   113,     0,   273,   192,   282,   283,   286,   287,   288,
+     290,   293,   294,   295,   301,   302,   304,   305,   306,   307,
+     308,   309,   310,   311,   312,   313,   333,   314,   315,   316,
+     331,   319,   324,   320,    94,     0,   325,     0,   326,   327,
+     328,   329,   330,   334,   335,   336,   337,   338,     0,     0,
+       0,     0,     0,   119,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   127
 };
 
 static const yytype_int16 yycheck[] =
 {
-     104,     1,    59,     3,     1,    16,    63,    62,    19,     9,
-      10,     1,    23,     1,    62,   119,   120,     5,    18,    62,
-       1,     1,    22,    20,    12,    13,    26,    27,    28,    29,
-      20,    11,    32,    33,    15,    35,    62,    37,    38,    57,
-      21,    62,    23,    41,    24,    25,     1,   291,   292,   293,
-      50,    41,    63,    62,    34,    36,    56,    65,    58,     1,
-      40,    49,     4,    63,    65,    20,    63,     6,     7,     8,
-      51,    52,    53,    54,     1,    63,    18,    58,    65,    65,
-      65,    23,    63,    63,    16,     9,    41,    19,    65,    65,
-       1,    23,   196,    20,     5,    65,    65,    39,     1,    65,
-       3,    12,    13,    65,    65,    65,     9,    10,    63,    65,
-       5,     1,    65,    55,     4,    18,    65,     1,    65,    22,
-      59,    63,    65,    26,    27,    28,    29,    65,    18,    32,
-      33,    15,    35,    23,    37,    38,    65,    21,    49,    23,
-      65,    64,     0,    65,    65,    65,    65,    50,    60,    39,
-      60,    60,    36,    56,     1,    58,    14,    64,    60,    17,
-      60,    60,    60,    60,    11,    55,    60,    51,    52,    53,
-      54,    60,    30,    31,    58,    60,    59,    24,    25,    59,
-      62,    60,    60,    41,    60,    60,    60,    34,    60,    60,
-      59,    64,    62,    40,    42,    43,    44,    45,    46,    47,
-      48,    60,   212,   213,   214,   215,   216,   217,   218,    60,
-      64,    59,    65,    65,    81,    65,    65,   190,   243,    65,
-      65,    65,    65,    65,    65,    65,    64,    64,    64,    64,
-      64,    64,    64,    64,    64,    64,    64,    64,    64,    64,
-      64,    64,    64,    64,    64,    64,    64,    64,    64,    64,
-      64,    60,    60,    64,    59,    59,    62,    60,    59,    61,
-      60,    60,    60,    44,   229,   128,   312,    64,    -1,    65,
-      65,    65,    65,    65,    65,    65,    64,    64,    64,    64,
-      64,   142,    64,    66,    64,    64,    64,    64,    60,    60,
-      60,    64,    59,    68,    60,    60,    59,    65,    60,    59,
-      64,    24,    -1,    64,    -1,    64,    64,    64,    64,    64,
-      64,    64,    60,    64,    64
+     106,     1,   108,     3,     1,    16,     1,    63,    19,     9,
+      10,     1,    23,    63,    63,    60,   122,   123,    18,    64,
+       1,     1,    22,    20,    63,    20,    26,    27,    28,    29,
+      20,    11,    32,    33,    15,    35,    58,    37,    38,    39,
+      21,    42,    23,     1,    24,    25,     4,     1,   296,   297,
+     298,    51,    42,    64,    34,    36,    63,    57,     1,    59,
+      18,    41,     5,    66,    64,    23,    20,    64,    66,    12,
+      13,    52,    53,    54,    55,    63,     9,    66,    59,     6,
+       7,     8,    40,    64,    64,     5,    61,    66,    42,    66,
+      66,     1,    66,     3,   200,    66,    66,    66,    56,     9,
+      10,    66,    16,    66,    66,    19,    64,    50,    18,    23,
+      64,    66,    22,    66,    66,    66,    26,    27,    28,    29,
+       1,    64,    32,    33,    66,    35,    66,    37,    38,    39,
+      66,    66,    66,    60,    15,    66,     1,     0,    66,     4,
+      21,    51,    23,    66,    66,    61,    65,    57,     1,    59,
+      61,    14,     5,    18,    17,    36,    61,    61,    23,    12,
+      13,    61,    61,    61,    61,    61,     1,    30,    31,    61,
+      60,    52,    53,    54,    55,    40,    11,    60,    59,    42,
+      65,    43,    44,    45,    46,    47,    48,    49,    61,    24,
+      25,    56,    61,    61,    61,    61,    60,    50,    60,    34,
+     194,    61,    63,    61,    63,    61,    41,   216,   217,   218,
+     219,   220,   221,   222,    65,    61,    65,    67,    66,    66,
+     234,    66,    66,    66,    66,    66,    66,    66,    66,    66,
+      66,    65,    65,    65,    65,    65,    65,    65,    65,    65,
+      65,    65,    65,    65,    65,    65,    65,    65,    65,    65,
+      65,    65,    65,    65,    65,    65,    65,    61,    61,    65,
+      60,    60,    63,    61,    60,    62,    61,    61,    61,   145,
+     248,    45,    -1,    65,   131,    66,    66,    66,    66,    66,
+      66,    65,    65,    65,    65,    65,    65,    65,    65,    65,
+      65,    61,    61,    61,    65,    60,   317,    61,    61,    60,
+      66,    61,    60,    65,    24,    -1,    65,    -1,    65,    65,
+      65,    65,    65,    65,    65,    61,    65,    65,    -1,    -1,
+      -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    83
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
      symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,    68,     0,    14,    17,    30,    31,    69,    74,    82,
-     108,   109,   114,   115,   127,   144,    62,    62,    62,    62,
-      57,    41,     1,    20,   145,   146,   147,     1,     3,    10,
+       0,    69,     0,    14,    17,    30,    31,    70,    75,    83,
+     110,   111,   116,   117,   129,   146,    63,    63,    63,    63,
+      58,    42,     1,    20,   147,   148,   149,     1,     3,    10,
       18,    22,    26,    27,    28,    29,    32,    33,    35,    37,
-      38,    50,    56,    58,    83,    84,    85,    86,    87,    88,
+      38,    39,    51,    57,    59,    84,    85,    86,    87,    88,
       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,     1,    12,    13,    49,   128,   129,
-     130,   131,   132,   133,   134,     1,    11,    24,    25,    34,
-      40,    75,    76,    77,    78,    79,    80,    81,    62,    62,
-      65,    63,   146,    65,    65,    65,    65,    65,    65,    65,
-      65,    65,    65,    65,    65,    65,    65,    65,    65,    63,
-      84,     9,    65,    65,    65,    63,   129,     5,    65,    65,
-      65,    65,    65,    63,    76,     1,    20,    41,   110,   111,
-     112,   113,     1,    15,    21,    23,    36,    51,    52,    53,
-      54,    58,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,    60,    64,    60,    60,    60,    60,    60,
-      60,    60,    60,    60,    60,    59,    59,    71,    60,    60,
-      60,    60,    64,    62,    60,    60,    60,    64,    62,    59,
-      71,    71,    60,    60,    64,    65,    65,    63,   111,    65,
-      65,    65,    65,    65,    65,    65,    65,    65,    63,   117,
-      64,    64,    64,    64,    64,    64,    64,    64,    64,    64,
-      64,    64,    42,    43,    44,    45,    46,    47,    48,    70,
-      71,    64,    64,    64,    64,    64,    16,    19,    23,   103,
-     104,   105,   106,   107,    64,    64,    64,     1,     4,    18,
-      23,    39,    55,   135,   136,   137,   138,   139,   140,   141,
-      64,    64,    64,    64,    64,    60,    60,    64,    59,    59,
-      73,    60,    61,    60,    59,    60,    71,    60,    64,    70,
-      70,    70,    70,    70,    70,    70,    65,    65,    65,    63,
-     104,    65,    65,    65,    62,    65,    63,   136,    64,    64,
-      64,     6,     7,     8,    72,    73,    64,    64,    66,    64,
-      64,    64,    64,    64,    60,    60,    60,    64,    59,    60,
-      60,    59,   142,   143,    60,    64,    72,    72,    72,    59,
-      64,    64,    64,    64,    64,    64,    65,    63,   143,    64,
-      64,    60,    64,    64
+      99,   100,   101,   102,   103,   104,     1,    12,    13,    50,
+     130,   131,   132,   133,   134,   135,   136,     1,    11,    24,
+      25,    34,    41,    76,    77,    78,    79,    80,    81,    82,
+      63,    63,    66,    64,   148,    66,    66,    66,    66,    66,
+      66,    66,    66,    66,    66,    66,    66,    66,    66,    66,
+      66,    66,    64,    85,     9,    66,    66,    66,    64,   131,
+       5,    66,    66,    66,    66,    66,    64,    77,     1,    20,
+      42,   112,   113,   114,   115,     1,    15,    21,    23,    36,
+      52,    53,    54,    55,    59,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,    61,    65,    61,    61,
+      61,    61,    61,    61,    61,    61,    61,    61,    60,    60,
+      72,    61,    72,    61,    61,    61,    65,    63,    61,    61,
+      61,    65,    63,    60,    72,    72,    61,    61,    65,    66,
+      66,    64,   113,    66,    66,    66,    66,    66,    66,    66,
+      66,    66,    64,   119,    65,    65,    65,    65,    65,    65,
+      65,    65,    65,    65,    65,    65,    43,    44,    45,    46,
+      47,    48,    49,    71,    72,    65,    65,    65,    65,    65,
+      65,    16,    19,    23,   105,   106,   107,   108,   109,    65,
+      65,    65,     1,     4,    18,    23,    40,    56,   137,   138,
+     139,   140,   141,   142,   143,    65,    65,    65,    65,    65,
+      61,    61,    65,    60,    60,    74,    61,    62,    61,    60,
+      61,    72,    61,    65,    71,    71,    71,    71,    71,    71,
+      71,    66,    66,    66,    64,   106,    66,    66,    66,    63,
+      66,    64,   138,    65,    65,    65,     6,     7,     8,    73,
+      74,    65,    65,    67,    65,    65,    65,    65,    65,    61,
+      61,    61,    65,    60,    61,    61,    60,   144,   145,    61,
+      65,    73,    73,    73,    60,    65,    65,    65,    65,    65,
+      65,    66,    64,   145,    65,    65,    61,    65,    65
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,    67,    68,    68,    69,    69,    69,    69,    69,    69,
-      70,    70,    71,    71,    71,    71,    71,    71,    71,    71,
-      72,    72,    73,    73,    73,    73,    74,    75,    75,    76,
-      76,    76,    76,    76,    76,    77,    78,    79,    80,    81,
-      82,    83,    83,    84,    84,    84,    84,    84,    84,    84,
-      84,    84,    84,    84,    84,    84,    84,    84,    84,    84,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   102,   101,   103,
-     103,   104,   104,   104,   105,   106,   107,   109,   108,   110,
-     110,   111,   111,   111,   112,   113,   115,   114,   116,   116,
-     117,   117,   117,   117,   117,   117,   117,   117,   117,   117,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,   128,   129,   129,   129,   129,   129,   130,   131,   132,
-     134,   133,   135,   135,   136,   136,   136,   136,   136,   136,
-     137,   138,   139,   140,   141,   142,   142,   143,   144,   145,
-     145,   146,   146,   147
+       0,    68,    69,    69,    70,    70,    70,    70,    70,    70,
+      71,    71,    72,    72,    72,    72,    72,    72,    72,    72,
+      73,    73,    74,    74,    74,    74,    75,    76,    76,    77,
+      77,    77,    77,    77,    77,    78,    79,    80,    81,    82,
+      83,    84,    84,    85,    85,    85,    85,    85,    85,    85,
+      85,    85,    85,    85,    85,    85,    85,    85,    85,    85,
+      85,    85,    86,    87,    88,    89,    90,    91,    92,    93,
+      94,    95,    96,    97,    98,    99,   100,   101,   102,   104,
+     103,   105,   105,   106,   106,   106,   107,   108,   109,   111,
+     110,   112,   112,   113,   113,   113,   114,   115,   117,   116,
+     118,   118,   119,   119,   119,   119,   119,   119,   119,   119,
+     119,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   130,   131,   131,   131,   131,   131,   132,
+     133,   134,   136,   135,   137,   137,   138,   138,   138,   138,
+     138,   138,   139,   140,   141,   142,   143,   144,   144,   145,
+     146,   147,   147,   148,   148,   149
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -899,16 +905,16 @@ static const yytype_uint8 yyr2[] =
        1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
        5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,     4,     0,     6,     2,
-       1,     1,     1,     1,     4,     4,     4,     0,     6,     2,
-       1,     1,     1,     1,     4,     4,     0,     6,     2,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       4,     4,     4,     4,     4,     4,     4,     4,     6,     5,
-       2,     1,     1,     1,     1,     1,     1,     4,     4,     4,
-       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
-       4,     4,     4,     4,     5,     2,     1,     4,     5,     2,
-       1,     1,     1,     4
+       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
+       6,     2,     1,     1,     1,     1,     4,     4,     4,     0,
+       6,     2,     1,     1,     1,     1,     4,     4,     0,     6,
+       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
+       6,     5,     2,     1,     1,     1,     1,     1,     1,     4,
+       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
+       1,     1,     4,     4,     4,     4,     5,     2,     1,     4,
+       5,     2,     1,     1,     1,     4
 };
 
 
@@ -1585,279 +1591,287 @@ yyreduce:
   switch (yyn)
     {
         case 10:
-#line 110 "config-parser.y" /* yacc.c:1646  */
+#line 111 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = 0; }
-#line 1591 "config-parser.c" /* yacc.c:1646  */
+#line 1597 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 12:
-#line 111 "config-parser.y" /* yacc.c:1646  */
+#line 112 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
-#line 1597 "config-parser.c" /* yacc.c:1646  */
+#line 1603 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 13:
-#line 112 "config-parser.y" /* yacc.c:1646  */
+#line 113 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
-#line 1603 "config-parser.c" /* yacc.c:1646  */
+#line 1609 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 14:
-#line 113 "config-parser.y" /* yacc.c:1646  */
+#line 114 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
-#line 1609 "config-parser.c" /* yacc.c:1646  */
+#line 1615 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 15:
-#line 114 "config-parser.y" /* yacc.c:1646  */
+#line 115 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
-#line 1615 "config-parser.c" /* yacc.c:1646  */
+#line 1621 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 16:
-#line 115 "config-parser.y" /* yacc.c:1646  */
+#line 116 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
-#line 1621 "config-parser.c" /* yacc.c:1646  */
+#line 1627 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 17:
-#line 116 "config-parser.y" /* yacc.c:1646  */
+#line 117 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
-#line 1627 "config-parser.c" /* yacc.c:1646  */
+#line 1633 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 18:
-#line 117 "config-parser.y" /* yacc.c:1646  */
+#line 118 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
-#line 1633 "config-parser.c" /* yacc.c:1646  */
+#line 1639 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 19:
-#line 118 "config-parser.y" /* yacc.c:1646  */
+#line 119 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
-#line 1639 "config-parser.c" /* yacc.c:1646  */
+#line 1645 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 20:
-#line 121 "config-parser.y" /* yacc.c:1646  */
+#line 122 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = 0; }
-#line 1645 "config-parser.c" /* yacc.c:1646  */
+#line 1651 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 22:
-#line 122 "config-parser.y" /* yacc.c:1646  */
+#line 123 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
-#line 1651 "config-parser.c" /* yacc.c:1646  */
+#line 1657 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 23:
-#line 123 "config-parser.y" /* yacc.c:1646  */
+#line 124 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
-#line 1657 "config-parser.c" /* yacc.c:1646  */
+#line 1663 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 24:
-#line 124 "config-parser.y" /* yacc.c:1646  */
+#line 125 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
-#line 1663 "config-parser.c" /* yacc.c:1646  */
+#line 1669 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 25:
-#line 125 "config-parser.y" /* yacc.c:1646  */
+#line 126 "config-parser.y" /* yacc.c:1646  */
     { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
-#line 1669 "config-parser.c" /* yacc.c:1646  */
+#line 1675 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 35:
-#line 143 "config-parser.y" /* yacc.c:1646  */
+#line 144 "config-parser.y" /* yacc.c:1646  */
     {
   OptionsItem->negcache = (yyvsp[-1].number);
 }
-#line 1677 "config-parser.c" /* yacc.c:1646  */
+#line 1683 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 36:
-#line 148 "config-parser.y" /* yacc.c:1646  */
+#line 149 "config-parser.y" /* yacc.c:1646  */
     {
   OptionsItem->negcache_rebuild = (yyvsp[-1].number);
 }
-#line 1685 "config-parser.c" /* yacc.c:1646  */
+#line 1691 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 37:
-#line 153 "config-parser.y" /* yacc.c:1646  */
+#line 154 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(OptionsItem->pidfile);
   OptionsItem->pidfile = xstrdup((yyvsp[-1].string));
 }
-#line 1694 "config-parser.c" /* yacc.c:1646  */
+#line 1700 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 38:
-#line 159 "config-parser.y" /* yacc.c:1646  */
+#line 160 "config-parser.y" /* yacc.c:1646  */
     {
   OptionsItem->dns_fdlimit = (yyvsp[-1].number);
 }
-#line 1702 "config-parser.c" /* yacc.c:1646  */
+#line 1708 "config-parser.c" /* yacc.c:1646  */
     break;
 
   case 39:
-#line 164 "config-parser.y" /* yacc.c:1646  */
+#line 165 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(OptionsItem->scanlog);
   OptionsItem->scanlog = xstrdup((yyvsp[-1].string));
 }
-#line 1711 "config-parser.c" /* yacc.c:1646  */
+#line 1717 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 61:
-#line 196 "config-parser.y" /* yacc.c:1646  */
+  case 62:
+#line 198 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->away);
   IRCItem->away = xstrdup((yyvsp[-1].string));
 }
-#line 1720 "config-parser.c" /* yacc.c:1646  */
+#line 1726 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 62:
-#line 202 "config-parser.y" /* yacc.c:1646  */
+  case 63:
+#line 204 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->kline);
   IRCItem->kline = xstrdup((yyvsp[-1].string));
 }
-#line 1729 "config-parser.c" /* yacc.c:1646  */
+#line 1735 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 63:
-#line 208 "config-parser.y" /* yacc.c:1646  */
+  case 64:
+#line 210 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->mode);
   IRCItem->mode = xstrdup((yyvsp[-1].string));
 }
-#line 1738 "config-parser.c" /* yacc.c:1646  */
+#line 1744 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 64:
-#line 214 "config-parser.y" /* yacc.c:1646  */
+  case 65:
+#line 216 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->nick);
   IRCItem->nick = xstrdup((yyvsp[-1].string));
 }
-#line 1747 "config-parser.c" /* yacc.c:1646  */
+#line 1753 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 65:
-#line 220 "config-parser.y" /* yacc.c:1646  */
+  case 66:
+#line 222 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->nickserv);
   IRCItem->nickserv = xstrdup((yyvsp[-1].string));
 }
-#line 1756 "config-parser.c" /* yacc.c:1646  */
+#line 1762 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 66:
-#line 226 "config-parser.y" /* yacc.c:1646  */
+  case 67:
+#line 228 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->oper);
   IRCItem->oper = xstrdup((yyvsp[-1].string));
 }
-#line 1765 "config-parser.c" /* yacc.c:1646  */
+#line 1771 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 67:
-#line 232 "config-parser.y" /* yacc.c:1646  */
+  case 68:
+#line 234 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->password);
   IRCItem->password = xstrdup((yyvsp[-1].string));
 }
-#line 1774 "config-parser.c" /* yacc.c:1646  */
+#line 1780 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 68:
-#line 238 "config-parser.y" /* yacc.c:1646  */
+  case 69:
+#line 240 "config-parser.y" /* yacc.c:1646  */
     {
   node_t *node;
 
   node = node_create(xstrdup((yyvsp[-1].string)));
   list_add(IRCItem->performs, node);
 }
-#line 1785 "config-parser.c" /* yacc.c:1646  */
+#line 1791 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 69:
-#line 246 "config-parser.y" /* yacc.c:1646  */
+  case 70:
+#line 248 "config-parser.y" /* yacc.c:1646  */
     {
   node_t *node;
 
   node = node_create(xstrdup((yyvsp[-1].string)));
   list_add(IRCItem->notices, node);
 }
-#line 1796 "config-parser.c" /* yacc.c:1646  */
+#line 1802 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 70:
-#line 254 "config-parser.y" /* yacc.c:1646  */
+  case 71:
+#line 256 "config-parser.y" /* yacc.c:1646  */
     {
   IRCItem->port = (yyvsp[-1].number);
 }
-#line 1804 "config-parser.c" /* yacc.c:1646  */
+#line 1810 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 71:
-#line 259 "config-parser.y" /* yacc.c:1646  */
+  case 72:
+#line 261 "config-parser.y" /* yacc.c:1646  */
     {
   IRCItem->readtimeout = (yyvsp[-1].number);
 }
-#line 1812 "config-parser.c" /* yacc.c:1646  */
+#line 1818 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 72:
-#line 264 "config-parser.y" /* yacc.c:1646  */
+  case 73:
+#line 266 "config-parser.y" /* yacc.c:1646  */
+    {
+  IRCItem->reconnectinterval = (yyvsp[-1].number);
+}
+#line 1826 "config-parser.c" /* yacc.c:1646  */
+    break;
+
+  case 74:
+#line 271 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->realname);
   IRCItem->realname = xstrdup((yyvsp[-1].string));
 }
-#line 1821 "config-parser.c" /* yacc.c:1646  */
+#line 1835 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 73:
-#line 270 "config-parser.y" /* yacc.c:1646  */
+  case 75:
+#line 277 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->server);
   IRCItem->server = xstrdup((yyvsp[-1].string));
 }
-#line 1830 "config-parser.c" /* yacc.c:1646  */
+#line 1844 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 74:
-#line 276 "config-parser.y" /* yacc.c:1646  */
+  case 76:
+#line 283 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->username);
   IRCItem->username = xstrdup((yyvsp[-1].string));
 }
-#line 1839 "config-parser.c" /* yacc.c:1646  */
+#line 1853 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 75:
-#line 282 "config-parser.y" /* yacc.c:1646  */
+  case 77:
+#line 289 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->vhost);
   IRCItem->vhost = xstrdup((yyvsp[-1].string));
 }
-#line 1848 "config-parser.c" /* yacc.c:1646  */
+#line 1862 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 76:
-#line 288 "config-parser.y" /* yacc.c:1646  */
+  case 78:
+#line 295 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(IRCItem->connregex);
   IRCItem->connregex = xstrdup((yyvsp[-1].string));
 }
-#line 1857 "config-parser.c" /* yacc.c:1646  */
+#line 1871 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 77:
-#line 296 "config-parser.y" /* yacc.c:1646  */
+  case 79:
+#line 303 "config-parser.y" /* yacc.c:1646  */
     {
   node_t *node;
   struct ChannelConf *item;
@@ -1872,44 +1886,44 @@ yyreduce:
   list_add(IRCItem->channels, node);
   tmp = item;
 }
-#line 1876 "config-parser.c" /* yacc.c:1646  */
+#line 1890 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 84:
-#line 320 "config-parser.y" /* yacc.c:1646  */
+  case 86:
+#line 327 "config-parser.y" /* yacc.c:1646  */
     {
   struct ChannelConf *item = tmp;
 
   xfree(item->name);
   item->name = xstrdup((yyvsp[-1].string));
 }
-#line 1887 "config-parser.c" /* yacc.c:1646  */
+#line 1901 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 85:
-#line 328 "config-parser.y" /* yacc.c:1646  */
+  case 87:
+#line 335 "config-parser.y" /* yacc.c:1646  */
     {
   struct ChannelConf *item = tmp;
 
   xfree(item->key);
   item->key = xstrdup((yyvsp[-1].string));
 }
-#line 1898 "config-parser.c" /* yacc.c:1646  */
+#line 1912 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 86:
-#line 336 "config-parser.y" /* yacc.c:1646  */
+  case 88:
+#line 343 "config-parser.y" /* yacc.c:1646  */
     {
   struct ChannelConf *item = tmp;
 
   xfree(item->invite);
   item->invite = xstrdup((yyvsp[-1].string));
 }
-#line 1909 "config-parser.c" /* yacc.c:1646  */
+#line 1923 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 87:
-#line 346 "config-parser.y" /* yacc.c:1646  */
+  case 89:
+#line 353 "config-parser.y" /* yacc.c:1646  */
     {
   node_t *node;
   struct UserConf *item;
@@ -1923,11 +1937,11 @@ yyreduce:
   list_add(UserItemList, node);
   tmp = item;
 }
-#line 1927 "config-parser.c" /* yacc.c:1646  */
+#line 1941 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 94:
-#line 369 "config-parser.y" /* yacc.c:1646  */
+  case 96:
+#line 376 "config-parser.y" /* yacc.c:1646  */
     {
   struct UserConf *item = tmp;
   node_t *node;
@@ -1936,11 +1950,11 @@ yyreduce:
 
   list_add(item->masks, node);
 }
-#line 1940 "config-parser.c" /* yacc.c:1646  */
+#line 1954 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 95:
-#line 379 "config-parser.y" /* yacc.c:1646  */
+  case 97:
+#line 386 "config-parser.y" /* yacc.c:1646  */
     {
   struct UserConf *item = tmp;
   node_t *node;
@@ -1949,11 +1963,11 @@ yyreduce:
 
   list_add(item->scanners, node);
 }
-#line 1953 "config-parser.c" /* yacc.c:1646  */
+#line 1967 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 96:
-#line 391 "config-parser.y" /* yacc.c:1646  */
+  case 98:
+#line 398 "config-parser.y" /* yacc.c:1646  */
     {
   node_t *node;
   struct ScannerConf *item, *olditem;
@@ -1995,44 +2009,44 @@ yyreduce:
   list_add(ScannerItemList, node);
   tmp = item;
 }
-#line 1999 "config-parser.c" /* yacc.c:1646  */
+#line 2013 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 110:
-#line 449 "config-parser.y" /* yacc.c:1646  */
+  case 112:
+#line 456 "config-parser.y" /* yacc.c:1646  */
     {
   struct ScannerConf *item = tmp;
 
   xfree(item->name);
   item->name = xstrdup((yyvsp[-1].string));
 }
-#line 2010 "config-parser.c" /* yacc.c:1646  */
+#line 2024 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 111:
-#line 457 "config-parser.y" /* yacc.c:1646  */
+  case 113:
+#line 464 "config-parser.y" /* yacc.c:1646  */
     {
   struct ScannerConf *item = tmp;
 
   xfree(item->vhost);
   item->vhost = xstrdup((yyvsp[-1].string));
 }
-#line 2021 "config-parser.c" /* yacc.c:1646  */
+#line 2035 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 112:
-#line 465 "config-parser.y" /* yacc.c:1646  */
+  case 114:
+#line 472 "config-parser.y" /* yacc.c:1646  */
     {
   struct ScannerConf *item = tmp;
 
   xfree(item->target_ip);
   item->target_ip = xstrdup((yyvsp[-1].string));
 }
-#line 2032 "config-parser.c" /* yacc.c:1646  */
+#line 2046 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 113:
-#line 473 "config-parser.y" /* yacc.c:1646  */
+  case 115:
+#line 480 "config-parser.y" /* yacc.c:1646  */
     {
   struct ScannerConf *item = tmp;
   node_t *node;
@@ -2047,51 +2061,51 @@ yyreduce:
 
   list_add(item->target_string, node);
 }
-#line 2051 "config-parser.c" /* yacc.c:1646  */
+#line 2065 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 114:
-#line 489 "config-parser.y" /* yacc.c:1646  */
+  case 116:
+#line 496 "config-parser.y" /* yacc.c:1646  */
     {
   struct ScannerConf *item = tmp;
 
   item->fd = (yyvsp[-1].number);
 }
-#line 2061 "config-parser.c" /* yacc.c:1646  */
+#line 2075 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 115:
-#line 496 "config-parser.y" /* yacc.c:1646  */
+  case 117:
+#line 503 "config-parser.y" /* yacc.c:1646  */
     {
   struct ScannerConf *item = tmp;
 
   item->target_port = (yyvsp[-1].number);
 }
-#line 2071 "config-parser.c" /* yacc.c:1646  */
+#line 2085 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 116:
-#line 503 "config-parser.y" /* yacc.c:1646  */
+  case 118:
+#line 510 "config-parser.y" /* yacc.c:1646  */
     {
   struct ScannerConf *item = tmp;
 
   item->timeout = (yyvsp[-1].number);
 }
-#line 2081 "config-parser.c" /* yacc.c:1646  */
+#line 2095 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 117:
-#line 510 "config-parser.y" /* yacc.c:1646  */
+  case 119:
+#line 517 "config-parser.y" /* yacc.c:1646  */
     {
   struct ScannerConf *item = tmp;
 
   item->max_read = (yyvsp[-1].number);
 }
-#line 2091 "config-parser.c" /* yacc.c:1646  */
+#line 2105 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 118:
-#line 517 "config-parser.y" /* yacc.c:1646  */
+  case 120:
+#line 524 "config-parser.y" /* yacc.c:1646  */
     {
   struct ProtocolConf *item;
   struct ScannerConf *item2;
@@ -2107,38 +2121,38 @@ yyreduce:
   node = node_create(item);
   list_add(item2->protocols, node);
 }
-#line 2111 "config-parser.c" /* yacc.c:1646  */
+#line 2125 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 127:
-#line 547 "config-parser.y" /* yacc.c:1646  */
+  case 129:
+#line 554 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(OpmItem->dnsbl_from);
   OpmItem->dnsbl_from = xstrdup((yyvsp[-1].string));
 }
-#line 2120 "config-parser.c" /* yacc.c:1646  */
+#line 2134 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 128:
-#line 553 "config-parser.y" /* yacc.c:1646  */
+  case 130:
+#line 560 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(OpmItem->dnsbl_to);
   OpmItem->dnsbl_to = xstrdup((yyvsp[-1].string));
 }
-#line 2129 "config-parser.c" /* yacc.c:1646  */
+#line 2143 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 129:
-#line 559 "config-parser.y" /* yacc.c:1646  */
+  case 131:
+#line 566 "config-parser.y" /* yacc.c:1646  */
     {
   xfree(OpmItem->sendmail);
   OpmItem->sendmail = xstrdup((yyvsp[-1].string));
 }
-#line 2138 "config-parser.c" /* yacc.c:1646  */
+#line 2152 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 130:
-#line 567 "config-parser.y" /* yacc.c:1646  */
+  case 132:
+#line 574 "config-parser.y" /* yacc.c:1646  */
     {
   node_t *node;
   struct BlacklistConf *item;
@@ -2156,33 +2170,33 @@ yyreduce:
 
   tmp = item;
 }
-#line 2160 "config-parser.c" /* yacc.c:1646  */
+#line 2174 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 140:
-#line 597 "config-parser.y" /* yacc.c:1646  */
+  case 142:
+#line 604 "config-parser.y" /* yacc.c:1646  */
     {
   struct BlacklistConf *item = tmp;
 
   xfree(item->name);
   item->name = xstrdup((yyvsp[-1].string));
 }
-#line 2171 "config-parser.c" /* yacc.c:1646  */
+#line 2185 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 141:
-#line 605 "config-parser.y" /* yacc.c:1646  */
+  case 143:
+#line 612 "config-parser.y" /* yacc.c:1646  */
     {
   struct BlacklistConf *item = tmp;
 
   xfree(item->kline);
   item->kline = xstrdup((yyvsp[-1].string));
 }
-#line 2182 "config-parser.c" /* yacc.c:1646  */
+#line 2196 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 142:
-#line 613 "config-parser.y" /* yacc.c:1646  */
+  case 144:
+#line 620 "config-parser.y" /* yacc.c:1646  */
     {
   struct BlacklistConf *item = tmp;
 
@@ -2193,21 +2207,21 @@ yyreduce:
   else
     yyerror("Unknown blacklist type defined");
 }
-#line 2197 "config-parser.c" /* yacc.c:1646  */
+#line 2211 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 143:
-#line 625 "config-parser.y" /* yacc.c:1646  */
+  case 145:
+#line 632 "config-parser.y" /* yacc.c:1646  */
     {
   struct BlacklistConf *item = tmp;
 
   item->ban_unknown = (yyvsp[-1].number);
 }
-#line 2207 "config-parser.c" /* yacc.c:1646  */
+#line 2221 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 147:
-#line 637 "config-parser.y" /* yacc.c:1646  */
+  case 149:
+#line 644 "config-parser.y" /* yacc.c:1646  */
     {
   struct BlacklistReplyConf *item;
   struct BlacklistConf *blacklist = tmp;
@@ -2221,22 +2235,22 @@ yyreduce:
   node = node_create(item);
   list_add(blacklist->reply, node);
 }
-#line 2225 "config-parser.c" /* yacc.c:1646  */
+#line 2239 "config-parser.c" /* yacc.c:1646  */
     break;
 
-  case 153:
-#line 662 "config-parser.y" /* yacc.c:1646  */
+  case 155:
+#line 669 "config-parser.y" /* yacc.c:1646  */
     {
   node_t *node;
   node = node_create(xstrdup((yyvsp[-1].string)));
 
   list_add(ExemptItem->masks, node);
 }
-#line 2236 "config-parser.c" /* yacc.c:1646  */
+#line 2250 "config-parser.c" /* yacc.c:1646  */
     break;
 
 
-#line 2240 "config-parser.c" /* yacc.c:1646  */
+#line 2254 "config-parser.c" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -2464,5 +2478,5 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 669 "config-parser.y" /* yacc.c:1906  */
+#line 676 "config-parser.y" /* yacc.c:1906  */
 
index 2f463d756453a87e600806266199f8a85c758c1b..62b3dbb16d6f9dccaa5de2c24a75737aa0712537 100644 (file)
@@ -81,29 +81,30 @@ extern int yydebug;
     PROTOCOL = 291,
     READTIMEOUT = 292,
     REALNAME = 293,
-    REPLY = 294,
-    SCANLOG = 295,
-    SCANNER = 296,
-    SECONDS = 297,
-    MINUTES = 298,
-    HOURS = 299,
-    DAYS = 300,
-    WEEKS = 301,
-    MONTHS = 302,
-    YEARS = 303,
-    SENDMAIL = 304,
-    SERVER = 305,
-    TARGET_IP = 306,
-    TARGET_PORT = 307,
-    TARGET_STRING = 308,
-    TIMEOUT = 309,
-    TYPE = 310,
-    USERNAME = 311,
-    USER = 312,
-    VHOST = 313,
-    NUMBER = 314,
-    STRING = 315,
-    PROTOCOLTYPE = 316
+    RECONNECTINTERVAL = 294,
+    REPLY = 295,
+    SCANLOG = 296,
+    SCANNER = 297,
+    SECONDS = 298,
+    MINUTES = 299,
+    HOURS = 300,
+    DAYS = 301,
+    WEEKS = 302,
+    MONTHS = 303,
+    YEARS = 304,
+    SENDMAIL = 305,
+    SERVER = 306,
+    TARGET_IP = 307,
+    TARGET_PORT = 308,
+    TARGET_STRING = 309,
+    TIMEOUT = 310,
+    TYPE = 311,
+    USERNAME = 312,
+    USER = 313,
+    VHOST = 314,
+    NUMBER = 315,
+    STRING = 316,
+    PROTOCOLTYPE = 317
   };
 #endif
 /* Tokens.  */
@@ -143,41 +144,42 @@ extern int yydebug;
 #define PROTOCOL 291
 #define READTIMEOUT 292
 #define REALNAME 293
-#define REPLY 294
-#define SCANLOG 295
-#define SCANNER 296
-#define SECONDS 297
-#define MINUTES 298
-#define HOURS 299
-#define DAYS 300
-#define WEEKS 301
-#define MONTHS 302
-#define YEARS 303
-#define SENDMAIL 304
-#define SERVER 305
-#define TARGET_IP 306
-#define TARGET_PORT 307
-#define TARGET_STRING 308
-#define TIMEOUT 309
-#define TYPE 310
-#define USERNAME 311
-#define USER 312
-#define VHOST 313
-#define NUMBER 314
-#define STRING 315
-#define PROTOCOLTYPE 316
+#define RECONNECTINTERVAL 294
+#define REPLY 295
+#define SCANLOG 296
+#define SCANNER 297
+#define SECONDS 298
+#define MINUTES 299
+#define HOURS 300
+#define DAYS 301
+#define WEEKS 302
+#define MONTHS 303
+#define YEARS 304
+#define SENDMAIL 305
+#define SERVER 306
+#define TARGET_IP 307
+#define TARGET_PORT 308
+#define TARGET_STRING 309
+#define TIMEOUT 310
+#define TYPE 311
+#define USERNAME 312
+#define USER 313
+#define VHOST 314
+#define NUMBER 315
+#define STRING 316
+#define PROTOCOLTYPE 317
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 
 union YYSTYPE
 {
-#line 84 "config-parser.y" /* yacc.c:1909  */
+#line 85 "config-parser.y" /* yacc.c:1909  */
 
   int number;
   char *string;
 
-#line 181 "config-parser.h" /* yacc.c:1909  */
+#line 183 "config-parser.h" /* yacc.c:1909  */
 };
 
 typedef union YYSTYPE YYSTYPE;