diff --git a/change_log.txt b/change_log.txt index 627eebd8..3d372280 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,3 +1,9 @@ +===== SVN trunk ===== + +24/11/2011 +-bugfix on parser at !$foo|modifier +-change parser logic when assignments used as condition in {if] and {while} to allow assign to array element + 23/11/2011 -bugfix allow integer as attribute name in plugin calls -change trimm whitespace from error message, removed long list of expected tokens diff --git a/libs/sysplugins/smarty_internal_compile_if.php b/libs/sysplugins/smarty_internal_compile_if.php index 49645136..2d9d2c6a 100644 --- a/libs/sysplugins/smarty_internal_compile_if.php +++ b/libs/sysplugins/smarty_internal_compile_if.php @@ -31,14 +31,23 @@ class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase { $this->compiler->nocache = $this->compiler->nocache | $this->compiler->tag_nocache; if (is_array($parameter['if condition'])) { if ($this->compiler->nocache) { - $_nocache = '(null,true)'; + $_nocache = ',true'; // create nocache var to make it know for further compiling - $this->compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + if (is_array($parameter['if condition']['var'])) { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true); + } else { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + } } else { $_nocache = ''; } - $_output = "tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable{$_nocache};"; - $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + if (is_array($parameter['if condition']['var'])) { + $_output = "tpl_vars[".$parameter['if condition']['var']['var']."]) || !is_array(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value)) \$_smarty_tpl->createLocalArrayVariable(".$parameter['if condition']['var']['var']."$_nocache2);\n"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value".$parameter['if condition']['var']['smarty_internal_index']." = ".$parameter['if condition']['value']."){?>"; + } else { + $_output = "tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable(\$_smarty_tpl->getVariable(".$parameter['if condition']['var'].",null,true,false)->value{$_nocache});"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + } return $_output; } else { return ""; @@ -88,24 +97,33 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase { list($nesting, $compiler->tag_nocache) = $this->_close_tag(array('if', 'elseif')); - if (is_array($parameter['if condition'])) { - $condition_by_assign = true; - if ($this->compiler->nocache) { - $_nocache = '(null,true)'; - // create nocache var to make it know for further compiling - $this->compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); - } else { - $_nocache = ''; - } - } else { - $condition_by_assign = false; - } + if (is_array($parameter['if condition'])) { + $condition_by_assign = true; + if ($this->compiler->nocache) { + $_nocache = ',true'; + // create nocache var to make it know for further compiling + if (is_array($parameter['if condition']['var'])) { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true); + } else { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + } + } else { + $_nocache = ''; + } + } else { + $condition_by_assign = false; + } if (empty($this->compiler->prefix_code)) { if ($condition_by_assign) { $this->_open_tag('elseif', array($nesting + 1, $compiler->tag_nocache)); - $_output = "tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable{$_nocache};"; - $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + if (is_array($parameter['if condition']['var'])) { + $_output = "tpl_vars[".$parameter['if condition']['var']['var']."]) || !is_array(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value)) \$_smarty_tpl->createLocalArrayVariable(".$parameter['if condition']['var']['var']."$_nocache2);\n"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value".$parameter['if condition']['var']['smarty_internal_index']." = ".$parameter['if condition']['value']."){?>"; + } else { + $_output = "tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable(\$_smarty_tpl->getVariable(".$parameter['if condition']['var'].",null,true,false)->value{$_nocache});"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + } return $_output; } else { $this->_open_tag('elseif', array($nesting, $compiler->tag_nocache)); @@ -117,8 +135,13 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase { $this->compiler->prefix_code = array(); $this->_open_tag('elseif', array($nesting + 1, $compiler->tag_nocache)); if ($condition_by_assign) { - $_output = "{$tmp}tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable{$_nocache};"; - $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + if (is_array($parameter['if condition']['var'])) { + $_output = "{$tmp}tpl_vars[".$parameter['if condition']['var']['var']."]) || !is_array(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value)) \$_smarty_tpl->createLocalArrayVariable(".$parameter['if condition']['var']['var']."$_nocache2);\n"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value".$parameter['if condition']['var']['smarty_internal_index']." = ".$parameter['if condition']['value']."){?>"; + } else { + $_output = "{$tmp}tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable(\$_smarty_tpl->getVariable(".$parameter['if condition']['var'].",null,true,false)->value{$_nocache});"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + } return $_output; } else { return "{$tmp}"; diff --git a/libs/sysplugins/smarty_internal_compile_while.php b/libs/sysplugins/smarty_internal_compile_while.php index ecad0714..c7fd462f 100644 --- a/libs/sysplugins/smarty_internal_compile_while.php +++ b/libs/sysplugins/smarty_internal_compile_while.php @@ -30,14 +30,29 @@ class Smarty_Internal_Compile_While extends Smarty_Internal_CompileBase { // maybe nocache because of nocache variables $this->compiler->nocache = $this->compiler->nocache | $this->compiler->tag_nocache; - - if (is_array($parameter['if condition'])) { - $_output = " tpl_vars[".$parameter['if condition']['var']."])) \$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable;\n"; - $_output .= " while (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value'].") {\n ?>"; + if ($this->compiler->nocache) { + $_nocache = ',true'; + // create nocache var to make it know for further compiling + if (is_array($parameter['if condition']['var'])) { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true); + } else { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + } + } else { + $_nocache = ''; + $_nocache2 = ''; + } + if (is_array($parameter['if condition']['var'])) { + $_output = "tpl_vars[".$parameter['if condition']['var']['var']."]) || !is_array(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value)) \$_smarty_tpl->createLocalArrayVariable(".$parameter['if condition']['var']['var']."$_nocache2);\n"; + $_output .= "while (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value".$parameter['if condition']['var']['smarty_internal_index']." = ".$parameter['if condition']['value']."){?>"; + } else { + $_output = "tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable(\$_smarty_tpl->getVariable(".$parameter['if condition']['var'].")->value{$_nocache},null,true,false);"; + $_output .= "while (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + } return $_output; } else { - return ''; + return ""; } } } diff --git a/libs/sysplugins/smarty_internal_templateparser.php b/libs/sysplugins/smarty_internal_templateparser.php index ab94f95e..5adf038d 100644 --- a/libs/sysplugins/smarty_internal_templateparser.php +++ b/libs/sysplugins/smarty_internal_templateparser.php @@ -1,143 +1,143 @@ -string = $s->string; - $this->metadata = $s->metadata; - } else { - $this->string = (string) $s; - if ($m instanceof TP_yyToken) { - $this->metadata = $m->metadata; - } elseif (is_array($m)) { - $this->metadata = $m; - } - } - } - - function __toString() - { - return $this->_string; - } - - function offsetExists($offset) - { - return isset($this->metadata[$offset]); - } - - function offsetGet($offset) - { - return $this->metadata[$offset]; - } - - function offsetSet($offset, $value) - { - if ($offset === null) { - if (isset($value[0])) { - $x = ($value instanceof TP_yyToken) ? - $value->metadata : $value; - $this->metadata = array_merge($this->metadata, $x); - return; - } - $offset = count($this->metadata); - } - if ($value === null) { - return; - } - if ($value instanceof TP_yyToken) { - if ($value->metadata) { - $this->metadata[$offset] = $value->metadata; - } - } elseif ($value) { - $this->metadata[$offset] = $value; - } - } - - function offsetUnset($offset) - { - unset($this->metadata[$offset]); - } -} - -class TP_yyStackEntry -{ - public $stateno; /* The state-number */ - public $major; /* The major token value. This is the code - ** number for the token at this stack level */ - public $minor; /* The user-supplied minor token value. This - ** is the value of the token */ -}; - +string = $s->string; + $this->metadata = $s->metadata; + } else { + $this->string = (string) $s; + if ($m instanceof TP_yyToken) { + $this->metadata = $m->metadata; + } elseif (is_array($m)) { + $this->metadata = $m; + } + } + } + + function __toString() + { + return $this->_string; + } + + function offsetExists($offset) + { + return isset($this->metadata[$offset]); + } + + function offsetGet($offset) + { + return $this->metadata[$offset]; + } + + function offsetSet($offset, $value) + { + if ($offset === null) { + if (isset($value[0])) { + $x = ($value instanceof TP_yyToken) ? + $value->metadata : $value; + $this->metadata = array_merge($this->metadata, $x); + return; + } + $offset = count($this->metadata); + } + if ($value === null) { + return; + } + if ($value instanceof TP_yyToken) { + if ($value->metadata) { + $this->metadata[$offset] = $value->metadata; + } + } elseif ($value) { + $this->metadata[$offset] = $value; + } + } + + function offsetUnset($offset) + { + unset($this->metadata[$offset]); + } +} + +class TP_yyStackEntry +{ + public $stateno; /* The state-number */ + public $major; /* The major token value. This is the code + ** number for the token at this stack level */ + public $minor; /* The user-supplied minor token value. This + ** is the value of the token */ +}; + + #line 12 "smarty_internal_templateparser.y" class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php" -{ +{ #line 14 "smarty_internal_templateparser.y" - - const Err1 = "Security error: Call to private object member not allowed"; - const Err2 = "Security error: Call to dynamic object member not allowed"; - // states whether the parse was successful or not - public $successful = true; - public $retvalue = 0; - private $lex; - private $internalError = false; - - function __construct($lex, $compiler) { - // set instance object - self::instance($this); - $this->lex = $lex; - $this->compiler = $compiler; - $this->smarty = $this->compiler->smarty; - $this->template = $this->compiler->template; - $this->compiler->has_variable_string = false; - $this->compiler->prefix_code = array(); - $this->prefix_number = 0; - $this->block_nesting_level = 0; - if ($this->security = isset($this->smarty->security_policy)) { - $this->php_handling = $this->smarty->security_policy->php_handling; - } else { - $this->php_handling = $this->smarty->php_handling; - } - $this->is_xml = false; - $this->asp_tags = (ini_get('asp_tags') != '0'); - $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this); - } - public static function &instance($new_instance = null) - { - static $instance = null; - if (isset($new_instance) && is_object($new_instance)) - $instance = $new_instance; - return $instance; - } - - public static function escape_start_tag($tag_text) { - $tag = preg_replace('/\A<\?(.*)\z/', '<?\1', $tag_text, -1 , $count); //Escape tag - assert($tag !== false && $count === 1); - return $tag; - } - - public static function escape_end_tag($tag_text) { - assert($tag_text === '?>'); - return '?>'; - } - - + + const Err1 = "Security error: Call to private object member not allowed"; + const Err2 = "Security error: Call to dynamic object member not allowed"; + // states whether the parse was successful or not + public $successful = true; + public $retvalue = 0; + private $lex; + private $internalError = false; + + function __construct($lex, $compiler) { + // set instance object + self::instance($this); + $this->lex = $lex; + $this->compiler = $compiler; + $this->smarty = $this->compiler->smarty; + $this->template = $this->compiler->template; + $this->compiler->has_variable_string = false; + $this->compiler->prefix_code = array(); + $this->prefix_number = 0; + $this->block_nesting_level = 0; + if ($this->security = isset($this->smarty->security_policy)) { + $this->php_handling = $this->smarty->security_policy->php_handling; + } else { + $this->php_handling = $this->smarty->php_handling; + } + $this->is_xml = false; + $this->asp_tags = (ini_get('asp_tags') != '0'); + $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this); + } + public static function &instance($new_instance = null) + { + static $instance = null; + if (isset($new_instance) && is_object($new_instance)) + $instance = $new_instance; + return $instance; + } + + public static function escape_start_tag($tag_text) { + $tag = preg_replace('/\A<\?(.*)\z/', '<?\1', $tag_text, -1 , $count); //Escape tag + assert($tag !== false && $count === 1); + return $tag; + } + + public static function escape_end_tag($tag_text) { + assert($tag_text === '?>'); + return '?>'; + } + + #line 132 "smarty_internal_templateparser.php" - + const TP_VERT = 1; const TP_COLON = 2; const TP_COMMENT = 3; @@ -172,23 +172,23 @@ class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php const TP_LDELSLASH = 32; const TP_INTEGER = 33; const TP_COMMA = 34; - const TP_MATH = 35; - const TP_UNIMATH = 36; - const TP_ANDSYM = 37; - const TP_ISIN = 38; - const TP_ISDIVBY = 39; - const TP_ISNOTDIVBY = 40; - const TP_ISEVEN = 41; - const TP_ISNOTEVEN = 42; - const TP_ISEVENBY = 43; - const TP_ISNOTEVENBY = 44; - const TP_ISODD = 45; - const TP_ISNOTODD = 46; - const TP_ISODDBY = 47; - const TP_ISNOTODDBY = 48; - const TP_INSTANCEOF = 49; - const TP_OPENP = 50; - const TP_CLOSEP = 51; + const TP_OPENP = 35; + const TP_CLOSEP = 36; + const TP_MATH = 37; + const TP_UNIMATH = 38; + const TP_ANDSYM = 39; + const TP_ISIN = 40; + const TP_ISDIVBY = 41; + const TP_ISNOTDIVBY = 42; + const TP_ISEVEN = 43; + const TP_ISNOTEVEN = 44; + const TP_ISEVENBY = 45; + const TP_ISNOTEVENBY = 46; + const TP_ISODD = 47; + const TP_ISNOTODD = 48; + const TP_ISODDBY = 49; + const TP_ISNOTODDBY = 50; + const TP_INSTANCEOF = 51; const TP_QMARK = 52; const TP_NOT = 53; const TP_TYPECAST = 54; @@ -215,798 +215,836 @@ class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php const TP_QUOTE = 75; const TP_BACKTICK = 76; const TP_DOLLARID = 77; - const YY_NO_ACTION = 572; - const YY_ACCEPT_ACTION = 571; - const YY_ERROR_ACTION = 570; - - const YY_SZ_ACTTAB = 2394; + const YY_NO_ACTION = 584; + const YY_ACCEPT_ACTION = 583; + const YY_ERROR_ACTION = 582; + + const YY_SZ_ACTTAB = 2566; static public $yy_action = array( - /* 0 */ 192, 249, 282, 291, 295, 270, 277, 272, 269, 284, - /* 10 */ 287, 373, 349, 168, 155, 308, 39, 136, 138, 5, - /* 20 */ 320, 12, 222, 185, 228, 219, 12, 126, 7, 134, - /* 30 */ 303, 251, 246, 232, 48, 45, 44, 43, 26, 24, - /* 40 */ 255, 250, 16, 27, 267, 286, 14, 10, 364, 307, - /* 50 */ 298, 305, 313, 46, 185, 362, 168, 340, 365, 7, - /* 60 */ 192, 12, 266, 268, 271, 289, 239, 245, 257, 260, - /* 70 */ 254, 297, 353, 345, 192, 290, 302, 157, 13, 208, - /* 80 */ 224, 237, 229, 72, 140, 119, 571, 91, 252, 282, - /* 90 */ 291, 176, 363, 338, 273, 12, 327, 314, 13, 304, - /* 100 */ 41, 237, 30, 230, 196, 259, 195, 175, 48, 45, - /* 110 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286, - /* 120 */ 14, 10, 211, 318, 13, 147, 439, 237, 100, 34, - /* 130 */ 13, 12, 439, 237, 30, 273, 266, 268, 271, 289, - /* 140 */ 239, 245, 257, 260, 254, 297, 353, 345, 192, 192, - /* 150 */ 302, 181, 148, 8, 224, 101, 229, 72, 13, 119, - /* 160 */ 5, 237, 273, 299, 264, 350, 363, 338, 126, 12, - /* 170 */ 327, 314, 46, 304, 214, 336, 293, 145, 181, 259, - /* 180 */ 201, 12, 48, 45, 44, 43, 26, 24, 255, 250, - /* 190 */ 16, 27, 267, 286, 14, 10, 13, 2, 309, 237, - /* 200 */ 18, 46, 214, 441, 12, 19, 279, 130, 330, 441, - /* 210 */ 266, 268, 271, 289, 239, 245, 257, 260, 254, 297, - /* 220 */ 353, 345, 192, 328, 302, 342, 360, 372, 224, 112, - /* 230 */ 229, 54, 12, 119, 127, 13, 46, 316, 237, 369, - /* 240 */ 363, 338, 12, 12, 327, 314, 32, 304, 124, 154, - /* 250 */ 233, 209, 311, 31, 170, 312, 48, 45, 44, 43, - /* 260 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 270 */ 192, 317, 315, 5, 435, 102, 367, 12, 12, 221, - /* 280 */ 12, 126, 131, 293, 266, 268, 271, 289, 239, 245, - /* 290 */ 257, 260, 254, 297, 353, 345, 304, 438, 355, 164, - /* 300 */ 343, 29, 29, 438, 48, 45, 44, 43, 26, 24, - /* 310 */ 255, 250, 16, 27, 267, 286, 14, 10, 339, 247, - /* 320 */ 248, 436, 181, 33, 4, 40, 138, 436, 114, 220, - /* 330 */ 46, 322, 266, 268, 271, 289, 239, 245, 257, 260, - /* 340 */ 254, 297, 353, 345, 192, 302, 159, 167, 347, 224, - /* 350 */ 13, 229, 72, 237, 119, 5, 273, 21, 22, 285, - /* 360 */ 209, 363, 338, 126, 121, 327, 314, 259, 304, 5, - /* 370 */ 181, 99, 231, 177, 312, 197, 29, 126, 48, 45, - /* 380 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286, - /* 390 */ 14, 10, 192, 234, 326, 334, 306, 163, 156, 259, - /* 400 */ 12, 12, 12, 192, 293, 28, 266, 268, 271, 289, - /* 410 */ 239, 245, 257, 260, 254, 297, 353, 345, 435, 354, - /* 420 */ 13, 181, 348, 205, 12, 12, 48, 45, 44, 43, - /* 430 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 440 */ 6, 241, 150, 280, 6, 325, 293, 12, 301, 12, - /* 450 */ 210, 12, 273, 253, 266, 268, 271, 289, 239, 245, - /* 460 */ 257, 260, 254, 297, 353, 345, 192, 38, 180, 165, - /* 470 */ 152, 13, 122, 97, 237, 161, 324, 366, 12, 273, - /* 480 */ 273, 46, 23, 21, 22, 273, 204, 238, 222, 173, - /* 490 */ 228, 292, 111, 12, 133, 134, 181, 12, 246, 232, - /* 500 */ 48, 45, 44, 43, 26, 24, 255, 250, 16, 27, - /* 510 */ 267, 286, 14, 10, 256, 160, 172, 356, 3, 13, - /* 520 */ 12, 329, 227, 12, 369, 273, 174, 12, 266, 268, - /* 530 */ 271, 289, 239, 245, 257, 260, 254, 297, 353, 345, - /* 540 */ 192, 180, 357, 37, 370, 137, 294, 162, 333, 166, - /* 550 */ 192, 366, 12, 158, 12, 179, 23, 273, 303, 273, - /* 560 */ 281, 358, 222, 273, 228, 274, 12, 346, 259, 134, - /* 570 */ 259, 217, 246, 232, 48, 45, 44, 43, 26, 24, - /* 580 */ 255, 250, 16, 27, 267, 286, 14, 10, 192, 149, - /* 590 */ 368, 13, 215, 226, 207, 36, 11, 132, 138, 273, - /* 600 */ 192, 98, 266, 268, 271, 289, 239, 245, 257, 260, - /* 610 */ 254, 297, 353, 345, 303, 180, 359, 37, 370, 169, - /* 620 */ 312, 12, 48, 45, 44, 43, 26, 24, 255, 250, - /* 630 */ 16, 27, 267, 286, 14, 10, 121, 144, 216, 337, - /* 640 */ 13, 361, 236, 194, 210, 116, 132, 273, 12, 120, - /* 650 */ 266, 268, 271, 289, 239, 245, 257, 260, 254, 297, - /* 660 */ 353, 345, 192, 302, 300, 105, 123, 224, 94, 229, - /* 670 */ 55, 15, 119, 135, 129, 109, 192, 263, 303, 363, - /* 680 */ 338, 303, 143, 327, 314, 259, 304, 303, 303, 171, - /* 690 */ 335, 258, 273, 261, 90, 118, 48, 45, 44, 43, - /* 700 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 710 */ 192, 35, 323, 180, 311, 138, 153, 192, 113, 259, - /* 720 */ 351, 20, 12, 96, 266, 268, 271, 289, 239, 245, - /* 730 */ 257, 260, 254, 297, 353, 345, 303, 275, 25, 42, - /* 740 */ 276, 212, 95, 352, 48, 45, 44, 43, 26, 24, - /* 750 */ 255, 250, 16, 27, 267, 286, 14, 10, 93, 318, - /* 760 */ 318, 103, 318, 265, 318, 318, 318, 318, 318, 318, - /* 770 */ 318, 303, 266, 268, 271, 289, 239, 245, 257, 260, - /* 780 */ 254, 297, 353, 345, 192, 318, 302, 104, 318, 318, - /* 790 */ 224, 318, 229, 82, 318, 119, 318, 318, 318, 318, - /* 800 */ 303, 318, 363, 338, 318, 12, 327, 314, 318, 304, - /* 810 */ 318, 318, 318, 318, 318, 318, 318, 318, 48, 45, - /* 820 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286, - /* 830 */ 14, 10, 192, 318, 318, 318, 318, 318, 318, 318, - /* 840 */ 318, 318, 318, 318, 318, 318, 266, 268, 271, 289, - /* 850 */ 239, 245, 257, 260, 254, 297, 353, 345, 318, 318, - /* 860 */ 318, 318, 318, 318, 318, 318, 48, 45, 44, 43, - /* 870 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 880 */ 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, - /* 890 */ 318, 318, 318, 318, 266, 268, 271, 289, 239, 245, - /* 900 */ 257, 260, 254, 297, 353, 345, 192, 371, 302, 318, - /* 910 */ 318, 318, 224, 318, 229, 86, 318, 119, 318, 318, - /* 920 */ 318, 178, 318, 318, 363, 338, 318, 318, 327, 314, - /* 930 */ 318, 304, 318, 318, 318, 318, 318, 318, 318, 318, - /* 940 */ 48, 45, 44, 43, 26, 24, 255, 250, 16, 27, - /* 950 */ 267, 286, 14, 10, 192, 318, 318, 318, 318, 318, - /* 960 */ 318, 318, 318, 318, 318, 318, 318, 318, 266, 268, - /* 970 */ 271, 289, 239, 245, 257, 260, 254, 297, 353, 345, - /* 980 */ 318, 318, 206, 318, 318, 318, 318, 318, 48, 45, - /* 990 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286, - /* 1000 */ 14, 10, 192, 318, 318, 318, 318, 318, 318, 318, - /* 1010 */ 318, 318, 318, 318, 318, 318, 266, 268, 271, 289, - /* 1020 */ 239, 245, 257, 260, 254, 297, 353, 345, 318, 318, - /* 1030 */ 318, 318, 318, 318, 318, 318, 48, 45, 44, 43, - /* 1040 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 1050 */ 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, - /* 1060 */ 318, 318, 318, 318, 266, 268, 271, 289, 239, 245, - /* 1070 */ 257, 260, 254, 297, 353, 345, 48, 45, 44, 43, - /* 1080 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 1090 */ 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, - /* 1100 */ 318, 318, 318, 318, 266, 268, 271, 289, 239, 245, - /* 1110 */ 257, 260, 254, 297, 353, 345, 318, 318, 318, 318, - /* 1120 */ 39, 318, 115, 186, 318, 302, 222, 318, 228, 319, - /* 1130 */ 318, 229, 318, 134, 119, 318, 246, 232, 223, 318, - /* 1140 */ 318, 50, 321, 441, 318, 327, 314, 318, 304, 441, - /* 1150 */ 318, 318, 318, 318, 318, 9, 225, 318, 47, 49, - /* 1160 */ 242, 218, 331, 318, 318, 99, 1, 262, 318, 318, - /* 1170 */ 318, 39, 318, 115, 199, 318, 46, 222, 318, 228, - /* 1180 */ 92, 318, 318, 318, 134, 318, 318, 246, 232, 223, - /* 1190 */ 318, 318, 50, 318, 318, 318, 318, 318, 302, 318, - /* 1200 */ 318, 318, 193, 318, 229, 85, 9, 119, 318, 47, - /* 1210 */ 49, 242, 218, 331, 363, 338, 99, 1, 327, 314, - /* 1220 */ 318, 304, 39, 318, 115, 187, 318, 318, 222, 318, - /* 1230 */ 228, 92, 200, 341, 318, 134, 318, 318, 246, 232, - /* 1240 */ 223, 318, 318, 50, 318, 318, 318, 318, 318, 302, - /* 1250 */ 318, 318, 318, 193, 318, 229, 85, 9, 119, 318, - /* 1260 */ 47, 49, 242, 218, 331, 363, 338, 99, 1, 327, - /* 1270 */ 314, 318, 304, 39, 318, 114, 199, 318, 318, 222, - /* 1280 */ 318, 228, 92, 318, 344, 318, 134, 318, 318, 246, - /* 1290 */ 232, 223, 318, 318, 50, 318, 318, 318, 318, 318, - /* 1300 */ 302, 318, 318, 318, 224, 318, 229, 67, 17, 119, - /* 1310 */ 318, 47, 49, 242, 218, 331, 363, 338, 99, 1, - /* 1320 */ 327, 314, 318, 304, 39, 318, 115, 190, 318, 318, - /* 1330 */ 222, 318, 228, 92, 318, 318, 318, 134, 318, 318, - /* 1340 */ 246, 232, 223, 318, 318, 50, 318, 318, 318, 318, - /* 1350 */ 318, 302, 318, 318, 318, 224, 318, 229, 68, 9, - /* 1360 */ 119, 318, 47, 49, 242, 218, 331, 363, 338, 99, - /* 1370 */ 1, 327, 314, 318, 304, 39, 318, 125, 199, 318, - /* 1380 */ 318, 222, 318, 228, 92, 318, 318, 318, 134, 318, - /* 1390 */ 318, 246, 232, 223, 318, 318, 50, 318, 318, 318, - /* 1400 */ 318, 318, 302, 318, 318, 318, 224, 318, 229, 77, - /* 1410 */ 9, 119, 318, 47, 49, 242, 218, 331, 363, 338, - /* 1420 */ 99, 1, 327, 314, 318, 304, 39, 318, 128, 89, - /* 1430 */ 318, 318, 222, 318, 228, 92, 318, 318, 318, 134, - /* 1440 */ 318, 318, 246, 232, 223, 318, 318, 50, 318, 318, - /* 1450 */ 318, 318, 318, 302, 318, 318, 318, 224, 318, 229, - /* 1460 */ 61, 9, 119, 318, 47, 49, 242, 218, 331, 363, - /* 1470 */ 338, 99, 1, 327, 314, 318, 304, 39, 318, 115, - /* 1480 */ 182, 318, 318, 222, 318, 228, 92, 318, 318, 318, - /* 1490 */ 134, 318, 318, 246, 232, 223, 318, 318, 50, 318, - /* 1500 */ 318, 318, 318, 318, 302, 318, 318, 318, 224, 318, - /* 1510 */ 229, 73, 9, 119, 318, 47, 49, 242, 218, 331, - /* 1520 */ 363, 338, 99, 1, 327, 314, 318, 304, 39, 318, - /* 1530 */ 115, 183, 318, 318, 222, 318, 228, 92, 318, 318, - /* 1540 */ 318, 134, 318, 318, 246, 232, 191, 318, 318, 50, - /* 1550 */ 318, 318, 318, 318, 318, 302, 318, 318, 318, 224, - /* 1560 */ 318, 229, 63, 9, 119, 318, 47, 49, 242, 218, - /* 1570 */ 331, 363, 338, 99, 1, 327, 314, 318, 304, 39, - /* 1580 */ 318, 117, 199, 318, 318, 222, 318, 228, 92, 318, - /* 1590 */ 318, 318, 134, 318, 318, 246, 232, 223, 318, 318, - /* 1600 */ 50, 318, 318, 318, 318, 318, 302, 318, 318, 318, - /* 1610 */ 224, 318, 229, 70, 9, 119, 318, 47, 49, 242, - /* 1620 */ 218, 331, 363, 338, 99, 1, 327, 314, 318, 304, - /* 1630 */ 39, 318, 114, 203, 318, 318, 222, 318, 228, 92, - /* 1640 */ 318, 318, 318, 134, 318, 318, 246, 232, 223, 318, - /* 1650 */ 318, 50, 318, 318, 318, 318, 318, 302, 318, 318, - /* 1660 */ 318, 224, 318, 229, 74, 17, 119, 318, 47, 49, - /* 1670 */ 242, 218, 331, 363, 338, 99, 318, 327, 314, 318, - /* 1680 */ 304, 39, 318, 114, 199, 318, 318, 222, 318, 228, - /* 1690 */ 92, 318, 318, 318, 134, 318, 318, 246, 232, 223, - /* 1700 */ 482, 318, 50, 318, 318, 318, 482, 318, 482, 318, - /* 1710 */ 482, 482, 318, 482, 151, 318, 17, 167, 482, 47, - /* 1720 */ 49, 242, 218, 331, 273, 318, 99, 21, 22, 318, - /* 1730 */ 318, 318, 318, 482, 5, 482, 318, 318, 318, 318, - /* 1740 */ 181, 92, 126, 318, 318, 141, 482, 302, 167, 318, - /* 1750 */ 318, 224, 318, 229, 81, 273, 119, 318, 21, 22, - /* 1760 */ 482, 318, 318, 363, 338, 318, 318, 327, 314, 318, - /* 1770 */ 304, 181, 302, 318, 318, 318, 224, 318, 229, 71, - /* 1780 */ 318, 119, 318, 318, 318, 318, 318, 318, 363, 338, - /* 1790 */ 318, 318, 327, 314, 302, 304, 318, 318, 224, 318, - /* 1800 */ 229, 79, 318, 119, 318, 318, 318, 318, 318, 318, - /* 1810 */ 363, 338, 318, 318, 327, 314, 302, 304, 318, 318, - /* 1820 */ 108, 318, 106, 51, 318, 107, 318, 318, 318, 318, - /* 1830 */ 318, 318, 363, 338, 302, 318, 327, 314, 224, 304, - /* 1840 */ 229, 78, 318, 119, 318, 318, 318, 318, 318, 318, - /* 1850 */ 363, 338, 192, 318, 327, 314, 318, 304, 318, 302, - /* 1860 */ 318, 318, 318, 224, 318, 229, 64, 310, 119, 318, - /* 1870 */ 318, 213, 318, 12, 318, 363, 338, 302, 318, 327, - /* 1880 */ 314, 224, 304, 229, 62, 318, 119, 318, 318, 318, - /* 1890 */ 318, 318, 318, 363, 338, 318, 318, 327, 314, 302, - /* 1900 */ 304, 5, 318, 188, 318, 229, 84, 318, 119, 126, - /* 1910 */ 318, 318, 318, 318, 318, 363, 338, 302, 318, 327, - /* 1920 */ 314, 224, 304, 229, 80, 318, 119, 318, 318, 318, - /* 1930 */ 318, 318, 318, 363, 338, 318, 318, 327, 314, 318, - /* 1940 */ 304, 318, 302, 318, 318, 318, 224, 318, 229, 76, - /* 1950 */ 318, 119, 318, 318, 318, 318, 318, 318, 363, 338, - /* 1960 */ 302, 318, 327, 314, 224, 304, 229, 66, 318, 119, - /* 1970 */ 318, 318, 318, 318, 318, 318, 363, 338, 318, 318, - /* 1980 */ 327, 314, 302, 304, 318, 318, 224, 318, 229, 83, - /* 1990 */ 318, 119, 318, 318, 318, 318, 318, 318, 363, 338, - /* 2000 */ 302, 318, 327, 314, 224, 304, 229, 75, 318, 119, - /* 2010 */ 318, 318, 318, 318, 318, 318, 363, 338, 318, 318, - /* 2020 */ 327, 314, 318, 304, 318, 302, 318, 318, 318, 184, - /* 2030 */ 318, 229, 58, 318, 119, 318, 318, 318, 318, 318, - /* 2040 */ 318, 363, 338, 302, 318, 327, 314, 224, 304, 229, - /* 2050 */ 87, 318, 119, 318, 318, 318, 318, 318, 318, 363, - /* 2060 */ 338, 318, 318, 327, 314, 302, 304, 318, 318, 189, - /* 2070 */ 318, 229, 69, 318, 119, 318, 318, 318, 318, 318, - /* 2080 */ 318, 363, 338, 302, 318, 327, 314, 224, 304, 229, - /* 2090 */ 59, 318, 119, 318, 318, 318, 318, 318, 318, 363, - /* 2100 */ 338, 318, 318, 327, 314, 318, 304, 318, 302, 318, - /* 2110 */ 318, 318, 224, 318, 229, 57, 318, 119, 318, 318, - /* 2120 */ 318, 318, 318, 318, 363, 338, 302, 318, 327, 314, - /* 2130 */ 108, 304, 110, 56, 318, 107, 318, 318, 318, 318, - /* 2140 */ 318, 318, 363, 338, 318, 318, 327, 314, 302, 304, - /* 2150 */ 318, 318, 224, 318, 198, 60, 318, 119, 318, 318, - /* 2160 */ 318, 318, 318, 318, 363, 338, 302, 318, 327, 314, - /* 2170 */ 224, 304, 229, 65, 318, 119, 318, 318, 318, 318, - /* 2180 */ 318, 318, 363, 338, 318, 318, 327, 314, 318, 304, - /* 2190 */ 318, 302, 318, 318, 318, 224, 318, 229, 52, 318, - /* 2200 */ 119, 318, 318, 318, 318, 318, 318, 363, 338, 302, - /* 2210 */ 318, 327, 314, 202, 304, 229, 53, 318, 119, 318, - /* 2220 */ 318, 318, 318, 318, 318, 363, 338, 318, 318, 327, - /* 2230 */ 314, 302, 304, 318, 318, 224, 318, 229, 88, 318, - /* 2240 */ 119, 318, 318, 318, 318, 318, 318, 363, 338, 302, - /* 2250 */ 318, 327, 314, 240, 304, 229, 302, 318, 119, 318, - /* 2260 */ 283, 318, 229, 318, 318, 119, 244, 318, 318, 327, - /* 2270 */ 314, 318, 304, 318, 302, 318, 327, 314, 235, 304, - /* 2280 */ 229, 302, 318, 119, 318, 278, 318, 229, 318, 318, - /* 2290 */ 119, 318, 318, 318, 327, 314, 318, 304, 318, 302, - /* 2300 */ 318, 327, 314, 288, 304, 229, 318, 318, 119, 302, - /* 2310 */ 318, 318, 318, 296, 318, 229, 318, 318, 119, 327, - /* 2320 */ 314, 318, 304, 318, 318, 318, 318, 318, 318, 327, - /* 2330 */ 314, 302, 304, 318, 318, 332, 318, 229, 302, 318, - /* 2340 */ 119, 318, 243, 318, 229, 318, 318, 119, 318, 318, - /* 2350 */ 142, 327, 314, 167, 304, 318, 318, 318, 327, 314, - /* 2360 */ 273, 304, 318, 21, 22, 139, 318, 146, 167, 318, - /* 2370 */ 167, 318, 318, 318, 318, 273, 181, 273, 21, 22, - /* 2380 */ 21, 22, 318, 318, 318, 318, 318, 318, 318, 318, - /* 2390 */ 318, 181, 318, 181, + /* 0 */ 218, 272, 271, 275, 274, 278, 277, 276, 270, 262, + /* 10 */ 260, 264, 268, 196, 298, 285, 42, 22, 159, 265, + /* 20 */ 19, 29, 222, 374, 237, 29, 294, 29, 280, 149, + /* 30 */ 243, 19, 378, 225, 374, 244, 52, 47, 50, 45, + /* 40 */ 38, 37, 331, 332, 40, 39, 340, 337, 30, 25, + /* 50 */ 292, 299, 291, 290, 295, 190, 123, 342, 196, 279, + /* 60 */ 293, 135, 335, 322, 321, 308, 309, 310, 307, 306, + /* 70 */ 302, 303, 304, 305, 218, 242, 319, 175, 199, 133, + /* 80 */ 138, 19, 248, 72, 374, 124, 19, 288, 448, 374, + /* 90 */ 41, 14, 339, 311, 448, 29, 348, 329, 376, 320, + /* 100 */ 34, 583, 95, 273, 271, 275, 219, 3, 301, 3, + /* 110 */ 52, 47, 50, 45, 38, 37, 331, 332, 40, 39, + /* 120 */ 340, 337, 30, 25, 7, 231, 17, 108, 134, 167, + /* 130 */ 140, 35, 140, 143, 336, 192, 335, 322, 321, 308, + /* 140 */ 309, 310, 307, 306, 302, 303, 304, 305, 218, 334, + /* 150 */ 319, 193, 353, 10, 138, 3, 248, 55, 3, 119, + /* 160 */ 136, 36, 31, 371, 218, 19, 339, 311, 374, 29, + /* 170 */ 348, 329, 29, 320, 199, 27, 223, 258, 140, 372, + /* 180 */ 224, 140, 254, 220, 52, 47, 50, 45, 38, 37, + /* 190 */ 331, 332, 40, 39, 340, 337, 30, 25, 341, 179, + /* 200 */ 32, 159, 106, 323, 29, 194, 379, 342, 218, 288, + /* 210 */ 335, 322, 321, 308, 309, 310, 307, 306, 302, 303, + /* 220 */ 304, 305, 218, 366, 319, 199, 186, 218, 138, 190, + /* 230 */ 248, 72, 445, 124, 218, 266, 288, 364, 445, 123, + /* 240 */ 339, 311, 447, 29, 348, 329, 19, 320, 447, 374, + /* 250 */ 23, 3, 199, 16, 211, 29, 297, 170, 52, 47, + /* 260 */ 50, 45, 38, 37, 331, 332, 40, 39, 340, 337, + /* 270 */ 30, 25, 218, 172, 140, 183, 104, 46, 19, 189, + /* 280 */ 379, 374, 41, 288, 335, 322, 321, 308, 309, 310, + /* 290 */ 307, 306, 302, 303, 304, 305, 344, 188, 444, 199, + /* 300 */ 218, 235, 249, 216, 29, 191, 379, 342, 52, 47, + /* 310 */ 50, 45, 38, 37, 331, 332, 40, 39, 340, 337, + /* 320 */ 30, 25, 242, 19, 142, 43, 374, 130, 245, 28, + /* 330 */ 29, 159, 107, 346, 335, 322, 321, 308, 309, 310, + /* 340 */ 307, 306, 302, 303, 304, 305, 218, 347, 319, 27, + /* 350 */ 46, 257, 138, 198, 248, 62, 164, 119, 240, 218, + /* 360 */ 267, 252, 228, 126, 339, 311, 288, 205, 348, 329, + /* 370 */ 103, 320, 8, 261, 444, 357, 180, 376, 376, 29, + /* 380 */ 29, 29, 52, 47, 50, 45, 38, 37, 331, 332, + /* 390 */ 40, 39, 340, 337, 30, 25, 184, 349, 361, 365, + /* 400 */ 27, 284, 358, 29, 29, 29, 288, 29, 335, 322, + /* 410 */ 321, 308, 309, 310, 307, 306, 302, 303, 304, 305, + /* 420 */ 218, 319, 202, 221, 181, 138, 154, 248, 72, 171, + /* 430 */ 124, 313, 9, 162, 288, 289, 163, 339, 311, 288, + /* 440 */ 320, 348, 329, 288, 320, 376, 288, 281, 269, 370, + /* 450 */ 376, 214, 6, 29, 29, 29, 52, 47, 50, 45, + /* 460 */ 38, 37, 331, 332, 40, 39, 340, 337, 30, 25, + /* 470 */ 218, 178, 239, 283, 373, 19, 226, 238, 374, 29, + /* 480 */ 29, 288, 335, 322, 321, 308, 309, 310, 307, 306, + /* 490 */ 302, 303, 304, 305, 177, 205, 286, 202, 227, 377, + /* 500 */ 8, 166, 29, 376, 288, 29, 52, 47, 50, 45, + /* 510 */ 38, 37, 331, 332, 40, 39, 340, 337, 30, 25, + /* 520 */ 202, 218, 363, 375, 380, 315, 235, 296, 29, 29, + /* 530 */ 29, 29, 335, 322, 321, 308, 309, 310, 307, 306, + /* 540 */ 302, 303, 304, 305, 197, 369, 352, 19, 327, 218, + /* 550 */ 236, 29, 29, 165, 234, 156, 174, 52, 47, 50, + /* 560 */ 45, 38, 37, 331, 332, 40, 39, 340, 337, 30, + /* 570 */ 25, 26, 344, 5, 19, 314, 199, 212, 19, 199, + /* 580 */ 159, 241, 218, 335, 322, 321, 308, 309, 310, 307, + /* 590 */ 306, 302, 303, 304, 305, 218, 319, 300, 100, 46, + /* 600 */ 138, 19, 248, 76, 233, 124, 6, 218, 110, 351, + /* 610 */ 201, 338, 339, 311, 115, 168, 348, 329, 123, 320, + /* 620 */ 182, 338, 287, 234, 105, 288, 324, 338, 235, 240, + /* 630 */ 288, 52, 47, 50, 45, 38, 37, 331, 332, 40, + /* 640 */ 39, 340, 337, 30, 25, 218, 333, 144, 263, 33, + /* 650 */ 13, 342, 312, 156, 29, 355, 97, 335, 322, 321, + /* 660 */ 308, 309, 310, 307, 306, 302, 303, 304, 305, 338, + /* 670 */ 141, 32, 325, 121, 195, 131, 356, 229, 127, 2, + /* 680 */ 250, 52, 47, 50, 45, 38, 37, 331, 332, 40, + /* 690 */ 39, 340, 337, 30, 25, 318, 228, 11, 330, 94, + /* 700 */ 129, 282, 218, 253, 159, 29, 323, 335, 322, 321, + /* 710 */ 308, 309, 310, 307, 306, 302, 303, 304, 305, 218, + /* 720 */ 218, 319, 18, 101, 148, 122, 114, 248, 54, 44, + /* 730 */ 124, 202, 99, 158, 316, 367, 376, 339, 311, 338, + /* 740 */ 29, 348, 329, 376, 320, 338, 338, 354, 169, 368, + /* 750 */ 321, 321, 321, 321, 321, 52, 47, 50, 45, 38, + /* 760 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 218, + /* 770 */ 46, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 780 */ 113, 335, 322, 321, 308, 309, 310, 307, 306, 302, + /* 790 */ 303, 304, 305, 338, 321, 321, 321, 321, 321, 321, + /* 800 */ 321, 321, 321, 321, 256, 52, 47, 50, 45, 38, + /* 810 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 218, + /* 820 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 830 */ 321, 335, 322, 321, 308, 309, 310, 307, 306, 302, + /* 840 */ 303, 304, 305, 321, 321, 321, 321, 321, 321, 321, + /* 850 */ 321, 321, 321, 321, 321, 52, 47, 50, 45, 38, + /* 860 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 218, + /* 870 */ 12, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 880 */ 382, 335, 322, 321, 308, 309, 310, 307, 306, 302, + /* 890 */ 303, 304, 305, 321, 321, 321, 321, 321, 321, 321, + /* 900 */ 321, 321, 321, 321, 321, 52, 47, 50, 45, 38, + /* 910 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 321, + /* 920 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 930 */ 321, 335, 322, 321, 308, 309, 310, 307, 306, 302, + /* 940 */ 303, 304, 305, 218, 319, 321, 321, 321, 138, 321, + /* 950 */ 248, 61, 321, 124, 321, 98, 132, 321, 200, 321, + /* 960 */ 339, 311, 321, 321, 348, 329, 321, 320, 338, 338, + /* 970 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 52, + /* 980 */ 47, 50, 45, 38, 37, 331, 332, 40, 39, 340, + /* 990 */ 337, 30, 25, 218, 321, 321, 321, 321, 321, 321, + /* 1000 */ 321, 321, 321, 321, 321, 335, 322, 321, 308, 309, + /* 1010 */ 310, 307, 306, 302, 303, 304, 305, 321, 321, 321, + /* 1020 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 52, + /* 1030 */ 47, 50, 45, 38, 37, 331, 332, 40, 39, 340, + /* 1040 */ 337, 30, 25, 321, 321, 321, 321, 321, 321, 321, + /* 1050 */ 321, 321, 321, 321, 321, 335, 322, 321, 308, 309, + /* 1060 */ 310, 307, 306, 302, 303, 304, 305, 52, 47, 50, + /* 1070 */ 45, 38, 37, 331, 332, 40, 39, 340, 337, 30, + /* 1080 */ 25, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 1090 */ 321, 321, 321, 335, 322, 321, 308, 309, 310, 307, + /* 1100 */ 306, 302, 303, 304, 305, 321, 321, 321, 321, 42, + /* 1110 */ 321, 139, 207, 321, 319, 222, 321, 237, 138, 321, + /* 1120 */ 248, 78, 149, 124, 321, 378, 225, 232, 321, 15, + /* 1130 */ 339, 311, 49, 321, 348, 329, 321, 320, 321, 321, + /* 1140 */ 321, 321, 321, 321, 321, 321, 321, 51, 48, 317, + /* 1150 */ 247, 328, 321, 319, 103, 1, 255, 145, 321, 248, + /* 1160 */ 321, 321, 124, 321, 42, 321, 139, 209, 321, 96, + /* 1170 */ 222, 321, 237, 348, 329, 321, 320, 149, 345, 321, + /* 1180 */ 378, 225, 232, 24, 15, 321, 321, 49, 321, 222, + /* 1190 */ 321, 237, 321, 321, 321, 321, 149, 321, 321, 378, + /* 1200 */ 225, 321, 51, 48, 317, 247, 328, 321, 319, 103, + /* 1210 */ 1, 321, 146, 321, 248, 321, 321, 124, 321, 42, + /* 1220 */ 161, 130, 209, 193, 96, 222, 321, 237, 348, 329, + /* 1230 */ 288, 320, 149, 36, 31, 378, 225, 232, 321, 21, + /* 1240 */ 321, 321, 49, 350, 20, 343, 199, 319, 218, 321, + /* 1250 */ 321, 155, 321, 248, 321, 321, 124, 51, 48, 317, + /* 1260 */ 247, 328, 321, 450, 103, 1, 321, 348, 329, 450, + /* 1270 */ 320, 321, 321, 321, 42, 321, 125, 209, 321, 96, + /* 1280 */ 222, 321, 237, 321, 321, 321, 321, 149, 345, 321, + /* 1290 */ 378, 225, 232, 24, 4, 321, 321, 49, 46, 222, + /* 1300 */ 321, 237, 321, 321, 321, 321, 149, 321, 321, 378, + /* 1310 */ 225, 321, 51, 48, 317, 247, 328, 321, 319, 103, + /* 1320 */ 1, 321, 151, 321, 248, 321, 321, 124, 321, 42, + /* 1330 */ 176, 139, 204, 193, 96, 222, 321, 237, 348, 329, + /* 1340 */ 288, 320, 149, 36, 31, 378, 225, 215, 321, 15, + /* 1350 */ 321, 321, 49, 362, 20, 343, 199, 319, 218, 321, + /* 1360 */ 321, 150, 321, 248, 321, 321, 124, 51, 48, 317, + /* 1370 */ 247, 328, 321, 259, 103, 1, 321, 348, 329, 29, + /* 1380 */ 320, 321, 321, 321, 42, 173, 128, 92, 193, 96, + /* 1390 */ 222, 321, 237, 321, 218, 288, 321, 149, 36, 31, + /* 1400 */ 378, 225, 232, 321, 15, 321, 321, 49, 46, 381, + /* 1410 */ 321, 199, 319, 230, 321, 29, 152, 321, 248, 321, + /* 1420 */ 321, 124, 51, 48, 317, 247, 328, 321, 3, 103, + /* 1430 */ 1, 321, 348, 329, 321, 320, 321, 321, 321, 42, + /* 1440 */ 185, 139, 208, 102, 96, 222, 321, 237, 321, 321, + /* 1450 */ 288, 140, 149, 36, 31, 378, 225, 232, 321, 15, + /* 1460 */ 321, 321, 49, 321, 321, 321, 199, 319, 321, 321, + /* 1470 */ 321, 147, 321, 248, 321, 321, 124, 51, 48, 317, + /* 1480 */ 247, 328, 321, 321, 103, 1, 321, 348, 329, 321, + /* 1490 */ 320, 321, 321, 321, 42, 187, 139, 203, 193, 96, + /* 1500 */ 222, 321, 237, 321, 321, 288, 321, 149, 36, 31, + /* 1510 */ 378, 225, 232, 321, 15, 321, 160, 49, 321, 193, + /* 1520 */ 321, 199, 321, 321, 321, 321, 288, 321, 321, 36, + /* 1530 */ 31, 321, 51, 48, 317, 247, 328, 321, 321, 103, + /* 1540 */ 1, 321, 199, 321, 321, 321, 321, 321, 321, 42, + /* 1550 */ 321, 139, 206, 218, 96, 222, 321, 237, 321, 321, + /* 1560 */ 321, 321, 149, 321, 321, 378, 225, 232, 450, 15, + /* 1570 */ 321, 321, 49, 321, 450, 321, 321, 321, 321, 321, + /* 1580 */ 321, 246, 321, 321, 321, 321, 321, 51, 48, 317, + /* 1590 */ 247, 328, 321, 321, 103, 1, 321, 321, 321, 321, + /* 1600 */ 321, 321, 321, 46, 42, 321, 137, 209, 321, 96, + /* 1610 */ 222, 321, 237, 321, 321, 321, 321, 149, 321, 321, + /* 1620 */ 378, 225, 232, 321, 15, 321, 321, 49, 321, 321, + /* 1630 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 1640 */ 321, 321, 51, 48, 317, 247, 328, 321, 321, 103, + /* 1650 */ 1, 321, 321, 321, 321, 321, 321, 321, 321, 42, + /* 1660 */ 321, 130, 210, 321, 96, 222, 321, 237, 321, 321, + /* 1670 */ 321, 321, 149, 321, 321, 378, 225, 232, 321, 21, + /* 1680 */ 321, 321, 49, 321, 321, 321, 321, 321, 321, 321, + /* 1690 */ 321, 321, 321, 321, 321, 321, 321, 51, 48, 317, + /* 1700 */ 247, 328, 321, 321, 103, 321, 321, 321, 321, 321, + /* 1710 */ 321, 321, 321, 321, 42, 321, 130, 209, 321, 96, + /* 1720 */ 222, 321, 237, 321, 321, 321, 321, 149, 321, 321, + /* 1730 */ 378, 225, 232, 321, 21, 321, 321, 49, 321, 321, + /* 1740 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 1750 */ 321, 321, 51, 48, 317, 247, 328, 321, 321, 103, + /* 1760 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 493, + /* 1770 */ 321, 321, 321, 321, 96, 493, 321, 493, 321, 493, + /* 1780 */ 493, 321, 493, 321, 321, 321, 321, 493, 3, 493, + /* 1790 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 1800 */ 321, 321, 321, 319, 493, 321, 321, 117, 321, 248, + /* 1810 */ 82, 140, 124, 321, 321, 493, 321, 321, 321, 339, + /* 1820 */ 311, 321, 321, 348, 329, 321, 320, 321, 321, 493, + /* 1830 */ 321, 321, 321, 321, 321, 321, 319, 217, 360, 321, + /* 1840 */ 117, 321, 248, 82, 321, 124, 321, 321, 321, 321, + /* 1850 */ 321, 321, 339, 311, 321, 321, 348, 329, 319, 320, + /* 1860 */ 321, 321, 138, 321, 248, 90, 321, 124, 321, 321, + /* 1870 */ 321, 359, 321, 321, 339, 311, 321, 321, 348, 329, + /* 1880 */ 321, 320, 321, 321, 321, 321, 319, 321, 321, 321, + /* 1890 */ 138, 321, 248, 69, 321, 124, 321, 321, 321, 321, + /* 1900 */ 321, 321, 339, 311, 321, 321, 348, 329, 321, 320, + /* 1910 */ 321, 321, 319, 321, 321, 321, 138, 321, 248, 67, + /* 1920 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311, + /* 1930 */ 321, 321, 348, 329, 321, 320, 319, 321, 321, 321, + /* 1940 */ 138, 321, 248, 58, 321, 124, 321, 321, 321, 321, + /* 1950 */ 321, 321, 339, 311, 319, 321, 348, 329, 138, 320, + /* 1960 */ 248, 62, 321, 124, 321, 321, 321, 321, 321, 321, + /* 1970 */ 339, 311, 321, 321, 348, 329, 319, 320, 321, 321, + /* 1980 */ 138, 321, 248, 56, 321, 124, 321, 321, 321, 321, + /* 1990 */ 321, 321, 339, 311, 321, 321, 348, 329, 321, 320, + /* 2000 */ 321, 319, 321, 321, 321, 112, 321, 248, 71, 321, + /* 2010 */ 124, 321, 321, 321, 321, 321, 321, 339, 311, 319, + /* 2020 */ 321, 348, 329, 111, 320, 248, 81, 321, 124, 321, + /* 2030 */ 321, 321, 321, 321, 321, 339, 311, 319, 321, 348, + /* 2040 */ 329, 138, 320, 248, 74, 321, 124, 321, 321, 321, + /* 2050 */ 321, 321, 321, 339, 311, 321, 321, 348, 329, 319, + /* 2060 */ 320, 321, 321, 138, 321, 248, 91, 321, 124, 321, + /* 2070 */ 321, 321, 321, 321, 321, 339, 311, 321, 321, 348, + /* 2080 */ 329, 321, 320, 321, 319, 321, 321, 321, 138, 321, + /* 2090 */ 248, 64, 321, 124, 321, 321, 321, 321, 321, 321, + /* 2100 */ 339, 311, 319, 321, 348, 329, 138, 320, 248, 63, + /* 2110 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311, + /* 2120 */ 319, 321, 348, 329, 138, 320, 248, 83, 321, 124, + /* 2130 */ 321, 321, 321, 321, 321, 321, 339, 311, 321, 321, + /* 2140 */ 348, 329, 319, 320, 321, 321, 138, 321, 248, 79, + /* 2150 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311, + /* 2160 */ 321, 321, 348, 329, 321, 320, 321, 319, 321, 321, + /* 2170 */ 321, 138, 321, 248, 75, 321, 124, 321, 321, 321, + /* 2180 */ 321, 321, 321, 339, 311, 319, 321, 348, 329, 138, + /* 2190 */ 320, 248, 70, 321, 124, 321, 321, 321, 321, 321, + /* 2200 */ 321, 339, 311, 319, 321, 348, 329, 109, 320, 248, + /* 2210 */ 68, 321, 124, 321, 321, 321, 321, 321, 321, 339, + /* 2220 */ 311, 321, 321, 348, 329, 319, 320, 321, 321, 138, + /* 2230 */ 321, 248, 77, 321, 124, 321, 321, 321, 321, 321, + /* 2240 */ 321, 339, 311, 321, 321, 348, 329, 321, 320, 321, + /* 2250 */ 319, 321, 321, 321, 138, 321, 248, 73, 321, 124, + /* 2260 */ 321, 321, 321, 321, 321, 321, 339, 311, 319, 321, + /* 2270 */ 348, 329, 138, 320, 213, 65, 321, 124, 321, 321, + /* 2280 */ 321, 321, 321, 321, 339, 311, 319, 321, 348, 329, + /* 2290 */ 138, 320, 248, 86, 321, 124, 321, 321, 321, 321, + /* 2300 */ 321, 321, 339, 311, 321, 321, 348, 329, 319, 320, + /* 2310 */ 321, 321, 138, 321, 248, 88, 321, 124, 321, 321, + /* 2320 */ 321, 321, 321, 321, 339, 311, 321, 321, 348, 329, + /* 2330 */ 321, 320, 321, 319, 321, 321, 321, 93, 321, 120, + /* 2340 */ 59, 321, 116, 321, 321, 321, 321, 321, 321, 339, + /* 2350 */ 311, 319, 321, 348, 329, 138, 320, 248, 57, 321, + /* 2360 */ 124, 321, 321, 321, 321, 321, 321, 339, 311, 319, + /* 2370 */ 321, 348, 329, 138, 320, 248, 60, 321, 124, 321, + /* 2380 */ 321, 321, 321, 321, 321, 339, 311, 321, 321, 348, + /* 2390 */ 329, 319, 320, 321, 321, 138, 321, 248, 89, 321, + /* 2400 */ 124, 321, 321, 321, 321, 321, 321, 339, 311, 321, + /* 2410 */ 321, 348, 329, 321, 320, 321, 319, 321, 321, 321, + /* 2420 */ 138, 321, 248, 85, 321, 124, 321, 321, 321, 321, + /* 2430 */ 321, 321, 339, 311, 319, 321, 348, 329, 138, 320, + /* 2440 */ 248, 80, 321, 124, 321, 321, 321, 321, 321, 321, + /* 2450 */ 339, 311, 319, 321, 348, 329, 138, 320, 248, 84, + /* 2460 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311, + /* 2470 */ 321, 321, 348, 329, 319, 320, 321, 321, 138, 321, + /* 2480 */ 248, 66, 321, 124, 321, 321, 321, 321, 321, 321, + /* 2490 */ 339, 311, 321, 321, 348, 329, 321, 320, 321, 319, + /* 2500 */ 321, 321, 321, 138, 321, 248, 87, 321, 124, 321, + /* 2510 */ 321, 321, 321, 321, 321, 339, 311, 319, 321, 348, + /* 2520 */ 329, 93, 320, 118, 53, 321, 116, 321, 321, 321, + /* 2530 */ 321, 321, 321, 339, 311, 319, 321, 348, 329, 153, + /* 2540 */ 320, 248, 319, 321, 124, 321, 157, 321, 248, 321, + /* 2550 */ 321, 124, 326, 321, 321, 348, 329, 321, 320, 251, + /* 2560 */ 321, 321, 348, 329, 321, 320, ); static public $yy_lookahead = array( /* 0 */ 1, 81, 82, 83, 3, 4, 5, 6, 7, 8, - /* 10 */ 9, 10, 11, 12, 106, 16, 15, 95, 20, 50, - /* 20 */ 16, 22, 21, 56, 23, 56, 22, 58, 61, 28, - /* 30 */ 108, 62, 31, 32, 35, 36, 37, 38, 39, 40, - /* 40 */ 41, 42, 43, 44, 45, 46, 47, 48, 4, 5, - /* 50 */ 6, 7, 8, 49, 56, 16, 12, 13, 14, 61, - /* 60 */ 1, 22, 63, 64, 65, 66, 67, 68, 69, 70, - /* 70 */ 71, 72, 73, 74, 1, 16, 82, 106, 15, 20, - /* 80 */ 86, 18, 88, 89, 87, 91, 79, 80, 81, 82, - /* 90 */ 83, 114, 98, 99, 97, 22, 102, 103, 15, 105, - /* 100 */ 27, 18, 19, 92, 93, 108, 112, 114, 35, 36, + /* 10 */ 9, 10, 11, 12, 22, 16, 15, 19, 20, 16, + /* 20 */ 15, 22, 21, 18, 23, 22, 83, 22, 85, 28, + /* 30 */ 94, 15, 31, 32, 18, 30, 37, 38, 39, 40, + /* 40 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + /* 50 */ 4, 5, 6, 7, 8, 90, 58, 25, 12, 13, + /* 60 */ 14, 17, 63, 64, 65, 66, 67, 68, 69, 70, + /* 70 */ 71, 72, 73, 74, 1, 59, 82, 87, 113, 35, + /* 80 */ 86, 15, 88, 89, 18, 91, 15, 97, 16, 18, + /* 90 */ 19, 19, 98, 99, 22, 22, 102, 103, 108, 105, + /* 100 */ 27, 79, 80, 81, 82, 83, 112, 35, 76, 35, /* 110 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - /* 120 */ 47, 48, 59, 110, 15, 87, 16, 18, 90, 19, - /* 130 */ 15, 22, 22, 18, 19, 97, 63, 64, 65, 66, - /* 140 */ 67, 68, 69, 70, 71, 72, 73, 74, 1, 1, - /* 150 */ 82, 113, 87, 30, 86, 90, 88, 89, 15, 91, - /* 160 */ 50, 18, 97, 16, 16, 33, 98, 99, 58, 22, - /* 170 */ 102, 103, 49, 105, 59, 16, 25, 106, 113, 108, - /* 180 */ 112, 22, 35, 36, 37, 38, 39, 40, 41, 42, - /* 190 */ 43, 44, 45, 46, 47, 48, 15, 34, 16, 18, - /* 200 */ 19, 49, 59, 16, 22, 15, 25, 17, 18, 22, + /* 120 */ 47, 48, 49, 50, 34, 59, 15, 84, 17, 18, + /* 130 */ 58, 15, 58, 17, 18, 114, 63, 64, 65, 66, + /* 140 */ 67, 68, 69, 70, 71, 72, 73, 74, 1, 33, + /* 150 */ 82, 90, 62, 30, 86, 35, 88, 89, 35, 91, + /* 160 */ 92, 100, 101, 16, 1, 15, 98, 99, 18, 22, + /* 170 */ 102, 103, 22, 105, 113, 34, 56, 36, 58, 16, + /* 180 */ 30, 58, 62, 20, 37, 38, 39, 40, 41, 42, + /* 190 */ 43, 44, 45, 46, 47, 48, 49, 50, 16, 87, + /* 200 */ 19, 20, 90, 107, 22, 109, 110, 25, 1, 97, /* 210 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - /* 220 */ 73, 74, 1, 33, 82, 62, 16, 76, 86, 17, - /* 230 */ 88, 89, 22, 91, 92, 15, 49, 16, 18, 82, - /* 240 */ 98, 99, 22, 22, 102, 103, 15, 105, 17, 18, - /* 250 */ 30, 56, 107, 30, 109, 110, 35, 36, 37, 38, + /* 220 */ 73, 74, 1, 16, 82, 113, 87, 1, 86, 90, + /* 230 */ 88, 89, 16, 91, 1, 13, 97, 16, 22, 58, + /* 240 */ 98, 99, 16, 22, 102, 103, 15, 105, 22, 18, + /* 250 */ 19, 35, 113, 94, 112, 22, 25, 106, 37, 38, /* 260 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 270 */ 1, 16, 16, 50, 16, 118, 119, 22, 22, 88, - /* 280 */ 22, 58, 91, 25, 63, 64, 65, 66, 67, 68, - /* 290 */ 69, 70, 71, 72, 73, 74, 105, 16, 83, 90, - /* 300 */ 85, 34, 34, 22, 35, 36, 37, 38, 39, 40, - /* 310 */ 41, 42, 43, 44, 45, 46, 47, 48, 51, 51, - /* 320 */ 51, 16, 113, 19, 22, 19, 20, 22, 17, 18, - /* 330 */ 49, 18, 63, 64, 65, 66, 67, 68, 69, 70, - /* 340 */ 71, 72, 73, 74, 1, 82, 87, 90, 60, 86, - /* 350 */ 15, 88, 89, 18, 91, 50, 97, 100, 101, 16, - /* 360 */ 56, 98, 99, 58, 58, 102, 103, 108, 105, 50, - /* 370 */ 113, 60, 59, 109, 110, 112, 34, 58, 35, 36, - /* 380 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - /* 390 */ 47, 48, 1, 51, 16, 16, 16, 106, 90, 108, - /* 400 */ 22, 22, 22, 1, 25, 15, 63, 64, 65, 66, - /* 410 */ 67, 68, 69, 70, 71, 72, 73, 74, 16, 16, - /* 420 */ 15, 113, 60, 18, 22, 22, 35, 36, 37, 38, - /* 430 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 440 */ 50, 16, 87, 16, 50, 16, 25, 22, 16, 22, - /* 450 */ 2, 22, 97, 62, 63, 64, 65, 66, 67, 68, - /* 460 */ 69, 70, 71, 72, 73, 74, 1, 19, 113, 87, - /* 470 */ 87, 15, 17, 90, 18, 87, 18, 10, 22, 97, - /* 480 */ 97, 49, 15, 100, 101, 97, 30, 16, 21, 24, - /* 490 */ 23, 16, 18, 22, 22, 28, 113, 22, 31, 32, - /* 500 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - /* 510 */ 45, 46, 47, 48, 16, 87, 24, 16, 50, 15, - /* 520 */ 22, 16, 18, 22, 82, 97, 34, 22, 63, 64, - /* 530 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - /* 540 */ 1, 113, 75, 76, 77, 95, 16, 87, 16, 87, - /* 550 */ 1, 10, 22, 87, 22, 16, 15, 97, 108, 97, - /* 560 */ 16, 119, 21, 97, 23, 16, 22, 33, 108, 28, - /* 570 */ 108, 18, 31, 32, 35, 36, 37, 38, 39, 40, - /* 580 */ 41, 42, 43, 44, 45, 46, 47, 48, 1, 87, - /* 590 */ 104, 15, 17, 18, 18, 26, 2, 111, 20, 97, - /* 600 */ 1, 95, 63, 64, 65, 66, 67, 68, 69, 70, - /* 610 */ 71, 72, 73, 74, 108, 113, 75, 76, 77, 109, - /* 620 */ 110, 22, 35, 36, 37, 38, 39, 40, 41, 42, - /* 630 */ 43, 44, 45, 46, 47, 48, 58, 87, 51, 104, - /* 640 */ 15, 18, 16, 18, 2, 18, 111, 97, 22, 17, - /* 650 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - /* 660 */ 73, 74, 1, 82, 18, 95, 17, 86, 95, 88, - /* 670 */ 89, 52, 91, 96, 95, 95, 1, 16, 108, 98, - /* 680 */ 99, 108, 87, 102, 103, 108, 105, 108, 108, 18, - /* 690 */ 18, 16, 97, 62, 18, 17, 35, 36, 37, 38, - /* 700 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 710 */ 1, 2, 97, 113, 107, 20, 106, 1, 17, 108, - /* 720 */ 111, 22, 22, 95, 63, 64, 65, 66, 67, 68, - /* 730 */ 69, 70, 71, 72, 73, 74, 108, 92, 94, 2, - /* 740 */ 22, 94, 106, 13, 35, 36, 37, 38, 39, 40, - /* 750 */ 41, 42, 43, 44, 45, 46, 47, 48, 95, 120, - /* 760 */ 120, 84, 120, 115, 120, 120, 120, 120, 120, 120, - /* 770 */ 120, 108, 63, 64, 65, 66, 67, 68, 69, 70, - /* 780 */ 71, 72, 73, 74, 1, 120, 82, 95, 120, 120, - /* 790 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, - /* 800 */ 108, 120, 98, 99, 120, 22, 102, 103, 120, 105, - /* 810 */ 120, 120, 120, 120, 120, 120, 120, 120, 35, 36, - /* 820 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - /* 830 */ 47, 48, 1, 120, 120, 120, 120, 120, 120, 120, - /* 840 */ 120, 120, 120, 120, 120, 120, 63, 64, 65, 66, - /* 850 */ 67, 68, 69, 70, 71, 72, 73, 74, 120, 120, - /* 860 */ 120, 120, 120, 120, 120, 120, 35, 36, 37, 38, - /* 870 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 880 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - /* 890 */ 120, 120, 120, 120, 63, 64, 65, 66, 67, 68, - /* 900 */ 69, 70, 71, 72, 73, 74, 1, 76, 82, 120, - /* 910 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120, - /* 920 */ 120, 16, 120, 120, 98, 99, 120, 120, 102, 103, - /* 930 */ 120, 105, 120, 120, 120, 120, 120, 120, 120, 120, - /* 940 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - /* 950 */ 45, 46, 47, 48, 1, 120, 120, 120, 120, 120, - /* 960 */ 120, 120, 120, 120, 120, 120, 120, 120, 63, 64, - /* 970 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - /* 980 */ 120, 120, 29, 120, 120, 120, 120, 120, 35, 36, - /* 990 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - /* 1000 */ 47, 48, 1, 120, 120, 120, 120, 120, 120, 120, - /* 1010 */ 120, 120, 120, 120, 120, 120, 63, 64, 65, 66, - /* 1020 */ 67, 68, 69, 70, 71, 72, 73, 74, 120, 120, - /* 1030 */ 120, 120, 120, 120, 120, 120, 35, 36, 37, 38, - /* 1040 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 1050 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - /* 1060 */ 120, 120, 120, 120, 63, 64, 65, 66, 67, 68, - /* 1070 */ 69, 70, 71, 72, 73, 74, 35, 36, 37, 38, - /* 1080 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 1090 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - /* 1100 */ 120, 120, 120, 120, 63, 64, 65, 66, 67, 68, - /* 1110 */ 69, 70, 71, 72, 73, 74, 120, 120, 120, 120, - /* 1120 */ 15, 120, 17, 18, 120, 82, 21, 120, 23, 86, - /* 1130 */ 120, 88, 120, 28, 91, 120, 31, 32, 33, 120, - /* 1140 */ 120, 36, 99, 16, 120, 102, 103, 120, 105, 22, - /* 1150 */ 120, 120, 120, 120, 120, 50, 29, 120, 53, 54, - /* 1160 */ 55, 56, 57, 120, 120, 60, 61, 62, 120, 120, - /* 1170 */ 120, 15, 120, 17, 18, 120, 49, 21, 120, 23, - /* 1180 */ 75, 120, 120, 120, 28, 120, 120, 31, 32, 33, - /* 1190 */ 120, 120, 36, 120, 120, 120, 120, 120, 82, 120, - /* 1200 */ 120, 120, 86, 120, 88, 89, 50, 91, 120, 53, - /* 1210 */ 54, 55, 56, 57, 98, 99, 60, 61, 102, 103, - /* 1220 */ 120, 105, 15, 120, 17, 18, 120, 120, 21, 120, - /* 1230 */ 23, 75, 116, 117, 120, 28, 120, 120, 31, 32, - /* 1240 */ 33, 120, 120, 36, 120, 120, 120, 120, 120, 82, - /* 1250 */ 120, 120, 120, 86, 120, 88, 89, 50, 91, 120, - /* 1260 */ 53, 54, 55, 56, 57, 98, 99, 60, 61, 102, - /* 1270 */ 103, 120, 105, 15, 120, 17, 18, 120, 120, 21, - /* 1280 */ 120, 23, 75, 120, 117, 120, 28, 120, 120, 31, - /* 1290 */ 32, 33, 120, 120, 36, 120, 120, 120, 120, 120, - /* 1300 */ 82, 120, 120, 120, 86, 120, 88, 89, 50, 91, - /* 1310 */ 120, 53, 54, 55, 56, 57, 98, 99, 60, 61, - /* 1320 */ 102, 103, 120, 105, 15, 120, 17, 18, 120, 120, - /* 1330 */ 21, 120, 23, 75, 120, 120, 120, 28, 120, 120, - /* 1340 */ 31, 32, 33, 120, 120, 36, 120, 120, 120, 120, - /* 1350 */ 120, 82, 120, 120, 120, 86, 120, 88, 89, 50, - /* 1360 */ 91, 120, 53, 54, 55, 56, 57, 98, 99, 60, - /* 1370 */ 61, 102, 103, 120, 105, 15, 120, 17, 18, 120, - /* 1380 */ 120, 21, 120, 23, 75, 120, 120, 120, 28, 120, - /* 1390 */ 120, 31, 32, 33, 120, 120, 36, 120, 120, 120, - /* 1400 */ 120, 120, 82, 120, 120, 120, 86, 120, 88, 89, - /* 1410 */ 50, 91, 120, 53, 54, 55, 56, 57, 98, 99, - /* 1420 */ 60, 61, 102, 103, 120, 105, 15, 120, 17, 18, - /* 1430 */ 120, 120, 21, 120, 23, 75, 120, 120, 120, 28, - /* 1440 */ 120, 120, 31, 32, 33, 120, 120, 36, 120, 120, - /* 1450 */ 120, 120, 120, 82, 120, 120, 120, 86, 120, 88, - /* 1460 */ 89, 50, 91, 120, 53, 54, 55, 56, 57, 98, - /* 1470 */ 99, 60, 61, 102, 103, 120, 105, 15, 120, 17, - /* 1480 */ 18, 120, 120, 21, 120, 23, 75, 120, 120, 120, - /* 1490 */ 28, 120, 120, 31, 32, 33, 120, 120, 36, 120, - /* 1500 */ 120, 120, 120, 120, 82, 120, 120, 120, 86, 120, - /* 1510 */ 88, 89, 50, 91, 120, 53, 54, 55, 56, 57, - /* 1520 */ 98, 99, 60, 61, 102, 103, 120, 105, 15, 120, - /* 1530 */ 17, 18, 120, 120, 21, 120, 23, 75, 120, 120, - /* 1540 */ 120, 28, 120, 120, 31, 32, 33, 120, 120, 36, - /* 1550 */ 120, 120, 120, 120, 120, 82, 120, 120, 120, 86, - /* 1560 */ 120, 88, 89, 50, 91, 120, 53, 54, 55, 56, - /* 1570 */ 57, 98, 99, 60, 61, 102, 103, 120, 105, 15, - /* 1580 */ 120, 17, 18, 120, 120, 21, 120, 23, 75, 120, - /* 1590 */ 120, 120, 28, 120, 120, 31, 32, 33, 120, 120, - /* 1600 */ 36, 120, 120, 120, 120, 120, 82, 120, 120, 120, - /* 1610 */ 86, 120, 88, 89, 50, 91, 120, 53, 54, 55, - /* 1620 */ 56, 57, 98, 99, 60, 61, 102, 103, 120, 105, - /* 1630 */ 15, 120, 17, 18, 120, 120, 21, 120, 23, 75, - /* 1640 */ 120, 120, 120, 28, 120, 120, 31, 32, 33, 120, - /* 1650 */ 120, 36, 120, 120, 120, 120, 120, 82, 120, 120, - /* 1660 */ 120, 86, 120, 88, 89, 50, 91, 120, 53, 54, - /* 1670 */ 55, 56, 57, 98, 99, 60, 120, 102, 103, 120, - /* 1680 */ 105, 15, 120, 17, 18, 120, 120, 21, 120, 23, - /* 1690 */ 75, 120, 120, 120, 28, 120, 120, 31, 32, 33, - /* 1700 */ 16, 120, 36, 120, 120, 120, 22, 120, 24, 120, - /* 1710 */ 26, 27, 120, 29, 87, 120, 50, 90, 34, 53, - /* 1720 */ 54, 55, 56, 57, 97, 120, 60, 100, 101, 120, - /* 1730 */ 120, 120, 120, 49, 50, 51, 120, 120, 120, 120, - /* 1740 */ 113, 75, 58, 120, 120, 87, 62, 82, 90, 120, - /* 1750 */ 120, 86, 120, 88, 89, 97, 91, 120, 100, 101, - /* 1760 */ 76, 120, 120, 98, 99, 120, 120, 102, 103, 120, - /* 1770 */ 105, 113, 82, 120, 120, 120, 86, 120, 88, 89, - /* 1780 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, - /* 1790 */ 120, 120, 102, 103, 82, 105, 120, 120, 86, 120, - /* 1800 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, - /* 1810 */ 98, 99, 120, 120, 102, 103, 82, 105, 120, 120, - /* 1820 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, - /* 1830 */ 120, 120, 98, 99, 82, 120, 102, 103, 86, 105, - /* 1840 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, - /* 1850 */ 98, 99, 1, 120, 102, 103, 120, 105, 120, 82, - /* 1860 */ 120, 120, 120, 86, 120, 88, 89, 16, 91, 120, - /* 1870 */ 120, 20, 120, 22, 120, 98, 99, 82, 120, 102, - /* 1880 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120, - /* 1890 */ 120, 120, 120, 98, 99, 120, 120, 102, 103, 82, - /* 1900 */ 105, 50, 120, 86, 120, 88, 89, 120, 91, 58, - /* 1910 */ 120, 120, 120, 120, 120, 98, 99, 82, 120, 102, - /* 1920 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120, - /* 1930 */ 120, 120, 120, 98, 99, 120, 120, 102, 103, 120, - /* 1940 */ 105, 120, 82, 120, 120, 120, 86, 120, 88, 89, - /* 1950 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, - /* 1960 */ 82, 120, 102, 103, 86, 105, 88, 89, 120, 91, - /* 1970 */ 120, 120, 120, 120, 120, 120, 98, 99, 120, 120, - /* 1980 */ 102, 103, 82, 105, 120, 120, 86, 120, 88, 89, - /* 1990 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, - /* 2000 */ 82, 120, 102, 103, 86, 105, 88, 89, 120, 91, - /* 2010 */ 120, 120, 120, 120, 120, 120, 98, 99, 120, 120, - /* 2020 */ 102, 103, 120, 105, 120, 82, 120, 120, 120, 86, - /* 2030 */ 120, 88, 89, 120, 91, 120, 120, 120, 120, 120, - /* 2040 */ 120, 98, 99, 82, 120, 102, 103, 86, 105, 88, - /* 2050 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98, - /* 2060 */ 99, 120, 120, 102, 103, 82, 105, 120, 120, 86, - /* 2070 */ 120, 88, 89, 120, 91, 120, 120, 120, 120, 120, - /* 2080 */ 120, 98, 99, 82, 120, 102, 103, 86, 105, 88, - /* 2090 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98, - /* 2100 */ 99, 120, 120, 102, 103, 120, 105, 120, 82, 120, - /* 2110 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120, - /* 2120 */ 120, 120, 120, 120, 98, 99, 82, 120, 102, 103, - /* 2130 */ 86, 105, 88, 89, 120, 91, 120, 120, 120, 120, - /* 2140 */ 120, 120, 98, 99, 120, 120, 102, 103, 82, 105, - /* 2150 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120, - /* 2160 */ 120, 120, 120, 120, 98, 99, 82, 120, 102, 103, - /* 2170 */ 86, 105, 88, 89, 120, 91, 120, 120, 120, 120, - /* 2180 */ 120, 120, 98, 99, 120, 120, 102, 103, 120, 105, - /* 2190 */ 120, 82, 120, 120, 120, 86, 120, 88, 89, 120, - /* 2200 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82, - /* 2210 */ 120, 102, 103, 86, 105, 88, 89, 120, 91, 120, - /* 2220 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102, - /* 2230 */ 103, 82, 105, 120, 120, 86, 120, 88, 89, 120, - /* 2240 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82, - /* 2250 */ 120, 102, 103, 86, 105, 88, 82, 120, 91, 120, - /* 2260 */ 86, 120, 88, 120, 120, 91, 99, 120, 120, 102, - /* 2270 */ 103, 120, 105, 120, 82, 120, 102, 103, 86, 105, - /* 2280 */ 88, 82, 120, 91, 120, 86, 120, 88, 120, 120, - /* 2290 */ 91, 120, 120, 120, 102, 103, 120, 105, 120, 82, - /* 2300 */ 120, 102, 103, 86, 105, 88, 120, 120, 91, 82, - /* 2310 */ 120, 120, 120, 86, 120, 88, 120, 120, 91, 102, - /* 2320 */ 103, 120, 105, 120, 120, 120, 120, 120, 120, 102, - /* 2330 */ 103, 82, 105, 120, 120, 86, 120, 88, 82, 120, - /* 2340 */ 91, 120, 86, 120, 88, 120, 120, 91, 120, 120, - /* 2350 */ 87, 102, 103, 90, 105, 120, 120, 120, 102, 103, - /* 2360 */ 97, 105, 120, 100, 101, 87, 120, 87, 90, 120, - /* 2370 */ 90, 120, 120, 120, 120, 97, 113, 97, 100, 101, - /* 2380 */ 100, 101, 120, 120, 120, 120, 120, 120, 120, 120, - /* 2390 */ 120, 113, 120, 113, + /* 270 */ 49, 50, 1, 87, 58, 106, 90, 51, 15, 109, + /* 280 */ 110, 18, 19, 97, 63, 64, 65, 66, 67, 68, + /* 290 */ 69, 70, 71, 72, 73, 74, 82, 114, 16, 113, + /* 300 */ 1, 91, 92, 93, 22, 109, 110, 25, 37, 38, + /* 310 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + /* 320 */ 49, 50, 59, 15, 17, 19, 18, 17, 18, 30, + /* 330 */ 22, 20, 118, 119, 63, 64, 65, 66, 67, 68, + /* 340 */ 69, 70, 71, 72, 73, 74, 1, 76, 82, 34, + /* 350 */ 51, 36, 86, 24, 88, 89, 87, 91, 92, 1, + /* 360 */ 36, 16, 56, 34, 98, 99, 97, 56, 102, 103, + /* 370 */ 60, 105, 61, 16, 16, 16, 106, 108, 108, 22, + /* 380 */ 22, 22, 37, 38, 39, 40, 41, 42, 43, 44, + /* 390 */ 45, 46, 47, 48, 49, 50, 87, 16, 16, 16, + /* 400 */ 34, 16, 36, 22, 22, 22, 97, 22, 63, 64, + /* 410 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + /* 420 */ 1, 82, 113, 88, 87, 86, 91, 88, 89, 87, + /* 430 */ 91, 18, 15, 87, 97, 16, 87, 98, 99, 97, + /* 440 */ 105, 102, 103, 97, 105, 108, 97, 16, 16, 16, + /* 450 */ 108, 112, 35, 22, 22, 22, 37, 38, 39, 40, + /* 460 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + /* 470 */ 1, 87, 59, 16, 16, 15, 17, 18, 18, 22, + /* 480 */ 22, 97, 63, 64, 65, 66, 67, 68, 69, 70, + /* 490 */ 71, 72, 73, 74, 87, 56, 16, 113, 29, 16, + /* 500 */ 61, 106, 22, 108, 97, 22, 37, 38, 39, 40, + /* 510 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + /* 520 */ 113, 1, 16, 16, 16, 16, 91, 92, 22, 22, + /* 530 */ 22, 22, 63, 64, 65, 66, 67, 68, 69, 70, + /* 540 */ 71, 72, 73, 74, 24, 16, 16, 15, 104, 1, + /* 550 */ 18, 22, 22, 90, 2, 111, 90, 37, 38, 39, + /* 560 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + /* 570 */ 50, 19, 82, 35, 15, 18, 113, 18, 15, 113, + /* 580 */ 20, 18, 1, 63, 64, 65, 66, 67, 68, 69, + /* 590 */ 70, 71, 72, 73, 74, 1, 82, 16, 95, 51, + /* 600 */ 86, 15, 88, 89, 18, 91, 35, 1, 95, 119, + /* 610 */ 16, 108, 98, 99, 95, 87, 102, 103, 58, 105, + /* 620 */ 87, 108, 16, 2, 22, 97, 18, 108, 91, 92, + /* 630 */ 97, 37, 38, 39, 40, 41, 42, 43, 44, 45, + /* 640 */ 46, 47, 48, 49, 50, 1, 104, 17, 16, 26, + /* 650 */ 52, 25, 33, 111, 22, 60, 95, 63, 64, 65, + /* 660 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 108, + /* 670 */ 17, 19, 18, 18, 18, 17, 60, 18, 17, 22, + /* 680 */ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + /* 690 */ 46, 47, 48, 49, 50, 33, 56, 2, 18, 18, + /* 700 */ 18, 97, 1, 62, 20, 22, 107, 63, 64, 65, + /* 710 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 1, + /* 720 */ 1, 82, 22, 106, 96, 86, 95, 88, 89, 2, + /* 730 */ 91, 113, 95, 95, 110, 16, 108, 98, 99, 108, + /* 740 */ 22, 102, 103, 108, 105, 108, 108, 111, 106, 115, + /* 750 */ 120, 120, 120, 120, 120, 37, 38, 39, 40, 41, + /* 760 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, + /* 770 */ 51, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 780 */ 95, 63, 64, 65, 66, 67, 68, 69, 70, 71, + /* 790 */ 72, 73, 74, 108, 120, 120, 120, 120, 120, 120, + /* 800 */ 120, 120, 120, 120, 36, 37, 38, 39, 40, 41, + /* 810 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, + /* 820 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 830 */ 120, 63, 64, 65, 66, 67, 68, 69, 70, 71, + /* 840 */ 72, 73, 74, 120, 120, 120, 120, 120, 120, 120, + /* 850 */ 120, 120, 120, 120, 120, 37, 38, 39, 40, 41, + /* 860 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, + /* 870 */ 2, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 880 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + /* 890 */ 72, 73, 74, 120, 120, 120, 120, 120, 120, 120, + /* 900 */ 120, 120, 120, 120, 120, 37, 38, 39, 40, 41, + /* 910 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 120, + /* 920 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 930 */ 120, 63, 64, 65, 66, 67, 68, 69, 70, 71, + /* 940 */ 72, 73, 74, 1, 82, 120, 120, 120, 86, 120, + /* 950 */ 88, 89, 120, 91, 120, 95, 95, 120, 16, 120, + /* 960 */ 98, 99, 120, 120, 102, 103, 120, 105, 108, 108, + /* 970 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 37, + /* 980 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + /* 990 */ 48, 49, 50, 1, 120, 120, 120, 120, 120, 120, + /* 1000 */ 120, 120, 120, 120, 120, 63, 64, 65, 66, 67, + /* 1010 */ 68, 69, 70, 71, 72, 73, 74, 120, 120, 120, + /* 1020 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 37, + /* 1030 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + /* 1040 */ 48, 49, 50, 120, 120, 120, 120, 120, 120, 120, + /* 1050 */ 120, 120, 120, 120, 120, 63, 64, 65, 66, 67, + /* 1060 */ 68, 69, 70, 71, 72, 73, 74, 37, 38, 39, + /* 1070 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + /* 1080 */ 50, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 1090 */ 120, 120, 120, 63, 64, 65, 66, 67, 68, 69, + /* 1100 */ 70, 71, 72, 73, 74, 120, 120, 120, 120, 15, + /* 1110 */ 120, 17, 18, 120, 82, 21, 120, 23, 86, 120, + /* 1120 */ 88, 89, 28, 91, 120, 31, 32, 33, 120, 35, + /* 1130 */ 98, 99, 38, 120, 102, 103, 120, 105, 120, 120, + /* 1140 */ 120, 120, 120, 120, 120, 120, 120, 53, 54, 55, + /* 1150 */ 56, 57, 120, 82, 60, 61, 62, 86, 120, 88, + /* 1160 */ 120, 120, 91, 120, 15, 120, 17, 18, 120, 75, + /* 1170 */ 21, 120, 23, 102, 103, 120, 105, 28, 10, 120, + /* 1180 */ 31, 32, 33, 15, 35, 120, 120, 38, 120, 21, + /* 1190 */ 120, 23, 120, 120, 120, 120, 28, 120, 120, 31, + /* 1200 */ 32, 120, 53, 54, 55, 56, 57, 120, 82, 60, + /* 1210 */ 61, 120, 86, 120, 88, 120, 120, 91, 120, 15, + /* 1220 */ 87, 17, 18, 90, 75, 21, 120, 23, 102, 103, + /* 1230 */ 97, 105, 28, 100, 101, 31, 32, 33, 120, 35, + /* 1240 */ 120, 120, 38, 75, 76, 77, 113, 82, 1, 120, + /* 1250 */ 120, 86, 120, 88, 120, 120, 91, 53, 54, 55, + /* 1260 */ 56, 57, 120, 16, 60, 61, 120, 102, 103, 22, + /* 1270 */ 105, 120, 120, 120, 15, 120, 17, 18, 120, 75, + /* 1280 */ 21, 120, 23, 120, 120, 120, 120, 28, 10, 120, + /* 1290 */ 31, 32, 33, 15, 35, 120, 120, 38, 51, 21, + /* 1300 */ 120, 23, 120, 120, 120, 120, 28, 120, 120, 31, + /* 1310 */ 32, 120, 53, 54, 55, 56, 57, 120, 82, 60, + /* 1320 */ 61, 120, 86, 120, 88, 120, 120, 91, 120, 15, + /* 1330 */ 87, 17, 18, 90, 75, 21, 120, 23, 102, 103, + /* 1340 */ 97, 105, 28, 100, 101, 31, 32, 33, 120, 35, + /* 1350 */ 120, 120, 38, 75, 76, 77, 113, 82, 1, 120, + /* 1360 */ 120, 86, 120, 88, 120, 120, 91, 53, 54, 55, + /* 1370 */ 56, 57, 120, 16, 60, 61, 120, 102, 103, 22, + /* 1380 */ 105, 120, 120, 120, 15, 87, 17, 18, 90, 75, + /* 1390 */ 21, 120, 23, 120, 1, 97, 120, 28, 100, 101, + /* 1400 */ 31, 32, 33, 120, 35, 120, 120, 38, 51, 16, + /* 1410 */ 120, 113, 82, 20, 120, 22, 86, 120, 88, 120, + /* 1420 */ 120, 91, 53, 54, 55, 56, 57, 120, 35, 60, + /* 1430 */ 61, 120, 102, 103, 120, 105, 120, 120, 120, 15, + /* 1440 */ 87, 17, 18, 90, 75, 21, 120, 23, 120, 120, + /* 1450 */ 97, 58, 28, 100, 101, 31, 32, 33, 120, 35, + /* 1460 */ 120, 120, 38, 120, 120, 120, 113, 82, 120, 120, + /* 1470 */ 120, 86, 120, 88, 120, 120, 91, 53, 54, 55, + /* 1480 */ 56, 57, 120, 120, 60, 61, 120, 102, 103, 120, + /* 1490 */ 105, 120, 120, 120, 15, 87, 17, 18, 90, 75, + /* 1500 */ 21, 120, 23, 120, 120, 97, 120, 28, 100, 101, + /* 1510 */ 31, 32, 33, 120, 35, 120, 87, 38, 120, 90, + /* 1520 */ 120, 113, 120, 120, 120, 120, 97, 120, 120, 100, + /* 1530 */ 101, 120, 53, 54, 55, 56, 57, 120, 120, 60, + /* 1540 */ 61, 120, 113, 120, 120, 120, 120, 120, 120, 15, + /* 1550 */ 120, 17, 18, 1, 75, 21, 120, 23, 120, 120, + /* 1560 */ 120, 120, 28, 120, 120, 31, 32, 33, 16, 35, + /* 1570 */ 120, 120, 38, 120, 22, 120, 120, 120, 120, 120, + /* 1580 */ 120, 29, 120, 120, 120, 120, 120, 53, 54, 55, + /* 1590 */ 56, 57, 120, 120, 60, 61, 120, 120, 120, 120, + /* 1600 */ 120, 120, 120, 51, 15, 120, 17, 18, 120, 75, + /* 1610 */ 21, 120, 23, 120, 120, 120, 120, 28, 120, 120, + /* 1620 */ 31, 32, 33, 120, 35, 120, 120, 38, 120, 120, + /* 1630 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 1640 */ 120, 120, 53, 54, 55, 56, 57, 120, 120, 60, + /* 1650 */ 61, 120, 120, 120, 120, 120, 120, 120, 120, 15, + /* 1660 */ 120, 17, 18, 120, 75, 21, 120, 23, 120, 120, + /* 1670 */ 120, 120, 28, 120, 120, 31, 32, 33, 120, 35, + /* 1680 */ 120, 120, 38, 120, 120, 120, 120, 120, 120, 120, + /* 1690 */ 120, 120, 120, 120, 120, 120, 120, 53, 54, 55, + /* 1700 */ 56, 57, 120, 120, 60, 120, 120, 120, 120, 120, + /* 1710 */ 120, 120, 120, 120, 15, 120, 17, 18, 120, 75, + /* 1720 */ 21, 120, 23, 120, 120, 120, 120, 28, 120, 120, + /* 1730 */ 31, 32, 33, 120, 35, 120, 120, 38, 120, 120, + /* 1740 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 1750 */ 120, 120, 53, 54, 55, 56, 57, 120, 120, 60, + /* 1760 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 16, + /* 1770 */ 120, 120, 120, 120, 75, 22, 120, 24, 120, 26, + /* 1780 */ 27, 120, 29, 120, 120, 120, 120, 34, 35, 36, + /* 1790 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 1800 */ 120, 120, 120, 82, 51, 120, 120, 86, 120, 88, + /* 1810 */ 89, 58, 91, 120, 120, 62, 120, 120, 120, 98, + /* 1820 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 76, + /* 1830 */ 120, 120, 120, 120, 120, 120, 82, 116, 117, 120, + /* 1840 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, + /* 1850 */ 120, 120, 98, 99, 120, 120, 102, 103, 82, 105, + /* 1860 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120, + /* 1870 */ 120, 117, 120, 120, 98, 99, 120, 120, 102, 103, + /* 1880 */ 120, 105, 120, 120, 120, 120, 82, 120, 120, 120, + /* 1890 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, + /* 1900 */ 120, 120, 98, 99, 120, 120, 102, 103, 120, 105, + /* 1910 */ 120, 120, 82, 120, 120, 120, 86, 120, 88, 89, + /* 1920 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, + /* 1930 */ 120, 120, 102, 103, 120, 105, 82, 120, 120, 120, + /* 1940 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, + /* 1950 */ 120, 120, 98, 99, 82, 120, 102, 103, 86, 105, + /* 1960 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, + /* 1970 */ 98, 99, 120, 120, 102, 103, 82, 105, 120, 120, + /* 1980 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, + /* 1990 */ 120, 120, 98, 99, 120, 120, 102, 103, 120, 105, + /* 2000 */ 120, 82, 120, 120, 120, 86, 120, 88, 89, 120, + /* 2010 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82, + /* 2020 */ 120, 102, 103, 86, 105, 88, 89, 120, 91, 120, + /* 2030 */ 120, 120, 120, 120, 120, 98, 99, 82, 120, 102, + /* 2040 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120, + /* 2050 */ 120, 120, 120, 98, 99, 120, 120, 102, 103, 82, + /* 2060 */ 105, 120, 120, 86, 120, 88, 89, 120, 91, 120, + /* 2070 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102, + /* 2080 */ 103, 120, 105, 120, 82, 120, 120, 120, 86, 120, + /* 2090 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, + /* 2100 */ 98, 99, 82, 120, 102, 103, 86, 105, 88, 89, + /* 2110 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, + /* 2120 */ 82, 120, 102, 103, 86, 105, 88, 89, 120, 91, + /* 2130 */ 120, 120, 120, 120, 120, 120, 98, 99, 120, 120, + /* 2140 */ 102, 103, 82, 105, 120, 120, 86, 120, 88, 89, + /* 2150 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, + /* 2160 */ 120, 120, 102, 103, 120, 105, 120, 82, 120, 120, + /* 2170 */ 120, 86, 120, 88, 89, 120, 91, 120, 120, 120, + /* 2180 */ 120, 120, 120, 98, 99, 82, 120, 102, 103, 86, + /* 2190 */ 105, 88, 89, 120, 91, 120, 120, 120, 120, 120, + /* 2200 */ 120, 98, 99, 82, 120, 102, 103, 86, 105, 88, + /* 2210 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98, + /* 2220 */ 99, 120, 120, 102, 103, 82, 105, 120, 120, 86, + /* 2230 */ 120, 88, 89, 120, 91, 120, 120, 120, 120, 120, + /* 2240 */ 120, 98, 99, 120, 120, 102, 103, 120, 105, 120, + /* 2250 */ 82, 120, 120, 120, 86, 120, 88, 89, 120, 91, + /* 2260 */ 120, 120, 120, 120, 120, 120, 98, 99, 82, 120, + /* 2270 */ 102, 103, 86, 105, 88, 89, 120, 91, 120, 120, + /* 2280 */ 120, 120, 120, 120, 98, 99, 82, 120, 102, 103, + /* 2290 */ 86, 105, 88, 89, 120, 91, 120, 120, 120, 120, + /* 2300 */ 120, 120, 98, 99, 120, 120, 102, 103, 82, 105, + /* 2310 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120, + /* 2320 */ 120, 120, 120, 120, 98, 99, 120, 120, 102, 103, + /* 2330 */ 120, 105, 120, 82, 120, 120, 120, 86, 120, 88, + /* 2340 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98, + /* 2350 */ 99, 82, 120, 102, 103, 86, 105, 88, 89, 120, + /* 2360 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82, + /* 2370 */ 120, 102, 103, 86, 105, 88, 89, 120, 91, 120, + /* 2380 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102, + /* 2390 */ 103, 82, 105, 120, 120, 86, 120, 88, 89, 120, + /* 2400 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120, + /* 2410 */ 120, 102, 103, 120, 105, 120, 82, 120, 120, 120, + /* 2420 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, + /* 2430 */ 120, 120, 98, 99, 82, 120, 102, 103, 86, 105, + /* 2440 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, + /* 2450 */ 98, 99, 82, 120, 102, 103, 86, 105, 88, 89, + /* 2460 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, + /* 2470 */ 120, 120, 102, 103, 82, 105, 120, 120, 86, 120, + /* 2480 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, + /* 2490 */ 98, 99, 120, 120, 102, 103, 120, 105, 120, 82, + /* 2500 */ 120, 120, 120, 86, 120, 88, 89, 120, 91, 120, + /* 2510 */ 120, 120, 120, 120, 120, 98, 99, 82, 120, 102, + /* 2520 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120, + /* 2530 */ 120, 120, 120, 98, 99, 82, 120, 102, 103, 86, + /* 2540 */ 105, 88, 82, 120, 91, 120, 86, 120, 88, 120, + /* 2550 */ 120, 91, 99, 120, 120, 102, 103, 120, 105, 99, + /* 2560 */ 120, 120, 102, 103, 120, 105, ); - const YY_SHIFT_USE_DFLT = -34; - const YY_SHIFT_MAX = 233; + const YY_SHIFT_USE_DFLT = -9; + const YY_SHIFT_MAX = 250; static public $yy_shift_ofst = array( - /* 0 */ 1, 1309, 1309, 1156, 1360, 1156, 1156, 1105, 1156, 1156, - /* 10 */ 1156, 1462, 1513, 1156, 1156, 1564, 1156, 1156, 1156, 1156, - /* 20 */ 1513, 1156, 1156, 1411, 1156, 1156, 1156, 1156, 1156, 1156, - /* 30 */ 1156, 1156, 1156, 1156, 1207, 1156, 1156, 1156, 1156, 1411, - /* 40 */ 1156, 1156, 1258, 1258, 1666, 1666, 1615, 1666, 1666, 1666, - /* 50 */ 1666, 221, 73, 147, -1, 783, 783, 783, 953, 905, - /* 60 */ 831, 539, 709, 343, 269, 391, 661, 587, 465, 1001, - /* 70 */ 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, - /* 80 */ 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1041, 1041, 1851, - /* 90 */ 599, 1, 541, 456, 220, -2, 109, 402, 109, 311, - /* 100 */ 599, 599, 467, 44, 115, 181, 379, 306, 4, 143, - /* 110 */ 258, 59, 335, 335, 335, 405, 675, 576, 335, 578, - /* 120 */ 335, 575, 335, 335, 504, 405, 575, 626, 625, 335, - /* 130 */ 335, 695, 695, 701, 699, 700, 63, 83, 231, 425, - /* 140 */ 427, 475, 403, 471, 429, -33, 256, 182, 159, 39, - /* 150 */ 210, 380, 255, -33, 390, -33, 148, -33, 532, 530, - /* 160 */ 505, 501, 544, -33, 549, 378, 498, 716, 730, 695, - /* 170 */ 695, 468, 718, 718, 701, 737, 737, 695, -34, -34, - /* 180 */ -34, -34, 1684, 110, 1127, 190, -31, 305, 187, 281, - /* 190 */ 223, 304, 313, 123, 448, 268, 492, 267, 151, 319, - /* 200 */ 163, 342, 432, 319, 678, 642, 632, 594, 627, 132, - /* 210 */ 623, 646, 649, 676, 672, 671, 619, 631, 534, 553, - /* 220 */ 288, 362, 302, 195, 152, 212, 394, 468, 472, 421, - /* 230 */ 569, 458, 474, 455, + /* 0 */ 1, 1424, 1259, 1149, 1259, 1149, 1149, 1424, 1094, 1149, + /* 10 */ 1149, 1479, 1149, 1589, 1534, 1149, 1149, 1149, 1314, 1149, + /* 20 */ 1149, 1149, 1149, 1149, 1369, 1149, 1149, 1149, 1149, 1314, + /* 30 */ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + /* 40 */ 1149, 1149, 1369, 1149, 1204, 1204, 1644, 1699, 1699, 1699, + /* 50 */ 1699, 1699, 1699, 147, 221, -1, 73, 718, 718, 718, + /* 60 */ 768, 818, 644, 594, 345, 271, 419, 942, 469, 520, + /* 70 */ 868, 992, 992, 992, 992, 992, 992, 992, 992, 992, + /* 80 */ 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + /* 90 */ 1030, 1030, 1393, 1357, 233, 1, 1278, 150, 5, 308, + /* 100 */ 308, 311, 358, 310, 233, 44, 233, 1168, 46, 1552, + /* 110 */ 263, 1247, 226, 231, 71, 16, -2, 299, 182, 181, + /* 120 */ 282, 163, 719, 459, 560, 532, 44, 460, 559, 581, + /* 130 */ 460, 460, 460, 44, 563, 460, 632, 586, 548, 532, + /* 140 */ 459, 460, 460, 460, 460, 701, 701, 701, 683, 700, + /* 150 */ 701, 701, 701, 701, 684, 701, 684, -9, 66, 111, + /* 160 */ 3, 357, 359, 382, 381, 606, 439, 417, 509, 439, + /* 170 */ 439, 530, 508, 458, 207, 431, 480, 507, 506, 483, + /* 180 */ 439, 457, 432, 439, 529, 433, 385, 383, 727, 684, + /* 190 */ 701, 684, 727, 701, 684, 538, 222, -8, -8, -9, + /* 200 */ -9, -9, -9, 1753, 72, 116, 216, 120, 123, 74, + /* 210 */ 74, 141, 552, 32, 315, 306, 329, 90, 413, 366, + /* 220 */ 682, 616, 657, 659, 658, 655, 656, 661, 662, 641, + /* 230 */ 681, 680, 640, 695, 654, 652, 621, 602, 571, 557, + /* 240 */ 324, 538, 608, 307, 630, 595, 653, 619, 626, 623, + /* 250 */ 598, ); - const YY_REDUCE_USE_DFLT = -93; - const YY_REDUCE_MAX = 181; + const YY_REDUCE_USE_DFLT = -81; + const YY_REDUCE_MAX = 202; static public $yy_reduce_ofst = array( - /* 0 */ 7, 1116, 1167, 263, 142, 68, -6, 2084, 1575, 1218, - /* 10 */ 1320, 1961, 1817, 1473, 1835, 1795, 1752, 1777, 1860, 1878, - /* 20 */ 1943, 1918, 1900, 1734, 1712, 1269, 704, 826, 1371, 1422, - /* 30 */ 1690, 1665, 2001, 1524, 1983, 2149, 2109, 2066, 2127, 2044, - /* 40 */ 2026, 581, 2167, 1043, 2249, 2199, 2192, 2174, 2256, 2227, - /* 50 */ 2217, 383, 1658, 1627, 2263, 2278, 383, 2280, 257, 257, - /* 60 */ 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, - /* 70 */ 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, - /* 80 */ 257, 257, 257, 257, 257, 257, 257, 257, 257, 38, - /* 90 */ 65, -80, 157, 259, 460, 145, -3, 428, 462, 191, - /* 100 */ 355, 502, 442, 215, 291, 577, 466, 264, 550, 291, - /* 110 */ 466, 209, 573, 450, 580, 580, 308, 580, 628, 264, - /* 120 */ 663, 486, 506, 570, 579, 692, 535, 595, 580, 71, - /* 130 */ -78, 264, 510, 11, 388, 382, 611, 611, 609, 615, - /* 140 */ 615, 615, 615, 615, 615, 607, 615, 615, 615, 615, - /* 150 */ 615, 615, 615, 607, 610, 607, 600, 607, 615, 615, - /* 160 */ 615, 615, 615, 607, 600, 615, 615, 600, 677, 13, - /* 170 */ 13, 636, 644, 647, 645, 648, 648, 13, -29, -92, - /* 180 */ -23, -7, + /* 0 */ 22, 1721, 68, 339, 266, -6, 142, 1754, 862, 2020, + /* 10 */ 514, 1977, 1776, 2103, 1919, 1872, 1804, 1830, 2121, 2392, + /* 20 */ 2186, 2287, 2269, 2168, 2435, 2143, 639, 1955, 2085, 1937, + /* 30 */ 1032, 2060, 2038, 1894, 1854, 2002, 2352, 2417, 2370, 2334, + /* 40 */ 2204, 2226, 2251, 2309, 2460, 2453, 1071, 1126, 1275, 1385, + /* 50 */ 1330, 1236, 1165, 1353, 1408, 1243, 1429, 1298, 1133, 1353, + /* 60 */ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + /* 70 */ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + /* 80 */ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + /* 90 */ 61, 61, 186, 139, 112, -80, 214, -10, 342, 337, + /* 100 */ 269, 96, 309, 335, 384, 210, 407, 490, -57, -35, + /* 110 */ 270, -35, -35, 628, 270, 270, 170, -35, 528, 170, + /* 120 */ 528, 466, -35, 444, 170, 513, 435, 561, 519, 463, + /* 130 */ 519, 637, 395, 537, 861, 631, 533, 519, -35, 519, + /* 140 */ 542, 860, 685, 638, 503, -35, -35, -35, 346, 349, + /* 150 */ -35, -35, -35, -35, 170, -35, 196, -35, 635, 636, + /* 160 */ 604, 604, 604, 604, 604, 618, 599, 642, 604, 599, + /* 170 */ 599, 604, 604, 604, 618, 604, 604, 604, 604, 604, + /* 180 */ 599, 604, 604, 599, 604, 604, 604, 604, 634, 624, + /* 190 */ 618, 624, 634, 618, 624, 617, 43, -64, 159, 21, + /* 200 */ 169, 151, 183, ); static public $yyExpectedTokens = array( /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ), - /* 1 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 2 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 3 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 4 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 5 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 6 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 7 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 62, 75, ), - /* 8 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 9 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 10 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 11 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 12 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 13 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 14 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 15 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 16 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 17 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 18 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 19 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 20 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 21 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 22 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 23 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 24 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 25 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 26 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 27 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 28 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 29 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 30 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 31 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 32 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 33 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 34 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 35 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 36 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 37 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 38 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 39 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 40 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 41 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 42 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 43 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 44 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 45 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 46 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 47 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 48 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 49 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 50 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 51 */ array(1, 16, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 52 */ array(1, 22, 27, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 53 */ array(1, 16, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 54 */ array(1, 16, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 55 */ array(1, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 56 */ array(1, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 57 */ array(1, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 58 */ array(1, 29, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 59 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 60 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, ), - /* 61 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 62 */ array(1, 2, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 63 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 64 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 65 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 66 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 67 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 68 */ array(1, 24, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 69 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 70 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 71 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 72 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 73 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 74 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 75 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 76 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 77 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 78 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 79 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 80 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 81 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 82 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 83 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 84 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 85 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 86 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 87 */ array(35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 88 */ array(35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 89 */ array(1, 16, 20, 22, 50, 58, ), - /* 90 */ array(1, 22, ), - /* 91 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ), - /* 92 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ), - /* 93 */ array(15, 18, 22, 30, ), - /* 94 */ array(15, 18, 22, 30, ), - /* 95 */ array(20, 56, 61, ), - /* 96 */ array(15, 18, 22, ), - /* 97 */ array(1, 16, 22, ), - /* 98 */ array(15, 18, 22, ), - /* 99 */ array(17, 18, 60, ), - /* 100 */ array(1, 22, ), - /* 101 */ array(1, 22, ), - /* 102 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ), - /* 103 */ array(4, 5, 6, 7, 8, 12, 13, 14, ), - /* 104 */ array(15, 18, 19, 59, ), - /* 105 */ array(15, 18, 19, 25, ), - /* 106 */ array(16, 22, 25, ), - /* 107 */ array(19, 20, 58, ), - /* 108 */ array(16, 22, 49, ), - /* 109 */ array(15, 18, 59, ), - /* 110 */ array(16, 22, 25, ), - /* 111 */ array(1, 16, 20, ), - /* 112 */ array(15, 18, ), - /* 113 */ array(15, 18, ), - /* 114 */ array(15, 18, ), - /* 115 */ array(15, 18, ), - /* 116 */ array(1, 16, ), - /* 117 */ array(15, 18, ), - /* 118 */ array(15, 18, ), - /* 119 */ array(20, 58, ), - /* 120 */ array(15, 18, ), - /* 121 */ array(17, 18, ), - /* 122 */ array(15, 18, ), - /* 123 */ array(15, 18, ), - /* 124 */ array(15, 18, ), + /* 1 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 2 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 3 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 4 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 5 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 6 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 7 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 8 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 62, 75, ), + /* 9 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 10 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 11 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 12 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 13 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 14 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 15 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 16 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 17 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 18 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 19 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 20 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 21 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 22 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 23 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 24 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 25 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 26 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 27 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 28 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 29 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 30 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 31 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 32 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 33 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 34 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 35 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 36 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 37 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 38 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 39 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 40 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 41 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 42 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 43 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 44 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 45 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 46 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 47 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 48 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 49 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 50 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 51 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 52 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 53 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 54 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 55 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 56 */ array(1, 22, 27, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 57 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 58 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 59 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 60 */ array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 61 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 62 */ array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 63 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 64 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 65 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, ), + /* 66 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 67 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 68 */ array(1, 29, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 69 */ array(1, 24, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 70 */ array(1, 2, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 71 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 72 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 73 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 74 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 75 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 76 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 77 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 78 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 79 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 80 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 81 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 82 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 83 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 84 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 85 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 86 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 87 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 88 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 89 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 90 */ array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 91 */ array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 92 */ array(1, 16, 20, 22, 35, 58, ), + /* 93 */ array(1, 16, 22, 51, ), + /* 94 */ array(1, 22, ), + /* 95 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ), + /* 96 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ), + /* 97 */ array(15, 18, 22, 30, ), + /* 98 */ array(15, 18, 22, 30, ), + /* 99 */ array(15, 18, 22, ), + /* 100 */ array(15, 18, 22, ), + /* 101 */ array(20, 56, 61, ), + /* 102 */ array(1, 16, 22, ), + /* 103 */ array(17, 18, 60, ), + /* 104 */ array(1, 22, ), + /* 105 */ array(17, 35, ), + /* 106 */ array(1, 22, ), + /* 107 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ), + /* 108 */ array(4, 5, 6, 7, 8, 12, 13, 14, ), + /* 109 */ array(1, 16, 22, 29, 51, ), + /* 110 */ array(15, 18, 19, 59, ), + /* 111 */ array(1, 16, 22, 51, ), + /* 112 */ array(1, 16, 22, 51, ), + /* 113 */ array(15, 18, 19, 25, ), + /* 114 */ array(15, 18, 19, ), + /* 115 */ array(15, 18, 59, ), + /* 116 */ array(19, 20, 58, ), + /* 117 */ array(1, 30, 51, ), + /* 118 */ array(16, 22, 25, ), + /* 119 */ array(19, 20, 58, ), + /* 120 */ array(16, 22, 25, ), + /* 121 */ array(1, 16, 20, ), + /* 122 */ array(1, 16, 51, ), + /* 123 */ array(17, 18, ), + /* 124 */ array(20, 58, ), /* 125 */ array(15, 18, ), - /* 126 */ array(17, 18, ), - /* 127 */ array(16, 22, ), + /* 126 */ array(17, 35, ), + /* 127 */ array(15, 18, ), /* 128 */ array(15, 18, ), - /* 129 */ array(15, 18, ), + /* 129 */ array(1, 16, ), /* 130 */ array(15, 18, ), - /* 131 */ array(20, ), - /* 132 */ array(20, ), - /* 133 */ array(17, ), - /* 134 */ array(22, ), - /* 135 */ array(22, ), - /* 136 */ array(15, 18, 59, ), - /* 137 */ array(15, 18, 19, ), - /* 138 */ array(15, 17, 18, ), - /* 139 */ array(16, 22, ), - /* 140 */ array(16, 22, ), - /* 141 */ array(16, 22, ), - /* 142 */ array(16, 22, ), - /* 143 */ array(16, 22, ), - /* 144 */ array(16, 22, ), - /* 145 */ array(56, 61, ), - /* 146 */ array(16, 22, ), - /* 147 */ array(16, 22, ), - /* 148 */ array(16, 22, ), - /* 149 */ array(16, 22, ), - /* 150 */ array(16, 22, ), - /* 151 */ array(16, 22, ), - /* 152 */ array(16, 22, ), - /* 153 */ array(56, 61, ), - /* 154 */ array(15, 50, ), - /* 155 */ array(56, 61, ), - /* 156 */ array(1, 16, ), - /* 157 */ array(56, 61, ), - /* 158 */ array(16, 22, ), - /* 159 */ array(16, 22, ), + /* 131 */ array(15, 18, ), + /* 132 */ array(15, 18, ), + /* 133 */ array(17, 35, ), + /* 134 */ array(15, 18, ), + /* 135 */ array(15, 18, ), + /* 136 */ array(16, 22, ), + /* 137 */ array(15, 18, ), + /* 138 */ array(1, 51, ), + /* 139 */ array(15, 18, ), + /* 140 */ array(17, 18, ), + /* 141 */ array(15, 18, ), + /* 142 */ array(15, 18, ), + /* 143 */ array(15, 18, ), + /* 144 */ array(15, 18, ), + /* 145 */ array(1, ), + /* 146 */ array(1, ), + /* 147 */ array(1, ), + /* 148 */ array(22, ), + /* 149 */ array(22, ), + /* 150 */ array(1, ), + /* 151 */ array(1, ), + /* 152 */ array(1, ), + /* 153 */ array(1, ), + /* 154 */ array(20, ), + /* 155 */ array(1, ), + /* 156 */ array(20, ), + /* 157 */ array(), + /* 158 */ array(15, 18, 59, ), + /* 159 */ array(15, 17, 18, ), /* 160 */ array(16, 22, ), /* 161 */ array(16, 22, ), /* 162 */ array(16, 22, ), - /* 163 */ array(56, 61, ), - /* 164 */ array(1, 16, ), - /* 165 */ array(16, 22, ), - /* 166 */ array(16, 22, ), - /* 167 */ array(1, ), - /* 168 */ array(13, ), - /* 169 */ array(20, ), - /* 170 */ array(20, ), - /* 171 */ array(50, ), - /* 172 */ array(22, ), - /* 173 */ array(22, ), - /* 174 */ array(17, ), - /* 175 */ array(2, ), - /* 176 */ array(2, ), - /* 177 */ array(20, ), - /* 178 */ array(), - /* 179 */ array(), - /* 180 */ array(), - /* 181 */ array(), - /* 182 */ array(16, 22, 24, 26, 27, 29, 34, 49, 50, 51, 58, 62, 76, ), - /* 183 */ array(16, 19, 22, 50, 58, ), - /* 184 */ array(16, 22, 29, 49, ), - /* 185 */ array(15, 17, 18, 33, ), - /* 186 */ array(50, 56, 58, 62, ), - /* 187 */ array(16, 22, 50, 58, ), - /* 188 */ array(16, 22, 49, ), - /* 189 */ array(16, 22, 49, ), - /* 190 */ array(30, 50, 58, ), - /* 191 */ array(19, 56, ), - /* 192 */ array(18, 59, ), - /* 193 */ array(30, 49, ), - /* 194 */ array(2, 19, ), - /* 195 */ array(34, 51, ), - /* 196 */ array(24, 34, ), - /* 197 */ array(34, 51, ), - /* 198 */ array(25, 76, ), - /* 199 */ array(50, 58, ), - /* 200 */ array(34, 62, ), - /* 201 */ array(34, 51, ), - /* 202 */ array(16, 49, ), - /* 203 */ array(50, 58, ), - /* 204 */ array(17, ), - /* 205 */ array(2, ), - /* 206 */ array(17, ), - /* 207 */ array(2, ), - /* 208 */ array(18, ), - /* 209 */ array(33, ), - /* 210 */ array(18, ), - /* 211 */ array(18, ), - /* 212 */ array(17, ), - /* 213 */ array(18, ), - /* 214 */ array(18, ), - /* 215 */ array(18, ), - /* 216 */ array(52, ), - /* 217 */ array(62, ), - /* 218 */ array(33, ), - /* 219 */ array(18, ), - /* 220 */ array(60, ), + /* 163 */ array(16, 22, ), + /* 164 */ array(16, 22, ), + /* 165 */ array(1, 16, ), + /* 166 */ array(56, 61, ), + /* 167 */ array(15, 35, ), + /* 168 */ array(16, 22, ), + /* 169 */ array(56, 61, ), + /* 170 */ array(56, 61, ), + /* 171 */ array(16, 22, ), + /* 172 */ array(16, 22, ), + /* 173 */ array(16, 22, ), + /* 174 */ array(1, 16, ), + /* 175 */ array(16, 22, ), + /* 176 */ array(16, 22, ), + /* 177 */ array(16, 22, ), + /* 178 */ array(16, 22, ), + /* 179 */ array(16, 22, ), + /* 180 */ array(56, 61, ), + /* 181 */ array(16, 22, ), + /* 182 */ array(16, 22, ), + /* 183 */ array(56, 61, ), + /* 184 */ array(16, 22, ), + /* 185 */ array(16, 22, ), + /* 186 */ array(16, 22, ), + /* 187 */ array(16, 22, ), + /* 188 */ array(2, ), + /* 189 */ array(20, ), + /* 190 */ array(1, ), + /* 191 */ array(20, ), + /* 192 */ array(2, ), + /* 193 */ array(1, ), + /* 194 */ array(20, ), + /* 195 */ array(35, ), + /* 196 */ array(13, ), + /* 197 */ array(22, ), + /* 198 */ array(22, ), + /* 199 */ array(), + /* 200 */ array(), + /* 201 */ array(), + /* 202 */ array(), + /* 203 */ array(16, 22, 24, 26, 27, 29, 34, 35, 36, 51, 58, 62, 76, ), + /* 204 */ array(16, 19, 22, 35, 58, ), + /* 205 */ array(15, 17, 18, 33, ), + /* 206 */ array(16, 22, 35, 58, ), + /* 207 */ array(35, 56, 58, 62, ), + /* 208 */ array(30, 35, 58, ), + /* 209 */ array(35, 58, ), + /* 210 */ array(35, 58, ), + /* 211 */ array(34, 36, ), + /* 212 */ array(2, 19, ), + /* 213 */ array(25, 76, ), + /* 214 */ array(34, 36, ), + /* 215 */ array(19, 56, ), + /* 216 */ array(24, 34, ), + /* 217 */ array(34, 62, ), + /* 218 */ array(18, 59, ), + /* 219 */ array(34, 36, ), + /* 220 */ array(18, ), /* 221 */ array(60, ), /* 222 */ array(22, ), - /* 223 */ array(56, ), - /* 224 */ array(49, ), - /* 225 */ array(17, ), - /* 226 */ array(50, ), - /* 227 */ array(50, ), - /* 228 */ array(22, ), - /* 229 */ array(25, ), - /* 230 */ array(26, ), + /* 223 */ array(18, ), + /* 224 */ array(17, ), + /* 225 */ array(18, ), + /* 226 */ array(18, ), + /* 227 */ array(17, ), + /* 228 */ array(33, ), + /* 229 */ array(62, ), + /* 230 */ array(18, ), /* 231 */ array(18, ), - /* 232 */ array(18, ), - /* 233 */ array(17, ), - /* 234 */ array(), - /* 235 */ array(), - /* 236 */ array(), - /* 237 */ array(), - /* 238 */ array(), - /* 239 */ array(), - /* 240 */ array(), - /* 241 */ array(), - /* 242 */ array(), - /* 243 */ array(), - /* 244 */ array(), - /* 245 */ array(), - /* 246 */ array(), - /* 247 */ array(), - /* 248 */ array(), - /* 249 */ array(), - /* 250 */ array(), + /* 232 */ array(56, ), + /* 233 */ array(2, ), + /* 234 */ array(18, ), + /* 235 */ array(19, ), + /* 236 */ array(2, ), + /* 237 */ array(22, ), + /* 238 */ array(35, ), + /* 239 */ array(18, ), + /* 240 */ array(36, ), + /* 241 */ array(35, ), + /* 242 */ array(18, ), + /* 243 */ array(17, ), + /* 244 */ array(17, ), + /* 245 */ array(60, ), + /* 246 */ array(17, ), + /* 247 */ array(33, ), + /* 248 */ array(25, ), + /* 249 */ array(26, ), + /* 250 */ array(52, ), /* 251 */ array(), /* 252 */ array(), /* 253 */ array(), @@ -1130,80 +1168,90 @@ static public $yy_action = array( /* 371 */ array(), /* 372 */ array(), /* 373 */ array(), + /* 374 */ array(), + /* 375 */ array(), + /* 376 */ array(), + /* 377 */ array(), + /* 378 */ array(), + /* 379 */ array(), + /* 380 */ array(), + /* 381 */ array(), + /* 382 */ array(), ); static public $yy_default = array( - /* 0 */ 377, 553, 570, 524, 570, 524, 524, 570, 570, 570, - /* 10 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - /* 20 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - /* 30 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - /* 40 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - /* 50 */ 570, 570, 435, 570, 570, 435, 435, 435, 440, 570, - /* 60 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 437, - /* 70 */ 442, 445, 523, 522, 554, 454, 419, 467, 462, 459, - /* 80 */ 466, 555, 458, 457, 440, 556, 463, 470, 471, 482, - /* 90 */ 435, 374, 570, 435, 435, 536, 435, 453, 435, 570, - /* 100 */ 435, 435, 570, 570, 497, 570, 472, 490, 446, 497, - /* 110 */ 472, 570, 570, 570, 570, 570, 570, 570, 570, 490, - /* 120 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 497, - /* 130 */ 570, 490, 533, 570, 435, 435, 498, 570, 570, 570, - /* 140 */ 570, 570, 570, 570, 570, 515, 570, 570, 570, 570, - /* 150 */ 570, 570, 570, 514, 497, 517, 570, 516, 570, 570, - /* 160 */ 570, 570, 570, 495, 570, 570, 570, 453, 392, 534, - /* 170 */ 537, 497, 569, 569, 570, 526, 525, 511, 497, 497, - /* 180 */ 530, 530, 448, 482, 446, 570, 482, 482, 446, 446, - /* 190 */ 482, 478, 570, 446, 509, 570, 570, 570, 472, 482, - /* 200 */ 570, 570, 446, 468, 570, 509, 570, 509, 570, 480, - /* 210 */ 570, 570, 570, 570, 570, 570, 484, 570, 570, 570, - /* 220 */ 570, 570, 570, 478, 446, 570, 535, 509, 570, 472, - /* 230 */ 443, 570, 570, 570, 519, 469, 416, 509, 417, 542, - /* 240 */ 531, 422, 477, 449, 532, 543, 428, 520, 484, 376, - /* 250 */ 461, 503, 375, 505, 546, 460, 425, 544, 431, 508, - /* 260 */ 545, 504, 506, 502, 432, 529, 538, 464, 539, 384, - /* 270 */ 381, 540, 383, 434, 430, 444, 568, 382, 450, 420, - /* 280 */ 427, 424, 378, 474, 385, 510, 465, 386, 473, 541, - /* 290 */ 429, 380, 421, 476, 426, 379, 475, 547, 398, 406, - /* 300 */ 499, 405, 489, 507, 492, 399, 407, 397, 414, 409, - /* 310 */ 410, 496, 512, 396, 486, 408, 565, 404, 513, 456, - /* 320 */ 400, 455, 528, 433, 527, 401, 418, 483, 501, 403, - /* 330 */ 500, 485, 451, 402, 564, 491, 411, 487, 452, 521, - /* 340 */ 390, 551, 550, 391, 552, 549, 481, 493, 494, 388, - /* 350 */ 479, 518, 389, 548, 415, 393, 423, 558, 559, 557, - /* 360 */ 412, 448, 413, 447, 395, 394, 567, 560, 488, 566, - /* 370 */ 563, 562, 561, 387, + /* 0 */ 386, 565, 582, 536, 582, 536, 536, 582, 582, 582, + /* 10 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + /* 20 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + /* 30 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + /* 40 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + /* 50 */ 582, 582, 582, 582, 582, 582, 444, 444, 444, 444, + /* 60 */ 582, 582, 582, 582, 582, 582, 582, 582, 449, 582, + /* 70 */ 582, 446, 535, 428, 534, 566, 567, 478, 477, 468, + /* 80 */ 465, 449, 568, 455, 469, 474, 473, 470, 454, 451, + /* 90 */ 482, 481, 493, 457, 444, 383, 582, 444, 444, 444, + /* 100 */ 444, 548, 464, 582, 444, 582, 444, 582, 582, 457, + /* 110 */ 509, 457, 457, 582, 509, 509, 502, 457, 483, 502, + /* 120 */ 483, 582, 457, 582, 502, 582, 582, 582, 582, 582, + /* 130 */ 582, 582, 509, 582, 582, 582, 582, 582, 457, 582, + /* 140 */ 582, 582, 582, 582, 582, 480, 461, 484, 444, 444, + /* 150 */ 486, 485, 462, 467, 502, 460, 545, 543, 510, 582, + /* 160 */ 582, 582, 582, 582, 582, 582, 527, 509, 582, 526, + /* 170 */ 529, 582, 582, 582, 582, 582, 582, 582, 582, 582, + /* 180 */ 507, 582, 582, 528, 582, 582, 582, 582, 537, 523, + /* 190 */ 501, 546, 538, 464, 549, 509, 401, 581, 581, 542, + /* 200 */ 509, 509, 542, 459, 493, 582, 493, 493, 493, 493, + /* 210 */ 479, 582, 521, 483, 582, 489, 582, 582, 582, 582, + /* 220 */ 582, 582, 582, 582, 582, 582, 582, 582, 491, 582, + /* 230 */ 582, 582, 489, 521, 582, 582, 521, 582, 547, 582, + /* 240 */ 582, 521, 582, 582, 582, 582, 582, 582, 483, 452, + /* 250 */ 495, 544, 514, 516, 515, 518, 495, 531, 532, 409, + /* 260 */ 395, 431, 394, 425, 396, 430, 398, 456, 397, 426, + /* 270 */ 393, 387, 385, 384, 388, 389, 392, 391, 390, 399, + /* 280 */ 400, 435, 442, 436, 410, 423, 424, 441, 443, 522, + /* 290 */ 408, 407, 404, 403, 402, 405, 453, 429, 580, 406, + /* 300 */ 440, 573, 558, 559, 560, 561, 557, 556, 553, 554, + /* 310 */ 555, 463, 492, 540, 539, 411, 525, 488, 490, 500, + /* 320 */ 504, 552, 551, 508, 503, 459, 466, 499, 496, 497, + /* 330 */ 511, 471, 472, 498, 513, 550, 512, 476, 519, 458, + /* 340 */ 475, 576, 487, 575, 578, 579, 572, 574, 494, 434, + /* 350 */ 570, 571, 433, 562, 530, 505, 506, 427, 533, 564, + /* 360 */ 563, 432, 569, 421, 415, 416, 439, 414, 541, 412, + /* 370 */ 413, 577, 438, 417, 521, 422, 520, 420, 437, 524, + /* 380 */ 418, 419, 517, ); const YYNOCODE = 121; const YYSTACKDEPTH = 100; - const YYNSTATE = 374; - const YYNRULE = 196; + const YYNSTATE = 383; + const YYNRULE = 199; const YYERRORSYMBOL = 78; const YYERRSYMDT = 'yy0'; const YYFALLBACK = 0; - static public $yyFallback = array( - ); - static function Trace($TraceFILE, $zTracePrompt) - { - if (!$TraceFILE) { - $zTracePrompt = 0; - } elseif (!$zTracePrompt) { - $TraceFILE = 0; - } - self::$yyTraceFILE = $TraceFILE; - self::$yyTracePrompt = $zTracePrompt; - } - - static function PrintTrace() - { - self::$yyTraceFILE = fopen('php://output', 'w'); - self::$yyTracePrompt = '
'; - } - - static public $yyTraceFILE; - static public $yyTracePrompt; - public $yyidx; /* Index of top element in stack */ - public $yyerrcnt; /* Shifts left before out of the error */ - public $yystack = array(); /* The parser's stack */ - - public $yyTokenName = array( + static public $yyFallback = array( + ); + static function Trace($TraceFILE, $zTracePrompt) + { + if (!$TraceFILE) { + $zTracePrompt = 0; + } elseif (!$zTracePrompt) { + $TraceFILE = 0; + } + self::$yyTraceFILE = $TraceFILE; + self::$yyTracePrompt = $zTracePrompt; + } + + static function PrintTrace() + { + self::$yyTraceFILE = fopen('php://output', 'w'); + self::$yyTracePrompt = '
'; + } + + static public $yyTraceFILE; + static public $yyTracePrompt; + public $yyidx; /* Index of top element in stack */ + public $yyerrcnt; /* Shifts left before out of the error */ + public $yystack = array(); /* The parser's stack */ + + public $yyTokenName = array( '$', 'VERT', 'COLON', 'COMMENT', 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG', 'ASPENDTAG', 'FAKEPHPSTARTTAG', 'XMLTAG', 'OTHER', 'LINEBREAK', @@ -1212,11 +1260,11 @@ static public $yy_action = array( 'PTR', 'LDELIF', 'SPACE', 'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO', 'STEP', 'LDELFOREACH', 'AS', 'APTR', 'SMARTYBLOCKCHILD', - 'LDELSLASH', 'INTEGER', 'COMMA', 'MATH', - 'UNIMATH', 'ANDSYM', 'ISIN', 'ISDIVBY', - 'ISNOTDIVBY', 'ISEVEN', 'ISNOTEVEN', 'ISEVENBY', - 'ISNOTEVENBY', 'ISODD', 'ISNOTODD', 'ISODDBY', - 'ISNOTODDBY', 'INSTANCEOF', 'OPENP', 'CLOSEP', + 'LDELSLASH', 'INTEGER', 'COMMA', 'OPENP', + 'CLOSEP', 'MATH', 'UNIMATH', 'ANDSYM', + 'ISIN', 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN', + 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', 'ISODD', + 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF', 'QMARK', 'NOT', 'TYPECAST', 'HEX', 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT', 'HATCH', 'OPENB', 'CLOSEB', 'EQUALS', @@ -1234,9 +1282,9 @@ static public $yy_action = array( 'varvarele', 'objectchain', 'objectelement', 'method', 'params', 'modifier', 'modparameters', 'modparameter', 'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent', - ); - - static public $yyRuleName = array( + ); + + static public $yyRuleName = array( /* 0 */ "start ::= template", /* 1 */ "template ::= template_element", /* 2 */ "template ::= template template_element", @@ -1309,410 +1357,413 @@ static public $yy_action = array( /* 69 */ "statements ::= statement", /* 70 */ "statements ::= statements COMMA statement", /* 71 */ "statement ::= DOLLAR varvar EQUAL expr", - /* 72 */ "expr ::= value", - /* 73 */ "expr ::= ternary", - /* 74 */ "expr ::= DOLLAR ID COLON ID", - /* 75 */ "expr ::= expr MATH value", - /* 76 */ "expr ::= expr UNIMATH value", - /* 77 */ "expr ::= expr ANDSYM value", - /* 78 */ "expr ::= array", - /* 79 */ "expr ::= expr modifierlist", - /* 80 */ "expr ::= expr ifcond expr", - /* 81 */ "expr ::= expr ISIN array", - /* 82 */ "expr ::= expr ISIN value", - /* 83 */ "expr ::= expr lop expr", - /* 84 */ "expr ::= expr ISDIVBY expr", - /* 85 */ "expr ::= expr ISNOTDIVBY expr", - /* 86 */ "expr ::= expr ISEVEN", - /* 87 */ "expr ::= expr ISNOTEVEN", - /* 88 */ "expr ::= expr ISEVENBY expr", - /* 89 */ "expr ::= expr ISNOTEVENBY expr", - /* 90 */ "expr ::= expr ISODD", - /* 91 */ "expr ::= expr ISNOTODD", - /* 92 */ "expr ::= expr ISODDBY expr", - /* 93 */ "expr ::= expr ISNOTODDBY expr", - /* 94 */ "expr ::= value INSTANCEOF ID", - /* 95 */ "expr ::= value INSTANCEOF value", - /* 96 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr", - /* 97 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", - /* 98 */ "value ::= variable", - /* 99 */ "value ::= UNIMATH value", - /* 100 */ "value ::= NOT value", - /* 101 */ "value ::= TYPECAST value", - /* 102 */ "value ::= variable INCDEC", - /* 103 */ "value ::= HEX", - /* 104 */ "value ::= INTEGER", - /* 105 */ "value ::= INTEGER DOT INTEGER", - /* 106 */ "value ::= INTEGER DOT", - /* 107 */ "value ::= DOT INTEGER", - /* 108 */ "value ::= ID", - /* 109 */ "value ::= function", - /* 110 */ "value ::= OPENP expr CLOSEP", - /* 111 */ "value ::= SINGLEQUOTESTRING", - /* 112 */ "value ::= doublequoted_with_quotes", - /* 113 */ "value ::= ID DOUBLECOLON static_class_access", - /* 114 */ "value ::= varindexed DOUBLECOLON static_class_access", - /* 115 */ "value ::= smartytag", - /* 116 */ "variable ::= varindexed", - /* 117 */ "variable ::= DOLLAR varvar AT ID", - /* 118 */ "variable ::= object", - /* 119 */ "variable ::= HATCH ID HATCH", - /* 120 */ "variable ::= HATCH variable HATCH", - /* 121 */ "varindexed ::= DOLLAR varvar arrayindex", - /* 122 */ "arrayindex ::= arrayindex indexdef", - /* 123 */ "arrayindex ::=", - /* 124 */ "indexdef ::= DOT DOLLAR varvar", - /* 125 */ "indexdef ::= DOT DOLLAR varvar AT ID", - /* 126 */ "indexdef ::= DOT ID", - /* 127 */ "indexdef ::= DOT INTEGER", - /* 128 */ "indexdef ::= DOT LDEL expr RDEL", - /* 129 */ "indexdef ::= OPENB ID CLOSEB", - /* 130 */ "indexdef ::= OPENB ID DOT ID CLOSEB", - /* 131 */ "indexdef ::= OPENB expr CLOSEB", - /* 132 */ "indexdef ::= OPENB CLOSEB", - /* 133 */ "varvar ::= varvarele", - /* 134 */ "varvar ::= varvar varvarele", - /* 135 */ "varvarele ::= ID", - /* 136 */ "varvarele ::= LDEL expr RDEL", - /* 137 */ "object ::= varindexed objectchain", - /* 138 */ "objectchain ::= objectelement", - /* 139 */ "objectchain ::= objectchain objectelement", - /* 140 */ "objectelement ::= PTR ID arrayindex", - /* 141 */ "objectelement ::= PTR DOLLAR varvar arrayindex", - /* 142 */ "objectelement ::= PTR LDEL expr RDEL arrayindex", - /* 143 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex", - /* 144 */ "objectelement ::= PTR method", - /* 145 */ "function ::= ID OPENP params CLOSEP", - /* 146 */ "method ::= ID OPENP params CLOSEP", - /* 147 */ "method ::= DOLLAR ID OPENP params CLOSEP", - /* 148 */ "params ::= params COMMA expr", - /* 149 */ "params ::= expr", - /* 150 */ "params ::=", - /* 151 */ "modifierlist ::= modifierlist modifier modparameters", - /* 152 */ "modifierlist ::= modifier modparameters", - /* 153 */ "modifier ::= VERT AT ID", - /* 154 */ "modifier ::= VERT ID", - /* 155 */ "modparameters ::= modparameters modparameter", - /* 156 */ "modparameters ::=", - /* 157 */ "modparameter ::= COLON value", - /* 158 */ "modparameter ::= COLON array", - /* 159 */ "static_class_access ::= method", - /* 160 */ "static_class_access ::= method objectchain", - /* 161 */ "static_class_access ::= ID", - /* 162 */ "static_class_access ::= DOLLAR ID arrayindex", - /* 163 */ "static_class_access ::= DOLLAR ID arrayindex objectchain", - /* 164 */ "ifcond ::= EQUALS", - /* 165 */ "ifcond ::= NOTEQUALS", - /* 166 */ "ifcond ::= GREATERTHAN", - /* 167 */ "ifcond ::= LESSTHAN", - /* 168 */ "ifcond ::= GREATEREQUAL", - /* 169 */ "ifcond ::= LESSEQUAL", - /* 170 */ "ifcond ::= IDENTITY", - /* 171 */ "ifcond ::= NONEIDENTITY", - /* 172 */ "ifcond ::= MOD", - /* 173 */ "lop ::= LAND", - /* 174 */ "lop ::= LOR", - /* 175 */ "lop ::= LXOR", - /* 176 */ "array ::= OPENB arrayelements CLOSEB", - /* 177 */ "arrayelements ::= arrayelement", - /* 178 */ "arrayelements ::= arrayelements COMMA arrayelement", - /* 179 */ "arrayelements ::=", - /* 180 */ "arrayelement ::= value APTR expr", - /* 181 */ "arrayelement ::= ID APTR expr", - /* 182 */ "arrayelement ::= expr", - /* 183 */ "doublequoted_with_quotes ::= QUOTE QUOTE", - /* 184 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE", - /* 185 */ "doublequoted ::= doublequoted doublequotedcontent", - /* 186 */ "doublequoted ::= doublequotedcontent", - /* 187 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", - /* 188 */ "doublequotedcontent ::= BACKTICK expr BACKTICK", - /* 189 */ "doublequotedcontent ::= DOLLARID", - /* 190 */ "doublequotedcontent ::= LDEL variable RDEL", - /* 191 */ "doublequotedcontent ::= LDEL expr RDEL", - /* 192 */ "doublequotedcontent ::= smartytag", - /* 193 */ "doublequotedcontent ::= OTHER", - /* 194 */ "optspace ::= SPACE", - /* 195 */ "optspace ::=", - ); - - function tokenName($tokenType) - { - if ($tokenType === 0) { - return 'End of Input'; - } - if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) { - return $this->yyTokenName[$tokenType]; - } else { - return "Unknown"; - } - } - - static function yy_destructor($yymajor, $yypminor) - { - switch ($yymajor) { - default: break; /* If no destructor action specified: do nothing */ - } - } - - function yy_pop_parser_stack() - { - if (!count($this->yystack)) { - return; - } - $yytos = array_pop($this->yystack); - if (self::$yyTraceFILE && $this->yyidx >= 0) { - fwrite(self::$yyTraceFILE, - self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] . - "\n"); - } - $yymajor = $yytos->major; - self::yy_destructor($yymajor, $yytos->minor); - $this->yyidx--; - return $yymajor; - } - - function __destruct() - { - while ($this->yystack !== Array()) { - $this->yy_pop_parser_stack(); - } - if (is_resource(self::$yyTraceFILE)) { - fclose(self::$yyTraceFILE); - } - } - - function yy_get_expected_tokens($token) - { - $state = $this->yystack[$this->yyidx]->stateno; - $expected = self::$yyExpectedTokens[$state]; - if (in_array($token, self::$yyExpectedTokens[$state], true)) { - return $expected; - } - $stack = $this->yystack; - $yyidx = $this->yyidx; - do { - $yyact = $this->yy_find_shift_action($token); - if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) { - // reduce action - $done = 0; - do { - if ($done++ == 100) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - // too much recursion prevents proper detection - // so give up - return array_unique($expected); - } - $yyruleno = $yyact - self::YYNSTATE; - $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs']; - $nextstate = $this->yy_find_reduce_action( - $this->yystack[$this->yyidx]->stateno, - self::$yyRuleInfo[$yyruleno]['lhs']); - if (isset(self::$yyExpectedTokens[$nextstate])) { - $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]); - if (in_array($token, - self::$yyExpectedTokens[$nextstate], true)) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - return array_unique($expected); - } - } - if ($nextstate < self::YYNSTATE) { - // we need to shift a non-terminal - $this->yyidx++; - $x = new TP_yyStackEntry; - $x->stateno = $nextstate; - $x->major = self::$yyRuleInfo[$yyruleno]['lhs']; - $this->yystack[$this->yyidx] = $x; - continue 2; - } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - // the last token was just ignored, we can't accept - // by ignoring input, this is in essence ignoring a - // syntax error! - return array_unique($expected); - } elseif ($nextstate === self::YY_NO_ACTION) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - // input accepted, but not shifted (I guess) - return $expected; - } else { - $yyact = $nextstate; - } - } while (true); - } - break; - } while (true); - $this->yyidx = $yyidx; - $this->yystack = $stack; - return array_unique($expected); - } - - function yy_is_expected_token($token) - { - if ($token === 0) { - return true; // 0 is not part of this - } - $state = $this->yystack[$this->yyidx]->stateno; - if (in_array($token, self::$yyExpectedTokens[$state], true)) { - return true; - } - $stack = $this->yystack; - $yyidx = $this->yyidx; - do { - $yyact = $this->yy_find_shift_action($token); - if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) { - // reduce action - $done = 0; - do { - if ($done++ == 100) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - // too much recursion prevents proper detection - // so give up - return true; - } - $yyruleno = $yyact - self::YYNSTATE; - $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs']; - $nextstate = $this->yy_find_reduce_action( - $this->yystack[$this->yyidx]->stateno, - self::$yyRuleInfo[$yyruleno]['lhs']); - if (isset(self::$yyExpectedTokens[$nextstate]) && - in_array($token, self::$yyExpectedTokens[$nextstate], true)) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - return true; - } - if ($nextstate < self::YYNSTATE) { - // we need to shift a non-terminal - $this->yyidx++; - $x = new TP_yyStackEntry; - $x->stateno = $nextstate; - $x->major = self::$yyRuleInfo[$yyruleno]['lhs']; - $this->yystack[$this->yyidx] = $x; - continue 2; - } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - if (!$token) { - // end of input: this is valid - return true; - } - // the last token was just ignored, we can't accept - // by ignoring input, this is in essence ignoring a - // syntax error! - return false; - } elseif ($nextstate === self::YY_NO_ACTION) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - // input accepted, but not shifted (I guess) - return true; - } else { - $yyact = $nextstate; - } - } while (true); - } - break; - } while (true); - $this->yyidx = $yyidx; - $this->yystack = $stack; - return true; - } - - function yy_find_shift_action($iLookAhead) - { - $stateno = $this->yystack[$this->yyidx]->stateno; - - /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */ - if (!isset(self::$yy_shift_ofst[$stateno])) { - // no shift actions - return self::$yy_default[$stateno]; - } - $i = self::$yy_shift_ofst[$stateno]; - if ($i === self::YY_SHIFT_USE_DFLT) { - return self::$yy_default[$stateno]; - } - if ($iLookAhead == self::YYNOCODE) { - return self::YY_NO_ACTION; - } - $i += $iLookAhead; - if ($i < 0 || $i >= self::YY_SZ_ACTTAB || - self::$yy_lookahead[$i] != $iLookAhead) { - if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) - && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) { - if (self::$yyTraceFILE) { - fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " . - $this->yyTokenName[$iLookAhead] . " => " . - $this->yyTokenName[$iFallback] . "\n"); - } - return $this->yy_find_shift_action($iFallback); - } - return self::$yy_default[$stateno]; - } else { - return self::$yy_action[$i]; - } - } - - function yy_find_reduce_action($stateno, $iLookAhead) - { - /* $stateno = $this->yystack[$this->yyidx]->stateno; */ - - if (!isset(self::$yy_reduce_ofst[$stateno])) { - return self::$yy_default[$stateno]; - } - $i = self::$yy_reduce_ofst[$stateno]; - if ($i == self::YY_REDUCE_USE_DFLT) { - return self::$yy_default[$stateno]; - } - if ($iLookAhead == self::YYNOCODE) { - return self::YY_NO_ACTION; - } - $i += $iLookAhead; - if ($i < 0 || $i >= self::YY_SZ_ACTTAB || - self::$yy_lookahead[$i] != $iLookAhead) { - return self::$yy_default[$stateno]; - } else { - return self::$yy_action[$i]; - } - } - - function yy_shift($yyNewState, $yyMajor, $yypMinor) - { - $this->yyidx++; - if ($this->yyidx >= self::YYSTACKDEPTH) { - $this->yyidx--; - if (self::$yyTraceFILE) { - fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt); - } - while ($this->yyidx >= 0) { - $this->yy_pop_parser_stack(); - } + /* 72 */ "statement ::= varindexed EQUAL expr", + /* 73 */ "statement ::= OPENP statement CLOSEP", + /* 74 */ "expr ::= value", + /* 75 */ "expr ::= ternary", + /* 76 */ "expr ::= DOLLAR ID COLON ID", + /* 77 */ "expr ::= expr MATH value", + /* 78 */ "expr ::= expr UNIMATH value", + /* 79 */ "expr ::= expr ANDSYM value", + /* 80 */ "expr ::= array", + /* 81 */ "expr ::= expr modifierlist", + /* 82 */ "expr ::= expr ifcond expr", + /* 83 */ "expr ::= expr ISIN array", + /* 84 */ "expr ::= expr ISIN value", + /* 85 */ "expr ::= expr lop expr", + /* 86 */ "expr ::= expr ISDIVBY expr", + /* 87 */ "expr ::= expr ISNOTDIVBY expr", + /* 88 */ "expr ::= expr ISEVEN", + /* 89 */ "expr ::= expr ISNOTEVEN", + /* 90 */ "expr ::= expr ISEVENBY expr", + /* 91 */ "expr ::= expr ISNOTEVENBY expr", + /* 92 */ "expr ::= expr ISODD", + /* 93 */ "expr ::= expr ISNOTODD", + /* 94 */ "expr ::= expr ISODDBY expr", + /* 95 */ "expr ::= expr ISNOTODDBY expr", + /* 96 */ "expr ::= value INSTANCEOF ID", + /* 97 */ "expr ::= value INSTANCEOF value", + /* 98 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr", + /* 99 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", + /* 100 */ "value ::= variable", + /* 101 */ "value ::= UNIMATH value", + /* 102 */ "value ::= NOT value", + /* 103 */ "value ::= TYPECAST value", + /* 104 */ "value ::= variable INCDEC", + /* 105 */ "value ::= HEX", + /* 106 */ "value ::= INTEGER", + /* 107 */ "value ::= INTEGER DOT INTEGER", + /* 108 */ "value ::= INTEGER DOT", + /* 109 */ "value ::= DOT INTEGER", + /* 110 */ "value ::= ID", + /* 111 */ "value ::= function", + /* 112 */ "value ::= OPENP expr CLOSEP", + /* 113 */ "value ::= SINGLEQUOTESTRING", + /* 114 */ "value ::= doublequoted_with_quotes", + /* 115 */ "value ::= ID DOUBLECOLON static_class_access", + /* 116 */ "value ::= varindexed DOUBLECOLON static_class_access", + /* 117 */ "value ::= smartytag", + /* 118 */ "value ::= value modifierlist", + /* 119 */ "variable ::= varindexed", + /* 120 */ "variable ::= DOLLAR varvar AT ID", + /* 121 */ "variable ::= object", + /* 122 */ "variable ::= HATCH ID HATCH", + /* 123 */ "variable ::= HATCH variable HATCH", + /* 124 */ "varindexed ::= DOLLAR varvar arrayindex", + /* 125 */ "arrayindex ::= arrayindex indexdef", + /* 126 */ "arrayindex ::=", + /* 127 */ "indexdef ::= DOT DOLLAR varvar", + /* 128 */ "indexdef ::= DOT DOLLAR varvar AT ID", + /* 129 */ "indexdef ::= DOT ID", + /* 130 */ "indexdef ::= DOT INTEGER", + /* 131 */ "indexdef ::= DOT LDEL expr RDEL", + /* 132 */ "indexdef ::= OPENB ID CLOSEB", + /* 133 */ "indexdef ::= OPENB ID DOT ID CLOSEB", + /* 134 */ "indexdef ::= OPENB expr CLOSEB", + /* 135 */ "indexdef ::= OPENB CLOSEB", + /* 136 */ "varvar ::= varvarele", + /* 137 */ "varvar ::= varvar varvarele", + /* 138 */ "varvarele ::= ID", + /* 139 */ "varvarele ::= LDEL expr RDEL", + /* 140 */ "object ::= varindexed objectchain", + /* 141 */ "objectchain ::= objectelement", + /* 142 */ "objectchain ::= objectchain objectelement", + /* 143 */ "objectelement ::= PTR ID arrayindex", + /* 144 */ "objectelement ::= PTR DOLLAR varvar arrayindex", + /* 145 */ "objectelement ::= PTR LDEL expr RDEL arrayindex", + /* 146 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex", + /* 147 */ "objectelement ::= PTR method", + /* 148 */ "function ::= ID OPENP params CLOSEP", + /* 149 */ "method ::= ID OPENP params CLOSEP", + /* 150 */ "method ::= DOLLAR ID OPENP params CLOSEP", + /* 151 */ "params ::= params COMMA expr", + /* 152 */ "params ::= expr", + /* 153 */ "params ::=", + /* 154 */ "modifierlist ::= modifierlist modifier modparameters", + /* 155 */ "modifierlist ::= modifier modparameters", + /* 156 */ "modifier ::= VERT AT ID", + /* 157 */ "modifier ::= VERT ID", + /* 158 */ "modparameters ::= modparameters modparameter", + /* 159 */ "modparameters ::=", + /* 160 */ "modparameter ::= COLON value", + /* 161 */ "modparameter ::= COLON array", + /* 162 */ "static_class_access ::= method", + /* 163 */ "static_class_access ::= method objectchain", + /* 164 */ "static_class_access ::= ID", + /* 165 */ "static_class_access ::= DOLLAR ID arrayindex", + /* 166 */ "static_class_access ::= DOLLAR ID arrayindex objectchain", + /* 167 */ "ifcond ::= EQUALS", + /* 168 */ "ifcond ::= NOTEQUALS", + /* 169 */ "ifcond ::= GREATERTHAN", + /* 170 */ "ifcond ::= LESSTHAN", + /* 171 */ "ifcond ::= GREATEREQUAL", + /* 172 */ "ifcond ::= LESSEQUAL", + /* 173 */ "ifcond ::= IDENTITY", + /* 174 */ "ifcond ::= NONEIDENTITY", + /* 175 */ "ifcond ::= MOD", + /* 176 */ "lop ::= LAND", + /* 177 */ "lop ::= LOR", + /* 178 */ "lop ::= LXOR", + /* 179 */ "array ::= OPENB arrayelements CLOSEB", + /* 180 */ "arrayelements ::= arrayelement", + /* 181 */ "arrayelements ::= arrayelements COMMA arrayelement", + /* 182 */ "arrayelements ::=", + /* 183 */ "arrayelement ::= value APTR expr", + /* 184 */ "arrayelement ::= ID APTR expr", + /* 185 */ "arrayelement ::= expr", + /* 186 */ "doublequoted_with_quotes ::= QUOTE QUOTE", + /* 187 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE", + /* 188 */ "doublequoted ::= doublequoted doublequotedcontent", + /* 189 */ "doublequoted ::= doublequotedcontent", + /* 190 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", + /* 191 */ "doublequotedcontent ::= BACKTICK expr BACKTICK", + /* 192 */ "doublequotedcontent ::= DOLLARID", + /* 193 */ "doublequotedcontent ::= LDEL variable RDEL", + /* 194 */ "doublequotedcontent ::= LDEL expr RDEL", + /* 195 */ "doublequotedcontent ::= smartytag", + /* 196 */ "doublequotedcontent ::= OTHER", + /* 197 */ "optspace ::= SPACE", + /* 198 */ "optspace ::=", + ); + + function tokenName($tokenType) + { + if ($tokenType === 0) { + return 'End of Input'; + } + if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) { + return $this->yyTokenName[$tokenType]; + } else { + return "Unknown"; + } + } + + static function yy_destructor($yymajor, $yypminor) + { + switch ($yymajor) { + default: break; /* If no destructor action specified: do nothing */ + } + } + + function yy_pop_parser_stack() + { + if (!count($this->yystack)) { + return; + } + $yytos = array_pop($this->yystack); + if (self::$yyTraceFILE && $this->yyidx >= 0) { + fwrite(self::$yyTraceFILE, + self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] . + "\n"); + } + $yymajor = $yytos->major; + self::yy_destructor($yymajor, $yytos->minor); + $this->yyidx--; + return $yymajor; + } + + function __destruct() + { + while ($this->yystack !== Array()) { + $this->yy_pop_parser_stack(); + } + if (is_resource(self::$yyTraceFILE)) { + fclose(self::$yyTraceFILE); + } + } + + function yy_get_expected_tokens($token) + { + $state = $this->yystack[$this->yyidx]->stateno; + $expected = self::$yyExpectedTokens[$state]; + if (in_array($token, self::$yyExpectedTokens[$state], true)) { + return $expected; + } + $stack = $this->yystack; + $yyidx = $this->yyidx; + do { + $yyact = $this->yy_find_shift_action($token); + if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) { + // reduce action + $done = 0; + do { + if ($done++ == 100) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + // too much recursion prevents proper detection + // so give up + return array_unique($expected); + } + $yyruleno = $yyact - self::YYNSTATE; + $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs']; + $nextstate = $this->yy_find_reduce_action( + $this->yystack[$this->yyidx]->stateno, + self::$yyRuleInfo[$yyruleno]['lhs']); + if (isset(self::$yyExpectedTokens[$nextstate])) { + $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]); + if (in_array($token, + self::$yyExpectedTokens[$nextstate], true)) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + return array_unique($expected); + } + } + if ($nextstate < self::YYNSTATE) { + // we need to shift a non-terminal + $this->yyidx++; + $x = new TP_yyStackEntry; + $x->stateno = $nextstate; + $x->major = self::$yyRuleInfo[$yyruleno]['lhs']; + $this->yystack[$this->yyidx] = $x; + continue 2; + } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + // the last token was just ignored, we can't accept + // by ignoring input, this is in essence ignoring a + // syntax error! + return array_unique($expected); + } elseif ($nextstate === self::YY_NO_ACTION) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + // input accepted, but not shifted (I guess) + return $expected; + } else { + $yyact = $nextstate; + } + } while (true); + } + break; + } while (true); + $this->yyidx = $yyidx; + $this->yystack = $stack; + return array_unique($expected); + } + + function yy_is_expected_token($token) + { + if ($token === 0) { + return true; // 0 is not part of this + } + $state = $this->yystack[$this->yyidx]->stateno; + if (in_array($token, self::$yyExpectedTokens[$state], true)) { + return true; + } + $stack = $this->yystack; + $yyidx = $this->yyidx; + do { + $yyact = $this->yy_find_shift_action($token); + if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) { + // reduce action + $done = 0; + do { + if ($done++ == 100) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + // too much recursion prevents proper detection + // so give up + return true; + } + $yyruleno = $yyact - self::YYNSTATE; + $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs']; + $nextstate = $this->yy_find_reduce_action( + $this->yystack[$this->yyidx]->stateno, + self::$yyRuleInfo[$yyruleno]['lhs']); + if (isset(self::$yyExpectedTokens[$nextstate]) && + in_array($token, self::$yyExpectedTokens[$nextstate], true)) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + return true; + } + if ($nextstate < self::YYNSTATE) { + // we need to shift a non-terminal + $this->yyidx++; + $x = new TP_yyStackEntry; + $x->stateno = $nextstate; + $x->major = self::$yyRuleInfo[$yyruleno]['lhs']; + $this->yystack[$this->yyidx] = $x; + continue 2; + } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + if (!$token) { + // end of input: this is valid + return true; + } + // the last token was just ignored, we can't accept + // by ignoring input, this is in essence ignoring a + // syntax error! + return false; + } elseif ($nextstate === self::YY_NO_ACTION) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + // input accepted, but not shifted (I guess) + return true; + } else { + $yyact = $nextstate; + } + } while (true); + } + break; + } while (true); + $this->yyidx = $yyidx; + $this->yystack = $stack; + return true; + } + + function yy_find_shift_action($iLookAhead) + { + $stateno = $this->yystack[$this->yyidx]->stateno; + + /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */ + if (!isset(self::$yy_shift_ofst[$stateno])) { + // no shift actions + return self::$yy_default[$stateno]; + } + $i = self::$yy_shift_ofst[$stateno]; + if ($i === self::YY_SHIFT_USE_DFLT) { + return self::$yy_default[$stateno]; + } + if ($iLookAhead == self::YYNOCODE) { + return self::YY_NO_ACTION; + } + $i += $iLookAhead; + if ($i < 0 || $i >= self::YY_SZ_ACTTAB || + self::$yy_lookahead[$i] != $iLookAhead) { + if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) + && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) { + if (self::$yyTraceFILE) { + fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " . + $this->yyTokenName[$iLookAhead] . " => " . + $this->yyTokenName[$iFallback] . "\n"); + } + return $this->yy_find_shift_action($iFallback); + } + return self::$yy_default[$stateno]; + } else { + return self::$yy_action[$i]; + } + } + + function yy_find_reduce_action($stateno, $iLookAhead) + { + /* $stateno = $this->yystack[$this->yyidx]->stateno; */ + + if (!isset(self::$yy_reduce_ofst[$stateno])) { + return self::$yy_default[$stateno]; + } + $i = self::$yy_reduce_ofst[$stateno]; + if ($i == self::YY_REDUCE_USE_DFLT) { + return self::$yy_default[$stateno]; + } + if ($iLookAhead == self::YYNOCODE) { + return self::YY_NO_ACTION; + } + $i += $iLookAhead; + if ($i < 0 || $i >= self::YY_SZ_ACTTAB || + self::$yy_lookahead[$i] != $iLookAhead) { + return self::$yy_default[$stateno]; + } else { + return self::$yy_action[$i]; + } + } + + function yy_shift($yyNewState, $yyMajor, $yypMinor) + { + $this->yyidx++; + if ($this->yyidx >= self::YYSTACKDEPTH) { + $this->yyidx--; + if (self::$yyTraceFILE) { + fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt); + } + while ($this->yyidx >= 0) { + $this->yy_pop_parser_stack(); + } #line 84 "smarty_internal_templateparser.y" - - $this->internalError = true; - $this->compiler->trigger_template_error("Stack overflow in template parser"); -#line 1691 "smarty_internal_templateparser.php" - return; - } - $yytos = new TP_yyStackEntry; - $yytos->stateno = $yyNewState; - $yytos->major = $yyMajor; - $yytos->minor = $yypMinor; - array_push($this->yystack, $yytos); - if (self::$yyTraceFILE && $this->yyidx > 0) { - fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt, - $yyNewState); - fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt); - for($i = 1; $i <= $this->yyidx; $i++) { - fprintf(self::$yyTraceFILE, " %s", - $this->yyTokenName[$this->yystack[$i]->major]); - } - fwrite(self::$yyTraceFILE,"\n"); - } - } - - static public $yyRuleInfo = array( + + $this->internalError = true; + $this->compiler->trigger_template_error("Stack overflow in template parser"); +#line 1742 "smarty_internal_templateparser.php" + return; + } + $yytos = new TP_yyStackEntry; + $yytos->stateno = $yyNewState; + $yytos->major = $yyMajor; + $yytos->minor = $yypMinor; + array_push($this->yystack, $yytos); + if (self::$yyTraceFILE && $this->yyidx > 0) { + fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt, + $yyNewState); + fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt); + for($i = 1; $i <= $this->yyidx; $i++) { + fprintf(self::$yyTraceFILE, " %s", + $this->yyTokenName[$this->yystack[$i]->major]); + } + fwrite(self::$yyTraceFILE,"\n"); + } + } + + static public $yyRuleInfo = array( array( 'lhs' => 79, 'rhs' => 1 ), array( 'lhs' => 80, 'rhs' => 1 ), array( 'lhs' => 80, 'rhs' => 2 ), @@ -1785,6 +1836,8 @@ static public $yy_action = array( array( 'lhs' => 93, 'rhs' => 1 ), array( 'lhs' => 93, 'rhs' => 3 ), array( 'lhs' => 92, 'rhs' => 4 ), + array( 'lhs' => 92, 'rhs' => 3 ), + array( 'lhs' => 92, 'rhs' => 3 ), array( 'lhs' => 89, 'rhs' => 1 ), array( 'lhs' => 89, 'rhs' => 1 ), array( 'lhs' => 89, 'rhs' => 4 ), @@ -1829,6 +1882,7 @@ static public $yy_action = array( array( 'lhs' => 86, 'rhs' => 3 ), array( 'lhs' => 86, 'rhs' => 3 ), array( 'lhs' => 86, 'rhs' => 1 ), + array( 'lhs' => 86, 'rhs' => 2 ), array( 'lhs' => 88, 'rhs' => 1 ), array( 'lhs' => 88, 'rhs' => 4 ), array( 'lhs' => 88, 'rhs' => 1 ), @@ -1909,9 +1963,9 @@ static public $yy_action = array( array( 'lhs' => 119, 'rhs' => 1 ), array( 'lhs' => 94, 'rhs' => 1 ), array( 'lhs' => 94, 'rhs' => 0 ), - ); - - static public $yyReduceMap = array( + ); + + static public $yyReduceMap = array( 0 => 0, 1 => 1, 2 => 1, @@ -1930,23 +1984,23 @@ static public $yy_action = array( 18 => 15, 16 => 16, 17 => 17, - 99 => 17, 101 => 17, - 102 => 17, - 160 => 17, + 103 => 17, + 104 => 17, + 163 => 17, 19 => 19, 20 => 19, - 72 => 19, - 73 => 19, - 98 => 19, - 103 => 19, - 104 => 19, - 109 => 19, + 74 => 19, + 75 => 19, + 100 => 19, + 105 => 19, + 106 => 19, 111 => 19, - 112 => 19, - 118 => 19, - 159 => 19, - 177 => 19, + 113 => 19, + 114 => 19, + 121 => 19, + 162 => 19, + 180 => 19, 21 => 21, 22 => 21, 23 => 23, @@ -1975,8 +2029,8 @@ static public $yy_action = array( 46 => 46, 66 => 46, 67 => 46, - 161 => 46, - 182 => 46, + 164 => 46, + 185 => 46, 47 => 47, 48 => 48, 49 => 49, @@ -1992,10 +2046,10 @@ static public $yy_action = array( 59 => 59, 60 => 60, 69 => 60, - 149 => 60, - 153 => 60, + 152 => 60, + 156 => 60, 61 => 61, - 150 => 61, + 153 => 61, 62 => 62, 63 => 63, 64 => 63, @@ -2003,46 +2057,46 @@ static public $yy_action = array( 68 => 68, 70 => 70, 71 => 71, - 74 => 74, - 75 => 75, - 76 => 75, - 77 => 75, - 78 => 78, - 133 => 78, - 194 => 78, - 79 => 79, + 72 => 71, + 73 => 73, + 76 => 76, + 77 => 77, + 78 => 77, + 79 => 77, 80 => 80, - 83 => 80, - 94 => 80, + 136 => 80, + 197 => 80, 81 => 81, + 118 => 81, 82 => 82, + 85 => 82, + 96 => 82, + 83 => 83, 84 => 84, - 85 => 85, 86 => 86, - 91 => 86, 87 => 87, - 90 => 87, 88 => 88, 93 => 88, 89 => 89, 92 => 89, - 95 => 95, - 96 => 96, + 90 => 90, + 95 => 90, + 91 => 91, + 94 => 91, 97 => 97, - 100 => 100, - 105 => 105, - 106 => 106, + 98 => 98, + 99 => 99, + 102 => 102, 107 => 107, 108 => 108, + 109 => 109, 110 => 110, - 113 => 113, - 114 => 114, + 112 => 112, 115 => 115, 116 => 116, 117 => 117, 119 => 119, 120 => 120, - 121 => 121, 122 => 122, 123 => 123, 124 => 124, @@ -2050,13 +2104,13 @@ static public $yy_action = array( 126 => 126, 127 => 127, 128 => 128, - 131 => 128, 129 => 129, 130 => 130, + 131 => 131, + 134 => 131, 132 => 132, - 134 => 134, + 133 => 133, 135 => 135, - 136 => 136, 137 => 137, 138 => 138, 139 => 139, @@ -2069,16 +2123,16 @@ static public $yy_action = array( 146 => 146, 147 => 147, 148 => 148, + 149 => 149, + 150 => 150, 151 => 151, - 152 => 152, 154 => 154, 155 => 155, - 156 => 156, 157 => 157, - 158 => 157, - 162 => 162, - 163 => 163, - 164 => 164, + 158 => 158, + 159 => 159, + 160 => 160, + 161 => 160, 165 => 165, 166 => 166, 167 => 167, @@ -2091,823 +2145,829 @@ static public $yy_action = array( 174 => 174, 175 => 175, 176 => 176, + 177 => 177, 178 => 178, 179 => 179, - 180 => 180, 181 => 181, + 182 => 182, 183 => 183, 184 => 184, - 185 => 185, 186 => 186, 187 => 187, - 188 => 187, - 190 => 187, + 188 => 188, 189 => 189, - 191 => 191, + 190 => 190, + 191 => 190, + 193 => 190, 192 => 192, - 193 => 193, + 194 => 194, 195 => 195, - ); + 196 => 196, + 198 => 198, + ); #line 95 "smarty_internal_templateparser.y" function yy_r0(){ $this->_retvalue = $this->root_buffer->to_smarty_php(); } -#line 2109 "smarty_internal_templateparser.php" +#line 2166 "smarty_internal_templateparser.php" #line 101 "smarty_internal_templateparser.y" function yy_r1(){ $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor); } -#line 2112 "smarty_internal_templateparser.php" +#line 2169 "smarty_internal_templateparser.php" #line 113 "smarty_internal_templateparser.y" - function yy_r4(){ - if ($this->compiler->has_code) { - $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array(); - $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true)); - } else { - $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor); - } - $this->compiler->has_variable_string = false; - $this->block_nesting_level = count($this->compiler->_tag_stack); + function yy_r4(){ + if ($this->compiler->has_code) { + $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array(); + $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true)); + } else { + $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor); + } + $this->compiler->has_variable_string = false; + $this->block_nesting_level = count($this->compiler->_tag_stack); } -#line 2124 "smarty_internal_templateparser.php" +#line 2181 "smarty_internal_templateparser.php" #line 125 "smarty_internal_templateparser.y" function yy_r5(){ $this->_retvalue = new _smarty_tag($this, ''); } -#line 2127 "smarty_internal_templateparser.php" +#line 2184 "smarty_internal_templateparser.php" #line 128 "smarty_internal_templateparser.y" function yy_r6(){ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); } -#line 2130 "smarty_internal_templateparser.php" +#line 2187 "smarty_internal_templateparser.php" #line 131 "smarty_internal_templateparser.y" - function yy_r7(){ - if ($this->php_handling == Smarty::PHP_PASSTHRU) { - $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)); - } elseif ($this->php_handling == Smarty::PHP_QUOTE) { - $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES)); - }elseif ($this->php_handling == Smarty::PHP_ALLOW) { - $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('php_handling == Smarty::PHP_REMOVE) { - $this->_retvalue = new _smarty_text($this, ''); - } + function yy_r7(){ + if ($this->php_handling == Smarty::PHP_PASSTHRU) { + $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)); + } elseif ($this->php_handling == Smarty::PHP_QUOTE) { + $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES)); + }elseif ($this->php_handling == Smarty::PHP_ALLOW) { + $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('php_handling == Smarty::PHP_REMOVE) { + $this->_retvalue = new _smarty_text($this, ''); + } } -#line 2143 "smarty_internal_templateparser.php" +#line 2200 "smarty_internal_templateparser.php" #line 143 "smarty_internal_templateparser.y" - function yy_r8(){if ($this->is_xml) { - $this->compiler->tag_nocache = true; - $this->is_xml = true; - $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("';?>", $this->compiler, true)); - }elseif ($this->php_handling == Smarty::PHP_PASSTHRU) { - $this->_retvalue = new _smarty_text($this, '?>'); - } elseif ($this->php_handling == Smarty::PHP_QUOTE) { - $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES)); - }elseif ($this->php_handling == Smarty::PHP_ALLOW) { - $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true)); - }elseif ($this->php_handling == Smarty::PHP_REMOVE) { - $this->_retvalue = new _smarty_text($this, ''); - } + function yy_r8(){if ($this->is_xml) { + $this->compiler->tag_nocache = true; + $this->is_xml = true; + $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("';?>", $this->compiler, true)); + }elseif ($this->php_handling == Smarty::PHP_PASSTHRU) { + $this->_retvalue = new _smarty_text($this, '?>'); + } elseif ($this->php_handling == Smarty::PHP_QUOTE) { + $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES)); + }elseif ($this->php_handling == Smarty::PHP_ALLOW) { + $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true)); + }elseif ($this->php_handling == Smarty::PHP_REMOVE) { + $this->_retvalue = new _smarty_text($this, ''); + } } -#line 2159 "smarty_internal_templateparser.php" +#line 2216 "smarty_internal_templateparser.php" #line 159 "smarty_internal_templateparser.y" - function yy_r9(){ - if ($this->php_handling == Smarty::PHP_PASSTHRU) { - $this->_retvalue = new _smarty_text($this, '<%'); - } elseif ($this->php_handling == Smarty::PHP_QUOTE) { - $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES)); - }elseif ($this->php_handling == Smarty::PHP_ALLOW) { - if ($this->asp_tags) { - $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true)); - } else { - $this->_retvalue = new _smarty_text($this, '<%'); + function yy_r9(){ + if ($this->php_handling == Smarty::PHP_PASSTHRU) { + $this->_retvalue = new _smarty_text($this, '<%'); + } elseif ($this->php_handling == Smarty::PHP_QUOTE) { + $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES)); + }elseif ($this->php_handling == Smarty::PHP_ALLOW) { + if ($this->asp_tags) { + $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true)); + } else { + $this->_retvalue = new _smarty_text($this, '<%'); + } + }elseif ($this->php_handling == Smarty::PHP_REMOVE) { + if ($this->asp_tags) { + $this->_retvalue = new _smarty_text($this, ''); + } else { + $this->_retvalue = new _smarty_text($this, '<%'); + } + } } - }elseif ($this->php_handling == Smarty::PHP_REMOVE) { - if ($this->asp_tags) { - $this->_retvalue = new _smarty_text($this, ''); - } else { - $this->_retvalue = new _smarty_text($this, '<%'); - } - } - } -#line 2180 "smarty_internal_templateparser.php" +#line 2237 "smarty_internal_templateparser.php" #line 180 "smarty_internal_templateparser.y" - function yy_r10(){ - if ($this->php_handling == Smarty::PHP_PASSTHRU) { - $this->_retvalue = new _smarty_text($this, '%>'); - } elseif ($this->php_handling == Smarty::PHP_QUOTE) { - $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES)); - }elseif ($this->php_handling == Smarty::PHP_ALLOW) { - if ($this->asp_tags) { - $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true)); - } else { - $this->_retvalue = new _smarty_text($this, '%>'); + function yy_r10(){ + if ($this->php_handling == Smarty::PHP_PASSTHRU) { + $this->_retvalue = new _smarty_text($this, '%>'); + } elseif ($this->php_handling == Smarty::PHP_QUOTE) { + $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES)); + }elseif ($this->php_handling == Smarty::PHP_ALLOW) { + if ($this->asp_tags) { + $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true)); + } else { + $this->_retvalue = new _smarty_text($this, '%>'); + } + }elseif ($this->php_handling == Smarty::PHP_REMOVE) { + if ($this->asp_tags) { + $this->_retvalue = new _smarty_text($this, ''); + } else { + $this->_retvalue = new _smarty_text($this, '%>'); + } + } } - }elseif ($this->php_handling == Smarty::PHP_REMOVE) { - if ($this->asp_tags) { - $this->_retvalue = new _smarty_text($this, ''); - } else { - $this->_retvalue = new _smarty_text($this, '%>'); - } - } - } -#line 2201 "smarty_internal_templateparser.php" +#line 2258 "smarty_internal_templateparser.php" #line 200 "smarty_internal_templateparser.y" - function yy_r11(){if ($this->lex->strip) { - $this->_retvalue = new _smarty_text($this, preg_replace('![\$this->yystack[$this->yyidx + 0]->minor ]*[\r\n]+[\$this->yystack[$this->yyidx + 0]->minor ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor))); - } else { - $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)); - } + function yy_r11(){if ($this->lex->strip) { + $this->_retvalue = new _smarty_text($this, preg_replace('![\$this->yystack[$this->yyidx + 0]->minor ]*[\r\n]+[\$this->yystack[$this->yyidx + 0]->minor ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor))); + } else { + $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)); + } } -#line 2209 "smarty_internal_templateparser.php" +#line 2266 "smarty_internal_templateparser.php" #line 208 "smarty_internal_templateparser.y" function yy_r12(){ $this->compiler->tag_nocache = true; $this->is_xml = true; $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("", $this->compiler, true)); } -#line 2212 "smarty_internal_templateparser.php" +#line 2269 "smarty_internal_templateparser.php" #line 211 "smarty_internal_templateparser.y" - function yy_r13(){if ($this->lex->strip) { - $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor)); - } else { - $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); - } + function yy_r13(){if ($this->lex->strip) { + $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor)); + } else { + $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); + } } -#line 2220 "smarty_internal_templateparser.php" +#line 2277 "smarty_internal_templateparser.php" #line 217 "smarty_internal_templateparser.y" - function yy_r14(){ - $this->_retvalue = new _smarty_linebreak($this, $this->yystack[$this->yyidx + 0]->minor); + function yy_r14(){ + $this->_retvalue = new _smarty_linebreak($this, $this->yystack[$this->yyidx + 0]->minor); } -#line 2225 "smarty_internal_templateparser.php" +#line 2282 "smarty_internal_templateparser.php" #line 222 "smarty_internal_templateparser.y" function yy_r15(){ $this->_retvalue = ''; } -#line 2228 "smarty_internal_templateparser.php" +#line 2285 "smarty_internal_templateparser.php" #line 223 "smarty_internal_templateparser.y" function yy_r16(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } -#line 2231 "smarty_internal_templateparser.php" +#line 2288 "smarty_internal_templateparser.php" #line 225 "smarty_internal_templateparser.y" function yy_r17(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2234 "smarty_internal_templateparser.php" +#line 2291 "smarty_internal_templateparser.php" #line 228 "smarty_internal_templateparser.y" function yy_r19(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2237 "smarty_internal_templateparser.php" +#line 2294 "smarty_internal_templateparser.php" #line 230 "smarty_internal_templateparser.y" function yy_r21(){ $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor); } -#line 2240 "smarty_internal_templateparser.php" +#line 2297 "smarty_internal_templateparser.php" #line 232 "smarty_internal_templateparser.y" function yy_r23(){ $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor); } -#line 2243 "smarty_internal_templateparser.php" +#line 2300 "smarty_internal_templateparser.php" #line 233 "smarty_internal_templateparser.y" function yy_r24(){ $this->_retvalue = '<%'; } -#line 2246 "smarty_internal_templateparser.php" +#line 2303 "smarty_internal_templateparser.php" #line 234 "smarty_internal_templateparser.y" function yy_r25(){ $this->_retvalue = '%>'; } -#line 2249 "smarty_internal_templateparser.php" +#line 2306 "smarty_internal_templateparser.php" #line 242 "smarty_internal_templateparser.y" function yy_r26(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2252 "smarty_internal_templateparser.php" +#line 2309 "smarty_internal_templateparser.php" #line 243 "smarty_internal_templateparser.y" function yy_r27(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor)); } -#line 2255 "smarty_internal_templateparser.php" +#line 2312 "smarty_internal_templateparser.php" #line 245 "smarty_internal_templateparser.y" function yy_r29(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor,'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor)); } -#line 2258 "smarty_internal_templateparser.php" +#line 2315 "smarty_internal_templateparser.php" #line 253 "smarty_internal_templateparser.y" function yy_r31(){ $this->_retvalue = $this->compiler->compileTag('assign',array(array('value'=>$this->yystack[$this->yyidx + -1]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'"))); } -#line 2261 "smarty_internal_templateparser.php" +#line 2318 "smarty_internal_templateparser.php" #line 255 "smarty_internal_templateparser.y" function yy_r33(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'")),$this->yystack[$this->yyidx + -1]->minor)); } -#line 2264 "smarty_internal_templateparser.php" +#line 2321 "smarty_internal_templateparser.php" #line 256 "smarty_internal_templateparser.y" function yy_r34(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>$this->yystack[$this->yyidx + -4]->minor['var'])),$this->yystack[$this->yyidx + -1]->minor),array('smarty_internal_index'=>$this->yystack[$this->yyidx + -4]->minor['smarty_internal_index'])); } -#line 2267 "smarty_internal_templateparser.php" +#line 2324 "smarty_internal_templateparser.php" #line 258 "smarty_internal_templateparser.y" function yy_r35(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); } -#line 2270 "smarty_internal_templateparser.php" +#line 2327 "smarty_internal_templateparser.php" #line 259 "smarty_internal_templateparser.y" function yy_r36(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array()); } -#line 2273 "smarty_internal_templateparser.php" +#line 2330 "smarty_internal_templateparser.php" #line 261 "smarty_internal_templateparser.y" function yy_r37(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor)); } -#line 2276 "smarty_internal_templateparser.php" +#line 2333 "smarty_internal_templateparser.php" #line 263 "smarty_internal_templateparser.y" - function yy_r38(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>'; + function yy_r38(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>'; } -#line 2281 "smarty_internal_templateparser.php" +#line 2338 "smarty_internal_templateparser.php" #line 267 "smarty_internal_templateparser.y" - function yy_r39(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>'; + function yy_r39(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>'; } -#line 2286 "smarty_internal_templateparser.php" +#line 2343 "smarty_internal_templateparser.php" #line 271 "smarty_internal_templateparser.y" function yy_r40(){ $tag = trim(substr($this->yystack[$this->yyidx + -3]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2289 "smarty_internal_templateparser.php" +#line 2346 "smarty_internal_templateparser.php" #line 272 "smarty_internal_templateparser.y" function yy_r41(){ $tag = trim(substr($this->yystack[$this->yyidx + -4]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,$this->yystack[$this->yyidx + -1]->minor,array('if condition'=>$this->yystack[$this->yyidx + -2]->minor)); } -#line 2292 "smarty_internal_templateparser.php" +#line 2349 "smarty_internal_templateparser.php" #line 276 "smarty_internal_templateparser.y" - function yy_r44(){ + function yy_r44(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -10]->minor),array('ifexp'=>$this->yystack[$this->yyidx + -7]->minor),array('var'=>$this->yystack[$this->yyidx + -3]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),1); } -#line 2296 "smarty_internal_templateparser.php" +#line 2353 "smarty_internal_templateparser.php" #line 279 "smarty_internal_templateparser.y" function yy_r45(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } -#line 2299 "smarty_internal_templateparser.php" +#line 2356 "smarty_internal_templateparser.php" #line 280 "smarty_internal_templateparser.y" function yy_r46(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2302 "smarty_internal_templateparser.php" +#line 2359 "smarty_internal_templateparser.php" #line 281 "smarty_internal_templateparser.y" function yy_r47(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -4]->minor),array('to'=>$this->yystack[$this->yyidx + -2]->minor))),0); } -#line 2305 "smarty_internal_templateparser.php" +#line 2362 "smarty_internal_templateparser.php" #line 282 "smarty_internal_templateparser.y" function yy_r48(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -6]->minor),array('to'=>$this->yystack[$this->yyidx + -4]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),0); } -#line 2308 "smarty_internal_templateparser.php" +#line 2365 "smarty_internal_templateparser.php" #line 284 "smarty_internal_templateparser.y" function yy_r49(){ $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor); } -#line 2311 "smarty_internal_templateparser.php" +#line 2368 "smarty_internal_templateparser.php" #line 286 "smarty_internal_templateparser.y" - function yy_r50(){ + function yy_r50(){ $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor)))); } -#line 2315 "smarty_internal_templateparser.php" +#line 2372 "smarty_internal_templateparser.php" #line 288 "smarty_internal_templateparser.y" - function yy_r51(){ + function yy_r51(){ $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor)))); } -#line 2319 "smarty_internal_templateparser.php" +#line 2376 "smarty_internal_templateparser.php" #line 290 "smarty_internal_templateparser.y" - function yy_r52(){ + function yy_r52(){ $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor)))); } -#line 2323 "smarty_internal_templateparser.php" +#line 2380 "smarty_internal_templateparser.php" #line 292 "smarty_internal_templateparser.y" - function yy_r53(){ + function yy_r53(){ $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor)))); } -#line 2327 "smarty_internal_templateparser.php" +#line 2384 "smarty_internal_templateparser.php" #line 296 "smarty_internal_templateparser.y" function yy_r54(){ $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler); } -#line 2330 "smarty_internal_templateparser.php" +#line 2387 "smarty_internal_templateparser.php" #line 300 "smarty_internal_templateparser.y" function yy_r55(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array()); } -#line 2333 "smarty_internal_templateparser.php" +#line 2390 "smarty_internal_templateparser.php" #line 302 "smarty_internal_templateparser.y" - function yy_r56(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor)); + function yy_r56(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2337 "smarty_internal_templateparser.php" +#line 2394 "smarty_internal_templateparser.php" #line 305 "smarty_internal_templateparser.y" function yy_r57(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2340 "smarty_internal_templateparser.php" +#line 2397 "smarty_internal_templateparser.php" #line 306 "smarty_internal_templateparser.y" function yy_r58(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor, 'modifier_list'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2343 "smarty_internal_templateparser.php" +#line 2400 "smarty_internal_templateparser.php" #line 312 "smarty_internal_templateparser.y" function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor; } -#line 2346 "smarty_internal_templateparser.php" +#line 2403 "smarty_internal_templateparser.php" #line 314 "smarty_internal_templateparser.y" function yy_r60(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -#line 2349 "smarty_internal_templateparser.php" +#line 2406 "smarty_internal_templateparser.php" #line 316 "smarty_internal_templateparser.y" function yy_r61(){ $this->_retvalue = array(); } -#line 2352 "smarty_internal_templateparser.php" +#line 2409 "smarty_internal_templateparser.php" #line 319 "smarty_internal_templateparser.y" - function yy_r62(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true'); - } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'false'); - } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'null'); - } else + function yy_r62(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { + $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true'); + } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) { + $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'false'); + } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) { + $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'null'); + } else $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'"); } -#line 2362 "smarty_internal_templateparser.php" +#line 2419 "smarty_internal_templateparser.php" #line 327 "smarty_internal_templateparser.y" function yy_r63(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2365 "smarty_internal_templateparser.php" +#line 2422 "smarty_internal_templateparser.php" #line 329 "smarty_internal_templateparser.y" function yy_r65(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; } -#line 2368 "smarty_internal_templateparser.php" +#line 2425 "smarty_internal_templateparser.php" #line 332 "smarty_internal_templateparser.y" function yy_r68(){$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2371 "smarty_internal_templateparser.php" +#line 2428 "smarty_internal_templateparser.php" #line 339 "smarty_internal_templateparser.y" function yy_r70(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; } -#line 2374 "smarty_internal_templateparser.php" +#line 2431 "smarty_internal_templateparser.php" #line 341 "smarty_internal_templateparser.y" function yy_r71(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2377 "smarty_internal_templateparser.php" -#line 352 "smarty_internal_templateparser.y" - function yy_r74(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; } -#line 2380 "smarty_internal_templateparser.php" -#line 354 "smarty_internal_templateparser.y" - function yy_r75(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; } -#line 2383 "smarty_internal_templateparser.php" -#line 360 "smarty_internal_templateparser.y" - function yy_r78(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2386 "smarty_internal_templateparser.php" -#line 363 "smarty_internal_templateparser.y" - function yy_r79(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor)); } -#line 2389 "smarty_internal_templateparser.php" -#line 367 "smarty_internal_templateparser.y" - function yy_r80(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2392 "smarty_internal_templateparser.php" -#line 368 "smarty_internal_templateparser.y" - function yy_r81(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2395 "smarty_internal_templateparser.php" -#line 369 "smarty_internal_templateparser.y" - function yy_r82(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2398 "smarty_internal_templateparser.php" -#line 371 "smarty_internal_templateparser.y" - function yy_r84(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2401 "smarty_internal_templateparser.php" -#line 372 "smarty_internal_templateparser.y" - function yy_r85(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2404 "smarty_internal_templateparser.php" -#line 373 "smarty_internal_templateparser.y" - function yy_r86(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2407 "smarty_internal_templateparser.php" -#line 374 "smarty_internal_templateparser.y" - function yy_r87(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2410 "smarty_internal_templateparser.php" -#line 375 "smarty_internal_templateparser.y" - function yy_r88(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2413 "smarty_internal_templateparser.php" -#line 376 "smarty_internal_templateparser.y" - function yy_r89(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2416 "smarty_internal_templateparser.php" -#line 382 "smarty_internal_templateparser.y" - function yy_r95(){$this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>'; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number; } -#line 2419 "smarty_internal_templateparser.php" -#line 388 "smarty_internal_templateparser.y" - function yy_r96(){ $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? $_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'\')->value : '.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + -2]->minor', null, true, false)->nocache; } -#line 2422 "smarty_internal_templateparser.php" -#line 389 "smarty_internal_templateparser.y" - function yy_r97(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; } -#line 2425 "smarty_internal_templateparser.php" -#line 396 "smarty_internal_templateparser.y" - function yy_r100(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2428 "smarty_internal_templateparser.php" -#line 402 "smarty_internal_templateparser.y" - function yy_r105(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2431 "smarty_internal_templateparser.php" -#line 403 "smarty_internal_templateparser.y" - function yy_r106(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; } #line 2434 "smarty_internal_templateparser.php" -#line 404 "smarty_internal_templateparser.y" - function yy_r107(){ $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 343 "smarty_internal_templateparser.y" + function yy_r73(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } #line 2437 "smarty_internal_templateparser.php" -#line 406 "smarty_internal_templateparser.y" - function yy_r108(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = 'true'; - } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = 'false'; - } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = 'null'; - } else - $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; } -#line 2447 "smarty_internal_templateparser.php" -#line 417 "smarty_internal_templateparser.y" - function yy_r110(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 2450 "smarty_internal_templateparser.php" -#line 423 "smarty_internal_templateparser.y" - function yy_r113(){if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->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; - } else { - $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; - } - } else { - $this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting"); - } - } -#line 2462 "smarty_internal_templateparser.php" -#line 433 "smarty_internal_templateparser.y" - function yy_r114(){ if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;} else { - $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index'].'::'.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor['var'],"'"), null, true, false)->nocache;} } -#line 2466 "smarty_internal_templateparser.php" -#line 436 "smarty_internal_templateparser.y" - function yy_r115(){ $this->prefix_number++; $this->compiler->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; } -#line 2469 "smarty_internal_templateparser.php" -#line 445 "smarty_internal_templateparser.y" - function yy_r116(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { - $smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']); - $this->_retvalue = $smarty_var; - } else { - // used for array reset,next,prev,end,current - $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var']; - $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; - if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + 0]->minor['var']])) { - $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + 0]->minor['var'] .']->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; - } else { - $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor['var'] .')->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; - } - $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"), null, true, false)->nocache; - } - } -#line 2486 "smarty_internal_templateparser.php" -#line 461 "smarty_internal_templateparser.y" - function yy_r117(){if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + -2]->minor])) { - $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor; - } else { - $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor; - } - $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; } +#line 354 "smarty_internal_templateparser.y" + function yy_r76(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; } +#line 2440 "smarty_internal_templateparser.php" +#line 356 "smarty_internal_templateparser.y" + function yy_r77(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; } +#line 2443 "smarty_internal_templateparser.php" +#line 362 "smarty_internal_templateparser.y" + function yy_r80(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2446 "smarty_internal_templateparser.php" +#line 365 "smarty_internal_templateparser.y" + function yy_r81(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor)); } +#line 2449 "smarty_internal_templateparser.php" +#line 369 "smarty_internal_templateparser.y" + function yy_r82(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2452 "smarty_internal_templateparser.php" +#line 370 "smarty_internal_templateparser.y" + function yy_r83(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2455 "smarty_internal_templateparser.php" +#line 371 "smarty_internal_templateparser.y" + function yy_r84(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2458 "smarty_internal_templateparser.php" +#line 373 "smarty_internal_templateparser.y" + function yy_r86(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2461 "smarty_internal_templateparser.php" +#line 374 "smarty_internal_templateparser.y" + function yy_r87(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2464 "smarty_internal_templateparser.php" +#line 375 "smarty_internal_templateparser.y" + function yy_r88(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2467 "smarty_internal_templateparser.php" +#line 376 "smarty_internal_templateparser.y" + function yy_r89(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2470 "smarty_internal_templateparser.php" +#line 377 "smarty_internal_templateparser.y" + function yy_r90(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2473 "smarty_internal_templateparser.php" +#line 378 "smarty_internal_templateparser.y" + function yy_r91(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2476 "smarty_internal_templateparser.php" +#line 384 "smarty_internal_templateparser.y" + function yy_r97(){$this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>'; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number; } +#line 2479 "smarty_internal_templateparser.php" +#line 390 "smarty_internal_templateparser.y" + function yy_r98(){ $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? $_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'\')->value : '.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + -2]->minor', null, true, false)->nocache; } +#line 2482 "smarty_internal_templateparser.php" +#line 391 "smarty_internal_templateparser.y" + function yy_r99(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; } +#line 2485 "smarty_internal_templateparser.php" +#line 398 "smarty_internal_templateparser.y" + function yy_r102(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2488 "smarty_internal_templateparser.php" +#line 404 "smarty_internal_templateparser.y" + function yy_r107(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2491 "smarty_internal_templateparser.php" +#line 405 "smarty_internal_templateparser.y" + function yy_r108(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; } #line 2494 "smarty_internal_templateparser.php" -#line 470 "smarty_internal_templateparser.y" - function yy_r119(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } +#line 406 "smarty_internal_templateparser.y" + function yy_r109(){ $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; } #line 2497 "smarty_internal_templateparser.php" -#line 471 "smarty_internal_templateparser.y" - function yy_r120(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; } -#line 2500 "smarty_internal_templateparser.php" -#line 474 "smarty_internal_templateparser.y" - function yy_r121(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2503 "smarty_internal_templateparser.php" -#line 480 "smarty_internal_templateparser.y" - function yy_r122(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2506 "smarty_internal_templateparser.php" -#line 482 "smarty_internal_templateparser.y" - function yy_r123(){return; } -#line 2509 "smarty_internal_templateparser.php" -#line 486 "smarty_internal_templateparser.y" - function yy_r124(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor .')->value]'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + 0]->minor', null, true, false)->nocache; } -#line 2512 "smarty_internal_templateparser.php" -#line 487 "smarty_internal_templateparser.y" - function yy_r125(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor.']'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; } -#line 2515 "smarty_internal_templateparser.php" -#line 488 "smarty_internal_templateparser.y" - function yy_r126(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } -#line 2518 "smarty_internal_templateparser.php" -#line 489 "smarty_internal_templateparser.y" - function yy_r127(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } -#line 2521 "smarty_internal_templateparser.php" -#line 490 "smarty_internal_templateparser.y" - function yy_r128(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } -#line 2524 "smarty_internal_templateparser.php" -#line 492 "smarty_internal_templateparser.y" - function yy_r129(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } -#line 2527 "smarty_internal_templateparser.php" -#line 493 "smarty_internal_templateparser.y" - function yy_r130(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; } -#line 2530 "smarty_internal_templateparser.php" -#line 497 "smarty_internal_templateparser.y" - function yy_r132(){$this->_retvalue = '[]'; } -#line 2533 "smarty_internal_templateparser.php" -#line 505 "smarty_internal_templateparser.y" - function yy_r134(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2536 "smarty_internal_templateparser.php" -#line 507 "smarty_internal_templateparser.y" - function yy_r135(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2539 "smarty_internal_templateparser.php" -#line 509 "smarty_internal_templateparser.y" - function yy_r136(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2542 "smarty_internal_templateparser.php" -#line 514 "smarty_internal_templateparser.y" - function yy_r137(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;} else { - $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"), null, true, false)->nocache;} } -#line 2546 "smarty_internal_templateparser.php" -#line 517 "smarty_internal_templateparser.y" - function yy_r138(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2549 "smarty_internal_templateparser.php" -#line 519 "smarty_internal_templateparser.y" - function yy_r139(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2552 "smarty_internal_templateparser.php" -#line 521 "smarty_internal_templateparser.y" - function yy_r140(){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 2559 "smarty_internal_templateparser.php" -#line 526 "smarty_internal_templateparser.y" - function yy_r141(){if ($this->security) { - $this->compiler->trigger_template_error (self::Err2); - } - $this->_retvalue = '->{$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor .')->value'.$this->yystack[$this->yyidx + 0]->minor.'}'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor,"'"), null, true, false)->nocache; +#line 408 "smarty_internal_templateparser.y" + function yy_r110(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { + $this->_retvalue = 'true'; + } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) { + $this->_retvalue = 'false'; + } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) { + $this->_retvalue = 'null'; + } else + $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; } +#line 2507 "smarty_internal_templateparser.php" +#line 419 "smarty_internal_templateparser.y" + function yy_r112(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } +#line 2510 "smarty_internal_templateparser.php" +#line 425 "smarty_internal_templateparser.y" + function yy_r115(){if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->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; + } else { + $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; + } + } else { + $this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting"); + } } +#line 2522 "smarty_internal_templateparser.php" +#line 435 "smarty_internal_templateparser.y" + function yy_r116(){ if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;} else { + $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index'].'::'.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor['var'],"'"), null, true, false)->nocache;} } +#line 2526 "smarty_internal_templateparser.php" +#line 438 "smarty_internal_templateparser.y" + function yy_r117(){ $this->prefix_number++; $this->compiler->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; } +#line 2529 "smarty_internal_templateparser.php" +#line 448 "smarty_internal_templateparser.y" + function yy_r119(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { + $smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']); + $this->_retvalue = $smarty_var; + } else { + // used for array reset,next,prev,end,current + $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var']; + $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; + if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + 0]->minor['var']])) { + $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + 0]->minor['var'] .']->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; + } else { + $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor['var'] .')->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; + } + $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"), null, true, false)->nocache; + } + } +#line 2546 "smarty_internal_templateparser.php" +#line 464 "smarty_internal_templateparser.y" + function yy_r120(){if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + -2]->minor])) { + $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor; + } else { + $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor; + } + $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; } +#line 2554 "smarty_internal_templateparser.php" +#line 473 "smarty_internal_templateparser.y" + function yy_r122(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } +#line 2557 "smarty_internal_templateparser.php" +#line 474 "smarty_internal_templateparser.y" + function yy_r123(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; } +#line 2560 "smarty_internal_templateparser.php" +#line 477 "smarty_internal_templateparser.y" + function yy_r124(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); } +#line 2563 "smarty_internal_templateparser.php" +#line 483 "smarty_internal_templateparser.y" + function yy_r125(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } #line 2566 "smarty_internal_templateparser.php" -#line 531 "smarty_internal_templateparser.y" - function yy_r142(){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 485 "smarty_internal_templateparser.y" + function yy_r126(){return; } +#line 2569 "smarty_internal_templateparser.php" +#line 489 "smarty_internal_templateparser.y" + function yy_r127(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor .')->value]'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + 0]->minor', null, true, false)->nocache; } +#line 2572 "smarty_internal_templateparser.php" +#line 490 "smarty_internal_templateparser.y" + function yy_r128(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor.']'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; } +#line 2575 "smarty_internal_templateparser.php" +#line 491 "smarty_internal_templateparser.y" + function yy_r129(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } +#line 2578 "smarty_internal_templateparser.php" +#line 492 "smarty_internal_templateparser.y" + function yy_r130(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } +#line 2581 "smarty_internal_templateparser.php" +#line 493 "smarty_internal_templateparser.y" + function yy_r131(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } +#line 2584 "smarty_internal_templateparser.php" +#line 495 "smarty_internal_templateparser.y" + function yy_r132(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } +#line 2587 "smarty_internal_templateparser.php" +#line 496 "smarty_internal_templateparser.y" + function yy_r133(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; } +#line 2590 "smarty_internal_templateparser.php" +#line 500 "smarty_internal_templateparser.y" + function yy_r135(){$this->_retvalue = '[]'; } +#line 2593 "smarty_internal_templateparser.php" +#line 508 "smarty_internal_templateparser.y" + function yy_r137(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2596 "smarty_internal_templateparser.php" +#line 510 "smarty_internal_templateparser.y" + function yy_r138(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 2599 "smarty_internal_templateparser.php" +#line 512 "smarty_internal_templateparser.y" + function yy_r139(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2602 "smarty_internal_templateparser.php" +#line 517 "smarty_internal_templateparser.y" + function yy_r140(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;} else { + $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"), null, true, false)->nocache;} } +#line 2606 "smarty_internal_templateparser.php" +#line 520 "smarty_internal_templateparser.y" + function yy_r141(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2609 "smarty_internal_templateparser.php" +#line 522 "smarty_internal_templateparser.y" + function yy_r142(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2612 "smarty_internal_templateparser.php" +#line 524 "smarty_internal_templateparser.y" + function yy_r143(){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 2619 "smarty_internal_templateparser.php" +#line 529 "smarty_internal_templateparser.y" + function yy_r144(){if ($this->security) { + $this->compiler->trigger_template_error (self::Err2); + } + $this->_retvalue = '->{$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor .')->value'.$this->yystack[$this->yyidx + 0]->minor.'}'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor,"'"), null, true, false)->nocache; + } +#line 2626 "smarty_internal_templateparser.php" +#line 534 "smarty_internal_templateparser.y" + function yy_r145(){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 2573 "smarty_internal_templateparser.php" -#line 536 "smarty_internal_templateparser.y" - function yy_r143(){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 2580 "smarty_internal_templateparser.php" -#line 542 "smarty_internal_templateparser.y" - function yy_r144(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2583 "smarty_internal_templateparser.php" -#line 548 "smarty_internal_templateparser.y" - function yy_r145(){if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { - if (strcasecmp($this->yystack[$this->yyidx + -3]->minor,'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'array') === 0 || is_callable($this->yystack[$this->yyidx + -3]->minor)) { - $func_name = strtolower($this->yystack[$this->yyidx + -3]->minor); - if ($func_name == 'isset') { - if (count($this->yystack[$this->yyidx + -1]->minor) == 0) { - $this->compiler->trigger_template_error ('Illegal number of paramer in "isset()"'); - } - $isset_par=str_replace("')->value","',null,true,false)->value",implode(',',$this->yystack[$this->yyidx + -1]->minor)); - $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $isset_par .")"; - } elseif (in_array($func_name,array('empty','reset','current','end','prev','next'))){ - if (count($this->yystack[$this->yyidx + -1]->minor) != 1) { - $this->compiler->trigger_template_error ('Illegal number of paramer in "empty()"'); - } - $this->_retvalue = $func_name.'('.$this->yystack[$this->yyidx + -1]->minor[0].')'; - } else { - $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")"; - } - } else { - $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); - } - } - } -#line 2607 "smarty_internal_templateparser.php" -#line 574 "smarty_internal_templateparser.y" - function yy_r146(){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 2614 "smarty_internal_templateparser.php" -#line 579 "smarty_internal_templateparser.y" - function yy_r147(){if ($this->security) { - $this->compiler->trigger_template_error (self::Err2); - } - $this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = '$_tmp'.$this->prefix_number.'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')'; - } -#line 2621 "smarty_internal_templateparser.php" -#line 587 "smarty_internal_templateparser.y" - function yy_r148(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor)); } -#line 2624 "smarty_internal_templateparser.php" -#line 596 "smarty_internal_templateparser.y" - function yy_r151(){$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 2627 "smarty_internal_templateparser.php" -#line 597 "smarty_internal_templateparser.y" - function yy_r152(){$this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)); } -#line 2630 "smarty_internal_templateparser.php" -#line 600 "smarty_internal_templateparser.y" - function yy_r154(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } #line 2633 "smarty_internal_templateparser.php" -#line 605 "smarty_internal_templateparser.y" - function yy_r155(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } -#line 2636 "smarty_internal_templateparser.php" -#line 607 "smarty_internal_templateparser.y" - function yy_r156(){$this->_retvalue = array(); } -#line 2639 "smarty_internal_templateparser.php" -#line 609 "smarty_internal_templateparser.y" - function yy_r157(){$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -#line 2642 "smarty_internal_templateparser.php" -#line 619 "smarty_internal_templateparser.y" - function yy_r162(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2645 "smarty_internal_templateparser.php" -#line 621 "smarty_internal_templateparser.y" - function yy_r163(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2648 "smarty_internal_templateparser.php" -#line 630 "smarty_internal_templateparser.y" - function yy_r164(){$this->_retvalue = '=='; } -#line 2651 "smarty_internal_templateparser.php" -#line 631 "smarty_internal_templateparser.y" - function yy_r165(){$this->_retvalue = '!='; } -#line 2654 "smarty_internal_templateparser.php" -#line 632 "smarty_internal_templateparser.y" - function yy_r166(){$this->_retvalue = '>'; } -#line 2657 "smarty_internal_templateparser.php" -#line 633 "smarty_internal_templateparser.y" - function yy_r167(){$this->_retvalue = '<'; } -#line 2660 "smarty_internal_templateparser.php" -#line 634 "smarty_internal_templateparser.y" - function yy_r168(){$this->_retvalue = '>='; } -#line 2663 "smarty_internal_templateparser.php" -#line 635 "smarty_internal_templateparser.y" - function yy_r169(){$this->_retvalue = '<='; } -#line 2666 "smarty_internal_templateparser.php" -#line 636 "smarty_internal_templateparser.y" - function yy_r170(){$this->_retvalue = '==='; } -#line 2669 "smarty_internal_templateparser.php" -#line 637 "smarty_internal_templateparser.y" - function yy_r171(){$this->_retvalue = '!=='; } -#line 2672 "smarty_internal_templateparser.php" -#line 638 "smarty_internal_templateparser.y" - function yy_r172(){$this->_retvalue = '%'; } -#line 2675 "smarty_internal_templateparser.php" -#line 640 "smarty_internal_templateparser.y" - function yy_r173(){$this->_retvalue = '&&'; } -#line 2678 "smarty_internal_templateparser.php" -#line 641 "smarty_internal_templateparser.y" - function yy_r174(){$this->_retvalue = '||'; } -#line 2681 "smarty_internal_templateparser.php" -#line 642 "smarty_internal_templateparser.y" - function yy_r175(){$this->_retvalue = ' XOR '; } -#line 2684 "smarty_internal_templateparser.php" -#line 647 "smarty_internal_templateparser.y" - function yy_r176(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2687 "smarty_internal_templateparser.php" -#line 649 "smarty_internal_templateparser.y" - function yy_r178(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } -#line 2690 "smarty_internal_templateparser.php" -#line 650 "smarty_internal_templateparser.y" - function yy_r179(){ return; } -#line 2693 "smarty_internal_templateparser.php" -#line 651 "smarty_internal_templateparser.y" - function yy_r180(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2696 "smarty_internal_templateparser.php" -#line 652 "smarty_internal_templateparser.y" - function yy_r181(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2699 "smarty_internal_templateparser.php" -#line 659 "smarty_internal_templateparser.y" - function yy_r183(){ $this->_retvalue = "''"; } -#line 2702 "smarty_internal_templateparser.php" -#line 660 "smarty_internal_templateparser.y" - function yy_r184(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php(); } -#line 2705 "smarty_internal_templateparser.php" -#line 662 "smarty_internal_templateparser.y" - function yy_r185(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } -#line 2708 "smarty_internal_templateparser.php" -#line 663 "smarty_internal_templateparser.y" - function yy_r186(){ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); } -#line 2711 "smarty_internal_templateparser.php" -#line 665 "smarty_internal_templateparser.y" - function yy_r187(){ $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor); } -#line 2714 "smarty_internal_templateparser.php" -#line 667 "smarty_internal_templateparser.y" - function yy_r189(){if (isset($this->compiler->local_var["'".substr($this->yystack[$this->yyidx + 0]->minor,1)."'"])) { - $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value'); - } else { - $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->getVariable(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')->value'); +#line 539 "smarty_internal_templateparser.y" + function yy_r146(){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 2640 "smarty_internal_templateparser.php" +#line 545 "smarty_internal_templateparser.y" + function yy_r147(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2643 "smarty_internal_templateparser.php" +#line 551 "smarty_internal_templateparser.y" + function yy_r148(){if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { + if (strcasecmp($this->yystack[$this->yyidx + -3]->minor,'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'array') === 0 || is_callable($this->yystack[$this->yyidx + -3]->minor)) { + $func_name = strtolower($this->yystack[$this->yyidx + -3]->minor); + if ($func_name == 'isset') { + if (count($this->yystack[$this->yyidx + -1]->minor) == 0) { + $this->compiler->trigger_template_error ('Illegal number of paramer in "isset()"'); + } + $isset_par=str_replace("')->value","',null,true,false)->value",implode(',',$this->yystack[$this->yyidx + -1]->minor)); + $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $isset_par .")"; + } elseif (in_array($func_name,array('empty','reset','current','end','prev','next'))){ + if (count($this->yystack[$this->yyidx + -1]->minor) != 1) { + $this->compiler->trigger_template_error ('Illegal number of paramer in "empty()"'); + } + $this->_retvalue = $func_name.'('.$this->yystack[$this->yyidx + -1]->minor[0].')'; + } else { + $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")"; + } + } else { + $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); + } + } + } +#line 2667 "smarty_internal_templateparser.php" +#line 577 "smarty_internal_templateparser.y" + function yy_r149(){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) .")"; } - $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"), null, true, false)->nocache; - } +#line 2674 "smarty_internal_templateparser.php" +#line 582 "smarty_internal_templateparser.y" + function yy_r150(){if ($this->security) { + $this->compiler->trigger_template_error (self::Err2); + } + $this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = '$_tmp'.$this->prefix_number.'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')'; + } +#line 2681 "smarty_internal_templateparser.php" +#line 590 "smarty_internal_templateparser.y" + function yy_r151(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor)); } +#line 2684 "smarty_internal_templateparser.php" +#line 599 "smarty_internal_templateparser.y" + function yy_r154(){$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 2687 "smarty_internal_templateparser.php" +#line 600 "smarty_internal_templateparser.y" + function yy_r155(){$this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)); } +#line 2690 "smarty_internal_templateparser.php" +#line 603 "smarty_internal_templateparser.y" + function yy_r157(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } +#line 2693 "smarty_internal_templateparser.php" +#line 608 "smarty_internal_templateparser.y" + function yy_r158(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } +#line 2696 "smarty_internal_templateparser.php" +#line 610 "smarty_internal_templateparser.y" + function yy_r159(){$this->_retvalue = array(); } +#line 2699 "smarty_internal_templateparser.php" +#line 612 "smarty_internal_templateparser.y" + function yy_r160(){$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } +#line 2702 "smarty_internal_templateparser.php" +#line 622 "smarty_internal_templateparser.y" + function yy_r165(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2705 "smarty_internal_templateparser.php" +#line 624 "smarty_internal_templateparser.y" + function yy_r166(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2708 "smarty_internal_templateparser.php" +#line 633 "smarty_internal_templateparser.y" + function yy_r167(){$this->_retvalue = '=='; } +#line 2711 "smarty_internal_templateparser.php" +#line 634 "smarty_internal_templateparser.y" + function yy_r168(){$this->_retvalue = '!='; } +#line 2714 "smarty_internal_templateparser.php" +#line 635 "smarty_internal_templateparser.y" + function yy_r169(){$this->_retvalue = '>'; } +#line 2717 "smarty_internal_templateparser.php" +#line 636 "smarty_internal_templateparser.y" + function yy_r170(){$this->_retvalue = '<'; } +#line 2720 "smarty_internal_templateparser.php" +#line 637 "smarty_internal_templateparser.y" + function yy_r171(){$this->_retvalue = '>='; } #line 2723 "smarty_internal_templateparser.php" -#line 675 "smarty_internal_templateparser.y" - function yy_r191(){ $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')'); } +#line 638 "smarty_internal_templateparser.y" + function yy_r172(){$this->_retvalue = '<='; } #line 2726 "smarty_internal_templateparser.php" -#line 676 "smarty_internal_templateparser.y" - function yy_r192(){ - $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor); +#line 639 "smarty_internal_templateparser.y" + function yy_r173(){$this->_retvalue = '==='; } +#line 2729 "smarty_internal_templateparser.php" +#line 640 "smarty_internal_templateparser.y" + function yy_r174(){$this->_retvalue = '!=='; } +#line 2732 "smarty_internal_templateparser.php" +#line 641 "smarty_internal_templateparser.y" + function yy_r175(){$this->_retvalue = '%'; } +#line 2735 "smarty_internal_templateparser.php" +#line 643 "smarty_internal_templateparser.y" + function yy_r176(){$this->_retvalue = '&&'; } +#line 2738 "smarty_internal_templateparser.php" +#line 644 "smarty_internal_templateparser.y" + function yy_r177(){$this->_retvalue = '||'; } +#line 2741 "smarty_internal_templateparser.php" +#line 645 "smarty_internal_templateparser.y" + function yy_r178(){$this->_retvalue = ' XOR '; } +#line 2744 "smarty_internal_templateparser.php" +#line 650 "smarty_internal_templateparser.y" + function yy_r179(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2747 "smarty_internal_templateparser.php" +#line 652 "smarty_internal_templateparser.y" + function yy_r181(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } +#line 2750 "smarty_internal_templateparser.php" +#line 653 "smarty_internal_templateparser.y" + function yy_r182(){ return; } +#line 2753 "smarty_internal_templateparser.php" +#line 654 "smarty_internal_templateparser.y" + function yy_r183(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2756 "smarty_internal_templateparser.php" +#line 655 "smarty_internal_templateparser.y" + function yy_r184(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2759 "smarty_internal_templateparser.php" +#line 662 "smarty_internal_templateparser.y" + function yy_r186(){ $this->_retvalue = "''"; } +#line 2762 "smarty_internal_templateparser.php" +#line 663 "smarty_internal_templateparser.y" + function yy_r187(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php(); } +#line 2765 "smarty_internal_templateparser.php" +#line 665 "smarty_internal_templateparser.y" + function yy_r188(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } +#line 2768 "smarty_internal_templateparser.php" +#line 666 "smarty_internal_templateparser.y" + function yy_r189(){ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); } +#line 2771 "smarty_internal_templateparser.php" +#line 668 "smarty_internal_templateparser.y" + function yy_r190(){ $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor); } +#line 2774 "smarty_internal_templateparser.php" +#line 670 "smarty_internal_templateparser.y" + function yy_r192(){if (isset($this->compiler->local_var["'".substr($this->yystack[$this->yyidx + 0]->minor,1)."'"])) { + $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value'); + } else { + $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->getVariable(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')->value'); + } + $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"), null, true, false)->nocache; } -#line 2731 "smarty_internal_templateparser.php" +#line 2783 "smarty_internal_templateparser.php" +#line 678 "smarty_internal_templateparser.y" + function yy_r194(){ $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')'); } +#line 2786 "smarty_internal_templateparser.php" #line 679 "smarty_internal_templateparser.y" - function yy_r193(){ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); } -#line 2734 "smarty_internal_templateparser.php" -#line 686 "smarty_internal_templateparser.y" - function yy_r195(){$this->_retvalue = ''; } -#line 2737 "smarty_internal_templateparser.php" - - private $_retvalue; - - function yy_reduce($yyruleno) - { - $yymsp = $this->yystack[$this->yyidx]; - if (self::$yyTraceFILE && $yyruleno >= 0 - && $yyruleno < count(self::$yyRuleName)) { - fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n", - self::$yyTracePrompt, $yyruleno, - self::$yyRuleName[$yyruleno]); - } - - $this->_retvalue = $yy_lefthand_side = null; - if (array_key_exists($yyruleno, self::$yyReduceMap)) { - // call the action - $this->_retvalue = null; - $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}(); - $yy_lefthand_side = $this->_retvalue; - } - $yygoto = self::$yyRuleInfo[$yyruleno]['lhs']; - $yysize = self::$yyRuleInfo[$yyruleno]['rhs']; - $this->yyidx -= $yysize; - for($i = $yysize; $i; $i--) { - // pop all of the right-hand side parameters - array_pop($this->yystack); - } - $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto); - if ($yyact < self::YYNSTATE) { - if (!self::$yyTraceFILE && $yysize) { - $this->yyidx++; - $x = new TP_yyStackEntry; - $x->stateno = $yyact; - $x->major = $yygoto; - $x->minor = $yy_lefthand_side; - $this->yystack[$this->yyidx] = $x; - } else { - $this->yy_shift($yyact, $yygoto, $yy_lefthand_side); - } - } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) { - $this->yy_accept(); - } - } - - function yy_parse_failed() - { - if (self::$yyTraceFILE) { - fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt); - } - while ($this->yyidx >= 0) { - $this->yy_pop_parser_stack(); - } - } - - function yy_syntax_error($yymajor, $TOKEN) - { + function yy_r195(){ + $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor); + } +#line 2791 "smarty_internal_templateparser.php" +#line 682 "smarty_internal_templateparser.y" + function yy_r196(){ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); } +#line 2794 "smarty_internal_templateparser.php" +#line 689 "smarty_internal_templateparser.y" + function yy_r198(){$this->_retvalue = ''; } +#line 2797 "smarty_internal_templateparser.php" + + private $_retvalue; + + function yy_reduce($yyruleno) + { + $yymsp = $this->yystack[$this->yyidx]; + if (self::$yyTraceFILE && $yyruleno >= 0 + && $yyruleno < count(self::$yyRuleName)) { + fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n", + self::$yyTracePrompt, $yyruleno, + self::$yyRuleName[$yyruleno]); + } + + $this->_retvalue = $yy_lefthand_side = null; + if (array_key_exists($yyruleno, self::$yyReduceMap)) { + // call the action + $this->_retvalue = null; + $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}(); + $yy_lefthand_side = $this->_retvalue; + } + $yygoto = self::$yyRuleInfo[$yyruleno]['lhs']; + $yysize = self::$yyRuleInfo[$yyruleno]['rhs']; + $this->yyidx -= $yysize; + for($i = $yysize; $i; $i--) { + // pop all of the right-hand side parameters + array_pop($this->yystack); + } + $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto); + if ($yyact < self::YYNSTATE) { + if (!self::$yyTraceFILE && $yysize) { + $this->yyidx++; + $x = new TP_yyStackEntry; + $x->stateno = $yyact; + $x->major = $yygoto; + $x->minor = $yy_lefthand_side; + $this->yystack[$this->yyidx] = $x; + } else { + $this->yy_shift($yyact, $yygoto, $yy_lefthand_side); + } + } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) { + $this->yy_accept(); + } + } + + function yy_parse_failed() + { + if (self::$yyTraceFILE) { + fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt); + } + while ($this->yyidx >= 0) { + $this->yy_pop_parser_stack(); + } + } + + function yy_syntax_error($yymajor, $TOKEN) + { #line 77 "smarty_internal_templateparser.y" - - $this->internalError = true; - $this->yymajor = $yymajor; - $this->compiler->trigger_template_error(); -#line 2800 "smarty_internal_templateparser.php" - } - - function yy_accept() - { - if (self::$yyTraceFILE) { - fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt); - } - while ($this->yyidx >= 0) { - $stack = $this->yy_pop_parser_stack(); - } + + $this->internalError = true; + $this->yymajor = $yymajor; + $this->compiler->trigger_template_error(); +#line 2860 "smarty_internal_templateparser.php" + } + + function yy_accept() + { + if (self::$yyTraceFILE) { + fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt); + } + while ($this->yyidx >= 0) { + $stack = $this->yy_pop_parser_stack(); + } #line 69 "smarty_internal_templateparser.y" - - $this->successful = !$this->internalError; - $this->internalError = false; - $this->retvalue = $this->_retvalue; - //echo $this->retvalue."\n\n"; -#line 2818 "smarty_internal_templateparser.php" - } - - function doParse($yymajor, $yytokenvalue) - { - $yyerrorhit = 0; /* True if yymajor has invoked an error */ - - if ($this->yyidx === null || $this->yyidx < 0) { - $this->yyidx = 0; - $this->yyerrcnt = -1; - $x = new TP_yyStackEntry; - $x->stateno = 0; - $x->major = 0; - $this->yystack = array(); - array_push($this->yystack, $x); - } - $yyendofinput = ($yymajor==0); - - if (self::$yyTraceFILE) { - fprintf(self::$yyTraceFILE, "%sInput %s\n", - self::$yyTracePrompt, $this->yyTokenName[$yymajor]); - } - - do { - $yyact = $this->yy_find_shift_action($yymajor); - if ($yymajor < self::YYERRORSYMBOL && - !$this->yy_is_expected_token($yymajor)) { - // force a syntax error - $yyact = self::YY_ERROR_ACTION; - } - if ($yyact < self::YYNSTATE) { - $this->yy_shift($yyact, $yymajor, $yytokenvalue); - $this->yyerrcnt--; - if ($yyendofinput && $this->yyidx >= 0) { - $yymajor = 0; - } else { - $yymajor = self::YYNOCODE; - } - } elseif ($yyact < self::YYNSTATE + self::YYNRULE) { - $this->yy_reduce($yyact - self::YYNSTATE); - } elseif ($yyact == self::YY_ERROR_ACTION) { - if (self::$yyTraceFILE) { - fprintf(self::$yyTraceFILE, "%sSyntax Error!\n", - self::$yyTracePrompt); - } - if (self::YYERRORSYMBOL) { - if ($this->yyerrcnt < 0) { - $this->yy_syntax_error($yymajor, $yytokenvalue); - } - $yymx = $this->yystack[$this->yyidx]->major; - if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){ - if (self::$yyTraceFILE) { - fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n", - self::$yyTracePrompt, $this->yyTokenName[$yymajor]); - } - $this->yy_destructor($yymajor, $yytokenvalue); - $yymajor = self::YYNOCODE; - } else { - while ($this->yyidx >= 0 && - $yymx != self::YYERRORSYMBOL && - ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE - ){ - $this->yy_pop_parser_stack(); - } - if ($this->yyidx < 0 || $yymajor==0) { - $this->yy_destructor($yymajor, $yytokenvalue); - $this->yy_parse_failed(); - $yymajor = self::YYNOCODE; - } elseif ($yymx != self::YYERRORSYMBOL) { - $u2 = 0; - $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2); - } - } - $this->yyerrcnt = 3; - $yyerrorhit = 1; - } else { - if ($this->yyerrcnt <= 0) { - $this->yy_syntax_error($yymajor, $yytokenvalue); - } - $this->yyerrcnt = 3; - $this->yy_destructor($yymajor, $yytokenvalue); - if ($yyendofinput) { - $this->yy_parse_failed(); - } - $yymajor = self::YYNOCODE; - } - } else { - $this->yy_accept(); - $yymajor = self::YYNOCODE; - } - } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0); - } -} + + $this->successful = !$this->internalError; + $this->internalError = false; + $this->retvalue = $this->_retvalue; + //echo $this->retvalue."\n\n"; +#line 2878 "smarty_internal_templateparser.php" + } + + function doParse($yymajor, $yytokenvalue) + { + $yyerrorhit = 0; /* True if yymajor has invoked an error */ + + if ($this->yyidx === null || $this->yyidx < 0) { + $this->yyidx = 0; + $this->yyerrcnt = -1; + $x = new TP_yyStackEntry; + $x->stateno = 0; + $x->major = 0; + $this->yystack = array(); + array_push($this->yystack, $x); + } + $yyendofinput = ($yymajor==0); + + if (self::$yyTraceFILE) { + fprintf(self::$yyTraceFILE, "%sInput %s\n", + self::$yyTracePrompt, $this->yyTokenName[$yymajor]); + } + + do { + $yyact = $this->yy_find_shift_action($yymajor); + if ($yymajor < self::YYERRORSYMBOL && + !$this->yy_is_expected_token($yymajor)) { + // force a syntax error + $yyact = self::YY_ERROR_ACTION; + } + if ($yyact < self::YYNSTATE) { + $this->yy_shift($yyact, $yymajor, $yytokenvalue); + $this->yyerrcnt--; + if ($yyendofinput && $this->yyidx >= 0) { + $yymajor = 0; + } else { + $yymajor = self::YYNOCODE; + } + } elseif ($yyact < self::YYNSTATE + self::YYNRULE) { + $this->yy_reduce($yyact - self::YYNSTATE); + } elseif ($yyact == self::YY_ERROR_ACTION) { + if (self::$yyTraceFILE) { + fprintf(self::$yyTraceFILE, "%sSyntax Error!\n", + self::$yyTracePrompt); + } + if (self::YYERRORSYMBOL) { + if ($this->yyerrcnt < 0) { + $this->yy_syntax_error($yymajor, $yytokenvalue); + } + $yymx = $this->yystack[$this->yyidx]->major; + if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){ + if (self::$yyTraceFILE) { + fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n", + self::$yyTracePrompt, $this->yyTokenName[$yymajor]); + } + $this->yy_destructor($yymajor, $yytokenvalue); + $yymajor = self::YYNOCODE; + } else { + while ($this->yyidx >= 0 && + $yymx != self::YYERRORSYMBOL && + ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE + ){ + $this->yy_pop_parser_stack(); + } + if ($this->yyidx < 0 || $yymajor==0) { + $this->yy_destructor($yymajor, $yytokenvalue); + $this->yy_parse_failed(); + $yymajor = self::YYNOCODE; + } elseif ($yymx != self::YYERRORSYMBOL) { + $u2 = 0; + $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2); + } + } + $this->yyerrcnt = 3; + $yyerrorhit = 1; + } else { + if ($this->yyerrcnt <= 0) { + $this->yy_syntax_error($yymajor, $yytokenvalue); + } + $this->yyerrcnt = 3; + $this->yy_destructor($yymajor, $yytokenvalue); + if ($yyendofinput) { + $this->yy_parse_failed(); + } + $yymajor = self::YYNOCODE; + } + } else { + $this->yy_accept(); + $yymajor = self::YYNOCODE; + } + } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0); + } +} ?> \ No newline at end of file