diff options
Diffstat (limited to 'src/Parser/TemplateParser.php')
| -rw-r--r-- | src/Parser/TemplateParser.php | 2302 |
1 files changed, 1186 insertions, 1116 deletions
diff --git a/src/Parser/TemplateParser.php b/src/Parser/TemplateParser.php index 772df98d..6414d502 100644 --- a/src/Parser/TemplateParser.php +++ b/src/Parser/TemplateParser.php @@ -260,674 +260,710 @@ class TemplateParser const TP_SLOGOP = 54; const TP_TLOGOP = 55; const TP_SINGLECOND = 56; - const TP_ARRAYOPEN = 57; - const TP_QUOTE = 58; - const TP_BACKTICK = 59; - const YY_NO_ACTION = 542; - const YY_ACCEPT_ACTION = 541; - const YY_ERROR_ACTION = 540; + const TP_MATCHES = 57; + const TP_ARRAYOPEN = 58; + const TP_QUOTE = 59; + const TP_BACKTICK = 60; + const YY_NO_ACTION = 553; + const YY_ACCEPT_ACTION = 552; + const YY_ERROR_ACTION = 551; - const YY_SZ_ACTTAB = 2565; + const YY_SZ_ACTTAB = 2723; public static $yy_action = array( - 33, 106, 269, 306, 179, 305, 200, 247, 248, 249, - 1, 264, 138, 237, 202, 361, 6, 87, 284, 222, - 338, 361, 112, 107, 400, 321, 217, 261, 218, 130, - 224, 400, 21, 400, 49, 44, 400, 32, 45, 46, - 278, 226, 400, 282, 400, 203, 400, 53, 4, 139, - 302, 231, 28, 102, 225, 5, 54, 247, 248, 249, - 1, 20, 135, 192, 193, 271, 6, 87, 246, 222, - 216, 29, 112, 229, 7, 159, 217, 261, 218, 140, - 208, 272, 21, 509, 53, 44, 13, 302, 45, 46, - 278, 226, 149, 235, 153, 203, 257, 53, 4, 328, - 302, 302, 256, 304, 143, 5, 54, 247, 248, 249, - 1, 302, 100, 394, 86, 236, 6, 87, 3, 222, - 102, 257, 112, 144, 97, 394, 217, 261, 218, 102, - 224, 394, 21, 256, 446, 44, 178, 305, 45, 46, - 278, 226, 302, 282, 200, 203, 446, 53, 4, 115, - 302, 47, 22, 285, 41, 5, 54, 247, 248, 249, - 1, 139, 137, 267, 202, 141, 6, 87, 14, 222, - 541, 99, 112, 151, 15, 446, 217, 261, 218, 314, - 224, 216, 21, 256, 233, 44, 9, 446, 45, 46, - 278, 226, 325, 282, 268, 203, 53, 53, 4, 302, - 302, 152, 257, 361, 320, 5, 54, 247, 248, 249, - 1, 264, 137, 102, 194, 361, 6, 87, 37, 222, - 102, 361, 112, 257, 89, 316, 217, 261, 218, 314, - 224, 216, 21, 36, 49, 44, 200, 40, 45, 46, - 278, 226, 115, 282, 237, 203, 14, 53, 4, 115, - 302, 238, 15, 155, 107, 5, 54, 247, 248, 249, - 1, 466, 136, 256, 202, 200, 6, 87, 466, 222, - 255, 171, 112, 264, 446, 310, 217, 261, 218, 158, - 224, 257, 11, 142, 157, 44, 446, 183, 45, 46, - 278, 226, 26, 282, 256, 203, 49, 53, 4, 446, - 302, 184, 260, 323, 176, 5, 54, 247, 248, 249, - 1, 446, 137, 264, 189, 291, 6, 87, 183, 222, - 200, 302, 112, 253, 178, 305, 217, 261, 218, 263, - 213, 18, 21, 200, 184, 44, 49, 15, 45, 46, - 278, 226, 146, 282, 269, 203, 25, 53, 4, 220, - 302, 312, 107, 152, 290, 5, 54, 247, 248, 249, - 1, 219, 137, 147, 187, 130, 6, 87, 259, 222, - 16, 19, 112, 256, 167, 258, 217, 261, 218, 111, - 224, 173, 21, 96, 256, 44, 200, 23, 45, 46, - 278, 226, 177, 282, 227, 203, 335, 53, 4, 174, - 302, 180, 305, 170, 90, 5, 54, 247, 248, 249, - 1, 184, 137, 256, 202, 91, 6, 87, 482, 222, - 160, 482, 112, 214, 197, 482, 217, 261, 218, 184, - 188, 181, 21, 245, 302, 44, 164, 140, 45, 46, - 278, 226, 466, 282, 13, 203, 166, 53, 4, 466, - 302, 42, 43, 286, 12, 5, 54, 247, 248, 249, - 1, 264, 139, 447, 202, 40, 6, 87, 293, 294, - 295, 296, 112, 17, 311, 447, 217, 261, 218, 337, - 224, 183, 21, 260, 49, 48, 244, 245, 45, 46, - 278, 226, 24, 282, 303, 203, 8, 53, 4, 92, - 302, 42, 43, 286, 12, 5, 54, 247, 248, 249, - 1, 10, 139, 9, 202, 317, 6, 87, 293, 294, - 295, 296, 112, 116, 299, 35, 217, 261, 218, 225, - 224, 198, 21, 98, 34, 44, 329, 324, 45, 46, - 278, 226, 448, 282, 448, 203, 161, 53, 4, 172, - 302, 129, 175, 225, 232, 5, 54, 288, 215, 216, - 252, 101, 93, 109, 243, 191, 103, 85, 450, 162, - 450, 24, 101, 330, 182, 273, 274, 300, 298, 301, - 250, 251, 281, 204, 283, 113, 289, 262, 300, 298, - 301, 121, 288, 215, 216, 252, 270, 93, 109, 275, - 190, 103, 60, 277, 279, 225, 237, 101, 280, 297, - 273, 274, 129, 239, 199, 266, 107, 281, 204, 283, - 7, 289, 101, 300, 298, 301, 288, 88, 216, 254, - 163, 114, 109, 265, 191, 103, 85, 200, 300, 298, - 301, 101, 200, 259, 273, 274, 19, 165, 326, 362, - 258, 281, 204, 283, 396, 289, 234, 300, 298, 301, - 288, 362, 216, 327, 200, 114, 396, 362, 201, 119, - 72, 336, 396, 37, 259, 101, 393, 19, 273, 274, - 154, 258, 228, 339, 94, 281, 204, 283, 393, 289, - 256, 300, 298, 301, 393, 38, 314, 288, 314, 216, - 314, 314, 114, 207, 319, 201, 119, 72, 314, 314, - 314, 314, 101, 221, 184, 273, 274, 156, 314, 314, - 314, 95, 281, 204, 283, 314, 289, 256, 300, 298, - 301, 314, 314, 314, 288, 314, 216, 314, 314, 108, - 206, 319, 201, 122, 51, 314, 120, 314, 314, 101, - 314, 184, 273, 274, 314, 314, 314, 314, 314, 281, - 204, 283, 314, 289, 314, 300, 298, 301, 288, 314, - 216, 314, 314, 114, 314, 314, 201, 122, 67, 314, - 314, 314, 314, 101, 314, 314, 273, 274, 314, 314, - 314, 314, 314, 281, 204, 283, 314, 289, 314, 300, - 298, 301, 288, 314, 216, 314, 314, 114, 212, 314, - 201, 122, 67, 314, 314, 314, 314, 101, 314, 314, - 273, 274, 314, 314, 314, 314, 314, 281, 204, 283, - 314, 289, 314, 300, 298, 301, 288, 314, 216, 314, - 314, 114, 205, 314, 201, 119, 72, 314, 314, 314, - 314, 101, 314, 314, 273, 274, 314, 314, 314, 314, - 314, 281, 204, 283, 314, 289, 314, 300, 298, 301, - 314, 314, 314, 288, 314, 216, 314, 314, 114, 314, - 318, 201, 122, 78, 314, 314, 314, 314, 101, 314, - 482, 273, 274, 482, 314, 314, 314, 482, 281, 204, - 283, 314, 289, 209, 211, 298, 301, 288, 314, 216, - 314, 314, 108, 314, 314, 201, 122, 58, 314, 238, - 314, 314, 101, 314, 314, 273, 274, 314, 314, 482, - 314, 314, 281, 204, 283, 314, 289, 314, 300, 298, - 301, 288, 314, 216, 314, 314, 114, 314, 314, 201, - 118, 64, 314, 314, 314, 314, 101, 314, 314, 273, - 274, 314, 314, 314, 314, 314, 281, 204, 283, 314, - 289, 314, 300, 298, 301, 288, 314, 216, 314, 314, - 114, 314, 314, 196, 117, 59, 314, 314, 314, 314, - 101, 314, 314, 273, 274, 314, 314, 314, 314, 314, - 281, 204, 283, 314, 289, 314, 300, 298, 301, 288, - 314, 216, 314, 314, 114, 314, 314, 201, 104, 84, - 314, 314, 314, 314, 101, 314, 314, 273, 274, 314, - 314, 314, 314, 314, 281, 204, 283, 314, 289, 314, - 300, 298, 301, 288, 314, 216, 314, 314, 114, 314, - 314, 201, 105, 83, 314, 314, 314, 314, 101, 314, - 314, 273, 274, 314, 314, 314, 314, 314, 281, 204, - 283, 314, 289, 314, 300, 298, 301, 288, 314, 216, - 314, 314, 114, 314, 314, 201, 122, 55, 314, 314, - 314, 314, 101, 314, 314, 273, 274, 314, 314, 314, - 314, 314, 281, 204, 283, 314, 289, 314, 300, 298, - 301, 288, 314, 216, 314, 314, 114, 314, 314, 201, - 122, 66, 314, 314, 314, 314, 101, 314, 314, 273, - 274, 314, 314, 314, 314, 314, 281, 204, 283, 314, - 289, 314, 300, 298, 301, 288, 314, 216, 314, 314, - 114, 314, 314, 201, 104, 56, 314, 314, 314, 314, - 101, 314, 314, 273, 274, 314, 314, 314, 314, 314, - 281, 204, 283, 314, 289, 314, 300, 298, 301, 288, - 314, 216, 314, 314, 114, 314, 314, 201, 122, 65, - 314, 314, 314, 314, 101, 314, 314, 273, 274, 314, - 314, 314, 314, 314, 281, 204, 283, 314, 289, 314, - 300, 298, 301, 288, 314, 216, 314, 314, 114, 314, - 314, 201, 122, 57, 314, 314, 314, 314, 101, 314, - 314, 273, 274, 314, 314, 314, 314, 314, 281, 204, - 283, 314, 289, 314, 300, 298, 301, 288, 314, 216, - 314, 314, 114, 314, 314, 201, 122, 58, 314, 314, - 314, 314, 101, 314, 314, 273, 274, 314, 314, 314, - 314, 314, 281, 204, 283, 314, 289, 314, 300, 298, - 301, 288, 314, 216, 314, 314, 114, 314, 314, 201, - 122, 68, 314, 314, 314, 314, 101, 314, 314, 273, - 274, 314, 314, 314, 314, 314, 281, 204, 283, 314, - 289, 314, 300, 298, 301, 288, 314, 216, 314, 314, - 114, 314, 314, 201, 122, 69, 314, 314, 314, 314, - 101, 314, 314, 273, 274, 314, 314, 314, 314, 314, - 281, 204, 283, 314, 289, 314, 300, 298, 301, 288, - 314, 216, 314, 314, 114, 314, 314, 201, 122, 70, - 314, 314, 314, 314, 101, 314, 314, 273, 274, 314, - 314, 314, 314, 314, 281, 204, 283, 314, 289, 314, - 300, 298, 301, 288, 314, 216, 314, 314, 114, 314, - 314, 201, 122, 71, 314, 314, 314, 314, 101, 314, - 314, 273, 274, 314, 314, 314, 314, 314, 281, 204, - 283, 314, 289, 314, 300, 298, 301, 288, 314, 216, - 314, 314, 114, 314, 314, 201, 122, 73, 314, 314, - 314, 314, 101, 314, 314, 273, 274, 314, 314, 314, - 314, 314, 281, 204, 283, 314, 289, 314, 300, 298, - 301, 288, 314, 216, 314, 314, 114, 314, 314, 195, - 122, 61, 314, 314, 314, 314, 101, 314, 314, 273, - 274, 314, 314, 314, 314, 314, 281, 204, 283, 314, - 289, 314, 300, 298, 301, 288, 314, 216, 314, 314, - 114, 314, 314, 201, 122, 62, 314, 314, 314, 314, - 101, 314, 314, 273, 274, 314, 314, 314, 314, 314, - 281, 204, 283, 314, 289, 314, 300, 298, 301, 288, - 314, 216, 314, 314, 114, 314, 314, 201, 122, 63, - 314, 314, 314, 314, 101, 314, 314, 273, 274, 314, - 314, 314, 314, 314, 281, 204, 283, 314, 289, 314, - 300, 298, 301, 288, 314, 216, 314, 314, 114, 314, - 314, 201, 122, 74, 314, 314, 314, 314, 101, 314, - 314, 273, 274, 314, 314, 314, 314, 314, 281, 204, - 283, 314, 289, 314, 300, 298, 301, 288, 314, 216, - 314, 314, 114, 314, 314, 201, 122, 75, 314, 314, - 314, 314, 101, 314, 314, 273, 274, 314, 314, 314, - 314, 314, 281, 204, 283, 314, 289, 314, 300, 298, - 301, 288, 314, 216, 314, 314, 114, 314, 314, 201, - 122, 76, 314, 314, 314, 314, 101, 314, 314, 273, - 274, 314, 314, 314, 314, 314, 281, 204, 283, 314, - 289, 314, 300, 298, 301, 288, 314, 216, 314, 314, - 114, 314, 314, 201, 122, 77, 314, 314, 314, 314, - 101, 314, 314, 273, 274, 314, 314, 314, 314, 314, - 281, 204, 283, 314, 289, 314, 300, 298, 301, 288, - 314, 216, 314, 314, 114, 314, 314, 201, 122, 79, - 314, 314, 314, 314, 101, 314, 314, 273, 274, 314, - 314, 314, 314, 314, 281, 204, 283, 314, 289, 314, - 210, 298, 301, 288, 314, 216, 314, 314, 114, 314, - 314, 201, 122, 80, 314, 314, 314, 314, 101, 314, - 314, 273, 274, 314, 314, 314, 314, 314, 281, 204, - 283, 314, 289, 314, 300, 298, 301, 288, 314, 216, - 314, 314, 114, 314, 314, 201, 122, 81, 314, 314, - 314, 314, 101, 314, 314, 273, 274, 314, 314, 314, - 314, 314, 281, 204, 283, 314, 289, 314, 300, 298, - 301, 288, 314, 216, 314, 314, 114, 314, 314, 201, - 122, 82, 314, 314, 314, 314, 101, 314, 314, 273, - 274, 314, 314, 314, 314, 314, 281, 204, 283, 314, - 289, 314, 300, 298, 301, 288, 314, 216, 314, 314, - 114, 314, 314, 201, 122, 50, 314, 314, 314, 314, - 101, 314, 314, 273, 274, 314, 314, 314, 314, 314, - 281, 204, 283, 314, 289, 314, 300, 298, 301, 288, - 314, 216, 314, 314, 114, 314, 314, 201, 122, 52, - 314, 314, 314, 314, 101, 314, 314, 273, 274, 314, - 314, 314, 314, 314, 281, 204, 283, 314, 289, 314, - 300, 298, 301, 288, 314, 216, 168, 314, 114, 314, - 314, 201, 134, 314, 314, 314, 256, 314, 101, 47, - 22, 285, 41, 314, 314, 314, 314, 333, 281, 204, - 283, 314, 289, 314, 300, 298, 301, 288, 314, 216, - 145, 314, 114, 314, 314, 201, 128, 314, 314, 314, - 256, 314, 101, 47, 22, 285, 41, 314, 314, 314, - 314, 287, 281, 204, 283, 315, 289, 314, 300, 298, - 301, 247, 248, 249, 2, 314, 313, 314, 314, 314, - 6, 87, 259, 314, 314, 19, 112, 314, 14, 258, - 217, 261, 218, 314, 15, 39, 314, 14, 14, 42, - 43, 286, 12, 15, 15, 314, 314, 314, 42, 43, - 286, 12, 314, 314, 314, 314, 293, 294, 295, 296, - 308, 27, 314, 314, 315, 293, 294, 295, 296, 314, - 247, 248, 249, 2, 314, 313, 314, 110, 314, 6, - 87, 314, 314, 314, 314, 112, 314, 314, 148, 217, - 261, 218, 314, 42, 43, 286, 12, 314, 42, 43, - 286, 12, 314, 314, 314, 314, 314, 314, 314, 314, - 293, 294, 295, 296, 314, 293, 294, 295, 296, 309, - 27, 314, 314, 240, 241, 242, 133, 223, 314, 247, - 248, 249, 1, 314, 482, 314, 314, 482, 6, 87, - 3, 482, 466, 314, 112, 314, 276, 314, 217, 261, - 218, 288, 314, 216, 314, 314, 114, 314, 314, 201, - 132, 314, 314, 314, 314, 314, 101, 314, 466, 314, - 314, 466, 314, 482, 314, 466, 281, 204, 283, 314, - 289, 314, 300, 298, 301, 314, 288, 314, 216, 314, - 200, 114, 314, 314, 201, 123, 314, 314, 314, 314, - 314, 101, 365, 314, 314, 314, 230, 314, 314, 314, - 314, 281, 204, 283, 14, 289, 314, 300, 298, 301, - 15, 314, 288, 446, 216, 314, 169, 114, 314, 314, - 201, 124, 314, 314, 314, 446, 256, 101, 314, 47, - 22, 285, 41, 314, 314, 314, 314, 281, 204, 283, - 314, 289, 314, 300, 298, 301, 314, 288, 314, 216, - 314, 314, 114, 314, 314, 201, 125, 314, 314, 314, - 314, 314, 101, 314, 314, 314, 314, 314, 314, 314, - 314, 314, 281, 204, 283, 314, 289, 314, 300, 298, - 301, 314, 314, 288, 314, 216, 314, 314, 114, 314, - 314, 201, 126, 314, 314, 314, 314, 314, 101, 314, - 314, 314, 314, 314, 314, 314, 314, 314, 281, 204, - 283, 314, 289, 314, 300, 298, 301, 314, 288, 314, - 216, 314, 314, 114, 314, 314, 201, 127, 314, 314, - 314, 314, 314, 101, 314, 314, 314, 314, 314, 314, - 314, 314, 314, 281, 204, 283, 314, 289, 314, 300, - 298, 301, 314, 314, 288, 314, 216, 223, 314, 114, - 314, 314, 201, 131, 482, 314, 314, 482, 314, 101, - 314, 482, 466, 314, 314, 314, 276, 314, 314, 281, - 204, 283, 314, 289, 314, 300, 298, 301, 314, 314, - 409, 314, 314, 314, 314, 314, 314, 314, 466, 314, - 314, 466, 314, 482, 223, 466, 292, 314, 314, 314, - 314, 482, 314, 314, 482, 314, 314, 36, 482, 466, - 314, 223, 446, 276, 409, 409, 409, 409, 482, 314, - 314, 482, 314, 314, 446, 482, 466, 314, 314, 30, - 276, 409, 409, 409, 409, 466, 482, 314, 466, 482, - 482, 314, 466, 482, 466, 314, 314, 314, 276, 314, - 314, 314, 466, 314, 314, 466, 332, 482, 314, 466, - 314, 314, 314, 314, 314, 331, 42, 43, 286, 12, - 466, 314, 314, 466, 314, 482, 314, 466, 314, 42, - 43, 286, 12, 293, 294, 295, 296, 307, 314, 42, - 43, 286, 12, 185, 314, 314, 293, 294, 295, 296, - 186, 314, 314, 314, 322, 314, 293, 294, 295, 296, - 42, 43, 286, 12, 31, 314, 42, 43, 286, 12, - 314, 334, 314, 42, 43, 286, 12, 293, 294, 295, - 296, 314, 314, 293, 294, 295, 296, 314, 314, 314, - 293, 294, 295, 296, 42, 43, 286, 12, 42, 43, - 286, 12, 482, 314, 314, 482, 314, 314, 314, 482, - 466, 293, 294, 295, 296, 293, 294, 295, 296, 314, - 314, 314, 259, 314, 314, 19, 314, 314, 314, 258, - 314, 314, 314, 314, 314, 314, 466, 314, 14, 466, - 150, 482, 314, 466, 15, + 30, 47, 22, 292, 41, 14, 48, 252, 253, 254, + 1, 15, 142, 242, 208, 206, 6, 88, 206, 228, + 244, 205, 114, 109, 406, 206, 223, 266, 224, 103, + 230, 406, 21, 406, 226, 44, 406, 29, 45, 46, + 283, 232, 406, 287, 406, 209, 406, 54, 4, 14, + 304, 186, 333, 290, 231, 15, 5, 86, 252, 253, + 254, 1, 103, 139, 400, 199, 241, 6, 88, 518, + 228, 552, 101, 114, 153, 258, 400, 223, 266, 224, + 144, 213, 400, 21, 261, 453, 44, 13, 144, 45, + 46, 283, 232, 206, 240, 13, 209, 453, 54, 4, + 332, 304, 206, 40, 262, 368, 156, 5, 86, 252, + 253, 254, 1, 143, 102, 272, 87, 368, 6, 88, + 310, 228, 103, 368, 114, 319, 156, 222, 223, 266, + 224, 274, 230, 184, 21, 290, 143, 44, 235, 10, + 45, 46, 283, 232, 175, 287, 273, 209, 54, 54, + 4, 304, 304, 251, 183, 222, 290, 180, 5, 86, + 252, 253, 254, 1, 20, 141, 198, 208, 276, 6, + 88, 54, 228, 315, 304, 114, 190, 265, 453, 223, + 266, 224, 206, 230, 277, 21, 147, 238, 44, 190, + 453, 45, 46, 283, 232, 329, 287, 3, 209, 103, + 54, 4, 146, 304, 304, 289, 98, 311, 23, 5, + 86, 252, 253, 254, 1, 269, 141, 134, 200, 367, + 6, 88, 25, 228, 304, 367, 114, 108, 117, 453, + 223, 266, 224, 34, 230, 233, 21, 167, 53, 44, + 304, 453, 45, 46, 283, 232, 103, 287, 37, 209, + 103, 54, 4, 336, 304, 157, 206, 262, 367, 145, + 5, 86, 252, 253, 254, 1, 269, 140, 402, 208, + 367, 6, 88, 304, 228, 117, 367, 114, 155, 117, + 402, 223, 266, 224, 260, 230, 402, 11, 261, 53, + 44, 206, 24, 45, 46, 283, 232, 206, 287, 166, + 209, 262, 54, 4, 183, 304, 290, 163, 262, 399, + 262, 5, 86, 252, 253, 254, 1, 261, 141, 165, + 195, 399, 6, 88, 36, 228, 274, 399, 114, 261, + 242, 113, 223, 266, 224, 91, 219, 344, 21, 341, + 109, 44, 18, 189, 45, 46, 283, 232, 15, 287, + 242, 209, 473, 54, 4, 189, 304, 243, 269, 473, + 109, 177, 5, 86, 252, 253, 254, 1, 33, 141, + 148, 193, 92, 6, 88, 264, 228, 304, 19, 114, + 261, 53, 263, 223, 266, 224, 159, 230, 327, 21, + 10, 150, 44, 190, 206, 45, 46, 283, 232, 151, + 287, 109, 209, 161, 54, 4, 269, 304, 182, 261, + 118, 171, 168, 5, 86, 252, 253, 254, 1, 16, + 141, 261, 208, 8, 6, 88, 181, 228, 290, 53, + 114, 319, 97, 222, 223, 266, 224, 185, 194, 290, + 21, 325, 297, 44, 298, 317, 45, 46, 283, 232, + 174, 287, 473, 209, 134, 54, 4, 189, 304, 473, + 261, 178, 220, 203, 5, 86, 252, 253, 254, 1, + 187, 143, 250, 208, 40, 6, 88, 489, 90, 321, + 489, 114, 17, 265, 489, 223, 266, 224, 343, 230, + 269, 21, 291, 190, 49, 249, 250, 45, 46, 283, + 232, 268, 287, 8, 209, 322, 54, 4, 7, 304, + 204, 453, 31, 53, 100, 5, 86, 252, 253, 254, + 1, 93, 143, 453, 208, 162, 6, 88, 455, 95, + 455, 454, 114, 225, 9, 261, 223, 266, 224, 231, + 230, 99, 21, 454, 176, 44, 119, 328, 45, 46, + 283, 232, 457, 287, 457, 209, 169, 54, 4, 170, + 304, 190, 32, 32, 334, 335, 5, 86, 179, 295, + 221, 222, 257, 248, 94, 111, 255, 197, 105, 85, + 35, 256, 231, 188, 104, 115, 267, 278, 279, 284, + 164, 124, 275, 280, 96, 286, 210, 288, 282, 296, + 261, 302, 301, 303, 295, 221, 222, 257, 231, 94, + 111, 300, 196, 105, 60, 285, 89, 239, 342, 104, + 158, 160, 278, 279, 37, 330, 190, 345, 331, 38, + 286, 210, 288, 322, 296, 322, 302, 301, 303, 295, + 322, 222, 259, 322, 116, 111, 322, 197, 105, 85, + 322, 322, 264, 322, 104, 19, 322, 278, 279, 263, + 322, 322, 322, 322, 322, 286, 210, 288, 322, 296, + 322, 302, 301, 303, 295, 322, 222, 322, 112, 116, + 322, 322, 207, 121, 71, 322, 322, 322, 322, 104, + 322, 234, 278, 279, 42, 43, 293, 12, 322, 322, + 286, 210, 288, 322, 296, 322, 302, 301, 303, 322, + 322, 305, 306, 307, 308, 309, 295, 322, 222, 212, + 324, 116, 322, 322, 207, 121, 71, 14, 322, 489, + 322, 104, 489, 15, 278, 279, 489, 473, 42, 43, + 293, 12, 286, 210, 288, 322, 296, 322, 302, 301, + 303, 322, 322, 322, 322, 305, 306, 307, 308, 309, + 322, 211, 324, 473, 322, 322, 473, 295, 489, 222, + 473, 322, 110, 322, 322, 207, 125, 51, 322, 123, + 264, 322, 104, 19, 322, 278, 279, 263, 322, 322, + 322, 322, 322, 286, 210, 288, 322, 296, 322, 302, + 301, 303, 295, 322, 222, 322, 322, 116, 322, 322, + 207, 125, 67, 133, 322, 322, 236, 104, 322, 227, + 278, 279, 322, 104, 322, 322, 322, 322, 286, 210, + 288, 322, 296, 322, 302, 301, 303, 322, 322, 322, + 302, 301, 303, 295, 217, 222, 322, 322, 116, 322, + 322, 207, 121, 71, 322, 322, 322, 322, 104, 322, + 322, 278, 279, 322, 322, 322, 322, 322, 322, 286, + 210, 288, 322, 296, 322, 302, 301, 303, 295, 322, + 222, 322, 322, 116, 322, 322, 207, 125, 77, 323, + 322, 322, 322, 104, 322, 322, 278, 279, 322, 322, + 322, 322, 322, 322, 286, 210, 288, 322, 296, 214, + 216, 301, 303, 322, 322, 295, 322, 222, 322, 322, + 116, 322, 322, 207, 125, 67, 322, 322, 322, 322, + 104, 322, 322, 278, 279, 322, 322, 322, 322, 322, + 322, 286, 210, 288, 322, 296, 322, 302, 301, 303, + 295, 322, 222, 322, 322, 110, 322, 218, 207, 125, + 58, 322, 243, 322, 322, 104, 322, 322, 278, 279, + 322, 322, 264, 322, 322, 19, 286, 210, 288, 263, + 296, 322, 302, 301, 303, 322, 322, 295, 14, 222, + 154, 322, 116, 322, 15, 207, 122, 62, 322, 322, + 489, 322, 104, 489, 322, 278, 279, 489, 322, 322, + 322, 322, 322, 286, 210, 288, 322, 296, 322, 302, + 301, 303, 295, 322, 222, 322, 322, 116, 322, 322, + 202, 120, 59, 322, 322, 322, 322, 104, 322, 489, + 278, 279, 322, 322, 322, 322, 322, 322, 286, 210, + 288, 322, 296, 322, 302, 301, 303, 322, 322, 295, + 322, 222, 322, 322, 116, 322, 322, 207, 106, 84, + 322, 322, 322, 322, 104, 322, 322, 278, 279, 322, + 322, 322, 322, 322, 322, 286, 210, 288, 322, 296, + 322, 302, 301, 303, 295, 322, 222, 322, 322, 116, + 322, 322, 207, 107, 83, 322, 322, 322, 322, 104, + 322, 322, 278, 279, 322, 322, 322, 322, 322, 322, + 286, 210, 288, 322, 296, 322, 302, 301, 303, 322, + 322, 295, 322, 222, 322, 322, 116, 322, 322, 207, + 125, 55, 322, 322, 322, 322, 104, 322, 322, 278, + 279, 322, 322, 322, 322, 322, 322, 286, 210, 288, + 322, 296, 322, 302, 301, 303, 295, 322, 222, 322, + 322, 116, 322, 322, 207, 125, 66, 322, 322, 322, + 322, 104, 322, 322, 278, 279, 322, 322, 322, 322, + 322, 322, 286, 210, 288, 322, 296, 322, 302, 301, + 303, 322, 322, 295, 322, 222, 322, 322, 116, 322, + 322, 207, 106, 56, 322, 322, 322, 322, 104, 322, + 322, 278, 279, 322, 322, 322, 322, 322, 322, 286, + 210, 288, 322, 296, 322, 302, 301, 303, 295, 322, + 222, 322, 322, 116, 322, 322, 207, 125, 65, 322, + 322, 322, 322, 104, 322, 322, 278, 279, 322, 322, + 322, 322, 322, 322, 286, 210, 288, 322, 296, 322, + 302, 301, 303, 322, 322, 295, 322, 222, 322, 322, + 116, 322, 322, 207, 125, 57, 322, 322, 322, 322, + 104, 322, 322, 278, 279, 322, 322, 322, 322, 322, + 322, 286, 210, 288, 322, 296, 322, 302, 301, 303, + 295, 322, 222, 322, 322, 116, 322, 322, 207, 125, + 58, 322, 322, 322, 322, 104, 322, 322, 278, 279, + 322, 322, 322, 322, 322, 322, 286, 210, 288, 322, + 296, 322, 302, 301, 303, 322, 322, 295, 322, 222, + 322, 322, 116, 322, 322, 207, 125, 68, 322, 322, + 322, 322, 104, 322, 322, 278, 279, 322, 322, 322, + 322, 322, 322, 286, 210, 288, 322, 296, 322, 302, + 301, 303, 295, 322, 222, 322, 322, 116, 322, 322, + 207, 125, 69, 322, 322, 322, 322, 104, 322, 322, + 278, 279, 322, 322, 322, 322, 322, 322, 286, 210, + 288, 322, 296, 322, 302, 301, 303, 322, 322, 295, + 322, 222, 322, 322, 116, 322, 322, 207, 125, 70, + 322, 322, 322, 322, 104, 322, 322, 278, 279, 322, + 322, 322, 322, 322, 322, 286, 210, 288, 322, 296, + 322, 302, 301, 303, 295, 322, 222, 322, 322, 116, + 322, 322, 207, 125, 72, 322, 322, 322, 322, 104, + 322, 322, 278, 279, 322, 322, 322, 322, 322, 322, + 286, 210, 288, 322, 296, 322, 302, 301, 303, 322, + 322, 295, 322, 222, 322, 322, 116, 322, 322, 201, + 125, 61, 322, 322, 322, 322, 104, 322, 322, 278, + 279, 322, 322, 322, 322, 322, 322, 286, 210, 288, + 322, 296, 322, 302, 301, 303, 295, 322, 222, 322, + 322, 116, 322, 322, 207, 125, 73, 322, 322, 322, + 322, 104, 322, 322, 278, 279, 322, 322, 322, 322, + 322, 322, 286, 210, 288, 322, 296, 322, 302, 301, + 303, 322, 322, 295, 322, 222, 322, 322, 116, 322, + 322, 207, 125, 74, 322, 322, 322, 322, 104, 322, + 322, 278, 279, 322, 322, 322, 322, 322, 322, 286, + 210, 288, 322, 296, 322, 302, 301, 303, 295, 322, + 222, 322, 322, 116, 322, 322, 207, 125, 75, 322, + 322, 322, 322, 104, 322, 322, 278, 279, 322, 322, + 322, 322, 322, 322, 286, 210, 288, 322, 296, 322, + 302, 301, 303, 322, 322, 295, 322, 222, 322, 322, + 116, 322, 322, 207, 125, 76, 322, 322, 322, 322, + 104, 322, 322, 278, 279, 322, 322, 322, 322, 322, + 322, 286, 210, 288, 322, 296, 322, 302, 301, 303, + 295, 322, 222, 322, 322, 116, 322, 322, 207, 125, + 78, 322, 322, 322, 322, 104, 322, 322, 278, 279, + 322, 322, 322, 322, 322, 322, 286, 210, 288, 322, + 296, 322, 215, 301, 303, 322, 322, 295, 322, 222, + 322, 322, 116, 322, 322, 207, 125, 79, 322, 322, + 322, 322, 104, 322, 322, 278, 279, 322, 322, 322, + 322, 322, 322, 286, 210, 288, 322, 296, 322, 302, + 301, 303, 295, 322, 222, 322, 322, 116, 322, 322, + 207, 125, 63, 322, 322, 322, 322, 104, 322, 322, + 278, 279, 322, 322, 322, 322, 322, 322, 286, 210, + 288, 322, 296, 322, 302, 301, 303, 322, 322, 295, + 322, 222, 322, 322, 116, 322, 322, 207, 125, 64, + 322, 322, 322, 322, 104, 322, 322, 278, 279, 322, + 322, 322, 322, 322, 322, 286, 210, 288, 322, 296, + 322, 302, 301, 303, 295, 322, 222, 322, 322, 116, + 322, 322, 207, 125, 80, 322, 322, 322, 322, 104, + 322, 322, 278, 279, 322, 322, 322, 322, 322, 322, + 286, 210, 288, 322, 296, 322, 302, 301, 303, 322, + 322, 295, 322, 222, 322, 322, 116, 322, 322, 207, + 125, 81, 322, 322, 322, 322, 104, 322, 322, 278, + 279, 322, 322, 322, 322, 322, 322, 286, 210, 288, + 322, 296, 322, 302, 301, 303, 295, 322, 222, 322, + 322, 116, 322, 322, 207, 125, 82, 322, 322, 322, + 322, 104, 322, 322, 278, 279, 322, 322, 322, 322, + 322, 322, 286, 210, 288, 322, 296, 322, 302, 301, + 303, 322, 322, 295, 322, 222, 322, 322, 116, 322, + 322, 207, 125, 50, 322, 322, 322, 322, 104, 322, + 322, 278, 279, 322, 322, 322, 322, 322, 322, 286, + 210, 288, 322, 296, 322, 302, 301, 303, 295, 322, + 222, 322, 322, 116, 322, 322, 207, 125, 52, 322, + 322, 322, 322, 104, 322, 322, 278, 279, 322, 322, + 322, 322, 322, 322, 286, 210, 288, 322, 296, 322, + 302, 301, 303, 322, 322, 295, 322, 222, 322, 322, + 116, 322, 322, 207, 138, 322, 322, 322, 322, 295, + 104, 222, 322, 322, 116, 322, 322, 207, 131, 339, + 322, 286, 210, 288, 104, 296, 322, 302, 301, 303, + 322, 322, 322, 294, 322, 286, 210, 288, 322, 296, + 320, 302, 301, 303, 322, 322, 252, 253, 254, 2, + 322, 318, 322, 322, 322, 6, 88, 322, 322, 322, + 322, 114, 322, 322, 152, 223, 266, 224, 322, 322, + 322, 39, 322, 14, 42, 43, 293, 12, 322, 15, + 322, 322, 322, 322, 42, 43, 293, 12, 322, 322, + 322, 305, 306, 307, 308, 309, 313, 26, 322, 322, + 320, 305, 306, 307, 308, 309, 252, 253, 254, 2, + 322, 318, 322, 322, 322, 6, 88, 264, 322, 322, + 19, 114, 322, 322, 263, 223, 266, 224, 337, 42, + 43, 293, 12, 14, 42, 43, 293, 12, 322, 15, + 322, 322, 322, 322, 322, 322, 305, 306, 307, 308, + 309, 305, 306, 307, 308, 309, 314, 26, 316, 322, + 245, 246, 247, 137, 229, 322, 252, 253, 254, 1, + 322, 489, 322, 322, 489, 6, 88, 3, 489, 473, + 322, 114, 322, 281, 322, 223, 266, 224, 295, 322, + 222, 322, 322, 116, 322, 322, 207, 136, 322, 322, + 322, 322, 322, 104, 322, 473, 322, 322, 473, 322, + 489, 322, 473, 322, 286, 210, 288, 322, 296, 322, + 302, 301, 303, 322, 295, 322, 222, 172, 322, 116, + 322, 322, 207, 126, 322, 322, 322, 261, 322, 104, + 47, 22, 292, 41, 322, 48, 322, 322, 322, 322, + 286, 210, 288, 322, 296, 322, 302, 301, 303, 322, + 295, 322, 222, 322, 149, 116, 322, 322, 207, 127, + 322, 322, 322, 322, 261, 104, 322, 47, 22, 292, + 41, 322, 48, 322, 322, 322, 286, 210, 288, 322, + 296, 322, 302, 301, 303, 322, 295, 322, 222, 322, + 173, 116, 322, 322, 207, 128, 322, 322, 322, 322, + 261, 104, 322, 47, 22, 292, 41, 133, 48, 322, + 271, 322, 286, 210, 288, 322, 296, 104, 302, 301, + 303, 322, 295, 322, 222, 322, 322, 116, 322, 270, + 207, 129, 322, 322, 302, 301, 303, 104, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 286, 210, + 288, 322, 296, 322, 302, 301, 303, 322, 295, 322, + 222, 322, 322, 116, 322, 322, 207, 130, 322, 322, + 322, 322, 322, 104, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 286, 210, 288, 322, 296, 322, + 302, 301, 303, 322, 295, 322, 222, 322, 322, 116, + 322, 206, 207, 132, 322, 322, 322, 322, 322, 104, + 322, 322, 322, 371, 322, 322, 322, 237, 322, 322, + 286, 210, 288, 322, 296, 14, 302, 301, 303, 322, + 295, 15, 222, 415, 453, 116, 322, 322, 207, 135, + 322, 322, 322, 322, 322, 104, 453, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 286, 210, 288, 322, + 296, 322, 302, 301, 303, 453, 322, 415, 415, 415, + 415, 322, 322, 322, 322, 322, 322, 453, 322, 322, + 322, 322, 322, 322, 415, 415, 415, 415, 415, 229, + 322, 322, 322, 322, 322, 322, 489, 322, 322, 489, + 322, 322, 229, 489, 473, 322, 322, 322, 281, 489, + 322, 322, 489, 322, 322, 36, 489, 473, 322, 322, + 322, 281, 322, 322, 322, 322, 322, 322, 322, 338, + 473, 322, 322, 473, 322, 489, 322, 473, 299, 322, + 322, 322, 322, 473, 322, 322, 473, 322, 489, 322, + 473, 28, 42, 43, 293, 12, 322, 312, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 305, + 306, 307, 308, 309, 42, 43, 293, 12, 322, 322, + 42, 43, 293, 12, 191, 42, 43, 293, 12, 326, + 192, 305, 306, 307, 308, 309, 340, 305, 306, 307, + 308, 309, 305, 306, 307, 308, 309, 42, 43, 293, + 12, 322, 322, 42, 43, 293, 12, 322, 322, 42, + 43, 293, 12, 322, 305, 306, 307, 308, 309, 322, + 305, 306, 307, 308, 309, 229, 305, 306, 307, 308, + 309, 27, 489, 322, 322, 489, 322, 322, 489, 489, + 473, 489, 322, 322, 281, 489, 473, 322, 322, 322, + 281, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 473, 322, 322, 473, + 322, 489, 473, 473, 322, 473, 322, 489, 322, 473, + 322, 42, 43, 293, 12, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 305, 306, + 307, 308, 309, ); public static $yy_lookahead = array( - 2, 80, 100, 13, 102, 103, 1, 9, 10, 11, - 12, 21, 14, 70, 16, 25, 18, 19, 93, 21, - 77, 31, 24, 80, 13, 104, 28, 29, 30, 104, - 32, 20, 34, 22, 44, 37, 25, 39, 40, 41, - 42, 43, 31, 45, 33, 47, 35, 49, 50, 14, - 52, 16, 12, 17, 43, 57, 58, 9, 10, 11, - 12, 12, 14, 14, 16, 16, 18, 19, 65, 21, - 67, 12, 24, 14, 34, 16, 28, 29, 30, 43, - 32, 32, 34, 1, 49, 37, 50, 52, 40, 41, - 42, 43, 72, 45, 99, 47, 101, 49, 50, 51, - 52, 52, 82, 69, 14, 57, 58, 9, 10, 11, - 12, 52, 14, 13, 16, 15, 18, 19, 15, 21, - 17, 101, 24, 72, 34, 25, 28, 29, 30, 17, - 32, 31, 34, 82, 34, 37, 102, 103, 40, 41, - 42, 43, 52, 45, 1, 47, 46, 49, 50, 46, - 52, 85, 86, 87, 88, 57, 58, 9, 10, 11, - 12, 14, 14, 16, 16, 80, 18, 19, 25, 21, - 61, 62, 24, 72, 31, 34, 28, 29, 30, 65, - 32, 67, 34, 82, 43, 37, 33, 46, 40, 41, - 42, 43, 51, 45, 47, 47, 49, 49, 50, 52, - 52, 99, 101, 13, 51, 57, 58, 9, 10, 11, - 12, 21, 14, 17, 16, 25, 18, 19, 15, 21, - 17, 31, 24, 101, 110, 111, 28, 29, 30, 65, - 32, 67, 34, 15, 44, 37, 1, 2, 40, 41, - 42, 43, 46, 45, 70, 47, 25, 49, 50, 46, - 52, 77, 31, 72, 80, 57, 58, 9, 10, 11, - 12, 43, 14, 82, 16, 1, 18, 19, 50, 21, - 82, 76, 24, 21, 34, 111, 28, 29, 30, 99, - 32, 101, 34, 14, 72, 37, 46, 106, 40, 41, - 42, 43, 27, 45, 82, 47, 44, 49, 50, 34, - 52, 106, 107, 51, 76, 57, 58, 9, 10, 11, - 12, 46, 14, 21, 16, 51, 18, 19, 106, 21, - 1, 52, 24, 69, 102, 103, 28, 29, 30, 16, - 32, 25, 34, 1, 106, 37, 44, 31, 40, 41, - 42, 43, 70, 45, 100, 47, 27, 49, 50, 17, - 52, 59, 80, 99, 93, 57, 58, 9, 10, 11, - 12, 48, 14, 72, 16, 104, 18, 19, 9, 21, - 20, 12, 24, 82, 72, 16, 28, 29, 30, 79, - 32, 76, 34, 33, 82, 37, 1, 2, 40, 41, - 42, 43, 14, 45, 16, 47, 14, 49, 50, 76, - 52, 102, 103, 72, 80, 57, 58, 9, 10, 11, - 12, 106, 14, 82, 16, 80, 18, 19, 9, 21, - 99, 12, 24, 63, 64, 16, 28, 29, 30, 106, - 32, 6, 34, 8, 52, 37, 99, 43, 40, 41, - 42, 43, 43, 45, 50, 47, 99, 49, 50, 50, - 52, 36, 37, 38, 39, 57, 58, 9, 10, 11, - 12, 21, 14, 34, 16, 2, 18, 19, 53, 54, - 55, 56, 24, 15, 59, 46, 28, 29, 30, 21, - 32, 106, 34, 107, 44, 37, 7, 8, 40, 41, - 42, 43, 33, 45, 35, 47, 34, 49, 50, 99, - 52, 36, 37, 38, 39, 57, 58, 9, 10, 11, - 12, 34, 14, 33, 16, 35, 18, 19, 53, 54, - 55, 56, 24, 46, 103, 15, 28, 29, 30, 43, - 32, 64, 34, 81, 33, 37, 35, 51, 40, 41, - 42, 43, 33, 45, 35, 47, 99, 49, 50, 81, - 52, 70, 81, 43, 73, 57, 58, 65, 66, 67, - 68, 80, 70, 71, 7, 73, 74, 75, 33, 99, - 35, 33, 80, 35, 16, 83, 84, 96, 97, 98, - 13, 13, 90, 91, 92, 16, 94, 16, 96, 97, - 98, 16, 65, 66, 67, 68, 16, 70, 71, 14, - 73, 74, 75, 16, 32, 43, 70, 80, 32, 16, - 83, 84, 70, 77, 78, 73, 80, 90, 91, 92, - 34, 94, 80, 96, 97, 98, 65, 16, 67, 68, - 49, 70, 71, 91, 73, 74, 75, 1, 96, 97, - 98, 80, 1, 9, 83, 84, 12, 49, 51, 13, - 16, 90, 91, 92, 13, 94, 16, 96, 97, 98, - 65, 25, 67, 51, 1, 70, 25, 31, 73, 74, - 75, 16, 31, 15, 9, 80, 13, 12, 83, 84, - 72, 16, 48, 35, 76, 90, 91, 92, 25, 94, - 82, 96, 97, 98, 31, 22, 112, 65, 112, 67, - 112, 112, 70, 108, 109, 73, 74, 75, 112, 112, - 112, 112, 80, 48, 106, 83, 84, 72, 112, 112, - 112, 76, 90, 91, 92, 112, 94, 82, 96, 97, - 98, 112, 112, 112, 65, 112, 67, 112, 112, 70, - 108, 109, 73, 74, 75, 112, 77, 112, 112, 80, - 112, 106, 83, 84, 112, 112, 112, 112, 112, 90, - 91, 92, 112, 94, 112, 96, 97, 98, 65, 112, - 67, 112, 112, 70, 112, 112, 73, 74, 75, 112, - 112, 112, 112, 80, 112, 112, 83, 84, 112, 112, - 112, 112, 112, 90, 91, 92, 112, 94, 112, 96, - 97, 98, 65, 112, 67, 112, 112, 70, 105, 112, - 73, 74, 75, 112, 112, 112, 112, 80, 112, 112, - 83, 84, 112, 112, 112, 112, 112, 90, 91, 92, - 112, 94, 112, 96, 97, 98, 65, 112, 67, 112, - 112, 70, 105, 112, 73, 74, 75, 112, 112, 112, - 112, 80, 112, 112, 83, 84, 112, 112, 112, 112, - 112, 90, 91, 92, 112, 94, 112, 96, 97, 98, - 112, 112, 112, 65, 112, 67, 112, 112, 70, 112, - 109, 73, 74, 75, 112, 112, 112, 112, 80, 112, - 9, 83, 84, 12, 112, 112, 112, 16, 90, 91, - 92, 112, 94, 95, 96, 97, 98, 65, 112, 67, - 112, 112, 70, 112, 112, 73, 74, 75, 112, 77, - 112, 112, 80, 112, 112, 83, 84, 112, 112, 48, - 112, 112, 90, 91, 92, 112, 94, 112, 96, 97, - 98, 65, 112, 67, 112, 112, 70, 112, 112, 73, - 74, 75, 112, 112, 112, 112, 80, 112, 112, 83, - 84, 112, 112, 112, 112, 112, 90, 91, 92, 112, - 94, 112, 96, 97, 98, 65, 112, 67, 112, 112, - 70, 112, 112, 73, 74, 75, 112, 112, 112, 112, - 80, 112, 112, 83, 84, 112, 112, 112, 112, 112, - 90, 91, 92, 112, 94, 112, 96, 97, 98, 65, - 112, 67, 112, 112, 70, 112, 112, 73, 74, 75, - 112, 112, 112, 112, 80, 112, 112, 83, 84, 112, - 112, 112, 112, 112, 90, 91, 92, 112, 94, 112, - 96, 97, 98, 65, 112, 67, 112, 112, 70, 112, - 112, 73, 74, 75, 112, 112, 112, 112, 80, 112, - 112, 83, 84, 112, 112, 112, 112, 112, 90, 91, - 92, 112, 94, 112, 96, 97, 98, 65, 112, 67, - 112, 112, 70, 112, 112, 73, 74, 75, 112, 112, - 112, 112, 80, 112, 112, 83, 84, 112, 112, 112, - 112, 112, 90, 91, 92, 112, 94, 112, 96, 97, - 98, 65, 112, 67, 112, 112, 70, 112, 112, 73, - 74, 75, 112, 112, 112, 112, 80, 112, 112, 83, - 84, 112, 112, 112, 112, 112, 90, 91, 92, 112, - 94, 112, 96, 97, 98, 65, 112, 67, 112, 112, - 70, 112, 112, 73, 74, 75, 112, 112, 112, 112, - 80, 112, 112, 83, 84, 112, 112, 112, 112, 112, - 90, 91, 92, 112, 94, 112, 96, 97, 98, 65, - 112, 67, 112, 112, 70, 112, 112, 73, 74, 75, - 112, 112, 112, 112, 80, 112, 112, 83, 84, 112, - 112, 112, 112, 112, 90, 91, 92, 112, 94, 112, - 96, 97, 98, 65, 112, 67, 112, 112, 70, 112, - 112, 73, 74, 75, 112, 112, 112, 112, 80, 112, - 112, 83, 84, 112, 112, 112, 112, 112, 90, 91, - 92, 112, 94, 112, 96, 97, 98, 65, 112, 67, - 112, 112, 70, 112, 112, 73, 74, 75, 112, 112, - 112, 112, 80, 112, 112, 83, 84, 112, 112, 112, - 112, 112, 90, 91, 92, 112, 94, 112, 96, 97, - 98, 65, 112, 67, 112, 112, 70, 112, 112, 73, - 74, 75, 112, 112, 112, 112, 80, 112, 112, 83, - 84, 112, 112, 112, 112, 112, 90, 91, 92, 112, - 94, 112, 96, 97, 98, 65, 112, 67, 112, 112, - 70, 112, 112, 73, 74, 75, 112, 112, 112, 112, - 80, 112, 112, 83, 84, 112, 112, 112, 112, 112, - 90, 91, 92, 112, 94, 112, 96, 97, 98, 65, - 112, 67, 112, 112, 70, 112, 112, 73, 74, 75, - 112, 112, 112, 112, 80, 112, 112, 83, 84, 112, - 112, 112, 112, 112, 90, 91, 92, 112, 94, 112, - 96, 97, 98, 65, 112, 67, 112, 112, 70, 112, - 112, 73, 74, 75, 112, 112, 112, 112, 80, 112, - 112, 83, 84, 112, 112, 112, 112, 112, 90, 91, - 92, 112, 94, 112, 96, 97, 98, 65, 112, 67, - 112, 112, 70, 112, 112, 73, 74, 75, 112, 112, - 112, 112, 80, 112, 112, 83, 84, 112, 112, 112, - 112, 112, 90, 91, 92, 112, 94, 112, 96, 97, - 98, 65, 112, 67, 112, 112, 70, 112, 112, 73, - 74, 75, 112, 112, 112, 112, 80, 112, 112, 83, - 84, 112, 112, 112, 112, 112, 90, 91, 92, 112, - 94, 112, 96, 97, 98, 65, 112, 67, 112, 112, - 70, 112, 112, 73, 74, 75, 112, 112, 112, 112, - 80, 112, 112, 83, 84, 112, 112, 112, 112, 112, - 90, 91, 92, 112, 94, 112, 96, 97, 98, 65, - 112, 67, 112, 112, 70, 112, 112, 73, 74, 75, - 112, 112, 112, 112, 80, 112, 112, 83, 84, 112, - 112, 112, 112, 112, 90, 91, 92, 112, 94, 112, - 96, 97, 98, 65, 112, 67, 112, 112, 70, 112, - 112, 73, 74, 75, 112, 112, 112, 112, 80, 112, - 112, 83, 84, 112, 112, 112, 112, 112, 90, 91, - 92, 112, 94, 112, 96, 97, 98, 65, 112, 67, - 112, 112, 70, 112, 112, 73, 74, 75, 112, 112, - 112, 112, 80, 112, 112, 83, 84, 112, 112, 112, - 112, 112, 90, 91, 92, 112, 94, 112, 96, 97, - 98, 65, 112, 67, 112, 112, 70, 112, 112, 73, - 74, 75, 112, 112, 112, 112, 80, 112, 112, 83, - 84, 112, 112, 112, 112, 112, 90, 91, 92, 112, - 94, 112, 96, 97, 98, 65, 112, 67, 112, 112, - 70, 112, 112, 73, 74, 75, 112, 112, 112, 112, - 80, 112, 112, 83, 84, 112, 112, 112, 112, 112, - 90, 91, 92, 112, 94, 112, 96, 97, 98, 65, - 112, 67, 112, 112, 70, 112, 112, 73, 74, 75, - 112, 112, 112, 112, 80, 112, 112, 83, 84, 112, - 112, 112, 112, 112, 90, 91, 92, 112, 94, 112, - 96, 97, 98, 65, 112, 67, 112, 112, 70, 112, - 112, 73, 74, 75, 112, 112, 112, 112, 80, 112, - 112, 83, 84, 112, 112, 112, 112, 112, 90, 91, - 92, 112, 94, 112, 96, 97, 98, 65, 112, 67, - 112, 112, 70, 112, 112, 73, 74, 75, 112, 112, - 112, 112, 80, 112, 112, 83, 84, 112, 112, 112, - 112, 112, 90, 91, 92, 112, 94, 112, 96, 97, - 98, 65, 112, 67, 112, 112, 70, 112, 112, 73, - 74, 75, 112, 112, 112, 112, 80, 112, 112, 83, - 84, 112, 112, 112, 112, 112, 90, 91, 92, 112, - 94, 112, 96, 97, 98, 65, 112, 67, 112, 112, - 70, 112, 112, 73, 74, 75, 112, 112, 112, 112, - 80, 112, 112, 83, 84, 112, 112, 112, 112, 112, - 90, 91, 92, 112, 94, 112, 96, 97, 98, 65, - 112, 67, 112, 112, 70, 112, 112, 73, 74, 75, - 112, 112, 112, 112, 80, 112, 112, 83, 84, 112, - 112, 112, 112, 112, 90, 91, 92, 112, 94, 112, - 96, 97, 98, 65, 112, 67, 72, 112, 70, 112, - 112, 73, 74, 112, 112, 112, 82, 112, 80, 85, - 86, 87, 88, 112, 112, 112, 112, 89, 90, 91, - 92, 112, 94, 112, 96, 97, 98, 65, 112, 67, - 72, 112, 70, 112, 112, 73, 74, 112, 112, 112, - 82, 112, 80, 85, 86, 87, 88, 112, 112, 112, - 112, 89, 90, 91, 92, 3, 94, 112, 96, 97, - 98, 9, 10, 11, 12, 112, 14, 112, 112, 112, - 18, 19, 9, 112, 112, 12, 24, 112, 25, 16, - 28, 29, 30, 112, 31, 23, 112, 25, 25, 36, - 37, 38, 39, 31, 31, 112, 112, 112, 36, 37, - 38, 39, 112, 112, 112, 112, 53, 54, 55, 56, - 58, 59, 112, 112, 3, 53, 54, 55, 56, 112, - 9, 10, 11, 12, 112, 14, 112, 20, 112, 18, - 19, 112, 112, 112, 112, 24, 112, 112, 26, 28, - 29, 30, 112, 36, 37, 38, 39, 112, 36, 37, - 38, 39, 112, 112, 112, 112, 112, 112, 112, 112, - 53, 54, 55, 56, 112, 53, 54, 55, 56, 58, - 59, 112, 112, 3, 4, 5, 6, 2, 112, 9, - 10, 11, 12, 112, 9, 112, 112, 12, 18, 19, - 15, 16, 17, 112, 24, 112, 21, 112, 28, 29, - 30, 65, 112, 67, 112, 112, 70, 112, 112, 73, - 74, 112, 112, 112, 112, 112, 80, 112, 43, 112, - 112, 46, 112, 48, 112, 50, 90, 91, 92, 112, - 94, 112, 96, 97, 98, 112, 65, 112, 67, 112, - 1, 70, 112, 112, 73, 74, 112, 112, 112, 112, - 112, 80, 13, 112, 112, 112, 17, 112, 112, 112, - 112, 90, 91, 92, 25, 94, 112, 96, 97, 98, - 31, 112, 65, 34, 67, 112, 72, 70, 112, 112, - 73, 74, 112, 112, 112, 46, 82, 80, 112, 85, - 86, 87, 88, 112, 112, 112, 112, 90, 91, 92, - 112, 94, 112, 96, 97, 98, 112, 65, 112, 67, - 112, 112, 70, 112, 112, 73, 74, 112, 112, 112, - 112, 112, 80, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 90, 91, 92, 112, 94, 112, 96, 97, - 98, 112, 112, 65, 112, 67, 112, 112, 70, 112, - 112, 73, 74, 112, 112, 112, 112, 112, 80, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 90, 91, - 92, 112, 94, 112, 96, 97, 98, 112, 65, 112, - 67, 112, 112, 70, 112, 112, 73, 74, 112, 112, - 112, 112, 112, 80, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 90, 91, 92, 112, 94, 112, 96, - 97, 98, 112, 112, 65, 112, 67, 2, 112, 70, - 112, 112, 73, 74, 9, 112, 112, 12, 112, 80, - 112, 16, 17, 112, 112, 112, 21, 112, 112, 90, - 91, 92, 112, 94, 112, 96, 97, 98, 112, 112, - 2, 112, 112, 112, 112, 112, 112, 112, 43, 112, - 112, 46, 112, 48, 2, 50, 51, 112, 112, 112, - 112, 9, 112, 112, 12, 112, 112, 15, 16, 17, - 112, 2, 34, 21, 36, 37, 38, 39, 9, 112, - 112, 12, 112, 112, 46, 16, 17, 112, 112, 2, - 21, 53, 54, 55, 56, 43, 9, 112, 46, 12, - 48, 112, 50, 16, 17, 112, 112, 112, 21, 112, - 112, 112, 43, 112, 112, 46, 13, 48, 112, 50, - 112, 112, 112, 112, 112, 35, 36, 37, 38, 39, - 43, 112, 112, 46, 112, 48, 112, 50, 112, 36, - 37, 38, 39, 53, 54, 55, 56, 13, 112, 36, - 37, 38, 39, 13, 112, 112, 53, 54, 55, 56, - 13, 112, 112, 112, 51, 112, 53, 54, 55, 56, - 36, 37, 38, 39, 2, 112, 36, 37, 38, 39, - 112, 13, 112, 36, 37, 38, 39, 53, 54, 55, - 56, 112, 112, 53, 54, 55, 56, 112, 112, 112, - 53, 54, 55, 56, 36, 37, 38, 39, 36, 37, - 38, 39, 9, 112, 112, 12, 112, 112, 112, 16, - 17, 53, 54, 55, 56, 53, 54, 55, 56, 112, - 112, 112, 9, 112, 112, 12, 112, 112, 112, 16, - 112, 112, 112, 112, 112, 112, 43, 112, 25, 46, - 27, 48, 112, 50, 31, + 2, 86, 87, 88, 89, 25, 91, 9, 10, 11, + 12, 31, 14, 71, 16, 1, 18, 19, 1, 21, + 78, 79, 24, 81, 13, 1, 28, 29, 30, 17, + 32, 20, 34, 22, 17, 37, 25, 39, 40, 41, + 42, 43, 31, 45, 33, 47, 35, 49, 50, 25, + 52, 104, 105, 106, 43, 31, 58, 59, 9, 10, + 11, 12, 17, 14, 13, 16, 15, 18, 19, 1, + 21, 62, 63, 24, 73, 70, 25, 28, 29, 30, + 43, 32, 31, 34, 83, 34, 37, 50, 43, 40, + 41, 42, 43, 1, 45, 50, 47, 46, 49, 50, + 51, 52, 1, 2, 103, 13, 101, 58, 59, 9, + 10, 11, 12, 14, 14, 16, 16, 25, 18, 19, + 70, 21, 17, 31, 24, 66, 101, 68, 28, 29, + 30, 102, 32, 104, 34, 106, 14, 37, 16, 34, + 40, 41, 42, 43, 77, 45, 47, 47, 49, 49, + 50, 52, 52, 66, 104, 68, 106, 77, 58, 59, + 9, 10, 11, 12, 12, 14, 14, 16, 16, 18, + 19, 49, 21, 114, 52, 24, 109, 110, 34, 28, + 29, 30, 1, 32, 32, 34, 14, 43, 37, 109, + 46, 40, 41, 42, 43, 51, 45, 15, 47, 17, + 49, 50, 14, 52, 52, 95, 34, 13, 27, 58, + 59, 9, 10, 11, 12, 21, 14, 107, 16, 25, + 18, 19, 27, 21, 52, 31, 24, 81, 46, 34, + 28, 29, 30, 12, 32, 14, 34, 16, 44, 37, + 52, 46, 40, 41, 42, 43, 17, 45, 15, 47, + 17, 49, 50, 107, 52, 101, 1, 103, 13, 81, + 58, 59, 9, 10, 11, 12, 21, 14, 13, 16, + 25, 18, 19, 52, 21, 46, 31, 24, 73, 46, + 25, 28, 29, 30, 83, 32, 31, 34, 83, 44, + 37, 1, 2, 40, 41, 42, 43, 1, 45, 101, + 47, 103, 49, 50, 104, 52, 106, 73, 103, 13, + 103, 58, 59, 9, 10, 11, 12, 83, 14, 73, + 16, 25, 18, 19, 15, 21, 102, 31, 24, 83, + 71, 80, 28, 29, 30, 81, 32, 78, 34, 14, + 81, 37, 25, 109, 40, 41, 42, 43, 31, 45, + 71, 47, 43, 49, 50, 109, 52, 78, 21, 50, + 81, 77, 58, 59, 9, 10, 11, 12, 12, 14, + 73, 16, 81, 18, 19, 9, 21, 52, 12, 24, + 83, 44, 16, 28, 29, 30, 101, 32, 51, 34, + 34, 71, 37, 109, 1, 40, 41, 42, 43, 73, + 45, 81, 47, 101, 49, 50, 21, 52, 14, 83, + 16, 73, 101, 58, 59, 9, 10, 11, 12, 20, + 14, 83, 16, 33, 18, 19, 104, 21, 106, 44, + 24, 66, 33, 68, 28, 29, 30, 104, 32, 106, + 34, 51, 95, 37, 51, 60, 40, 41, 42, 43, + 73, 45, 43, 47, 107, 49, 50, 109, 52, 50, + 83, 77, 64, 65, 58, 59, 9, 10, 11, 12, + 6, 14, 8, 16, 2, 18, 19, 9, 113, 114, + 12, 24, 15, 110, 16, 28, 29, 30, 21, 32, + 21, 34, 106, 109, 37, 7, 8, 40, 41, 42, + 43, 16, 45, 33, 47, 35, 49, 50, 34, 52, + 65, 34, 33, 44, 35, 58, 59, 9, 10, 11, + 12, 101, 14, 46, 16, 73, 18, 19, 33, 77, + 35, 34, 24, 48, 34, 83, 28, 29, 30, 43, + 32, 82, 34, 46, 82, 37, 46, 51, 40, 41, + 42, 43, 33, 45, 35, 47, 101, 49, 50, 101, + 52, 109, 33, 33, 35, 35, 58, 59, 82, 66, + 67, 68, 69, 7, 71, 72, 13, 74, 75, 76, + 15, 13, 43, 16, 81, 16, 16, 84, 85, 32, + 73, 16, 16, 14, 77, 92, 93, 94, 16, 96, + 83, 98, 99, 100, 66, 67, 68, 69, 43, 71, + 72, 16, 74, 75, 76, 32, 16, 16, 16, 81, + 49, 49, 84, 85, 15, 51, 109, 35, 51, 22, + 92, 93, 94, 115, 96, 115, 98, 99, 100, 66, + 115, 68, 69, 115, 71, 72, 115, 74, 75, 76, + 115, 115, 9, 115, 81, 12, 115, 84, 85, 16, + 115, 115, 115, 115, 115, 92, 93, 94, 115, 96, + 115, 98, 99, 100, 66, 115, 68, 115, 20, 71, + 115, 115, 74, 75, 76, 115, 115, 115, 115, 81, + 115, 48, 84, 85, 36, 37, 38, 39, 115, 115, + 92, 93, 94, 115, 96, 115, 98, 99, 100, 115, + 115, 53, 54, 55, 56, 57, 66, 115, 68, 111, + 112, 71, 115, 115, 74, 75, 76, 25, 115, 9, + 115, 81, 12, 31, 84, 85, 16, 17, 36, 37, + 38, 39, 92, 93, 94, 115, 96, 115, 98, 99, + 100, 115, 115, 115, 115, 53, 54, 55, 56, 57, + 115, 111, 112, 43, 115, 115, 46, 66, 48, 68, + 50, 115, 71, 115, 115, 74, 75, 76, 115, 78, + 9, 115, 81, 12, 115, 84, 85, 16, 115, 115, + 115, 115, 115, 92, 93, 94, 115, 96, 115, 98, + 99, 100, 66, 115, 68, 115, 115, 71, 115, 115, + 74, 75, 76, 71, 115, 115, 74, 81, 115, 48, + 84, 85, 115, 81, 115, 115, 115, 115, 92, 93, + 94, 115, 96, 115, 98, 99, 100, 115, 115, 115, + 98, 99, 100, 66, 108, 68, 115, 115, 71, 115, + 115, 74, 75, 76, 115, 115, 115, 115, 81, 115, + 115, 84, 85, 115, 115, 115, 115, 115, 115, 92, + 93, 94, 115, 96, 115, 98, 99, 100, 66, 115, + 68, 115, 115, 71, 115, 115, 74, 75, 76, 112, + 115, 115, 115, 81, 115, 115, 84, 85, 115, 115, + 115, 115, 115, 115, 92, 93, 94, 115, 96, 97, + 98, 99, 100, 115, 115, 66, 115, 68, 115, 115, + 71, 115, 115, 74, 75, 76, 115, 115, 115, 115, + 81, 115, 115, 84, 85, 115, 115, 115, 115, 115, + 115, 92, 93, 94, 115, 96, 115, 98, 99, 100, + 66, 115, 68, 115, 115, 71, 115, 108, 74, 75, + 76, 115, 78, 115, 115, 81, 115, 115, 84, 85, + 115, 115, 9, 115, 115, 12, 92, 93, 94, 16, + 96, 115, 98, 99, 100, 115, 115, 66, 25, 68, + 27, 115, 71, 115, 31, 74, 75, 76, 115, 115, + 9, 115, 81, 12, 115, 84, 85, 16, 115, 115, + 115, 115, 115, 92, 93, 94, 115, 96, 115, 98, + 99, 100, 66, 115, 68, 115, 115, 71, 115, 115, + 74, 75, 76, 115, 115, 115, 115, 81, 115, 48, + 84, 85, 115, 115, 115, 115, 115, 115, 92, 93, + 94, 115, 96, 115, 98, 99, 100, 115, 115, 66, + 115, 68, 115, 115, 71, 115, 115, 74, 75, 76, + 115, 115, 115, 115, 81, 115, 115, 84, 85, 115, + 115, 115, 115, 115, 115, 92, 93, 94, 115, 96, + 115, 98, 99, 100, 66, 115, 68, 115, 115, 71, + 115, 115, 74, 75, 76, 115, 115, 115, 115, 81, + 115, 115, 84, 85, 115, 115, 115, 115, 115, 115, + 92, 93, 94, 115, 96, 115, 98, 99, 100, 115, + 115, 66, 115, 68, 115, 115, 71, 115, 115, 74, + 75, 76, 115, 115, 115, 115, 81, 115, 115, 84, + 85, 115, 115, 115, 115, 115, 115, 92, 93, 94, + 115, 96, 115, 98, 99, 100, 66, 115, 68, 115, + 115, 71, 115, 115, 74, 75, 76, 115, 115, 115, + 115, 81, 115, 115, 84, 85, 115, 115, 115, 115, + 115, 115, 92, 93, 94, 115, 96, 115, 98, 99, + 100, 115, 115, 66, 115, 68, 115, 115, 71, 115, + 115, 74, 75, 76, 115, 115, 115, 115, 81, 115, + 115, 84, 85, 115, 115, 115, 115, 115, 115, 92, + 93, 94, 115, 96, 115, 98, 99, 100, 66, 115, + 68, 115, 115, 71, 115, 115, 74, 75, 76, 115, + 115, 115, 115, 81, 115, 115, 84, 85, 115, 115, + 115, 115, 115, 115, 92, 93, 94, 115, 96, 115, + 98, 99, 100, 115, 115, 66, 115, 68, 115, 115, + 71, 115, 115, 74, 75, 76, 115, 115, 115, 115, + 81, 115, 115, 84, 85, 115, 115, 115, 115, 115, + 115, 92, 93, 94, 115, 96, 115, 98, 99, 100, + 66, 115, 68, 115, 115, 71, 115, 115, 74, 75, + 76, 115, 115, 115, 115, 81, 115, 115, 84, 85, + 115, 115, 115, 115, 115, 115, 92, 93, 94, 115, + 96, 115, 98, 99, 100, 115, 115, 66, 115, 68, + 115, 115, 71, 115, 115, 74, 75, 76, 115, 115, + 115, 115, 81, 115, 115, 84, 85, 115, 115, 115, + 115, 115, 115, 92, 93, 94, 115, 96, 115, 98, + 99, 100, 66, 115, 68, 115, 115, 71, 115, 115, + 74, 75, 76, 115, 115, 115, 115, 81, 115, 115, + 84, 85, 115, 115, 115, 115, 115, 115, 92, 93, + 94, 115, 96, 115, 98, 99, 100, 115, 115, 66, + 115, 68, 115, 115, 71, 115, 115, 74, 75, 76, + 115, 115, 115, 115, 81, 115, 115, 84, 85, 115, + 115, 115, 115, 115, 115, 92, 93, 94, 115, 96, + 115, 98, 99, 100, 66, 115, 68, 115, 115, 71, + 115, 115, 74, 75, 76, 115, 115, 115, 115, 81, + 115, 115, 84, 85, 115, 115, 115, 115, 115, 115, + 92, 93, 94, 115, 96, 115, 98, 99, 100, 115, + 115, 66, 115, 68, 115, 115, 71, 115, 115, 74, + 75, 76, 115, 115, 115, 115, 81, 115, 115, 84, + 85, 115, 115, 115, 115, 115, 115, 92, 93, 94, + 115, 96, 115, 98, 99, 100, 66, 115, 68, 115, + 115, 71, 115, 115, 74, 75, 76, 115, 115, 115, + 115, 81, 115, 115, 84, 85, 115, 115, 115, 115, + 115, 115, 92, 93, 94, 115, 96, 115, 98, 99, + 100, 115, 115, 66, 115, 68, 115, 115, 71, 115, + 115, 74, 75, 76, 115, 115, 115, 115, 81, 115, + 115, 84, 85, 115, 115, 115, 115, 115, 115, 92, + 93, 94, 115, 96, 115, 98, 99, 100, 66, 115, + 68, 115, 115, 71, 115, 115, 74, 75, 76, 115, + 115, 115, 115, 81, 115, 115, 84, 85, 115, 115, + 115, 115, 115, 115, 92, 93, 94, 115, 96, 115, + 98, 99, 100, 115, 115, 66, 115, 68, 115, 115, + 71, 115, 115, 74, 75, 76, 115, 115, 115, 115, + 81, 115, 115, 84, 85, 115, 115, 115, 115, 115, + 115, 92, 93, 94, 115, 96, 115, 98, 99, 100, + 66, 115, 68, 115, 115, 71, 115, 115, 74, 75, + 76, 115, 115, 115, 115, 81, 115, 115, 84, 85, + 115, 115, 115, 115, 115, 115, 92, 93, 94, 115, + 96, 115, 98, 99, 100, 115, 115, 66, 115, 68, + 115, 115, 71, 115, 115, 74, 75, 76, 115, 115, + 115, 115, 81, 115, 115, 84, 85, 115, 115, 115, + 115, 115, 115, 92, 93, 94, 115, 96, 115, 98, + 99, 100, 66, 115, 68, 115, 115, 71, 115, 115, + 74, 75, 76, 115, 115, 115, 115, 81, 115, 115, + 84, 85, 115, 115, 115, 115, 115, 115, 92, 93, + 94, 115, 96, 115, 98, 99, 100, 115, 115, 66, + 115, 68, 115, 115, 71, 115, 115, 74, 75, 76, + 115, 115, 115, 115, 81, 115, 115, 84, 85, 115, + 115, 115, 115, 115, 115, 92, 93, 94, 115, 96, + 115, 98, 99, 100, 66, 115, 68, 115, 115, 71, + 115, 115, 74, 75, 76, 115, 115, 115, 115, 81, + 115, 115, 84, 85, 115, 115, 115, 115, 115, 115, + 92, 93, 94, 115, 96, 115, 98, 99, 100, 115, + 115, 66, 115, 68, 115, 115, 71, 115, 115, 74, + 75, 76, 115, 115, 115, 115, 81, 115, 115, 84, + 85, 115, 115, 115, 115, 115, 115, 92, 93, 94, + 115, 96, 115, 98, 99, 100, 66, 115, 68, 115, + 115, 71, 115, 115, 74, 75, 76, 115, 115, 115, + 115, 81, 115, 115, 84, 85, 115, 115, 115, 115, + 115, 115, 92, 93, 94, 115, 96, 115, 98, 99, + 100, 115, 115, 66, 115, 68, 115, 115, 71, 115, + 115, 74, 75, 76, 115, 115, 115, 115, 81, 115, + 115, 84, 85, 115, 115, 115, 115, 115, 115, 92, + 93, 94, 115, 96, 115, 98, 99, 100, 66, 115, + 68, 115, 115, 71, 115, 115, 74, 75, 76, 115, + 115, 115, 115, 81, 115, 115, 84, 85, 115, 115, + 115, 115, 115, 115, 92, 93, 94, 115, 96, 115, + 98, 99, 100, 115, 115, 66, 115, 68, 115, 115, + 71, 115, 115, 74, 75, 115, 115, 115, 115, 66, + 81, 68, 115, 115, 71, 115, 115, 74, 75, 90, + 115, 92, 93, 94, 81, 96, 115, 98, 99, 100, + 115, 115, 115, 90, 115, 92, 93, 94, 115, 96, + 3, 98, 99, 100, 115, 115, 9, 10, 11, 12, + 115, 14, 115, 115, 115, 18, 19, 115, 115, 115, + 115, 24, 115, 115, 26, 28, 29, 30, 115, 115, + 115, 23, 115, 25, 36, 37, 38, 39, 115, 31, + 115, 115, 115, 115, 36, 37, 38, 39, 115, 115, + 115, 53, 54, 55, 56, 57, 59, 60, 115, 115, + 3, 53, 54, 55, 56, 57, 9, 10, 11, 12, + 115, 14, 115, 115, 115, 18, 19, 9, 115, 115, + 12, 24, 115, 115, 16, 28, 29, 30, 35, 36, + 37, 38, 39, 25, 36, 37, 38, 39, 115, 31, + 115, 115, 115, 115, 115, 115, 53, 54, 55, 56, + 57, 53, 54, 55, 56, 57, 59, 60, 60, 115, + 3, 4, 5, 6, 2, 115, 9, 10, 11, 12, + 115, 9, 115, 115, 12, 18, 19, 15, 16, 17, + 115, 24, 115, 21, 115, 28, 29, 30, 66, 115, + 68, 115, 115, 71, 115, 115, 74, 75, 115, 115, + 115, 115, 115, 81, 115, 43, 115, 115, 46, 115, + 48, 115, 50, 115, 92, 93, 94, 115, 96, 115, + 98, 99, 100, 115, 66, 115, 68, 73, 115, 71, + 115, 115, 74, 75, 115, 115, 115, 83, 115, 81, + 86, 87, 88, 89, 115, 91, 115, 115, 115, 115, + 92, 93, 94, 115, 96, 115, 98, 99, 100, 115, + 66, 115, 68, 115, 73, 71, 115, 115, 74, 75, + 115, 115, 115, 115, 83, 81, 115, 86, 87, 88, + 89, 115, 91, 115, 115, 115, 92, 93, 94, 115, + 96, 115, 98, 99, 100, 115, 66, 115, 68, 115, + 73, 71, 115, 115, 74, 75, 115, 115, 115, 115, + 83, 81, 115, 86, 87, 88, 89, 71, 91, 115, + 74, 115, 92, 93, 94, 115, 96, 81, 98, 99, + 100, 115, 66, 115, 68, 115, 115, 71, 115, 93, + 74, 75, 115, 115, 98, 99, 100, 81, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 92, 93, + 94, 115, 96, 115, 98, 99, 100, 115, 66, 115, + 68, 115, 115, 71, 115, 115, 74, 75, 115, 115, + 115, 115, 115, 81, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 92, 93, 94, 115, 96, 115, + 98, 99, 100, 115, 66, 115, 68, 115, 115, 71, + 115, 1, 74, 75, 115, 115, 115, 115, 115, 81, + 115, 115, 115, 13, 115, 115, 115, 17, 115, 115, + 92, 93, 94, 115, 96, 25, 98, 99, 100, 115, + 66, 31, 68, 2, 34, 71, 115, 115, 74, 75, + 115, 115, 115, 115, 115, 81, 46, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 92, 93, 94, 115, + 96, 115, 98, 99, 100, 34, 115, 36, 37, 38, + 39, 115, 115, 115, 115, 115, 115, 46, 115, 115, + 115, 115, 115, 115, 53, 54, 55, 56, 57, 2, + 115, 115, 115, 115, 115, 115, 9, 115, 115, 12, + 115, 115, 2, 16, 17, 115, 115, 115, 21, 9, + 115, 115, 12, 115, 115, 15, 16, 17, 115, 115, + 115, 21, 115, 115, 115, 115, 115, 115, 115, 13, + 43, 115, 115, 46, 115, 48, 115, 50, 51, 115, + 115, 115, 115, 43, 115, 115, 46, 115, 48, 115, + 50, 2, 36, 37, 38, 39, 115, 13, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 115, 53, + 54, 55, 56, 57, 36, 37, 38, 39, 115, 115, + 36, 37, 38, 39, 13, 36, 37, 38, 39, 51, + 13, 53, 54, 55, 56, 57, 13, 53, 54, 55, + 56, 57, 53, 54, 55, 56, 57, 36, 37, 38, + 39, 115, 115, 36, 37, 38, 39, 115, 115, 36, + 37, 38, 39, 115, 53, 54, 55, 56, 57, 115, + 53, 54, 55, 56, 57, 2, 53, 54, 55, 56, + 57, 2, 9, 115, 115, 12, 115, 115, 9, 16, + 17, 12, 115, 115, 21, 16, 17, 115, 115, 115, + 21, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 43, 115, 115, 46, + 115, 48, 43, 50, 115, 46, 115, 48, 115, 50, + 115, 36, 37, 38, 39, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 53, 54, + 55, 56, 57, ); - const YY_SHIFT_USE_DFLT = -11; - const YY_SHIFT_MAX = 239; + const YY_SHIFT_USE_DFLT = -21; + const YY_SHIFT_MAX = 244; public static $yy_shift_ofst = array( - -11, 98, 98, 148, 198, 198, 248, 148, 148, 198, - 148, 248, -2, 48, 298, 148, 148, 148, 298, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 348, 148, 148, 148, 148, 148, 398, 148, 148, 148, - 448, 498, 498, 498, 498, 498, 498, 498, 498, 147, - 1962, 1953, 1953, 35, 1952, 2007, 2012, 2413, 2400, 2423, - 2444, 415, 2450, 2457, 2482, 2478, 465, 465, 465, 465, - 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, - 465, 465, 465, 465, 465, 465, 2139, 90, 143, 2011, - 2533, 1963, 36, 103, 143, 143, 90, 90, 235, 2070, - 2075, 634, 59, 636, 641, 663, 359, 359, 203, 221, - 269, 221, 306, 332, 196, 378, 378, 264, 385, 319, - 221, 5, 5, 5, 5, 5, 5, 5, 5, 112, - 112, 82, 5, -11, -11, 2315, 2362, 2379, 2397, 2513, - 49, 665, 409, 218, 221, 221, 458, 221, 382, 221, - 382, 221, 394, 394, 221, 221, 221, 221, 394, 40, - 394, 394, 394, 399, 394, 399, 394, 221, 221, 221, - 221, 5, 463, 5, 5, 463, 5, 462, 112, 112, - 112, -11, -11, -11, -11, -11, -11, 2348, 11, 100, - -10, 190, 881, 141, 265, 292, 252, 425, 479, 350, - 313, 440, 240, 429, 477, 459, 480, 153, 486, 501, - 509, 535, 538, 510, 557, 567, 568, 558, 569, 571, - 575, 580, 585, 587, 562, 572, 576, 586, 593, 462, - 611, 581, 598, 640, 597, 612, 655, 658, 648, 673, + -21, 100, 100, 151, 202, 202, 253, 151, 202, 151, + 151, 253, -2, 49, 304, 151, 151, 151, 304, 151, + 151, 151, 151, 151, 151, 151, 151, 355, 151, 151, + 151, 151, 151, 151, 151, 151, 406, 151, 151, 151, + 457, 508, 508, 508, 508, 508, 508, 508, 508, 508, + 2048, 702, 702, 99, 122, 658, 2038, 2526, 2093, 2548, + 2554, 2098, 2559, 2581, 2587, 2593, 2665, 2665, 2665, 2665, + 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, + 2665, 2665, 2665, 2665, 2665, 2665, 2037, 2410, 172, 24, + 2097, 963, 2108, 45, 182, 24, 24, 172, 172, 101, + 12, 2157, 2162, 221, 643, 92, 255, 296, 366, 366, + 233, -20, 188, -20, 317, 17, 229, 394, 105, 394, + 393, 181, 290, -20, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 12, 12, 68, 14, -21, -21, 2497, + 2510, 2643, 2649, 720, 152, 771, 468, 309, -20, -20, + 467, -20, 325, -20, 325, -20, 37, 37, 409, 37, + 409, 37, -20, -20, -20, -20, 37, 356, 37, 37, + 37, -20, -20, -20, -20, 14, 472, 14, 14, 472, + 14, 12, 474, 12, 12, 12, 12, -21, -21, -21, + -21, -21, -21, 2441, 11, 51, 194, 245, 991, 144, + 195, 385, 337, 464, 488, 399, 485, 469, 477, 497, + 500, 470, 390, 496, 479, 495, 519, 529, 530, 565, + 566, 563, 568, 567, 569, 570, 575, 576, 579, 582, + 539, 557, 583, 474, 595, 571, 572, 600, 601, 574, + 577, 602, 609, 592, 607, ); - const YY_REDUCE_USE_DFLT = -99; - const YY_REDUCE_MAX = 186; + const YY_REDUCE_USE_DFLT = -86; + const YY_REDUCE_MAX = 192; public static $yy_reduce_ofst = array( - 109, 492, 527, 561, 595, 632, 669, 703, 737, 771, - 808, 842, 876, 910, 944, 978, 1012, 1046, 1080, 1114, - 1148, 1182, 1216, 1250, 1284, 1318, 1352, 1386, 1420, 1454, - 1488, 1522, 1556, 1590, 1624, 1658, 1692, 1726, 1760, 1794, - 1828, 1862, 2036, 2071, 2107, 2142, 2178, 2213, 2249, 542, - 1824, 1858, 2104, 481, 114, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 608, 536, 645, 164, - 20, 101, -98, 34, 181, 212, -57, 174, 195, 3, - 254, -5, -79, 228, 228, 228, 180, -5, 222, 51, - 272, 291, 302, 305, 222, -75, 261, 228, 228, 228, - 331, 323, 228, 228, 228, 228, 228, 228, 228, 222, - 299, 228, 228, 360, 228, 102, 102, 102, 102, 102, - 85, 122, 102, 102, 188, 188, 300, 188, 324, 188, - 335, 188, 244, 244, 188, 188, 188, 188, 244, 321, - 244, 244, 244, 337, 244, 347, 244, 188, 188, 188, - 188, 375, 376, 375, 375, 376, 375, 400, 421, 421, - 421, 467, 452, 468, 471, 447, 470, + 9, 503, 538, 573, 608, 650, 701, 736, 777, 812, + 849, 884, 921, 956, 993, 1028, 1065, 1100, 1137, 1172, + 1209, 1244, 1281, 1316, 1353, 1388, 1425, 1460, 1497, 1532, + 1569, 1604, 1641, 1676, 1713, 1748, 1785, 1820, 1857, 1892, + 1929, 1943, 2122, 2158, 2194, 2230, 2266, 2302, 2338, 2374, + 2154, 2191, 2227, 2246, 742, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, 365, 452, -58, 517, + 59, 1, 205, 29, 50, 234, 246, 259, 279, 67, + -53, 87, 5, 146, 154, 80, 80, 80, 198, 154, + 200, 297, 320, 326, 338, 284, 200, 110, 322, 347, + 80, 80, 80, 377, 384, 80, 80, 80, 80, 80, + 80, 80, 80, 200, 333, 80, 80, 398, 80, 25, + 25, 25, 25, 25, 178, 207, 25, 25, 201, 201, + 251, 201, 254, 201, 291, 201, 224, 224, 285, 224, + 302, 224, 201, 201, 201, 201, 224, 311, 224, 224, + 224, 201, 201, 201, 201, 348, 373, 348, 348, 373, + 348, 386, 420, 386, 386, 386, 386, 445, 459, 462, + 486, 455, 458, ); public static $yyExpectedTokens = array( array(), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(2, 9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 39, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 51, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), - array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 57, 58, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(2, 9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 39, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 51, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 21, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(9, 10, 11, 12, 14, 16, 18, 19, 24, 28, 29, 30, 32, 34, 37, 40, 41, 42, 43, 45, 47, 49, 50, 52, 58, 59, ), + array(23, 25, 31, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(25, 31, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(25, 31, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), array(14, 16, 47, 49, 52, ), - array(23, 25, 31, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(25, 31, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(25, 31, 36, 37, 38, 39, 53, 54, 55, 56, ), array(14, 16, 49, 52, ), - array(3, 9, 10, 11, 12, 14, 18, 19, 24, 28, 29, 30, 58, 59, ), - array(20, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(26, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(13, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(35, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 51, 53, 54, 55, 56, ), - array(13, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, 59, ), - array(13, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(13, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(2, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(13, 36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), - array(36, 37, 38, 39, 53, 54, 55, 56, ), + array(20, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(26, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(13, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(35, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 51, 53, 54, 55, 56, 57, ), + array(13, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, 60, ), + array(2, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(13, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(13, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(13, 36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(36, 37, 38, 39, 53, 54, 55, 56, 57, ), + array(3, 9, 10, 11, 12, 14, 18, 19, 24, 28, 29, 30, 59, 60, ), array(1, 13, 17, 25, 31, 34, 46, ), array(14, 34, 52, ), array(1, 25, 31, ), - array(3, 9, 10, 11, 12, 14, 18, 19, 24, 28, 29, 30, 58, 59, ), + array(3, 9, 10, 11, 12, 14, 18, 19, 24, 28, 29, 30, 59, 60, ), array(9, 12, 16, 25, 27, 31, ), array(9, 12, 16, 25, 31, ), array(17, 43, 50, ), @@ -937,10 +973,11 @@ public static $yy_action = array( array(14, 34, 52, ), array(14, 34, 52, ), array(1, 2, ), + array(17, ), array(3, 4, 5, 6, 9, 10, 11, 12, 18, 19, 24, 28, 29, 30, ), array(2, 9, 12, 15, 16, 17, 21, 43, 46, 48, 50, ), - array(9, 12, 16, 48, ), array(12, 14, 16, 52, ), + array(9, 12, 16, 48, ), array(1, 13, 25, 31, ), array(1, 13, 25, 31, ), array(1, 13, 25, 31, ), @@ -954,10 +991,11 @@ public static $yy_action = array( array(1, 17, ), array(17, 46, ), array(14, 16, ), + array(17, 34, ), array(14, 16, ), array(1, 51, ), - array(1, 2, ), array(1, 27, ), + array(1, 2, ), array(25, 31, ), array(1, ), array(1, ), @@ -967,6 +1005,7 @@ public static $yy_action = array( array(1, ), array(1, ), array(1, ), + array(1, ), array(17, ), array(17, ), array(1, ), @@ -992,6 +1031,10 @@ public static $yy_action = array( array(25, 31, ), array(43, 50, ), array(43, 50, ), + array(43, 50, ), + array(43, 50, ), + array(43, 50, ), + array(43, 50, ), array(25, 31, ), array(25, 31, ), array(25, 31, ), @@ -1001,10 +1044,6 @@ public static $yy_action = array( array(43, 50, ), array(43, 50, ), array(43, 50, ), - array(43, 50, ), - array(43, 50, ), - array(43, 50, ), - array(43, 50, ), array(25, 31, ), array(25, 31, ), array(25, 31, ), @@ -1015,17 +1054,19 @@ public static $yy_action = array( array(1, ), array(2, ), array(1, ), + array(17, ), array(34, ), array(17, ), array(17, ), array(17, ), + array(17, ), array(), array(), array(), array(), array(), array(), - array(2, 34, 36, 37, 38, 39, 46, 53, 54, 55, 56, ), + array(2, 34, 36, 37, 38, 39, 46, 53, 54, 55, 56, 57, ), array(13, 20, 22, 25, 31, 33, 35, 43, ), array(13, 15, 25, 31, 34, 46, ), array(13, 21, 25, 31, 44, ), @@ -1033,7 +1074,7 @@ public static $yy_action = array( array(9, 12, 16, 48, ), array(34, 43, 46, 51, ), array(27, 34, 46, ), - array(21, 44, 59, ), + array(21, 44, 60, ), array(21, 44, 51, ), array(6, 8, ), array(7, 8, ), @@ -1044,13 +1085,13 @@ public static $yy_action = array( array(34, 46, ), array(34, 46, ), array(33, 35, ), - array(33, 35, ), array(33, 51, ), array(43, 51, ), array(33, 35, ), array(33, 35, ), array(33, 35, ), array(33, 35, ), + array(33, 35, ), array(15, 43, ), array(7, ), array(13, ), @@ -1067,11 +1108,10 @@ public static $yy_action = array( array(32, ), array(34, ), array(16, ), - array(34, ), - array(16, ), array(49, ), array(49, ), array(16, ), + array(16, ), array(51, ), array(51, ), array(16, ), @@ -1178,48 +1218,50 @@ public static $yy_action = array( array(), array(), array(), + array(), ); public static $yy_default = array( - 350, 540, 540, 540, 525, 525, 540, 501, 501, 524, - 452, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 390, 369, 390, 540, 540, 540, 395, 540, 540, 540, - 363, 540, 540, 540, 540, 540, 374, 500, 413, 420, - 499, 526, 528, 527, 419, 421, 418, 422, 451, 449, - 397, 401, 402, 392, 395, 363, 433, 540, 390, 540, - 390, 390, 514, 454, 390, 390, 540, 540, 381, 340, - 453, 466, 540, 404, 404, 404, 466, 466, 454, 390, - 540, 390, 390, 384, 454, 540, 540, 404, 404, 404, - 371, 386, 404, 411, 424, 425, 426, 412, 417, 454, - 511, 424, 410, 348, 508, 453, 453, 453, 453, 453, - 540, 468, 466, 482, 360, 370, 540, 373, 540, 378, - 540, 379, 463, 464, 364, 366, 367, 368, 492, 466, - 491, 494, 493, 457, 458, 459, 460, 380, 376, 377, - 372, 382, 502, 385, 387, 503, 442, 466, 488, 515, - 512, 348, 507, 507, 507, 466, 466, 433, 429, 433, - 423, 423, 467, 433, 433, 423, 423, 346, 540, 540, - 540, 423, 433, 443, 540, 540, 540, 540, 429, 540, - 461, 461, 540, 429, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 429, 431, 540, 513, 540, 482, - 540, 540, 540, 540, 540, 438, 540, 540, 540, 398, - 341, 342, 343, 344, 345, 347, 349, 351, 352, 353, - 354, 355, 356, 357, 359, 388, 389, 484, 485, 486, - 506, 383, 504, 505, 427, 436, 437, 446, 447, 465, - 469, 470, 471, 405, 406, 407, 408, 409, 428, 430, - 432, 434, 438, 439, 440, 414, 415, 416, 441, 444, - 445, 479, 477, 516, 517, 518, 519, 455, 456, 490, - 461, 462, 483, 498, 358, 489, 536, 537, 529, 530, - 531, 534, 533, 535, 538, 539, 532, 521, 523, 522, - 520, 495, 480, 478, 476, 473, 474, 475, 481, 496, - 497, 435, 472, 510, 487, 482, 391, 375, 399, 403, + 356, 551, 551, 551, 536, 536, 551, 510, 535, 459, + 510, 551, 551, 551, 551, 551, 551, 551, 551, 551, + 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, + 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, + 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, + 396, 375, 396, 551, 551, 551, 401, 551, 551, 551, + 369, 551, 551, 551, 551, 551, 380, 509, 419, 537, + 427, 539, 538, 426, 428, 425, 429, 458, 456, 508, + 403, 407, 408, 398, 401, 369, 551, 440, 551, 396, + 551, 396, 396, 524, 461, 396, 396, 551, 551, 387, + 496, 346, 460, 551, 473, 410, 410, 410, 473, 473, + 461, 396, 551, 396, 396, 390, 461, 551, 522, 551, + 410, 410, 410, 377, 392, 410, 417, 431, 432, 433, + 418, 423, 424, 461, 520, 431, 416, 354, 517, 460, + 460, 460, 460, 460, 551, 475, 473, 489, 366, 376, + 551, 379, 551, 384, 551, 385, 470, 471, 464, 465, + 466, 467, 370, 372, 373, 374, 501, 473, 500, 503, + 502, 386, 382, 383, 378, 388, 511, 391, 393, 512, + 449, 523, 473, 495, 525, 521, 497, 354, 516, 516, + 516, 473, 473, 440, 436, 440, 430, 430, 474, 440, + 440, 430, 430, 352, 551, 551, 551, 430, 440, 450, + 551, 551, 551, 436, 551, 468, 468, 551, 551, 436, + 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, + 436, 438, 551, 489, 551, 551, 551, 551, 551, 551, + 445, 551, 551, 551, 404, 347, 348, 349, 350, 351, + 353, 355, 357, 358, 359, 360, 361, 362, 363, 365, + 394, 395, 491, 492, 493, 515, 389, 513, 514, 434, + 443, 444, 453, 454, 472, 476, 477, 478, 411, 412, + 413, 414, 415, 435, 437, 439, 441, 445, 446, 447, + 498, 499, 420, 421, 422, 448, 451, 452, 486, 484, + 462, 463, 468, 469, 490, 526, 527, 528, 529, 530, + 364, 547, 548, 540, 541, 542, 545, 544, 546, 549, + 550, 543, 532, 534, 533, 531, 487, 485, 483, 480, + 481, 482, 488, 505, 507, 506, 504, 442, 479, 519, + 494, 489, 397, 381, 405, 409, ); - const YYNOCODE = 113; + const YYNOCODE = 116; const YYSTACKDEPTH = 500; - const YYNSTATE = 340; - const YYNRULE = 200; - const YYERRORSYMBOL = 60; + const YYNSTATE = 346; + const YYNRULE = 205; + const YYERRORSYMBOL = 61; const YYERRSYMDT = 'yy0'; const YYFALLBACK = 0; public static $yyFallback = array( @@ -1262,20 +1304,21 @@ public static $yy_action = array( 'INSTANCEOF', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'NAMESPACE', 'AT', 'HATCH', 'OPENB', 'CLOSEB', 'DOLLAR', 'LOGOP', 'SLOGOP', 'TLOGOP', - 'SINGLECOND', 'ARRAYOPEN', 'QUOTE', 'BACKTICK', - 'error', 'start', 'template', 'literal_e2', - 'literal_e1', 'smartytag', 'tagbody', 'tag', - 'outattr', 'eqoutattr', 'varindexed', 'output', - 'attributes', 'variablevalue', 'value', 'expr', - 'modifierlist', 'statement', 'statements', 'foraction', - 'varvar', 'modparameters', 'attribute', 'nullcoalescing', - 'ternary', 'tlop', 'lop', 'scond', - 'isin', 'array', 'function', 'ns1', - 'doublequoted_with_quotes', 'static_class_access', 'arraydef', 'variablelist', - 'variable', 'object', 'configvariable', 'arrayindex', - 'indexdef', 'varvarele', 'objectchain', 'objectelement', - 'method', 'params', 'modifier', 'modparameter', - 'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent', + 'SINGLECOND', 'MATCHES', 'ARRAYOPEN', 'QUOTE', + 'BACKTICK', 'error', 'start', 'template', + 'literal_e2', 'literal_e1', 'smartytag', 'tagbody', + 'tag', 'outattr', 'eqoutattr', 'varindexed', + 'output', 'attributes', 'variablevalue', 'value', + 'expr', 'modifierlist', 'statement', 'statements', + 'foraction', 'varvar', 'modparameters', 'attribute', + 'nullcoalescing', 'ternary', 'tlop', 'lop', + 'scond', 'isin', 'array', 'matchop', + 'function', 'ns1', 'doublequoted_with_quotes', 'static_class_access', + 'arraydef', 'variablelist', 'variable', 'object', + 'configvariable', 'arrayindex', 'indexdef', 'varvarele', + 'objectchain', 'optobjectchain', 'objectelement', 'method', + 'params', 'modifier', 'modparameter', 'arrayelements', + 'arrayelement', 'doublequoted', 'doublequotedcontent', ); public static $yyRuleName = array( @@ -1357,6 +1400,7 @@ public static $yy_action = array( 'isin ::= ISIN', 'expr ::= expr isin array', 'expr ::= expr isin value', + 'expr ::= expr matchop value', 'nullcoalescing ::= expr QMARK QMARK expr', 'ternary ::= expr QMARK DOLLARID COLON expr', 'ternary ::= expr QMARK value COLON expr', @@ -1428,6 +1472,8 @@ public static $yy_action = array( 'varvarele ::= SIMPELOUTPUT', 'varvarele ::= LDEL expr RDEL', 'object ::= varindexed objectchain', + 'optobjectchain ::=', + 'optobjectchain ::= objectchain', 'objectchain ::= objectelement', 'objectchain ::= objectchain objectelement', 'objectelement ::= PTR ID arrayindex', @@ -1435,7 +1481,7 @@ public static $yy_action = array( 'objectelement ::= PTR LDEL expr RDEL arrayindex', 'objectelement ::= PTR ID LDEL expr RDEL arrayindex', 'objectelement ::= PTR method', - 'function ::= ns1 OPENP variablelist CLOSEP', + 'function ::= ns1 OPENP variablelist CLOSEP optobjectchain', 'method ::= ID OPENP params CLOSEP', 'method ::= DOLLARID OPENP params CLOSEP', 'params ::= params COMMA expr', @@ -1453,12 +1499,14 @@ public static $yy_action = array( 'static_class_access ::= method', 'static_class_access ::= method objectchain', 'static_class_access ::= ID', + 'static_class_access ::= ID objectchain', 'static_class_access ::= DOLLARID arrayindex', 'static_class_access ::= DOLLARID arrayindex objectchain', 'lop ::= LOGOP', 'lop ::= SLOGOP', 'tlop ::= TLOGOP', 'scond ::= SINGLECOND', + 'matchop ::= MATCHES', 'arraydef ::= OPENB arrayelements CLOSEB', 'arraydef ::= ARRAYOPEN arrayelements CLOSEP', 'arrayelements ::= arrayelement', @@ -1794,206 +1842,211 @@ public static $yy_action = array( } public static $yyRuleInfo = array( - array( 0 => 61, 1 => 1 ), - array( 0 => 62, 1 => 2 ), - array( 0 => 62, 1 => 2 ), - array( 0 => 62, 1 => 2 ), - array( 0 => 62, 1 => 4 ), + array( 0 => 62, 1 => 1 ), + array( 0 => 63, 1 => 2 ), + array( 0 => 63, 1 => 2 ), + array( 0 => 63, 1 => 2 ), array( 0 => 63, 1 => 4 ), - array( 0 => 63, 1 => 1 ), - array( 0 => 64, 1 => 2 ), - array( 0 => 64, 1 => 0 ), - array( 0 => 62, 1 => 2 ), - array( 0 => 62, 1 => 0 ), - array( 0 => 65, 1 => 1 ), - array( 0 => 65, 1 => 1 ), - array( 0 => 65, 1 => 1 ), - array( 0 => 65, 1 => 3 ), + array( 0 => 64, 1 => 4 ), + array( 0 => 64, 1 => 1 ), array( 0 => 65, 1 => 2 ), + array( 0 => 65, 1 => 0 ), + array( 0 => 63, 1 => 2 ), + array( 0 => 63, 1 => 0 ), array( 0 => 66, 1 => 1 ), + array( 0 => 66, 1 => 1 ), + array( 0 => 66, 1 => 1 ), + array( 0 => 66, 1 => 3 ), array( 0 => 66, 1 => 2 ), - array( 0 => 66, 1 => 2 ), - array( 0 => 69, 1 => 2 ), - array( 0 => 68, 1 => 2 ), - array( 0 => 71, 1 => 1 ), - array( 0 => 71, 1 => 1 ), - array( 0 => 71, 1 => 1 ), - array( 0 => 67, 1 => 3 ), - array( 0 => 67, 1 => 2 ), - array( 0 => 67, 1 => 4 ), - array( 0 => 67, 1 => 5 ), - array( 0 => 67, 1 => 6 ), - array( 0 => 67, 1 => 2 ), - array( 0 => 67, 1 => 3 ), - array( 0 => 67, 1 => 2 ), - array( 0 => 67, 1 => 3 ), - array( 0 => 67, 1 => 8 ), - array( 0 => 79, 1 => 2 ), - array( 0 => 79, 1 => 1 ), - array( 0 => 67, 1 => 5 ), - array( 0 => 67, 1 => 7 ), - array( 0 => 67, 1 => 6 ), - array( 0 => 67, 1 => 8 ), + array( 0 => 67, 1 => 1 ), array( 0 => 67, 1 => 2 ), - array( 0 => 67, 1 => 3 ), - array( 0 => 67, 1 => 4 ), - array( 0 => 65, 1 => 1 ), array( 0 => 67, 1 => 2 ), - array( 0 => 67, 1 => 3 ), - array( 0 => 67, 1 => 4 ), - array( 0 => 67, 1 => 5 ), - array( 0 => 72, 1 => 2 ), + array( 0 => 70, 1 => 2 ), + array( 0 => 69, 1 => 2 ), array( 0 => 72, 1 => 1 ), - array( 0 => 72, 1 => 0 ), - array( 0 => 82, 1 => 4 ), - array( 0 => 82, 1 => 2 ), - array( 0 => 82, 1 => 2 ), - array( 0 => 82, 1 => 2 ), - array( 0 => 82, 1 => 2 ), - array( 0 => 82, 1 => 2 ), - array( 0 => 82, 1 => 4 ), - array( 0 => 78, 1 => 1 ), + array( 0 => 72, 1 => 1 ), + array( 0 => 72, 1 => 1 ), + array( 0 => 68, 1 => 3 ), + array( 0 => 68, 1 => 2 ), + array( 0 => 68, 1 => 4 ), + array( 0 => 68, 1 => 5 ), + array( 0 => 68, 1 => 6 ), + array( 0 => 68, 1 => 2 ), + array( 0 => 68, 1 => 3 ), + array( 0 => 68, 1 => 2 ), + array( 0 => 68, 1 => 3 ), + array( 0 => 68, 1 => 8 ), + array( 0 => 80, 1 => 2 ), + array( 0 => 80, 1 => 1 ), + array( 0 => 68, 1 => 5 ), + array( 0 => 68, 1 => 7 ), + array( 0 => 68, 1 => 6 ), + array( 0 => 68, 1 => 8 ), + array( 0 => 68, 1 => 2 ), + array( 0 => 68, 1 => 3 ), + array( 0 => 68, 1 => 4 ), + array( 0 => 66, 1 => 1 ), + array( 0 => 68, 1 => 2 ), + array( 0 => 68, 1 => 3 ), + array( 0 => 68, 1 => 4 ), + array( 0 => 68, 1 => 5 ), + array( 0 => 73, 1 => 2 ), + array( 0 => 73, 1 => 1 ), + array( 0 => 73, 1 => 0 ), + array( 0 => 83, 1 => 4 ), + array( 0 => 83, 1 => 2 ), + array( 0 => 83, 1 => 2 ), + array( 0 => 83, 1 => 2 ), + array( 0 => 83, 1 => 2 ), + array( 0 => 83, 1 => 2 ), + array( 0 => 83, 1 => 4 ), + array( 0 => 79, 1 => 1 ), + array( 0 => 79, 1 => 3 ), array( 0 => 78, 1 => 3 ), - array( 0 => 77, 1 => 3 ), - array( 0 => 77, 1 => 3 ), - array( 0 => 77, 1 => 3 ), - array( 0 => 77, 1 => 3 ), + array( 0 => 78, 1 => 3 ), + array( 0 => 78, 1 => 3 ), + array( 0 => 78, 1 => 3 ), + array( 0 => 76, 1 => 1 ), + array( 0 => 76, 1 => 1 ), + array( 0 => 76, 1 => 1 ), + array( 0 => 76, 1 => 2 ), + array( 0 => 76, 1 => 2 ), + array( 0 => 76, 1 => 3 ), + array( 0 => 76, 1 => 3 ), + array( 0 => 76, 1 => 3 ), + array( 0 => 76, 1 => 3 ), + array( 0 => 76, 1 => 3 ), + array( 0 => 76, 1 => 2 ), + array( 0 => 89, 1 => 1 ), + array( 0 => 76, 1 => 3 ), + array( 0 => 76, 1 => 3 ), + array( 0 => 76, 1 => 3 ), + array( 0 => 84, 1 => 4 ), + array( 0 => 85, 1 => 5 ), + array( 0 => 85, 1 => 5 ), + array( 0 => 85, 1 => 5 ), + array( 0 => 85, 1 => 4 ), array( 0 => 75, 1 => 1 ), + array( 0 => 75, 1 => 2 ), + array( 0 => 75, 1 => 2 ), + array( 0 => 75, 1 => 2 ), + array( 0 => 75, 1 => 2 ), array( 0 => 75, 1 => 1 ), array( 0 => 75, 1 => 1 ), + array( 0 => 75, 1 => 3 ), array( 0 => 75, 1 => 2 ), array( 0 => 75, 1 => 2 ), + array( 0 => 75, 1 => 1 ), + array( 0 => 75, 1 => 1 ), array( 0 => 75, 1 => 3 ), array( 0 => 75, 1 => 3 ), array( 0 => 75, 1 => 3 ), + array( 0 => 75, 1 => 1 ), + array( 0 => 75, 1 => 1 ), array( 0 => 75, 1 => 3 ), - array( 0 => 75, 1 => 3 ), + array( 0 => 75, 1 => 1 ), array( 0 => 75, 1 => 2 ), - array( 0 => 88, 1 => 1 ), - array( 0 => 75, 1 => 3 ), + array( 0 => 75, 1 => 1 ), + array( 0 => 75, 1 => 1 ), array( 0 => 75, 1 => 3 ), - array( 0 => 83, 1 => 4 ), - array( 0 => 84, 1 => 5 ), - array( 0 => 84, 1 => 5 ), - array( 0 => 84, 1 => 5 ), - array( 0 => 84, 1 => 4 ), - array( 0 => 74, 1 => 1 ), - array( 0 => 74, 1 => 2 ), - array( 0 => 74, 1 => 2 ), - array( 0 => 74, 1 => 2 ), - array( 0 => 74, 1 => 2 ), - array( 0 => 74, 1 => 1 ), - array( 0 => 74, 1 => 1 ), - array( 0 => 74, 1 => 3 ), - array( 0 => 74, 1 => 2 ), - array( 0 => 74, 1 => 2 ), - array( 0 => 74, 1 => 1 ), - array( 0 => 74, 1 => 1 ), - array( 0 => 74, 1 => 3 ), - array( 0 => 74, 1 => 3 ), - array( 0 => 74, 1 => 3 ), - array( 0 => 74, 1 => 1 ), - array( 0 => 74, 1 => 1 ), - array( 0 => 74, 1 => 3 ), - array( 0 => 74, 1 => 1 ), - array( 0 => 74, 1 => 2 ), - array( 0 => 74, 1 => 1 ), - array( 0 => 74, 1 => 1 ), - array( 0 => 74, 1 => 3 ), - array( 0 => 91, 1 => 1 ), - array( 0 => 91, 1 => 1 ), - array( 0 => 95, 1 => 3 ), - array( 0 => 95, 1 => 3 ), - array( 0 => 95, 1 => 1 ), - array( 0 => 95, 1 => 1 ), - array( 0 => 95, 1 => 0 ), - array( 0 => 96, 1 => 1 ), - array( 0 => 96, 1 => 1 ), - array( 0 => 96, 1 => 3 ), - array( 0 => 96, 1 => 1 ), - array( 0 => 98, 1 => 3 ), - array( 0 => 98, 1 => 4 ), + array( 0 => 93, 1 => 1 ), + array( 0 => 93, 1 => 1 ), + array( 0 => 97, 1 => 3 ), + array( 0 => 97, 1 => 3 ), + array( 0 => 97, 1 => 1 ), + array( 0 => 97, 1 => 1 ), + array( 0 => 97, 1 => 0 ), + array( 0 => 98, 1 => 1 ), + array( 0 => 98, 1 => 1 ), array( 0 => 98, 1 => 3 ), - array( 0 => 98, 1 => 4 ), - array( 0 => 73, 1 => 1 ), - array( 0 => 73, 1 => 1 ), - array( 0 => 70, 1 => 2 ), - array( 0 => 70, 1 => 2 ), - array( 0 => 99, 1 => 2 ), - array( 0 => 99, 1 => 0 ), - array( 0 => 100, 1 => 2 ), - array( 0 => 100, 1 => 2 ), - array( 0 => 100, 1 => 4 ), - array( 0 => 100, 1 => 2 ), - array( 0 => 100, 1 => 2 ), - array( 0 => 100, 1 => 4 ), - array( 0 => 100, 1 => 3 ), - array( 0 => 100, 1 => 5 ), - array( 0 => 100, 1 => 3 ), - array( 0 => 100, 1 => 3 ), - array( 0 => 100, 1 => 3 ), - array( 0 => 100, 1 => 3 ), + array( 0 => 98, 1 => 1 ), array( 0 => 100, 1 => 3 ), + array( 0 => 100, 1 => 4 ), array( 0 => 100, 1 => 3 ), - array( 0 => 100, 1 => 2 ), - array( 0 => 80, 1 => 1 ), - array( 0 => 80, 1 => 1 ), - array( 0 => 80, 1 => 2 ), - array( 0 => 101, 1 => 1 ), - array( 0 => 101, 1 => 1 ), - array( 0 => 101, 1 => 3 ), - array( 0 => 97, 1 => 2 ), - array( 0 => 102, 1 => 1 ), + array( 0 => 100, 1 => 4 ), + array( 0 => 74, 1 => 1 ), + array( 0 => 74, 1 => 1 ), + array( 0 => 71, 1 => 2 ), + array( 0 => 71, 1 => 2 ), + array( 0 => 101, 1 => 2 ), + array( 0 => 101, 1 => 0 ), array( 0 => 102, 1 => 2 ), + array( 0 => 102, 1 => 2 ), + array( 0 => 102, 1 => 4 ), + array( 0 => 102, 1 => 2 ), + array( 0 => 102, 1 => 2 ), + array( 0 => 102, 1 => 4 ), + array( 0 => 102, 1 => 3 ), + array( 0 => 102, 1 => 5 ), + array( 0 => 102, 1 => 3 ), + array( 0 => 102, 1 => 3 ), + array( 0 => 102, 1 => 3 ), + array( 0 => 102, 1 => 3 ), + array( 0 => 102, 1 => 3 ), + array( 0 => 102, 1 => 3 ), + array( 0 => 102, 1 => 2 ), + array( 0 => 81, 1 => 1 ), + array( 0 => 81, 1 => 1 ), + array( 0 => 81, 1 => 2 ), + array( 0 => 103, 1 => 1 ), + array( 0 => 103, 1 => 1 ), array( 0 => 103, 1 => 3 ), - array( 0 => 103, 1 => 3 ), - array( 0 => 103, 1 => 5 ), - array( 0 => 103, 1 => 6 ), - array( 0 => 103, 1 => 2 ), - array( 0 => 90, 1 => 4 ), - array( 0 => 104, 1 => 4 ), - array( 0 => 104, 1 => 4 ), - array( 0 => 105, 1 => 3 ), - array( 0 => 105, 1 => 1 ), + array( 0 => 99, 1 => 2 ), array( 0 => 105, 1 => 0 ), - array( 0 => 76, 1 => 3 ), - array( 0 => 76, 1 => 2 ), + array( 0 => 105, 1 => 1 ), + array( 0 => 104, 1 => 1 ), + array( 0 => 104, 1 => 2 ), array( 0 => 106, 1 => 3 ), + array( 0 => 106, 1 => 3 ), + array( 0 => 106, 1 => 5 ), + array( 0 => 106, 1 => 6 ), array( 0 => 106, 1 => 2 ), - array( 0 => 81, 1 => 2 ), - array( 0 => 81, 1 => 0 ), - array( 0 => 107, 1 => 2 ), - array( 0 => 107, 1 => 3 ), - array( 0 => 107, 1 => 2 ), - array( 0 => 93, 1 => 1 ), - array( 0 => 93, 1 => 2 ), - array( 0 => 93, 1 => 1 ), - array( 0 => 93, 1 => 2 ), - array( 0 => 93, 1 => 3 ), - array( 0 => 86, 1 => 1 ), - array( 0 => 86, 1 => 1 ), - array( 0 => 85, 1 => 1 ), - array( 0 => 87, 1 => 1 ), - array( 0 => 94, 1 => 3 ), - array( 0 => 94, 1 => 3 ), - array( 0 => 108, 1 => 1 ), + array( 0 => 92, 1 => 5 ), + array( 0 => 107, 1 => 4 ), + array( 0 => 107, 1 => 4 ), array( 0 => 108, 1 => 3 ), - array( 0 => 108, 1 => 2 ), + array( 0 => 108, 1 => 1 ), array( 0 => 108, 1 => 0 ), + array( 0 => 77, 1 => 3 ), + array( 0 => 77, 1 => 2 ), array( 0 => 109, 1 => 3 ), - array( 0 => 109, 1 => 3 ), - array( 0 => 109, 1 => 1 ), - array( 0 => 92, 1 => 2 ), - array( 0 => 92, 1 => 3 ), + array( 0 => 109, 1 => 2 ), + array( 0 => 82, 1 => 2 ), + array( 0 => 82, 1 => 0 ), array( 0 => 110, 1 => 2 ), - array( 0 => 110, 1 => 1 ), - array( 0 => 111, 1 => 3 ), - array( 0 => 111, 1 => 3 ), + array( 0 => 110, 1 => 3 ), + array( 0 => 110, 1 => 2 ), + array( 0 => 95, 1 => 1 ), + array( 0 => 95, 1 => 2 ), + array( 0 => 95, 1 => 1 ), + array( 0 => 95, 1 => 2 ), + array( 0 => 95, 1 => 2 ), + array( 0 => 95, 1 => 3 ), + array( 0 => 87, 1 => 1 ), + array( 0 => 87, 1 => 1 ), + array( 0 => 86, 1 => 1 ), + array( 0 => 88, 1 => 1 ), + array( 0 => 91, 1 => 1 ), + array( 0 => 96, 1 => 3 ), + array( 0 => 96, 1 => 3 ), array( 0 => 111, 1 => 1 ), array( 0 => 111, 1 => 3 ), - array( 0 => 111, 1 => 3 ), - array( 0 => 111, 1 => 1 ), - array( 0 => 111, 1 => 1 ), + array( 0 => 111, 1 => 2 ), + array( 0 => 111, 1 => 0 ), + array( 0 => 112, 1 => 3 ), + array( 0 => 112, 1 => 3 ), + array( 0 => 112, 1 => 1 ), + array( 0 => 94, 1 => 2 ), + array( 0 => 94, 1 => 3 ), + array( 0 => 113, 1 => 2 ), + array( 0 => 113, 1 => 1 ), + array( 0 => 114, 1 => 3 ), + array( 0 => 114, 1 => 3 ), + array( 0 => 114, 1 => 1 ), + array( 0 => 114, 1 => 3 ), + array( 0 => 114, 1 => 3 ), + array( 0 => 114, 1 => 1 ), + array( 0 => 114, 1 => 1 ), ); public static $yyReduceMap = array( @@ -2013,20 +2066,22 @@ public static $yy_action = array( 64 => 6, 65 => 6, 66 => 6, - 83 => 6, - 88 => 6, + 84 => 6, 89 => 6, - 94 => 6, - 98 => 6, + 90 => 6, + 95 => 6, 99 => 6, - 103 => 6, + 100 => 6, 104 => 6, - 106 => 6, - 122 => 6, - 182 => 6, - 188 => 6, + 105 => 6, + 107 => 6, + 123 => 6, + 151 => 6, + 187 => 6, + 193 => 6, 7 => 7, 8 => 8, + 150 => 8, 9 => 9, 11 => 11, 12 => 12, @@ -2064,21 +2119,21 @@ public static $yy_action = array( 48 => 48, 49 => 49, 58 => 49, - 110 => 49, 111 => 49, - 160 => 49, - 164 => 49, - 168 => 49, - 170 => 49, + 112 => 49, + 163 => 49, + 167 => 49, + 171 => 49, + 173 => 49, 50 => 50, - 112 => 50, - 161 => 50, - 167 => 50, + 113 => 50, + 164 => 50, + 170 => 50, 51 => 51, 52 => 52, 53 => 52, 54 => 54, - 145 => 54, + 146 => 54, 57 => 57, 59 => 59, 60 => 60, @@ -2099,29 +2154,29 @@ public static $yy_action = array( 78 => 78, 79 => 79, 80 => 80, - 81 => 80, - 82 => 82, - 84 => 84, - 86 => 84, - 87 => 84, - 125 => 84, + 81 => 81, + 82 => 81, + 83 => 83, 85 => 85, - 90 => 90, + 87 => 85, + 88 => 85, + 126 => 85, + 86 => 86, 91 => 91, 92 => 92, 93 => 93, - 95 => 95, + 94 => 94, 96 => 96, - 97 => 96, - 100 => 100, + 97 => 97, + 98 => 97, 101 => 101, 102 => 102, - 105 => 105, - 107 => 107, + 103 => 103, + 106 => 106, 108 => 108, - 109 => 108, - 159 => 108, - 113 => 113, + 109 => 109, + 110 => 109, + 162 => 109, 114 => 114, 115 => 115, 116 => 116, @@ -2130,35 +2185,33 @@ public static $yy_action = array( 119 => 119, 120 => 120, 121 => 121, - 123 => 123, + 122 => 122, 124 => 124, - 126 => 126, - 185 => 126, + 125 => 125, 127 => 127, + 190 => 127, 128 => 128, 129 => 129, 130 => 130, 131 => 131, 132 => 132, - 140 => 132, 133 => 133, + 141 => 133, 134 => 134, 135 => 135, - 136 => 135, - 138 => 135, - 139 => 135, - 137 => 137, - 141 => 141, + 136 => 136, + 137 => 136, + 139 => 136, + 140 => 136, + 138 => 138, 142 => 142, 143 => 143, - 189 => 143, 144 => 144, - 146 => 146, + 194 => 144, + 145 => 145, 147 => 147, 148 => 148, 149 => 149, - 150 => 150, - 151 => 151, 152 => 152, 153 => 153, 154 => 154, @@ -2166,14 +2219,14 @@ public static $yy_action = array( 156 => 156, 157 => 157, 158 => 158, - 162 => 162, - 163 => 163, + 159 => 159, + 160 => 160, + 161 => 161, 165 => 165, 166 => 166, + 168 => 168, 169 => 169, - 171 => 171, 172 => 172, - 173 => 173, 174 => 174, 175 => 175, 176 => 176, @@ -2181,21 +2234,26 @@ public static $yy_action = array( 178 => 178, 179 => 179, 180 => 180, - 181 => 180, + 181 => 181, + 182 => 182, 183 => 183, 184 => 184, - 186 => 186, - 187 => 187, - 190 => 190, + 185 => 185, + 186 => 185, + 188 => 188, + 189 => 189, 191 => 191, 192 => 192, - 193 => 193, - 196 => 193, - 194 => 194, - 197 => 194, 195 => 195, + 196 => 196, + 197 => 197, 198 => 198, + 201 => 198, 199 => 199, + 202 => 199, + 200 => 200, + 203 => 203, + 204 => 204, ); // line 245 "src/Parser/TemplateParser.y" public function yy_r0(){ @@ -2537,43 +2595,47 @@ public static $yy_action = array( } // line 685 "src/Parser/TemplateParser.y" public function yy_r78(){ - $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.' ?? '.$this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor . $this->yystack[$this->yyidx + 0]->minor . ',' . $this->yystack[$this->yyidx + -2]->minor . ') '; } -// line 692 "src/Parser/TemplateParser.y" +// line 690 "src/Parser/TemplateParser.y" public function yy_r79(){ - $this->compiler->triggerTagNoCache(substr($this->yystack[$this->yyidx + -2]->minor,1)); - $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.' ? $_smarty_tpl->getValue(\''.substr($this->yystack[$this->yyidx + -2]->minor,1).'\') : '.$this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.' ?? '.$this->yystack[$this->yyidx + 0]->minor; } // line 697 "src/Parser/TemplateParser.y" public function yy_r80(){ + $this->compiler->triggerTagNoCache(substr($this->yystack[$this->yyidx + -2]->minor,1)); + $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.' ? $_smarty_tpl->getValue(\''.substr($this->yystack[$this->yyidx + -2]->minor,1).'\') : '.$this->yystack[$this->yyidx + 0]->minor; + } +// line 702 "src/Parser/TemplateParser.y" + public function yy_r81(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; } -// line 706 "src/Parser/TemplateParser.y" - public function yy_r82(){ +// line 711 "src/Parser/TemplateParser.y" + public function yy_r83(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.' ?: '.$this->yystack[$this->yyidx + 0]->minor; } -// line 716 "src/Parser/TemplateParser.y" - public function yy_r84(){ - $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; - } // line 721 "src/Parser/TemplateParser.y" public function yy_r85(){ - $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -// line 742 "src/Parser/TemplateParser.y" - public function yy_r90(){ - $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; +// line 726 "src/Parser/TemplateParser.y" + public function yy_r86(){ + $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } -// line 746 "src/Parser/TemplateParser.y" +// line 747 "src/Parser/TemplateParser.y" public function yy_r91(){ - $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; + $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -// line 750 "src/Parser/TemplateParser.y" +// line 751 "src/Parser/TemplateParser.y" public function yy_r92(){ - $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; } // line 755 "src/Parser/TemplateParser.y" public function yy_r93(){ + $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; + } +// line 760 "src/Parser/TemplateParser.y" + public function yy_r94(){ if (defined($this->yystack[$this->yyidx + 0]->minor)) { if ($this->security) { $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler); @@ -2583,16 +2645,16 @@ public static $yy_action = array( $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } } -// line 772 "src/Parser/TemplateParser.y" - public function yy_r95(){ +// line 777 "src/Parser/TemplateParser.y" + public function yy_r96(){ $this->_retvalue = '('. $this->yystack[$this->yyidx + -1]->minor .')'; } -// line 776 "src/Parser/TemplateParser.y" - public function yy_r96(){ +// line 781 "src/Parser/TemplateParser.y" + public function yy_r97(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -// line 794 "src/Parser/TemplateParser.y" - public function yy_r100(){ +// line 799 "src/Parser/TemplateParser.y" + public function yy_r101(){ if ($this->security && $this->security->static_classes !== array()) { $this->compiler->trigger_template_error('dynamic static class not allowed by security setting'); } @@ -2605,19 +2667,19 @@ public static $yy_action = array( } $this->_retvalue = $prefixVar .'::'.$this->yystack[$this->yyidx + 0]->minor[0].$this->yystack[$this->yyidx + 0]->minor[1]; } -// line 809 "src/Parser/TemplateParser.y" - public function yy_r101(){ +// line 814 "src/Parser/TemplateParser.y" + public function yy_r102(){ $prefixVar = $this->compiler->getNewPrefixVariable(); $tmp = $this->compiler->appendCode('<?php ob_start();?>', (string) $this->yystack[$this->yyidx + 0]->minor); $this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php {$prefixVar} = ob_get_clean();?>")); $this->_retvalue = $prefixVar; } -// line 816 "src/Parser/TemplateParser.y" - public function yy_r102(){ +// line 821 "src/Parser/TemplateParser.y" + public function yy_r103(){ $this->_retvalue = $this->compiler->compileModifier($this->yystack[$this->yyidx + 0]->minor, $this->yystack[$this->yyidx + -1]->minor); } -// line 829 "src/Parser/TemplateParser.y" - public function yy_r105(){ +// line 834 "src/Parser/TemplateParser.y" + public function yy_r106(){ if (!in_array(strtolower($this->yystack[$this->yyidx + -2]->minor), array('self', 'parent')) && (!$this->security || $this->security->isTrustedStaticClassAccess($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor, $this->compiler))) { if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) { $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor].'::'.$this->yystack[$this->yyidx + 0]->minor[0].$this->yystack[$this->yyidx + 0]->minor[1]; @@ -2628,21 +2690,21 @@ public static $yy_action = array( $this->compiler->trigger_template_error ('static class \''.$this->yystack[$this->yyidx + -2]->minor.'\' is undefined or not allowed by security setting'); } } -// line 848 "src/Parser/TemplateParser.y" - public function yy_r107(){ +// line 853 "src/Parser/TemplateParser.y" + public function yy_r108(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -// line 856 "src/Parser/TemplateParser.y" - public function yy_r108(){ +// line 861 "src/Parser/TemplateParser.y" + public function yy_r109(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor)); } -// line 883 "src/Parser/TemplateParser.y" - public function yy_r113(){ +// line 888 "src/Parser/TemplateParser.y" + public function yy_r114(){ $this->compiler->triggerTagNoCache(substr($this->yystack[$this->yyidx + 0]->minor,1)); $this->_retvalue = array('$_smarty_tpl->hasVariable(\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\')','$_smarty_tpl->getValue(\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\')'); } -// line 887 "src/Parser/TemplateParser.y" - public function yy_r114(){ +// line 892 "src/Parser/TemplateParser.y" + public function yy_r115(){ if ($this->yystack[$this->yyidx + 0]->minor['var'] === '\'smarty\'') { $smarty_var = (new \Smarty\Compile\SpecialVariableCompiler())->compile(array(),$this->compiler,$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']); $this->_retvalue = array('true', $smarty_var); @@ -2654,118 +2716,118 @@ public static $yy_action = array( $this->_retvalue = array('true', '$_smarty_tpl->getValue(' . $this->yystack[$this->yyidx + 0]->minor['var'] . ')'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']); } } -// line 901 "src/Parser/TemplateParser.y" - public function yy_r115(){ - $this->_retvalue = array('true', '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor); - } // line 906 "src/Parser/TemplateParser.y" public function yy_r116(){ - $this->_retvalue = array('true', $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = array('true', '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor); } // line 911 "src/Parser/TemplateParser.y" public function yy_r117(){ - $this->_retvalue = $this->compiler->compileConfigVariable('\'' . $this->yystack[$this->yyidx + -1]->minor . '\''); + $this->_retvalue = array('true', $this->yystack[$this->yyidx + 0]->minor); } -// line 915 "src/Parser/TemplateParser.y" +// line 916 "src/Parser/TemplateParser.y" public function yy_r118(){ - $this->_retvalue = '(is_array($tmp = ' . $this->compiler->compileConfigVariable('\'' . $this->yystack[$this->yyidx + -2]->minor . '\'') . ') ? $tmp'.$this->yystack[$this->yyidx + 0]->minor.' :null)'; + $this->_retvalue = $this->compiler->compileConfigVariable('\'' . $this->yystack[$this->yyidx + -1]->minor . '\''); } -// line 919 "src/Parser/TemplateParser.y" +// line 920 "src/Parser/TemplateParser.y" public function yy_r119(){ - $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + -1]->minor); + $this->_retvalue = '(is_array($tmp = ' . $this->compiler->compileConfigVariable('\'' . $this->yystack[$this->yyidx + -2]->minor . '\'') . ') ? $tmp'.$this->yystack[$this->yyidx + 0]->minor.' :null)'; } -// line 923 "src/Parser/TemplateParser.y" +// line 924 "src/Parser/TemplateParser.y" public function yy_r120(){ - $this->_retvalue = '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + -2]->minor) . ') ? $tmp'.$this->yystack[$this->yyidx + 0]->minor.' : null)'; + $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + -1]->minor); } -// line 927 "src/Parser/TemplateParser.y" +// line 928 "src/Parser/TemplateParser.y" public function yy_r121(){ + $this->_retvalue = '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + -2]->minor) . ') ? $tmp'.$this->yystack[$this->yyidx + 0]->minor.' : null)'; + } +// line 932 "src/Parser/TemplateParser.y" + public function yy_r122(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor[1]; } -// line 935 "src/Parser/TemplateParser.y" - public function yy_r123(){ +// line 940 "src/Parser/TemplateParser.y" + public function yy_r124(){ $this->_retvalue = array('var'=>'\''.substr($this->yystack[$this->yyidx + -1]->minor,1).'\'', 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); } -// line 938 "src/Parser/TemplateParser.y" - public function yy_r124(){ +// line 943 "src/Parser/TemplateParser.y" + public function yy_r125(){ $this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); } -// line 951 "src/Parser/TemplateParser.y" - public function yy_r126(){ +// line 956 "src/Parser/TemplateParser.y" + public function yy_r127(){ return; } -// line 957 "src/Parser/TemplateParser.y" - public function yy_r127(){ +// line 962 "src/Parser/TemplateParser.y" + public function yy_r128(){ $this->compiler->triggerTagNoCache(substr($this->yystack[$this->yyidx + 0]->minor,1)); $this->_retvalue = '[$_smarty_tpl->getValue(\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\')]'; } -// line 961 "src/Parser/TemplateParser.y" - public function yy_r128(){ - $this->compiler->triggerTagNoCache($this->yystack[$this->yyidx + 0]->minor); - $this->_retvalue = '[$_smarty_tpl->getValue(' . $this->yystack[$this->yyidx + 0]->minor . ')]'; - } // line 966 "src/Parser/TemplateParser.y" public function yy_r129(){ - $this->compiler->triggerTagNoCache($this->yystack[$this->yyidx + -2]->minor); - $this->_retvalue = '[$_smarty_tpl->getValue(' . $this->yystack[$this->yyidx + -2]->minor . ')->'.$this->yystack[$this->yyidx + 0]->minor.']'; + $this->compiler->triggerTagNoCache($this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = '[$_smarty_tpl->getValue(' . $this->yystack[$this->yyidx + 0]->minor . ')]'; } // line 971 "src/Parser/TemplateParser.y" public function yy_r130(){ - $this->_retvalue = '[\''. $this->yystack[$this->yyidx + 0]->minor .'\']'; + $this->compiler->triggerTagNoCache($this->yystack[$this->yyidx + -2]->minor); + $this->_retvalue = '[$_smarty_tpl->getValue(' . $this->yystack[$this->yyidx + -2]->minor . ')->'.$this->yystack[$this->yyidx + 0]->minor.']'; } -// line 975 "src/Parser/TemplateParser.y" +// line 976 "src/Parser/TemplateParser.y" public function yy_r131(){ - $this->_retvalue = '['. $this->yystack[$this->yyidx + 0]->minor .']'; + $this->_retvalue = '[\''. $this->yystack[$this->yyidx + 0]->minor .'\']'; } // line 980 "src/Parser/TemplateParser.y" public function yy_r132(){ - $this->_retvalue = '['. $this->yystack[$this->yyidx + -1]->minor .']'; + $this->_retvalue = '['. $this->yystack[$this->yyidx + 0]->minor .']'; } // line 985 "src/Parser/TemplateParser.y" public function yy_r133(){ - $this->_retvalue = '['.(new \Smarty\Compile\SpecialVariableCompiler())->compile(array(),$this->compiler,'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; + $this->_retvalue = '['. $this->yystack[$this->yyidx + -1]->minor .']'; } -// line 989 "src/Parser/TemplateParser.y" +// line 990 "src/Parser/TemplateParser.y" public function yy_r134(){ - $this->_retvalue = '['.(new \Smarty\Compile\SpecialVariableCompiler())->compile(array(),$this->compiler,'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; + $this->_retvalue = '['.(new \Smarty\Compile\SpecialVariableCompiler())->compile(array(),$this->compiler,'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } -// line 992 "src/Parser/TemplateParser.y" +// line 994 "src/Parser/TemplateParser.y" public function yy_r135(){ + $this->_retvalue = '['.(new \Smarty\Compile\SpecialVariableCompiler())->compile(array(),$this->compiler,'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; + } +// line 997 "src/Parser/TemplateParser.y" + public function yy_r136(){ $this->_retvalue = '['.$this->yystack[$this->yyidx + -1]->minor.']'; } -// line 998 "src/Parser/TemplateParser.y" - public function yy_r137(){ +// line 1003 "src/Parser/TemplateParser.y" + public function yy_r138(){ $this->compiler->triggerTagNoCache(substr($this->yystack[$this->yyidx + -1]->minor,1)); $this->_retvalue = '[$_smarty_tpl->getValue(\''.substr($this->yystack[$this->yyidx + -1]->minor,1).'\')]'; } -// line 1015 "src/Parser/TemplateParser.y" - public function yy_r141(){ - $this->_retvalue = '[]'; - } -// line 1025 "src/Parser/TemplateParser.y" +// line 1020 "src/Parser/TemplateParser.y" public function yy_r142(){ - $this->_retvalue = '\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\''; + $this->_retvalue = '[]'; } -// line 1029 "src/Parser/TemplateParser.y" +// line 1030 "src/Parser/TemplateParser.y" public function yy_r143(){ - $this->_retvalue = '\'\''; + $this->_retvalue = '\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\''; } // line 1034 "src/Parser/TemplateParser.y" public function yy_r144(){ + $this->_retvalue = '\'\''; + } +// line 1039 "src/Parser/TemplateParser.y" + public function yy_r145(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -// line 1042 "src/Parser/TemplateParser.y" - public function yy_r146(){ +// line 1047 "src/Parser/TemplateParser.y" + public function yy_r147(){ $var = trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->compiler->getLdelLength(), -$this->compiler->getRdelLength()), ' $'); $this->compiler->triggerTagNoCache($var); $this->_retvalue = '$_smarty_tpl->getValue(\''.$var.'\')'; } -// line 1049 "src/Parser/TemplateParser.y" - public function yy_r147(){ +// line 1054 "src/Parser/TemplateParser.y" + public function yy_r148(){ $this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } -// line 1056 "src/Parser/TemplateParser.y" - public function yy_r148(){ +// line 1061 "src/Parser/TemplateParser.y" + public function yy_r149(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] === '\'smarty\'') { $this->_retvalue = (new \Smarty\Compile\SpecialVariableCompiler())->compile(array(),$this->compiler,$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor; } else { @@ -2773,93 +2835,93 @@ public static $yy_action = array( $this->_retvalue = '$_smarty_tpl->getValue(' . $this->yystack[$this->yyidx + -1]->minor['var'] . ')'.$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; } } -// line 1066 "src/Parser/TemplateParser.y" - public function yy_r149(){ +// line 1081 "src/Parser/TemplateParser.y" + public function yy_r152(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -// line 1071 "src/Parser/TemplateParser.y" - public function yy_r150(){ +// line 1086 "src/Parser/TemplateParser.y" + public function yy_r153(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -// line 1076 "src/Parser/TemplateParser.y" - public function yy_r151(){ +// line 1091 "src/Parser/TemplateParser.y" + public function yy_r154(){ if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) === '_') { $this->compiler->trigger_template_error (self::ERR1); } $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -// line 1083 "src/Parser/TemplateParser.y" - public function yy_r152(){ +// line 1098 "src/Parser/TemplateParser.y" + public function yy_r155(){ if ($this->security) { $this->compiler->trigger_template_error (self::ERR2); } $this->compiler->triggerTagNoCache($this->yystack[$this->yyidx + -1]->minor); $this->_retvalue = '->{$_smarty_tpl->getValue(' . $this->yystack[$this->yyidx + -1]->minor . ')'.$this->yystack[$this->yyidx + 0]->minor.'}'; } -// line 1091 "src/Parser/TemplateParser.y" - public function yy_r153(){ +// line 1106 "src/Parser/TemplateParser.y" + public function yy_r156(){ if ($this->security) { $this->compiler->trigger_template_error (self::ERR2); } $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -// line 1098 "src/Parser/TemplateParser.y" - public function yy_r154(){ +// line 1113 "src/Parser/TemplateParser.y" + public function yy_r157(){ if ($this->security) { $this->compiler->trigger_template_error (self::ERR2); } $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -// line 1106 "src/Parser/TemplateParser.y" - public function yy_r155(){ +// line 1121 "src/Parser/TemplateParser.y" + public function yy_r158(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } -// line 1114 "src/Parser/TemplateParser.y" - public function yy_r156(){ +// line 1129 "src/Parser/TemplateParser.y" + public function yy_r159(){ - if ($this->yystack[$this->yyidx + -3]->minor == 'isset') { + if ($this->yystack[$this->yyidx + -4]->minor == 'isset') { $this->_retvalue = '(true'; - if (count($this->yystack[$this->yyidx + -1]->minor) == 0) { + if (count($this->yystack[$this->yyidx + -2]->minor) == 0) { throw new CompilerException("Invalid number of arguments for isset. isset expects at least one parameter."); } - foreach ($this->yystack[$this->yyidx + -1]->minor as $value) { + foreach ($this->yystack[$this->yyidx + -2]->minor as $value) { if (is_array($value)) { $this->_retvalue .= ' && (' . $value[0] . ' && null !== (' . $value[1] . ' ?? null))'; } else { $this->_retvalue .= ' && (' . $value . ' !== null)'; } } - $this->_retvalue .= ')'; - } elseif ($this->yystack[$this->yyidx + -3]->minor == 'empty') { - if (count($this->yystack[$this->yyidx + -1]->minor) != 1) { + $this->_retvalue .= ')' . $this->yystack[$this->yyidx + 0]->minor; + } elseif ($this->yystack[$this->yyidx + -4]->minor == 'empty') { + if (count($this->yystack[$this->yyidx + -2]->minor) != 1) { throw new CompilerException("Invalid number of arguments for empty. empty expects at exactly one parameter."); } - if (is_array($this->yystack[$this->yyidx + -1]->minor[0])) { - $this->_retvalue .= '( !' . $this->yystack[$this->yyidx + -1]->minor[0][0] . ' || empty(' . $this->yystack[$this->yyidx + -1]->minor[0][1] . '))'; + if (is_array($this->yystack[$this->yyidx + -2]->minor[0])) { + $this->_retvalue = '( !' . $this->yystack[$this->yyidx + -2]->minor[0][0] . ' || empty(' . $this->yystack[$this->yyidx + -2]->minor[0][1] . '))' . $this->yystack[$this->yyidx + 0]->minor; } else { - $this->_retvalue = 'false == ' . $this->yystack[$this->yyidx + -1]->minor[0]; + $this->_retvalue = 'false == ' . $this->yystack[$this->yyidx + -2]->minor[0] . $this->yystack[$this->yyidx + 0]->minor; } } else { $p = array(); - foreach ($this->yystack[$this->yyidx + -1]->minor as $value) { + foreach ($this->yystack[$this->yyidx + -2]->minor as $value) { if (is_array($value)) { $p[] = $value[1]; } else { $p[] = $value; } } - $this->_retvalue = $this->compiler->compileModifierInExpression($this->yystack[$this->yyidx + -3]->minor, $p); + $this->_retvalue = $this->compiler->compileModifierInExpression($this->yystack[$this->yyidx + -4]->minor, $p) . $this->yystack[$this->yyidx + 0]->minor; } } -// line 1155 "src/Parser/TemplateParser.y" - public function yy_r157(){ +// line 1170 "src/Parser/TemplateParser.y" + public function yy_r160(){ if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) === '_') { $this->compiler->trigger_template_error (self::ERR1); } $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . '('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')'; } -// line 1162 "src/Parser/TemplateParser.y" - public function yy_r158(){ +// line 1177 "src/Parser/TemplateParser.y" + public function yy_r161(){ if ($this->security) { $this->compiler->trigger_template_error (self::ERR2); } @@ -2868,52 +2930,56 @@ public static $yy_action = array( $this->compiler->appendPrefixCode("<?php {$prefixVar} = \$_smarty_tpl->getValue('".substr($this->yystack[$this->yyidx + -3]->minor,1).'\')'.';?>'); $this->_retvalue = $prefixVar .'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')'; } -// line 1191 "src/Parser/TemplateParser.y" - public function yy_r162(){ +// line 1206 "src/Parser/TemplateParser.y" + public function yy_r165(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor))); } -// line 1195 "src/Parser/TemplateParser.y" - public function yy_r163(){ +// line 1210 "src/Parser/TemplateParser.y" + public function yy_r166(){ $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)); } -// line 1203 "src/Parser/TemplateParser.y" - public function yy_r165(){ +// line 1218 "src/Parser/TemplateParser.y" + public function yy_r168(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -// line 1211 "src/Parser/TemplateParser.y" - public function yy_r166(){ +// line 1226 "src/Parser/TemplateParser.y" + public function yy_r169(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } -// line 1224 "src/Parser/TemplateParser.y" - public function yy_r169(){ +// line 1239 "src/Parser/TemplateParser.y" + public function yy_r172(){ $this->_retvalue = array(trim($this->yystack[$this->yyidx + -1]->minor).$this->yystack[$this->yyidx + 0]->minor); } -// line 1233 "src/Parser/TemplateParser.y" - public function yy_r171(){ +// line 1248 "src/Parser/TemplateParser.y" + public function yy_r174(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '', 'method'); } -// line 1238 "src/Parser/TemplateParser.y" - public function yy_r172(){ +// line 1253 "src/Parser/TemplateParser.y" + public function yy_r175(){ $this->_retvalue = array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'method'); } -// line 1243 "src/Parser/TemplateParser.y" - public function yy_r173(){ +// line 1258 "src/Parser/TemplateParser.y" + public function yy_r176(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, ''); } -// line 1248 "src/Parser/TemplateParser.y" - public function yy_r174(){ +// line 1263 "src/Parser/TemplateParser.y" + public function yy_r177(){ + $this->_retvalue = array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor); + } +// line 1268 "src/Parser/TemplateParser.y" + public function yy_r178(){ $this->_retvalue = array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'property'); } -// line 1253 "src/Parser/TemplateParser.y" - public function yy_r175(){ +// line 1273 "src/Parser/TemplateParser.y" + public function yy_r179(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor, 'property'); } -// line 1259 "src/Parser/TemplateParser.y" - public function yy_r176(){ +// line 1279 "src/Parser/TemplateParser.y" + public function yy_r180(){ $this->_retvalue = ' '. trim($this->yystack[$this->yyidx + 0]->minor) . ' '; } -// line 1263 "src/Parser/TemplateParser.y" - public function yy_r177(){ +// line 1283 "src/Parser/TemplateParser.y" + public function yy_r181(){ static $lops = array( 'eq' => ' == ', 'ne' => ' != ', @@ -2932,8 +2998,8 @@ public static $yy_action = array( $op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor)); $this->_retvalue = $lops[$op]; } -// line 1282 "src/Parser/TemplateParser.y" - public function yy_r178(){ +// line 1302 "src/Parser/TemplateParser.y" + public function yy_r182(){ static $tlops = array( 'isdivby' => array('op' => ' % ', 'pre' => '!('), 'isnotdivby' => array('op' => ' % ', 'pre' => '('), @@ -2945,8 +3011,8 @@ public static $yy_action = array( $op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor)); $this->_retvalue = $tlops[$op]; } -// line 1295 "src/Parser/TemplateParser.y" - public function yy_r179(){ +// line 1315 "src/Parser/TemplateParser.y" + public function yy_r183(){ static $scond = array ( 'iseven' => '!(1 & ', 'isnoteven' => '(1 & ', @@ -2956,58 +3022,62 @@ public static $yy_action = array( $op = strtolower(str_replace(' ', '', $this->yystack[$this->yyidx + 0]->minor)); $this->_retvalue = $scond[$op]; } -// line 1309 "src/Parser/TemplateParser.y" - public function yy_r180(){ +// line 1326 "src/Parser/TemplateParser.y" + public function yy_r184(){ + $this->_retvalue = 'preg_match('; + } +// line 1333 "src/Parser/TemplateParser.y" + public function yy_r185(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } -// line 1320 "src/Parser/TemplateParser.y" - public function yy_r183(){ +// line 1344 "src/Parser/TemplateParser.y" + public function yy_r188(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } -// line 1324 "src/Parser/TemplateParser.y" - public function yy_r184(){ +// line 1348 "src/Parser/TemplateParser.y" + public function yy_r189(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.','; } -// line 1332 "src/Parser/TemplateParser.y" - public function yy_r186(){ +// line 1356 "src/Parser/TemplateParser.y" + public function yy_r191(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } -// line 1336 "src/Parser/TemplateParser.y" - public function yy_r187(){ +// line 1360 "src/Parser/TemplateParser.y" + public function yy_r192(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } -// line 1352 "src/Parser/TemplateParser.y" - public function yy_r190(){ +// line 1376 "src/Parser/TemplateParser.y" + public function yy_r195(){ $this->compiler->leaveDoubleQuote(); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php($this); } -// line 1358 "src/Parser/TemplateParser.y" - public function yy_r191(){ +// line 1382 "src/Parser/TemplateParser.y" + public function yy_r196(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } -// line 1363 "src/Parser/TemplateParser.y" - public function yy_r192(){ +// line 1387 "src/Parser/TemplateParser.y" + public function yy_r197(){ $this->_retvalue = new Dq($this, $this->yystack[$this->yyidx + 0]->minor); } -// line 1367 "src/Parser/TemplateParser.y" - public function yy_r193(){ +// line 1391 "src/Parser/TemplateParser.y" + public function yy_r198(){ $this->_retvalue = new Code('(string)'.$this->yystack[$this->yyidx + -1]->minor); } -// line 1371 "src/Parser/TemplateParser.y" - public function yy_r194(){ +// line 1395 "src/Parser/TemplateParser.y" + public function yy_r199(){ $this->_retvalue = new Code('(string)('.$this->yystack[$this->yyidx + -1]->minor.')'); } -// line 1375 "src/Parser/TemplateParser.y" - public function yy_r195(){ +// line 1399 "src/Parser/TemplateParser.y" + public function yy_r200(){ $this->_retvalue = new Code('(string)$_smarty_tpl->getValue(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')'); } -// line 1387 "src/Parser/TemplateParser.y" - public function yy_r198(){ +// line 1411 "src/Parser/TemplateParser.y" + public function yy_r203(){ $this->_retvalue = new Tag($this, $this->yystack[$this->yyidx + 0]->minor); } -// line 1391 "src/Parser/TemplateParser.y" - public function yy_r199(){ +// line 1415 "src/Parser/TemplateParser.y" + public function yy_r204(){ $this->_retvalue = new DqContent($this->yystack[$this->yyidx + 0]->minor); } |
