diff --git a/change_log.txt b/change_log.txt index ddd8e031..a79a1051 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,6 +1,8 @@ 01/11/2010 - added \n to the compiled code of the {if},{else},{elseif},{/if} tags to get output of newlines as expected by the template source - added missing support of insert plugins +- added optional nocache attribute to {block} tags in parent template +- updated handling supporting now heredocs and newdocs. (thanks to Thue Jnaus Kristensen) 01/09/2010 - bugfix on nocache {block} tags in parent templates diff --git a/libs/sysplugins/smarty_internal_compile_block.php b/libs/sysplugins/smarty_internal_compile_block.php index 4a4cd542..45bca204 100644 --- a/libs/sysplugins/smarty_internal_compile_block.php +++ b/libs/sysplugins/smarty_internal_compile_block.php @@ -23,11 +23,17 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase { { $this->compiler = $compiler; $this->required_attributes = array('name'); - $this->optional_attributes = array('assign'); + $this->optional_attributes = array('assign','nocache'); // check and get attributes $_attr = $this->_get_attributes($args); - $save = array($_attr, $compiler->template->extracted_compiled_code, $compiler->template->extract_code); + $save = array($_attr, $compiler->template->extracted_compiled_code, $compiler->template->extract_code, $this->compiler->nocache); $this->_open_tag('block', $save); + if (isset($_attr['nocache'])) { + if ($_attr['nocache'] == 'true') { + $compiler->nocache = true; + } + } + $compiler->template->extract_code = true; $compiler->template->extracted_compiled_code = ''; $compiler->has_code = false; @@ -91,7 +97,8 @@ class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_CompileBase { $_output = $compiler->template->extracted_compiled_code; } $compiler->template->extracted_compiled_code = $saved_data[1]; - $compiler->template->extract_code = $saved_data[2]; + $compiler->template->extract_code = $saved_data[2]; + $compiler->nocache = $saved_data[3]; // $_output content has already nocache code processed $compiler->suppressNocacheProcessing = true; return $_output; diff --git a/libs/sysplugins/smarty_internal_templatelexer.php b/libs/sysplugins/smarty_internal_templatelexer.php index a54c356f..a292a8f8 100644 --- a/libs/sysplugins/smarty_internal_templatelexer.php +++ b/libs/sysplugins/smarty_internal_templatelexer.php @@ -21,6 +21,7 @@ class Smarty_Internal_Templatelexer public $taglineno; public $state = 1; public $strip = false; + private $heredoc_id_stack = Array(); public $smarty_token_names = array ( // Text for parser error messages 'IDENTITY' => '===', 'NONEIDENTITY' => '!==', @@ -805,7 +806,7 @@ class Smarty_Internal_Templatelexer if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/^(\\?>)|^(([\S\s]*?)\\?>)|^([\S\s]+)/"; + $yy_global_pattern = "/^(\\?>)|^([\s\S]+?(\\?>|\/\\*|'|\"|<<<\\s*'?\\w+'?\r?\n|\/\/|#))|^([\S\s]+)/"; do { if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { @@ -858,14 +859,45 @@ class Smarty_Internal_Templatelexer function yy_r3_1($yy_subpatterns) { - $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG; - $this->yypopstate(); - } + $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG; + $this->yypopstate(); + } function yy_r3_2($yy_subpatterns) { - $this->token = Smarty_Internal_Templateparser::TP_OTHER; - $this->value = substr($this->value,0,-2); + switch ($yy_subpatterns[0]) { + case '?>': + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE; + $this->value = substr($this->value, 0, -2); + break; + case "'": + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE; + $this->yypushstate(self::PHP_SINGLE_QUOTED_STRING); + break; + case '"': + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE_START_DOUBLEQUOTE; + $this->yypushstate(self::PHP_DOUBLE_QUOTED_STRING); + break; + case '/*': + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE; + $this->yypushstate(self::PHP_ML_COMMENT); + break; + case '//': + case '#': + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE; + $this->yypushstate(self::PHP_SL_COMMENT); + break; + default: + $res = preg_match('/\A<<<\s*\'?(\w+)(\'?)\r?\n\z/', $yy_subpatterns[0], $matches); + assert($res === 1); + $is_nowdoc = $matches[2] === "'"; + $this->token = $is_nowdoc + ? Smarty_Internal_Templateparser::TP_PHP_NOWDOC_START + : Smarty_Internal_Templateparser::TP_PHP_HEREDOC_START; + $this->heredoc_id_stack[] = $matches[1]; + $this->yypushstate($is_nowdoc ? self::PHP_NOWDOC : self::PHP_HEREDOC); + break; + } } function yy_r3_4($yy_subpatterns) { @@ -879,15 +911,11 @@ class Smarty_Internal_Templatelexer $tokenMap = array ( 1 => 0, 2 => 0, - 3 => 0, - 4 => 0, - 5 => 1, - 7 => 0, ); if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/^(".$this->ldel."literal".$this->rdel.")|^(".$this->ldel."\/literal".$this->rdel.")|^(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|^(\\?>)|^([\S\s]+?(".$this->ldel."\/?literal".$this->rdel."|<\\?))|^([\S\s]+)/"; + $yy_global_pattern = "/^([\s\S]*\\*\/)|^([\S\s]+)/"; do { if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { @@ -896,7 +924,7 @@ class Smarty_Internal_Templatelexer if (!count($yymatches)) { throw new Exception('Error: lexing failed because a rule matched' . 'an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state LITERAL'); + $this->counter, 5) . '... state PHP_ML_COMMENT'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number @@ -936,54 +964,17 @@ class Smarty_Internal_Templatelexer } // end function - const LITERAL = 4; + const PHP_ML_COMMENT = 4; function yy_r4_1($yy_subpatterns) { - $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART; - $this->yypushstate(self::LITERAL); + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE; + $this->yypopstate(); } function yy_r4_2($yy_subpatterns) { - $this->token = Smarty_Internal_Templateparser::TP_LITERALEND; - $this->yypopstate(); - } - function yy_r4_3($yy_subpatterns) - { - - if (in_array($this->value, Array('token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG; - } else { - $this->token = Smarty_Internal_Templateparser::TP_FAKEPHPSTARTTAG; - $this->value = substr($this->value, 0, 2); - } - } - function yy_r4_4($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_LITERAL; - } - function yy_r4_5($yy_subpatterns) - { - - $lenght_literal = strlen($this->smarty->left_delimiter.$this->smarty->right_delimiter)+7; - if (substr($this->value,-2,2) === 'token = Smarty_Internal_Templateparser::TP_LITERAL; - $this->value = substr($this->value,0,-2); - } else if (substr($this->value,-$lenght_literal,$lenght_literal) === $this->smarty->left_delimiter.'literal'.$this->smarty->right_delimiter) { - $this->token = Smarty_Internal_Templateparser::TP_LITERAL; - $this->value = substr($this->value,0,-$lenght_literal); - } else { - assert(substr($this->value,-$lenght_literal-1,$lenght_literal+1) === $this->smarty->left_delimiter.'/literal'.$this->smarty->right_delimiter); - $this->token = Smarty_Internal_Templateparser::TP_LITERAL; - $this->value = substr($this->value,0,-$lenght_literal-1); - } - } - function yy_r4_7($yy_subpatterns) - { - - $this->compiler->trigger_template_error ("missing or misspelled literal closing tag"); + $this->compiler->trigger_template_error("missing PHP comment end */"); } @@ -992,19 +983,11 @@ class Smarty_Internal_Templatelexer $tokenMap = array ( 1 => 0, 2 => 0, - 3 => 0, - 4 => 0, - 5 => 0, - 6 => 0, - 7 => 0, - 8 => 0, - 9 => 2, - 12 => 0, ); if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s{1,})|^(".$this->ldel."\/)|^(".$this->ldel.")|^(\")|^(`\\$)|^(\\$\\w+)|^(\\$)|^(([\S\s]*?)(".$this->ldel."|\\$|`\\$|\\\\\\\\|[^\\\\]\"))|^([\S\s]+)/"; + $yy_global_pattern = "/^(.+?(?=\\?>|\n))|^([\S\s]+)/"; do { if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { @@ -1013,7 +996,7 @@ class Smarty_Internal_Templatelexer if (!count($yymatches)) { throw new Exception('Error: lexing failed because a rule matched' . 'an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state DOUBLEQUOTEDSTRING'); + $this->counter, 5) . '... state PHP_SL_COMMENT'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number @@ -1053,10 +1036,720 @@ class Smarty_Internal_Templatelexer } // end function - const DOUBLEQUOTEDSTRING = 5; + const PHP_SL_COMMENT = 5; function yy_r5_1($yy_subpatterns) { + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE; + $this->yypopstate(); + } + function yy_r5_2($yy_subpatterns) + { + + /* this can happen for "//?>" */ + $this->yypopstate(); + return true; + } + + + function yylex6() + { + $tokenMap = array ( + 1 => 0, + 2 => 0, + ); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + $yy_global_pattern = "/^([^\n]*\n)|^([\S\s]+)/"; + + do { + if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { + $yysubmatches = $yymatches; + $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns + if (!count($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . + 'an empty string. Input "' . substr($this->data, + $this->counter, 5) . '... state PHP_NOWDOC'); + } + next($yymatches); // skip global match + $this->token = key($yymatches); // token number + if ($tokenMap[$this->token]) { + // extract sub-patterns for passing to lex function + $yysubmatches = array_slice($yysubmatches, $this->token + 1, + $tokenMap[$this->token]); + } else { + $yysubmatches = array(); + } + $this->value = current($yymatches); // token value + $r = $this->{'yy_r6_' . $this->token}($yysubmatches); + if ($r === null) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + // accept this token + return true; + } elseif ($r === true) { + // we have changed state + // process this token in the new state + return $this->yylex(); + } elseif ($r === false) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + // skip this token + continue; + } } else { + throw new Exception('Unexpected input at line' . $this->line . + ': ' . $this->data[$this->counter]); + } + break; + } while (true); + + } // end function + + + const PHP_NOWDOC = 6; + function yy_r6_1($yy_subpatterns) + { + + $heredoc_id = $this->heredoc_id_stack[sizeof($this->heredoc_id_stack)-1]; + if ( $this->value === $heredoc_id."\n" + || $this->value === $heredoc_id."\r\n" + || $this->value === $heredoc_id.";\n" + || $this->value === $heredoc_id.";\r\n" + ) { + $this->token = Smarty_Internal_Templateparser::TP_PHP_NOWDOC_END; + array_pop($this->heredoc_id_stack); + $this->yypopstate(); + } else { + $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_CONTENT; + } + } + function yy_r6_2($yy_subpatterns) + { + + $this->compiler->trigger_template_error("missing PHP NOWDOC end"); + } + + + function yylex7() + { + $tokenMap = array ( + 1 => 0, + 2 => 0, + 3 => 0, + ); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + $yy_global_pattern = "/^(\\{\\$|\\{\\$)|^([^\n]*\n)|^([\S\s]+)/"; + + do { + if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { + $yysubmatches = $yymatches; + $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns + if (!count($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . + 'an empty string. Input "' . substr($this->data, + $this->counter, 5) . '... state PHP_HEREDOC'); + } + next($yymatches); // skip global match + $this->token = key($yymatches); // token number + if ($tokenMap[$this->token]) { + // extract sub-patterns for passing to lex function + $yysubmatches = array_slice($yysubmatches, $this->token + 1, + $tokenMap[$this->token]); + } else { + $yysubmatches = array(); + } + $this->value = current($yymatches); // token value + $r = $this->{'yy_r7_' . $this->token}($yysubmatches); + if ($r === null) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + // accept this token + return true; + } elseif ($r === true) { + // we have changed state + // process this token in the new state + return $this->yylex(); + } elseif ($r === false) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + // skip this token + continue; + } } else { + throw new Exception('Unexpected input at line' . $this->line . + ': ' . $this->data[$this->counter]); + } + break; + } while (true); + + } // end function + + + const PHP_HEREDOC = 7; + function yy_r7_1($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_EMBED_START; + $this->yypushstate(self::PHP_RETURNING_TO_HEREDOC_FROM_EMBEDDED); + $this->yypushstate(self::PHP_DOUBLE_QUOTED_STRING_EMBEDDED); + } + function yy_r7_2($yy_subpatterns) + { + + $heredoc_id = $this->heredoc_id_stack[sizeof($this->heredoc_id_stack)-1]; + if ( $this->value === $heredoc_id."\n" + || $this->value === $heredoc_id."\r\n" + || $this->value === $heredoc_id.";\n" + || $this->value === $heredoc_id.";\r\n" + ) { + $this->token = Smarty_Internal_Templateparser::TP_PHP_HEREDOC_END; + array_pop($this->heredoc_id_stack); + $this->yypopstate(); + } else { + $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_CONTENT; + if (preg_match('/(.*?)(\{\$\|\$\{)/', $this->value, $matches)) { + $this->value = $matches[1]; + } + } + } + function yy_r7_3($yy_subpatterns) + { + + $this->compiler->trigger_template_error("missing PHP HEREDOC end"); + } + + + function yylex8() + { + $tokenMap = array ( + 1 => 0, + ); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + $yy_global_pattern = "/^([^\n]*\n)/"; + + do { + if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { + $yysubmatches = $yymatches; + $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns + if (!count($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . + 'an empty string. Input "' . substr($this->data, + $this->counter, 5) . '... state PHP_RETURNING_TO_HEREDOC_FROM_EMBEDDED'); + } + next($yymatches); // skip global match + $this->token = key($yymatches); // token number + if ($tokenMap[$this->token]) { + // extract sub-patterns for passing to lex function + $yysubmatches = array_slice($yysubmatches, $this->token + 1, + $tokenMap[$this->token]); + } else { + $yysubmatches = array(); + } + $this->value = current($yymatches); // token value + $r = $this->{'yy_r8_' . $this->token}($yysubmatches); + if ($r === null) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + // accept this token + return true; + } elseif ($r === true) { + // we have changed state + // process this token in the new state + return $this->yylex(); + } elseif ($r === false) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + // skip this token + continue; + } } else { + throw new Exception('Unexpected input at line' . $this->line . + ': ' . $this->data[$this->counter]); + } + break; + } while (true); + + } // end function + + + const PHP_RETURNING_TO_HEREDOC_FROM_EMBEDDED = 8; + function yy_r8_1($yy_subpatterns) + { + + $this->yypopstate(); + $heredoc_id = $this->heredoc_id_stack[sizeof($this->heredoc_id_stack)-1]; + if ( $this->value === $heredoc_id."\n" + || $this->value === $heredoc_id."\r\n" + || $this->value === $heredoc_id.";\n" + || $this->value === $heredoc_id.";\r\n" + ) { + //Make sure it isn't interpreted as HEREDOC end. + $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_CONTENT; + } else { + return true; //retry in PHP_HEREDOC state + } + } + + + function yylex9() + { + $tokenMap = array ( + 1 => 0, + 2 => 0, + ); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + $yy_global_pattern = "/^((?:[^\\\\']|\\\\.)*')|^([\S\s]+)/"; + + do { + if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { + $yysubmatches = $yymatches; + $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns + if (!count($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . + 'an empty string. Input "' . substr($this->data, + $this->counter, 5) . '... state PHP_SINGLE_QUOTED_STRING'); + } + next($yymatches); // skip global match + $this->token = key($yymatches); // token number + if ($tokenMap[$this->token]) { + // extract sub-patterns for passing to lex function + $yysubmatches = array_slice($yysubmatches, $this->token + 1, + $tokenMap[$this->token]); + } else { + $yysubmatches = array(); + } + $this->value = current($yymatches); // token value + $r = $this->{'yy_r9_' . $this->token}($yysubmatches); + if ($r === null) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + // accept this token + return true; + } elseif ($r === true) { + // we have changed state + // process this token in the new state + return $this->yylex(); + } elseif ($r === false) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + // skip this token + continue; + } } else { + throw new Exception('Unexpected input at line' . $this->line . + ': ' . $this->data[$this->counter]); + } + break; + } while (true); + + } // end function + + + const PHP_SINGLE_QUOTED_STRING = 9; + function yy_r9_1($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE; + $this->yypopstate(); + } + function yy_r9_2($yy_subpatterns) + { + + $this->compiler->trigger_template_error("missing PHP single quoted string end"); + } + + + function yylex10() + { + $tokenMap = array ( + 1 => 0, + 2 => 0, + 3 => 0, + 4 => 0, + ); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + $yy_global_pattern = "/^(\\{\\$|\\{\\$)|^(\")|^((?:\\\\.|[^\"\\\\])+?(?=\"|\\{\\$|\\$\\{))|^([\S\s]+)/"; + + do { + if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { + $yysubmatches = $yymatches; + $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns + if (!count($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . + 'an empty string. Input "' . substr($this->data, + $this->counter, 5) . '... state PHP_DOUBLE_QUOTED_STRING'); + } + next($yymatches); // skip global match + $this->token = key($yymatches); // token number + if ($tokenMap[$this->token]) { + // extract sub-patterns for passing to lex function + $yysubmatches = array_slice($yysubmatches, $this->token + 1, + $tokenMap[$this->token]); + } else { + $yysubmatches = array(); + } + $this->value = current($yymatches); // token value + $r = $this->{'yy_r10_' . $this->token}($yysubmatches); + if ($r === null) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + // accept this token + return true; + } elseif ($r === true) { + // we have changed state + // process this token in the new state + return $this->yylex(); + } elseif ($r === false) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + // skip this token + continue; + } } else { + throw new Exception('Unexpected input at line' . $this->line . + ': ' . $this->data[$this->counter]); + } + break; + } while (true); + + } // end function + + + const PHP_DOUBLE_QUOTED_STRING = 10; + function yy_r10_1($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_EMBED_START; + $this->yypushstate(self::PHP_DOUBLE_QUOTED_STRING_EMBEDDED); + } + function yy_r10_2($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE_DOUBLEQUOTE; + $this->yypopstate(); + } + function yy_r10_3($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_CONTENT; + } + function yy_r10_4($yy_subpatterns) + { + + $this->compiler->trigger_template_error("missing PHP double quoted string end"); + } + + + function yylex11() + { + $tokenMap = array ( + 1 => 0, + 2 => 0, + 3 => 0, + 4 => 0, + 5 => 0, + 6 => 0, + ); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + $yy_global_pattern = "/^(\")|^(')|^(<<<\\s*\\w+\r?\n)|^(<<<\\s*'\\w+'\r?\n)|^(\\})|^([^'\"}]+?(?='|\"|\\}|<<<\\s*'?\\w+'?\r?\n))/"; + + do { + if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { + $yysubmatches = $yymatches; + $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns + if (!count($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . + 'an empty string. Input "' . substr($this->data, + $this->counter, 5) . '... state PHP_DOUBLE_QUOTED_STRING_EMBEDDED'); + } + next($yymatches); // skip global match + $this->token = key($yymatches); // token number + if ($tokenMap[$this->token]) { + // extract sub-patterns for passing to lex function + $yysubmatches = array_slice($yysubmatches, $this->token + 1, + $tokenMap[$this->token]); + } else { + $yysubmatches = array(); + } + $this->value = current($yymatches); // token value + $r = $this->{'yy_r11_' . $this->token}($yysubmatches); + if ($r === null) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + // accept this token + return true; + } elseif ($r === true) { + // we have changed state + // process this token in the new state + return $this->yylex(); + } elseif ($r === false) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + // skip this token + continue; + } } else { + throw new Exception('Unexpected input at line' . $this->line . + ': ' . $this->data[$this->counter]); + } + break; + } while (true); + + } // end function + + + const PHP_DOUBLE_QUOTED_STRING_EMBEDDED = 11; + function yy_r11_1($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE_START_DOUBLEQUOTE; + $this->yypushstate(self::PHP_DOUBLE_QUOTED_STRING); + } + function yy_r11_2($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE; + $this->yypushstate(self::PHP_SINGLE_QUOTED_STRING); + } + function yy_r11_3($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_HEREDOC_START; + $res = preg_match('/\A\<\<\<\s*(\w+)\r?\n\z/', $this->value, $matches); + assert($res === 1); + $this->heredoc_id_stack[] = $matches[1]; + $this->yypushstate(self::PHP_HEREDOC); + } + function yy_r11_4($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_NOWDOC_START; + $res = preg_match('/\A\<\<\<\s*\'(\w+)\'\r?\n\z/', $this->value, $matches); + assert($res === 1); + $this->heredoc_id_stack[] = $matches[1]; + $this->yypushstate(self::PHP_NOWDOC); + } + function yy_r11_5($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_EMBED_END; + $this->yypopstate(); + } + function yy_r11_6($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE; + } + + + + function yylex12() + { + $tokenMap = array ( + 1 => 0, + 2 => 0, + 3 => 0, + 4 => 0, + 5 => 1, + 7 => 0, + ); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + $yy_global_pattern = "/^(".$this->ldel."literal".$this->rdel.")|^(".$this->ldel."\/literal".$this->rdel.")|^(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|^(\\?>)|^([\S\s]+?(".$this->ldel."\/?literal".$this->rdel."|<\\?))|^([\S\s]+)/"; + + do { + if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { + $yysubmatches = $yymatches; + $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns + if (!count($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . + 'an empty string. Input "' . substr($this->data, + $this->counter, 5) . '... state LITERAL'); + } + next($yymatches); // skip global match + $this->token = key($yymatches); // token number + if ($tokenMap[$this->token]) { + // extract sub-patterns for passing to lex function + $yysubmatches = array_slice($yysubmatches, $this->token + 1, + $tokenMap[$this->token]); + } else { + $yysubmatches = array(); + } + $this->value = current($yymatches); // token value + $r = $this->{'yy_r12_' . $this->token}($yysubmatches); + if ($r === null) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + // accept this token + return true; + } elseif ($r === true) { + // we have changed state + // process this token in the new state + return $this->yylex(); + } elseif ($r === false) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + // skip this token + continue; + } } else { + throw new Exception('Unexpected input at line' . $this->line . + ': ' . $this->data[$this->counter]); + } + break; + } while (true); + + } // end function + + + const LITERAL = 12; + function yy_r12_1($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART; + $this->yypushstate(self::LITERAL); + } + function yy_r12_2($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_LITERALEND; + $this->yypopstate(); + } + function yy_r12_3($yy_subpatterns) + { + + if (in_array($this->value, Array('token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG; + } else { + $this->token = Smarty_Internal_Templateparser::TP_FAKEPHPSTARTTAG; + $this->value = substr($this->value, 0, 2); + } + } + function yy_r12_4($yy_subpatterns) + { + + $this->token = Smarty_Internal_Templateparser::TP_LITERAL; + } + function yy_r12_5($yy_subpatterns) + { + + $lenght_literal = strlen($this->smarty->left_delimiter.$this->smarty->right_delimiter)+7; + if (substr($this->value,-2,2) === 'token = Smarty_Internal_Templateparser::TP_LITERAL; + $this->value = substr($this->value,0,-2); + } else if (substr($this->value,-$lenght_literal,$lenght_literal) === $this->smarty->left_delimiter.'literal'.$this->smarty->right_delimiter) { + $this->token = Smarty_Internal_Templateparser::TP_LITERAL; + $this->value = substr($this->value,0,-$lenght_literal); + } else { + assert(substr($this->value,-$lenght_literal-1,$lenght_literal+1) === $this->smarty->left_delimiter.'/literal'.$this->smarty->right_delimiter); + $this->token = Smarty_Internal_Templateparser::TP_LITERAL; + $this->value = substr($this->value,0,-$lenght_literal-1); + } + } + function yy_r12_7($yy_subpatterns) + { + + $this->compiler->trigger_template_error ("missing or misspelled literal closing tag"); + } + + + function yylex13() + { + $tokenMap = array ( + 1 => 0, + 2 => 0, + 3 => 0, + 4 => 0, + 5 => 0, + 6 => 0, + 7 => 0, + 8 => 0, + 9 => 2, + 12 => 0, + ); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + $yy_global_pattern = "/^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s{1,})|^(".$this->ldel."\/)|^(".$this->ldel.")|^(\")|^(`\\$)|^(\\$\\w+)|^(\\$)|^(([\S\s]*?)(".$this->ldel."|\\$|`\\$|\\\\\\\\|[^\\\\]\"))|^([\S\s]+)/"; + + do { + if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) { + $yysubmatches = $yymatches; + $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns + if (!count($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . + 'an empty string. Input "' . substr($this->data, + $this->counter, 5) . '... state DOUBLEQUOTEDSTRING'); + } + next($yymatches); // skip global match + $this->token = key($yymatches); // token number + if ($tokenMap[$this->token]) { + // extract sub-patterns for passing to lex function + $yysubmatches = array_slice($yysubmatches, $this->token + 1, + $tokenMap[$this->token]); + } else { + $yysubmatches = array(); + } + $this->value = current($yymatches); // token value + $r = $this->{'yy_r13_' . $this->token}($yysubmatches); + if ($r === null) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + // accept this token + return true; + } elseif ($r === true) { + // we have changed state + // process this token in the new state + return $this->yylex(); + } elseif ($r === false) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + // skip this token + continue; + } } else { + throw new Exception('Unexpected input at line' . $this->line . + ': ' . $this->data[$this->counter]); + } + break; + } while (true); + + } // end function + + + const DOUBLEQUOTEDSTRING = 13; + function yy_r13_1($yy_subpatterns) + { + if ($this->smarty->auto_literal) { $this->token = Smarty_Internal_Templateparser::TP_OTHER; } else { @@ -1065,7 +1758,7 @@ class Smarty_Internal_Templatelexer $this->taglineno = $this->line; } } - function yy_r5_2($yy_subpatterns) + function yy_r13_2($yy_subpatterns) { if ($this->smarty->auto_literal) { @@ -1076,27 +1769,27 @@ class Smarty_Internal_Templatelexer $this->taglineno = $this->line; } } - function yy_r5_3($yy_subpatterns) + function yy_r13_3($yy_subpatterns) { $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH; $this->yypushstate(self::SMARTY); $this->taglineno = $this->line; } - function yy_r5_4($yy_subpatterns) + function yy_r13_4($yy_subpatterns) { $this->token = Smarty_Internal_Templateparser::TP_LDEL; $this->yypushstate(self::SMARTY); $this->taglineno = $this->line; } - function yy_r5_5($yy_subpatterns) + function yy_r13_5($yy_subpatterns) { $this->token = Smarty_Internal_Templateparser::TP_QUOTE; $this->yypopstate(); } - function yy_r5_6($yy_subpatterns) + function yy_r13_6($yy_subpatterns) { $this->token = Smarty_Internal_Templateparser::TP_BACKTICK; @@ -1104,17 +1797,17 @@ class Smarty_Internal_Templatelexer $this->yypushstate(self::SMARTY); $this->taglineno = $this->line; } - function yy_r5_7($yy_subpatterns) + function yy_r13_7($yy_subpatterns) { $this->token = Smarty_Internal_Templateparser::TP_DOLLARID; } - function yy_r5_8($yy_subpatterns) + function yy_r13_8($yy_subpatterns) { $this->token = Smarty_Internal_Templateparser::TP_OTHER; } - function yy_r5_9($yy_subpatterns) + function yy_r13_9($yy_subpatterns) { $this->token = Smarty_Internal_Templateparser::TP_OTHER; @@ -1129,7 +1822,7 @@ class Smarty_Internal_Templatelexer return true; // rescan } } - function yy_r5_12($yy_subpatterns) + function yy_r13_12($yy_subpatterns) { $this->token = Smarty_Internal_Templateparser::TP_OTHER; diff --git a/libs/sysplugins/smarty_internal_templateparser.php b/libs/sysplugins/smarty_internal_templateparser.php index c297c5ef..517b49a1 100644 --- a/libs/sysplugins/smarty_internal_templateparser.php +++ b/libs/sysplugins/smarty_internal_templateparser.php @@ -132,629 +132,682 @@ class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php #line 126 "smarty_internal_templateparser.php" - const TP_COMMENT = 1; - const TP_PHPSTARTTAG = 2; - const TP_OTHER = 3; - const TP_PHPENDTAG = 4; - const TP_FAKEPHPSTARTTAG = 5; - const TP_LITERALSTART = 6; - const TP_LITERALEND = 7; - const TP_LITERAL = 8; - const TP_LDEL = 9; - const TP_RDEL = 10; - const TP_DOLLAR = 11; - const TP_ID = 12; - const TP_EQUAL = 13; - const TP_FOREACH = 14; - const TP_PTR = 15; - const TP_IF = 16; - const TP_SPACE = 17; - const TP_UNIMATH = 18; - const TP_FOR = 19; - const TP_SEMICOLON = 20; - const TP_INCDEC = 21; - const TP_TO = 22; - const TP_AS = 23; - const TP_APTR = 24; - const TP_LDELSLASH = 25; - const TP_INTEGER = 26; - const TP_COMMA = 27; - const TP_COLON = 28; - const TP_MATH = 29; - const TP_ANDSYM = 30; - const TP_OPENP = 31; - const TP_CLOSEP = 32; - const TP_QMARK = 33; - const TP_NOT = 34; - const TP_TYPECAST = 35; - const TP_DOT = 36; - const TP_BOOLEAN = 37; - const TP_NULL = 38; - const TP_SINGLEQUOTESTRING = 39; - const TP_QUOTE = 40; - const TP_DOUBLECOLON = 41; - const TP_AT = 42; - const TP_HATCH = 43; - const TP_OPENB = 44; - const TP_CLOSEB = 45; - const TP_VERT = 46; - const TP_ISIN = 47; - const TP_ISDIVBY = 48; - const TP_ISNOTDIVBY = 49; - const TP_ISEVEN = 50; - const TP_ISNOTEVEN = 51; - const TP_ISEVENBY = 52; - const TP_ISNOTEVENBY = 53; - const TP_ISODD = 54; - const TP_ISNOTODD = 55; - const TP_ISODDBY = 56; - const TP_ISNOTODDBY = 57; - const TP_INSTANCEOF = 58; - const TP_EQUALS = 59; - const TP_NOTEQUALS = 60; - const TP_GREATERTHAN = 61; - const TP_LESSTHAN = 62; - const TP_GREATEREQUAL = 63; - const TP_LESSEQUAL = 64; - const TP_IDENTITY = 65; - const TP_NONEIDENTITY = 66; - const TP_MOD = 67; - const TP_LAND = 68; - const TP_LOR = 69; - const TP_LXOR = 70; - const TP_BACKTICK = 71; - const TP_DOLLARID = 72; - const YY_NO_ACTION = 561; - const YY_ACCEPT_ACTION = 560; - const YY_ERROR_ACTION = 559; + const TP_IFEXP = 1; + const TP_UNIMATH = 2; + const TP_VERT = 3; + const TP_COLON = 4; + const TP_EXP = 5; + const TP_COMMENT = 6; + const TP_PHPSTARTTAG = 7; + const TP_PHPENDTAG = 8; + const TP_OTHER = 9; + const TP_FAKEPHPSTARTTAG = 10; + const TP_PHP_CODE = 11; + const TP_PHP_CODE_START_DOUBLEQUOTE = 12; + const TP_PHP_CODE_DOUBLEQUOTE = 13; + const TP_PHP_HEREDOC_START = 14; + const TP_PHP_HEREDOC_END = 15; + const TP_PHP_NOWDOC_START = 16; + const TP_PHP_NOWDOC_END = 17; + const TP_PHP_DQ_CONTENT = 18; + const TP_PHP_DQ_EMBED_START = 19; + const TP_PHP_DQ_EMBED_END = 20; + const TP_LITERALSTART = 21; + const TP_LITERALEND = 22; + const TP_LITERAL = 23; + const TP_LDEL = 24; + const TP_RDEL = 25; + const TP_DOLLAR = 26; + const TP_ID = 27; + const TP_EQUAL = 28; + const TP_FOREACH = 29; + const TP_PTR = 30; + const TP_IF = 31; + const TP_SPACE = 32; + const TP_FOR = 33; + const TP_SEMICOLON = 34; + const TP_INCDEC = 35; + const TP_TO = 36; + const TP_AS = 37; + const TP_APTR = 38; + const TP_LDELSLASH = 39; + const TP_INTEGER = 40; + const TP_COMMA = 41; + const TP_MATH = 42; + const TP_ANDSYM = 43; + const TP_OPENP = 44; + const TP_CLOSEP = 45; + const TP_QMARK = 46; + const TP_VAL = 47; + const TP_NOT = 48; + const TP_TYPECAST = 49; + const TP_DOT = 50; + const TP_BOOLEAN = 51; + const TP_NULL = 52; + const TP_SINGLEQUOTESTRING = 53; + const TP_QUOTE = 54; + const TP_DOUBLECOLON = 55; + const TP_MOD = 56; + const TP_AT = 57; + const TP_HATCH = 58; + const TP_OPENB = 59; + const TP_CLOSEB = 60; + const TP_ISIN = 61; + const TP_ISDIVBY = 62; + const TP_ISNOTDIVBY = 63; + const TP_ISEVEN = 64; + const TP_ISNOTEVEN = 65; + const TP_ISEVENBY = 66; + const TP_ISNOTEVENBY = 67; + const TP_ISODD = 68; + const TP_ISNOTODD = 69; + const TP_ISODDBY = 70; + const TP_ISNOTODDBY = 71; + const TP_INSTANCEOF = 72; + const TP_EQUALS = 73; + const TP_NOTEQUALS = 74; + const TP_GREATERTHAN = 75; + const TP_LESSTHAN = 76; + const TP_GREATEREQUAL = 77; + const TP_LESSEQUAL = 78; + const TP_IDENTITY = 79; + const TP_NONEIDENTITY = 80; + const TP_LAND = 81; + const TP_LOR = 82; + const TP_LXOR = 83; + const TP_BACKTICK = 84; + const TP_DOLLARID = 85; + const YY_NO_ACTION = 589; + const YY_ACCEPT_ACTION = 588; + const YY_ERROR_ACTION = 587; - const YY_SZ_ACTTAB = 1246; + const YY_SZ_ACTTAB = 1447; static public $yy_action = array( - /* 0 */ 4, 11, 83, 53, 247, 99, 220, 180, 345, 43, - /* 10 */ 231, 131, 47, 7, 363, 244, 103, 191, 254, 253, - /* 20 */ 263, 185, 15, 49, 45, 42, 63, 226, 326, 323, - /* 30 */ 292, 52, 184, 95, 60, 2, 560, 51, 257, 253, - /* 40 */ 263, 184, 40, 17, 16, 352, 353, 24, 28, 360, - /* 50 */ 361, 25, 34, 269, 268, 265, 266, 267, 273, 274, - /* 60 */ 280, 281, 282, 279, 278, 18, 169, 301, 310, 98, - /* 70 */ 289, 217, 47, 233, 101, 23, 98, 185, 31, 209, - /* 80 */ 208, 349, 11, 49, 45, 291, 260, 8, 72, 50, - /* 90 */ 300, 322, 131, 18, 331, 251, 310, 300, 200, 275, - /* 100 */ 13, 184, 40, 17, 16, 352, 353, 24, 28, 360, - /* 110 */ 361, 25, 34, 269, 268, 265, 266, 267, 273, 274, - /* 120 */ 280, 281, 282, 279, 278, 4, 18, 87, 172, 310, - /* 130 */ 26, 184, 18, 329, 43, 310, 18, 184, 340, 310, - /* 140 */ 27, 103, 191, 132, 246, 229, 235, 19, 236, 54, - /* 150 */ 42, 63, 4, 326, 323, 292, 52, 304, 288, 60, - /* 160 */ 2, 264, 237, 4, 185, 84, 176, 185, 103, 201, - /* 170 */ 239, 365, 43, 369, 366, 54, 344, 334, 39, 103, - /* 180 */ 191, 18, 333, 18, 310, 19, 310, 27, 42, 63, - /* 190 */ 11, 326, 323, 292, 52, 73, 204, 60, 2, 4, - /* 200 */ 131, 87, 187, 118, 328, 350, 364, 243, 43, 196, - /* 210 */ 227, 185, 185, 185, 155, 103, 191, 307, 288, 317, - /* 220 */ 30, 19, 87, 137, 42, 63, 11, 326, 323, 292, - /* 230 */ 52, 166, 293, 60, 2, 4, 131, 84, 176, 349, - /* 240 */ 184, 184, 321, 56, 43, 255, 18, 259, 427, 310, - /* 250 */ 258, 103, 191, 121, 60, 185, 184, 15, 168, 349, - /* 260 */ 42, 63, 32, 326, 323, 292, 52, 135, 288, 60, - /* 270 */ 2, 4, 166, 87, 178, 38, 230, 86, 252, 201, - /* 280 */ 43, 165, 288, 18, 330, 190, 310, 103, 191, 241, - /* 290 */ 50, 309, 245, 19, 9, 21, 42, 63, 202, 326, - /* 300 */ 323, 292, 52, 249, 248, 60, 2, 4, 296, 84, - /* 310 */ 174, 171, 11, 184, 362, 47, 43, 184, 295, 37, - /* 320 */ 341, 185, 131, 103, 191, 185, 49, 45, 315, 19, - /* 330 */ 11, 98, 42, 63, 116, 326, 323, 292, 52, 166, - /* 340 */ 131, 60, 2, 294, 365, 437, 369, 366, 54, 288, - /* 350 */ 334, 164, 300, 184, 184, 218, 269, 268, 265, 266, - /* 360 */ 267, 273, 274, 280, 281, 282, 279, 278, 4, 210, - /* 370 */ 90, 176, 286, 111, 36, 305, 130, 43, 170, 185, - /* 380 */ 348, 166, 87, 232, 103, 191, 14, 184, 288, 250, - /* 390 */ 19, 288, 184, 42, 63, 109, 326, 323, 292, 52, - /* 400 */ 166, 194, 60, 2, 4, 193, 84, 175, 184, 87, - /* 410 */ 288, 22, 234, 43, 60, 98, 123, 332, 338, 55, - /* 420 */ 103, 191, 113, 332, 219, 55, 15, 167, 349, 42, - /* 430 */ 63, 288, 326, 323, 292, 52, 300, 288, 60, 2, - /* 440 */ 4, 60, 87, 173, 335, 293, 298, 303, 134, 43, - /* 450 */ 64, 185, 18, 185, 185, 310, 103, 183, 197, 214, - /* 460 */ 302, 18, 19, 288, 181, 42, 63, 185, 326, 323, - /* 470 */ 292, 52, 10, 284, 60, 2, 4, 293, 87, 177, - /* 480 */ 185, 354, 430, 46, 44, 43, 1, 5, 185, 430, - /* 490 */ 357, 301, 103, 191, 145, 318, 287, 233, 19, 317, - /* 500 */ 98, 42, 63, 185, 326, 323, 292, 52, 41, 291, - /* 510 */ 60, 4, 70, 87, 187, 322, 149, 290, 343, 106, - /* 520 */ 43, 300, 337, 157, 185, 185, 171, 103, 191, 185, - /* 530 */ 133, 285, 239, 19, 37, 320, 42, 63, 185, 326, - /* 540 */ 323, 292, 52, 301, 12, 60, 185, 216, 336, 233, - /* 550 */ 150, 367, 98, 301, 105, 185, 203, 318, 185, 233, - /* 560 */ 112, 291, 98, 18, 72, 59, 195, 322, 75, 276, - /* 570 */ 320, 291, 50, 300, 72, 184, 128, 322, 182, 359, - /* 580 */ 224, 78, 301, 300, 320, 156, 88, 68, 76, 67, - /* 590 */ 94, 81, 301, 115, 207, 179, 217, 320, 233, 101, - /* 600 */ 291, 98, 312, 72, 222, 65, 322, 108, 288, 138, - /* 610 */ 291, 301, 300, 72, 66, 228, 322, 233, 57, 92, - /* 620 */ 98, 301, 300, 320, 288, 318, 126, 233, 112, 291, - /* 630 */ 98, 129, 72, 277, 309, 322, 297, 223, 139, 291, - /* 640 */ 301, 300, 72, 104, 217, 322, 233, 100, 212, 98, - /* 650 */ 13, 300, 211, 288, 110, 79, 301, 120, 291, 320, - /* 660 */ 318, 72, 233, 112, 322, 98, 270, 301, 311, 288, - /* 670 */ 300, 271, 288, 233, 291, 198, 98, 72, 74, 161, - /* 680 */ 322, 301, 107, 215, 317, 186, 300, 233, 141, 256, - /* 690 */ 98, 322, 308, 35, 320, 91, 143, 300, 320, 291, - /* 700 */ 301, 317, 72, 346, 318, 322, 233, 62, 93, 98, - /* 710 */ 301, 300, 339, 102, 318, 213, 233, 112, 291, 98, - /* 720 */ 33, 72, 85, 206, 322, 89, 96, 327, 291, 320, - /* 730 */ 300, 72, 190, 221, 322, 306, 325, 299, 301, 32, - /* 740 */ 300, 262, 88, 347, 77, 58, 94, 81, 301, 160, - /* 750 */ 319, 162, 216, 192, 233, 150, 291, 98, 20, 72, - /* 760 */ 9, 48, 322, 80, 261, 194, 291, 301, 300, 72, - /* 770 */ 351, 217, 322, 233, 101, 307, 98, 97, 300, 225, - /* 780 */ 82, 136, 189, 301, 358, 291, 309, 318, 72, 233, - /* 790 */ 163, 322, 98, 185, 342, 305, 301, 300, 39, 6, - /* 800 */ 318, 291, 233, 158, 72, 98, 305, 322, 293, 305, - /* 810 */ 305, 305, 301, 300, 291, 305, 318, 72, 233, 114, - /* 820 */ 322, 98, 305, 305, 305, 301, 300, 305, 305, 318, - /* 830 */ 291, 188, 125, 72, 98, 305, 322, 305, 305, 305, - /* 840 */ 305, 305, 300, 291, 301, 305, 72, 305, 318, 322, - /* 850 */ 233, 119, 301, 98, 305, 300, 318, 305, 233, 124, - /* 860 */ 305, 98, 291, 301, 305, 72, 305, 318, 322, 233, - /* 870 */ 291, 305, 98, 72, 300, 305, 322, 305, 305, 301, - /* 880 */ 305, 291, 300, 318, 71, 233, 153, 322, 98, 305, - /* 890 */ 305, 305, 301, 300, 305, 305, 318, 291, 233, 152, - /* 900 */ 72, 98, 305, 322, 305, 305, 305, 305, 301, 300, - /* 910 */ 291, 305, 318, 72, 233, 140, 322, 98, 305, 305, - /* 920 */ 305, 301, 300, 305, 305, 318, 291, 233, 159, 72, - /* 930 */ 98, 305, 322, 305, 305, 305, 305, 301, 300, 291, - /* 940 */ 305, 318, 72, 233, 147, 322, 98, 240, 305, 305, - /* 950 */ 240, 300, 305, 3, 305, 291, 3, 305, 72, 305, - /* 960 */ 305, 322, 305, 305, 301, 305, 305, 300, 318, 103, - /* 970 */ 233, 154, 103, 98, 301, 305, 305, 305, 318, 305, - /* 980 */ 233, 122, 291, 98, 242, 72, 305, 370, 322, 305, - /* 990 */ 305, 305, 291, 301, 300, 72, 305, 318, 322, 233, - /* 1000 */ 117, 305, 98, 301, 300, 305, 305, 318, 305, 233, - /* 1010 */ 144, 291, 98, 305, 72, 29, 238, 322, 29, 238, - /* 1020 */ 305, 291, 301, 300, 72, 305, 318, 322, 233, 151, - /* 1030 */ 305, 98, 305, 300, 305, 305, 305, 305, 305, 305, - /* 1040 */ 291, 305, 305, 72, 305, 305, 322, 305, 305, 301, - /* 1050 */ 305, 305, 300, 318, 305, 233, 61, 305, 98, 301, - /* 1060 */ 305, 305, 305, 318, 305, 233, 127, 291, 98, 305, - /* 1070 */ 72, 305, 305, 322, 305, 305, 305, 291, 301, 300, - /* 1080 */ 72, 305, 318, 322, 233, 142, 305, 98, 301, 300, - /* 1090 */ 305, 305, 318, 305, 233, 146, 291, 98, 305, 72, - /* 1100 */ 305, 305, 322, 305, 305, 305, 291, 301, 300, 72, - /* 1110 */ 305, 318, 322, 233, 148, 305, 98, 305, 300, 305, - /* 1120 */ 305, 305, 305, 305, 305, 291, 305, 305, 72, 305, - /* 1130 */ 301, 322, 305, 305, 318, 305, 233, 300, 305, 98, - /* 1140 */ 305, 301, 305, 305, 305, 355, 305, 233, 291, 305, - /* 1150 */ 98, 69, 305, 305, 322, 305, 305, 301, 301, 356, - /* 1160 */ 300, 205, 368, 233, 233, 322, 98, 98, 305, 305, - /* 1170 */ 301, 300, 305, 305, 324, 199, 233, 305, 305, 98, - /* 1180 */ 301, 322, 322, 305, 316, 305, 233, 300, 300, 98, - /* 1190 */ 305, 305, 301, 305, 322, 305, 272, 305, 233, 305, - /* 1200 */ 300, 98, 305, 301, 322, 305, 305, 314, 305, 233, - /* 1210 */ 300, 305, 98, 305, 301, 301, 322, 305, 313, 283, - /* 1220 */ 233, 233, 300, 98, 98, 305, 305, 322, 305, 305, - /* 1230 */ 305, 305, 305, 300, 305, 305, 305, 305, 322, 322, - /* 1240 */ 305, 305, 305, 305, 300, 300, + /* 0 */ 50, 43, 19, 20, 381, 364, 18, 30, 347, 348, + /* 10 */ 35, 33, 314, 97, 185, 92, 39, 87, 93, 250, + /* 20 */ 17, 362, 3, 305, 84, 54, 366, 100, 373, 181, + /* 30 */ 48, 200, 249, 288, 122, 180, 235, 109, 193, 105, + /* 40 */ 50, 367, 14, 251, 243, 366, 47, 49, 208, 290, + /* 50 */ 291, 301, 55, 146, 298, 235, 58, 2, 105, 171, + /* 60 */ 365, 143, 3, 217, 86, 172, 161, 379, 37, 8, + /* 70 */ 45, 44, 232, 298, 374, 209, 297, 109, 193, 365, + /* 80 */ 130, 180, 24, 46, 277, 245, 47, 49, 244, 290, + /* 90 */ 291, 301, 55, 48, 86, 229, 58, 2, 247, 50, + /* 100 */ 353, 269, 275, 276, 282, 283, 284, 281, 280, 278, + /* 110 */ 279, 265, 266, 344, 326, 329, 248, 328, 22, 17, + /* 120 */ 180, 3, 305, 96, 184, 455, 58, 4, 53, 335, + /* 130 */ 327, 340, 180, 45, 44, 287, 109, 193, 180, 48, + /* 140 */ 17, 24, 109, 305, 23, 47, 49, 277, 290, 291, + /* 150 */ 301, 55, 202, 50, 5, 58, 2, 267, 588, 52, + /* 160 */ 258, 321, 323, 336, 269, 275, 276, 282, 283, 284, + /* 170 */ 281, 280, 278, 279, 265, 3, 15, 86, 182, 45, + /* 180 */ 44, 144, 326, 329, 309, 328, 307, 36, 271, 185, + /* 190 */ 109, 193, 129, 277, 343, 24, 53, 158, 327, 47, + /* 200 */ 49, 180, 290, 291, 301, 55, 1, 297, 185, 58, + /* 210 */ 269, 275, 276, 282, 283, 284, 281, 280, 278, 279, + /* 220 */ 265, 50, 25, 57, 29, 255, 38, 260, 366, 259, + /* 230 */ 341, 320, 321, 323, 369, 194, 60, 180, 79, 106, + /* 240 */ 103, 83, 12, 3, 17, 86, 176, 305, 34, 8, + /* 250 */ 370, 270, 215, 67, 180, 388, 298, 342, 109, 193, + /* 260 */ 130, 50, 365, 24, 180, 211, 366, 47, 49, 188, + /* 270 */ 290, 291, 301, 55, 164, 185, 235, 58, 2, 105, + /* 280 */ 71, 17, 359, 3, 305, 86, 177, 26, 370, 86, + /* 290 */ 132, 69, 268, 185, 298, 204, 324, 294, 109, 193, + /* 300 */ 365, 50, 231, 24, 180, 375, 366, 47, 49, 134, + /* 310 */ 290, 291, 301, 55, 164, 458, 235, 58, 2, 105, + /* 320 */ 312, 58, 458, 3, 297, 86, 174, 180, 370, 17, + /* 330 */ 124, 66, 305, 23, 298, 165, 366, 153, 109, 178, + /* 340 */ 365, 50, 307, 24, 157, 297, 235, 47, 49, 105, + /* 350 */ 290, 291, 301, 55, 240, 187, 159, 58, 2, 105, + /* 360 */ 185, 366, 202, 3, 298, 96, 184, 119, 21, 160, + /* 370 */ 365, 235, 17, 361, 105, 305, 254, 7, 109, 193, + /* 380 */ 365, 50, 297, 14, 137, 138, 192, 47, 49, 298, + /* 390 */ 290, 291, 301, 55, 206, 365, 293, 58, 2, 297, + /* 400 */ 297, 366, 125, 3, 368, 96, 173, 135, 325, 149, + /* 410 */ 331, 235, 16, 293, 105, 230, 56, 297, 109, 193, + /* 420 */ 331, 50, 297, 24, 51, 332, 56, 47, 49, 298, + /* 430 */ 290, 291, 301, 55, 198, 365, 293, 58, 2, 17, + /* 440 */ 360, 366, 305, 3, 171, 96, 179, 151, 339, 166, + /* 450 */ 302, 235, 307, 37, 105, 180, 188, 180, 109, 193, + /* 460 */ 287, 50, 6, 14, 51, 185, 7, 47, 49, 298, + /* 470 */ 290, 291, 301, 55, 154, 365, 123, 58, 2, 307, + /* 480 */ 11, 168, 8, 3, 185, 90, 184, 330, 45, 44, + /* 490 */ 9, 297, 239, 130, 180, 105, 287, 17, 109, 193, + /* 500 */ 305, 165, 277, 24, 8, 148, 338, 47, 49, 385, + /* 510 */ 290, 291, 301, 55, 50, 130, 365, 58, 2, 269, + /* 520 */ 275, 276, 282, 283, 284, 281, 280, 278, 279, 265, + /* 530 */ 205, 27, 270, 295, 366, 127, 3, 8, 86, 176, + /* 540 */ 180, 77, 167, 117, 235, 273, 303, 105, 130, 140, + /* 550 */ 297, 109, 193, 180, 223, 234, 24, 371, 227, 366, + /* 560 */ 47, 49, 298, 290, 291, 301, 55, 155, 365, 235, + /* 570 */ 58, 121, 105, 272, 43, 19, 20, 381, 364, 18, + /* 580 */ 30, 347, 348, 35, 33, 150, 297, 298, 296, 366, + /* 590 */ 61, 241, 156, 365, 351, 180, 350, 128, 180, 235, + /* 600 */ 170, 180, 105, 180, 263, 220, 214, 17, 366, 17, + /* 610 */ 183, 370, 305, 300, 67, 337, 118, 298, 235, 387, + /* 620 */ 180, 105, 180, 365, 372, 304, 139, 366, 274, 116, + /* 630 */ 370, 180, 180, 67, 113, 164, 298, 235, 218, 94, + /* 640 */ 105, 297, 365, 315, 89, 371, 264, 186, 383, 370, + /* 650 */ 371, 287, 67, 262, 366, 298, 322, 73, 376, 333, + /* 660 */ 334, 365, 60, 292, 78, 85, 103, 83, 76, 17, + /* 670 */ 366, 53, 189, 185, 3, 114, 370, 12, 118, 67, + /* 680 */ 235, 387, 298, 105, 371, 316, 74, 198, 365, 109, + /* 690 */ 82, 371, 370, 41, 40, 67, 190, 89, 298, 318, + /* 700 */ 75, 16, 180, 32, 365, 366, 213, 75, 197, 366, + /* 710 */ 386, 136, 91, 128, 266, 235, 170, 128, 105, 235, + /* 720 */ 169, 221, 105, 306, 95, 226, 297, 370, 308, 4, + /* 730 */ 67, 370, 131, 298, 67, 306, 72, 298, 366, 365, + /* 740 */ 147, 210, 75, 365, 109, 366, 128, 310, 235, 170, + /* 750 */ 319, 105, 371, 164, 195, 235, 218, 207, 105, 285, + /* 760 */ 370, 115, 203, 67, 261, 133, 298, 370, 120, 145, + /* 770 */ 67, 162, 365, 298, 366, 246, 196, 371, 110, 365, + /* 780 */ 297, 163, 141, 297, 235, 80, 98, 105, 225, 36, + /* 790 */ 271, 212, 89, 355, 371, 253, 370, 199, 89, 67, + /* 800 */ 111, 366, 298, 354, 357, 63, 108, 289, 365, 112, + /* 810 */ 31, 235, 256, 257, 105, 317, 371, 104, 313, 28, + /* 820 */ 81, 311, 64, 370, 107, 142, 67, 233, 366, 298, + /* 830 */ 252, 309, 10, 185, 51, 365, 164, 299, 235, 218, + /* 840 */ 88, 105, 180, 42, 366, 237, 62, 306, 13, 126, + /* 850 */ 370, 242, 164, 67, 235, 218, 298, 105, 38, 228, + /* 860 */ 59, 293, 365, 332, 332, 332, 370, 332, 332, 67, + /* 870 */ 332, 332, 298, 366, 332, 216, 332, 332, 365, 332, + /* 880 */ 332, 164, 332, 235, 102, 101, 105, 332, 332, 332, + /* 890 */ 332, 332, 366, 332, 332, 370, 332, 332, 67, 332, + /* 900 */ 164, 298, 235, 219, 332, 105, 332, 365, 332, 332, + /* 910 */ 332, 332, 332, 332, 370, 332, 332, 67, 332, 366, + /* 920 */ 298, 332, 332, 332, 332, 332, 365, 164, 332, 235, + /* 930 */ 236, 332, 105, 332, 332, 366, 332, 332, 332, 332, + /* 940 */ 332, 370, 332, 164, 67, 235, 352, 298, 105, 332, + /* 950 */ 332, 332, 332, 365, 332, 332, 332, 370, 332, 332, + /* 960 */ 67, 332, 332, 298, 366, 332, 332, 332, 332, 365, + /* 970 */ 332, 332, 164, 332, 235, 201, 332, 105, 332, 332, + /* 980 */ 332, 332, 332, 366, 332, 332, 370, 332, 332, 67, + /* 990 */ 332, 164, 298, 235, 377, 332, 105, 332, 365, 332, + /* 1000 */ 332, 332, 332, 332, 332, 370, 332, 332, 67, 332, + /* 1010 */ 366, 298, 332, 332, 332, 332, 332, 365, 164, 332, + /* 1020 */ 175, 191, 332, 105, 332, 332, 366, 332, 332, 332, + /* 1030 */ 332, 332, 370, 332, 164, 67, 235, 99, 298, 105, + /* 1040 */ 332, 332, 332, 332, 365, 332, 332, 332, 370, 332, + /* 1050 */ 332, 67, 332, 332, 298, 366, 332, 332, 332, 332, + /* 1060 */ 365, 332, 332, 164, 332, 235, 222, 332, 105, 332, + /* 1070 */ 332, 332, 332, 332, 366, 332, 332, 370, 332, 332, + /* 1080 */ 67, 332, 164, 298, 235, 238, 332, 105, 332, 365, + /* 1090 */ 332, 332, 332, 332, 332, 332, 370, 332, 332, 67, + /* 1100 */ 332, 366, 298, 332, 332, 332, 332, 332, 365, 164, + /* 1110 */ 332, 235, 358, 332, 105, 332, 332, 366, 332, 332, + /* 1120 */ 332, 332, 332, 370, 332, 164, 67, 235, 363, 298, + /* 1130 */ 105, 332, 332, 332, 332, 365, 332, 332, 332, 370, + /* 1140 */ 332, 332, 67, 332, 332, 298, 366, 332, 332, 332, + /* 1150 */ 332, 365, 332, 332, 164, 332, 235, 380, 332, 105, + /* 1160 */ 332, 332, 332, 332, 332, 366, 332, 332, 370, 332, + /* 1170 */ 332, 67, 332, 164, 298, 235, 286, 332, 105, 332, + /* 1180 */ 365, 332, 332, 332, 332, 332, 332, 370, 332, 332, + /* 1190 */ 67, 332, 366, 298, 332, 332, 332, 332, 332, 365, + /* 1200 */ 164, 332, 235, 384, 332, 105, 332, 332, 366, 332, + /* 1210 */ 332, 332, 332, 332, 370, 332, 164, 67, 235, 224, + /* 1220 */ 298, 105, 332, 332, 332, 332, 365, 332, 332, 332, + /* 1230 */ 370, 332, 332, 67, 332, 332, 298, 366, 332, 332, + /* 1240 */ 332, 332, 365, 332, 332, 164, 332, 235, 378, 332, + /* 1250 */ 105, 332, 332, 332, 332, 332, 366, 332, 332, 370, + /* 1260 */ 332, 332, 67, 332, 164, 298, 235, 356, 332, 105, + /* 1270 */ 332, 365, 332, 332, 332, 332, 332, 332, 370, 332, + /* 1280 */ 332, 67, 332, 366, 298, 332, 332, 332, 332, 332, + /* 1290 */ 365, 164, 332, 235, 349, 332, 105, 332, 332, 366, + /* 1300 */ 332, 332, 332, 332, 332, 370, 332, 164, 67, 235, + /* 1310 */ 382, 298, 105, 332, 332, 332, 332, 365, 332, 332, + /* 1320 */ 332, 370, 332, 332, 67, 332, 332, 298, 366, 332, + /* 1330 */ 332, 332, 332, 365, 332, 332, 164, 332, 235, 345, + /* 1340 */ 332, 105, 332, 332, 332, 332, 332, 366, 332, 332, + /* 1350 */ 370, 332, 332, 67, 332, 164, 298, 235, 346, 332, + /* 1360 */ 105, 332, 365, 332, 332, 332, 332, 332, 332, 370, + /* 1370 */ 332, 332, 67, 332, 366, 298, 332, 332, 332, 332, + /* 1380 */ 332, 365, 164, 332, 235, 366, 332, 105, 332, 332, + /* 1390 */ 332, 332, 332, 164, 332, 235, 370, 332, 105, 65, + /* 1400 */ 332, 366, 298, 332, 332, 332, 332, 370, 365, 164, + /* 1410 */ 68, 235, 366, 298, 105, 332, 332, 332, 332, 365, + /* 1420 */ 152, 332, 235, 370, 332, 105, 70, 332, 332, 298, + /* 1430 */ 332, 332, 332, 332, 332, 365, 332, 332, 332, 332, + /* 1440 */ 298, 332, 332, 332, 332, 332, 365, ); static public $yy_lookahead = array( - /* 0 */ 9, 31, 11, 12, 10, 14, 36, 16, 10, 18, - /* 10 */ 19, 41, 18, 27, 10, 45, 25, 26, 76, 77, - /* 20 */ 78, 17, 31, 29, 30, 34, 35, 32, 37, 38, - /* 30 */ 39, 40, 46, 17, 43, 44, 74, 75, 76, 77, - /* 40 */ 78, 46, 47, 48, 49, 50, 51, 52, 53, 54, - /* 50 */ 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, - /* 60 */ 66, 67, 68, 69, 70, 9, 83, 77, 12, 86, - /* 70 */ 10, 81, 18, 83, 84, 24, 86, 17, 9, 89, - /* 80 */ 90, 21, 31, 29, 30, 95, 103, 13, 98, 15, - /* 90 */ 107, 101, 41, 9, 10, 10, 12, 107, 42, 45, - /* 100 */ 31, 46, 47, 48, 49, 50, 51, 52, 53, 54, - /* 110 */ 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, - /* 120 */ 66, 67, 68, 69, 70, 9, 9, 11, 12, 12, - /* 130 */ 13, 46, 9, 10, 18, 12, 9, 46, 21, 12, - /* 140 */ 13, 25, 26, 82, 1, 2, 3, 31, 5, 6, - /* 150 */ 34, 35, 9, 37, 38, 39, 40, 10, 97, 43, - /* 160 */ 44, 45, 71, 9, 17, 11, 12, 17, 25, 42, - /* 170 */ 77, 2, 18, 4, 5, 6, 7, 8, 28, 25, - /* 180 */ 26, 9, 10, 9, 12, 31, 12, 13, 34, 35, - /* 190 */ 31, 37, 38, 39, 40, 102, 24, 43, 44, 9, - /* 200 */ 41, 11, 12, 82, 10, 10, 10, 114, 18, 15, - /* 210 */ 15, 17, 17, 17, 105, 25, 26, 108, 97, 110, - /* 220 */ 9, 31, 11, 12, 34, 35, 31, 37, 38, 39, - /* 230 */ 40, 87, 111, 43, 44, 9, 41, 11, 12, 21, - /* 240 */ 46, 46, 32, 12, 18, 14, 9, 16, 10, 12, - /* 250 */ 19, 25, 26, 82, 43, 17, 46, 31, 87, 21, - /* 260 */ 34, 35, 13, 37, 38, 39, 40, 82, 97, 43, - /* 270 */ 44, 9, 87, 11, 12, 9, 94, 11, 12, 42, - /* 280 */ 18, 10, 97, 9, 10, 36, 12, 25, 26, 71, - /* 290 */ 15, 109, 26, 31, 13, 28, 34, 35, 24, 37, - /* 300 */ 38, 39, 40, 37, 38, 43, 44, 9, 43, 11, - /* 310 */ 12, 36, 31, 46, 10, 18, 18, 46, 10, 44, - /* 320 */ 17, 17, 41, 25, 26, 17, 29, 30, 83, 31, - /* 330 */ 31, 86, 34, 35, 82, 37, 38, 39, 40, 87, - /* 340 */ 41, 43, 44, 10, 2, 46, 4, 5, 6, 97, - /* 350 */ 8, 10, 107, 46, 46, 12, 59, 60, 61, 62, - /* 360 */ 63, 64, 65, 66, 67, 68, 69, 70, 9, 26, - /* 370 */ 11, 12, 10, 82, 28, 12, 82, 18, 87, 17, - /* 380 */ 10, 87, 11, 12, 25, 26, 13, 46, 97, 32, - /* 390 */ 31, 97, 46, 34, 35, 82, 37, 38, 39, 40, - /* 400 */ 87, 28, 43, 44, 9, 42, 11, 12, 46, 11, - /* 410 */ 97, 33, 83, 18, 43, 86, 82, 78, 79, 80, - /* 420 */ 25, 26, 82, 78, 79, 80, 31, 87, 21, 34, - /* 430 */ 35, 97, 37, 38, 39, 40, 107, 97, 43, 44, - /* 440 */ 9, 43, 11, 12, 10, 111, 10, 10, 82, 18, - /* 450 */ 12, 17, 9, 17, 17, 12, 25, 26, 11, 12, - /* 460 */ 10, 9, 31, 97, 12, 34, 35, 17, 37, 38, - /* 470 */ 39, 40, 27, 10, 43, 44, 9, 111, 11, 12, - /* 480 */ 17, 10, 10, 99, 100, 18, 17, 18, 17, 17, - /* 490 */ 45, 77, 25, 26, 105, 81, 10, 83, 31, 110, - /* 500 */ 86, 34, 35, 17, 37, 38, 39, 40, 17, 95, - /* 510 */ 43, 9, 98, 11, 12, 101, 20, 10, 10, 93, - /* 520 */ 18, 107, 10, 27, 17, 17, 36, 25, 26, 17, - /* 530 */ 106, 10, 77, 31, 44, 109, 34, 35, 17, 37, - /* 540 */ 38, 39, 40, 77, 31, 43, 17, 81, 10, 83, - /* 550 */ 84, 10, 86, 77, 93, 17, 3, 81, 17, 83, - /* 560 */ 84, 95, 86, 9, 98, 106, 12, 101, 93, 114, - /* 570 */ 109, 95, 15, 107, 98, 46, 106, 101, 112, 113, - /* 580 */ 104, 93, 77, 107, 109, 88, 81, 88, 83, 84, - /* 590 */ 85, 86, 77, 82, 90, 91, 81, 109, 83, 84, - /* 600 */ 95, 86, 110, 98, 89, 88, 101, 93, 97, 82, - /* 610 */ 95, 77, 107, 98, 88, 81, 101, 83, 84, 85, - /* 620 */ 86, 77, 107, 109, 97, 81, 106, 83, 84, 95, - /* 630 */ 86, 106, 98, 45, 109, 101, 43, 92, 82, 95, - /* 640 */ 77, 107, 98, 93, 81, 101, 83, 84, 104, 86, - /* 650 */ 31, 107, 89, 97, 82, 11, 77, 82, 95, 109, - /* 660 */ 81, 98, 83, 84, 101, 86, 4, 77, 12, 97, - /* 670 */ 107, 81, 97, 83, 95, 23, 86, 98, 93, 105, - /* 680 */ 101, 77, 93, 104, 110, 81, 107, 83, 84, 85, - /* 690 */ 86, 101, 12, 33, 109, 11, 105, 107, 109, 95, - /* 700 */ 77, 110, 98, 10, 81, 101, 83, 84, 85, 86, - /* 710 */ 77, 107, 10, 93, 81, 32, 83, 84, 95, 86, - /* 720 */ 22, 98, 11, 23, 101, 11, 32, 32, 95, 109, - /* 730 */ 107, 98, 36, 12, 101, 12, 26, 104, 77, 13, - /* 740 */ 107, 10, 81, 7, 83, 84, 85, 86, 77, 20, - /* 750 */ 12, 12, 81, 12, 83, 84, 95, 86, 24, 98, - /* 760 */ 13, 58, 101, 11, 10, 28, 95, 77, 107, 98, - /* 770 */ 97, 81, 101, 83, 84, 108, 86, 103, 107, 89, - /* 780 */ 11, 106, 96, 77, 113, 95, 109, 81, 98, 83, - /* 790 */ 84, 101, 86, 17, 90, 115, 77, 107, 28, 92, - /* 800 */ 81, 95, 83, 84, 98, 86, 115, 101, 111, 115, - /* 810 */ 115, 115, 77, 107, 95, 115, 81, 98, 83, 84, - /* 820 */ 101, 86, 115, 115, 115, 77, 107, 115, 115, 81, - /* 830 */ 95, 83, 84, 98, 86, 115, 101, 115, 115, 115, - /* 840 */ 115, 115, 107, 95, 77, 115, 98, 115, 81, 101, - /* 850 */ 83, 84, 77, 86, 115, 107, 81, 115, 83, 84, - /* 860 */ 115, 86, 95, 77, 115, 98, 115, 81, 101, 83, - /* 870 */ 95, 115, 86, 98, 107, 115, 101, 115, 115, 77, - /* 880 */ 115, 95, 107, 81, 98, 83, 84, 101, 86, 115, - /* 890 */ 115, 115, 77, 107, 115, 115, 81, 95, 83, 84, - /* 900 */ 98, 86, 115, 101, 115, 115, 115, 115, 77, 107, - /* 910 */ 95, 115, 81, 98, 83, 84, 101, 86, 115, 115, - /* 920 */ 115, 77, 107, 115, 115, 81, 95, 83, 84, 98, - /* 930 */ 86, 115, 101, 115, 115, 115, 115, 77, 107, 95, - /* 940 */ 115, 81, 98, 83, 84, 101, 86, 3, 115, 115, - /* 950 */ 3, 107, 115, 9, 115, 95, 9, 115, 98, 115, - /* 960 */ 115, 101, 115, 115, 77, 115, 115, 107, 81, 25, - /* 970 */ 83, 84, 25, 86, 77, 115, 115, 115, 81, 115, - /* 980 */ 83, 84, 95, 86, 40, 98, 115, 40, 101, 115, - /* 990 */ 115, 115, 95, 77, 107, 98, 115, 81, 101, 83, - /* 1000 */ 84, 115, 86, 77, 107, 115, 115, 81, 115, 83, - /* 1010 */ 84, 95, 86, 115, 98, 71, 72, 101, 71, 72, - /* 1020 */ 115, 95, 77, 107, 98, 115, 81, 101, 83, 84, - /* 1030 */ 115, 86, 115, 107, 115, 115, 115, 115, 115, 115, - /* 1040 */ 95, 115, 115, 98, 115, 115, 101, 115, 115, 77, - /* 1050 */ 115, 115, 107, 81, 115, 83, 84, 115, 86, 77, - /* 1060 */ 115, 115, 115, 81, 115, 83, 84, 95, 86, 115, - /* 1070 */ 98, 115, 115, 101, 115, 115, 115, 95, 77, 107, - /* 1080 */ 98, 115, 81, 101, 83, 84, 115, 86, 77, 107, - /* 1090 */ 115, 115, 81, 115, 83, 84, 95, 86, 115, 98, - /* 1100 */ 115, 115, 101, 115, 115, 115, 95, 77, 107, 98, - /* 1110 */ 115, 81, 101, 83, 84, 115, 86, 115, 107, 115, - /* 1120 */ 115, 115, 115, 115, 115, 95, 115, 115, 98, 115, - /* 1130 */ 77, 101, 115, 115, 81, 115, 83, 107, 115, 86, - /* 1140 */ 115, 77, 115, 115, 115, 81, 115, 83, 95, 115, - /* 1150 */ 86, 98, 115, 115, 101, 115, 115, 77, 77, 95, - /* 1160 */ 107, 81, 81, 83, 83, 101, 86, 86, 115, 115, - /* 1170 */ 77, 107, 115, 115, 81, 95, 83, 115, 115, 86, - /* 1180 */ 77, 101, 101, 115, 81, 115, 83, 107, 107, 86, - /* 1190 */ 115, 115, 77, 115, 101, 115, 81, 115, 83, 115, - /* 1200 */ 107, 86, 115, 77, 101, 115, 115, 81, 115, 83, - /* 1210 */ 107, 115, 86, 115, 77, 77, 101, 115, 81, 81, - /* 1220 */ 83, 83, 107, 86, 86, 115, 115, 101, 115, 115, - /* 1230 */ 115, 115, 115, 107, 115, 115, 115, 115, 101, 101, - /* 1240 */ 115, 115, 115, 115, 107, 107, + /* 0 */ 2, 61, 62, 63, 64, 65, 66, 67, 68, 69, + /* 10 */ 70, 71, 11, 12, 3, 14, 24, 16, 26, 27, + /* 20 */ 24, 25, 24, 27, 26, 27, 90, 29, 25, 31, + /* 30 */ 2, 33, 40, 27, 98, 32, 100, 39, 40, 103, + /* 40 */ 2, 58, 44, 51, 52, 90, 48, 49, 112, 51, + /* 50 */ 52, 53, 54, 98, 118, 100, 58, 59, 103, 50, + /* 60 */ 124, 99, 24, 57, 26, 27, 104, 112, 59, 44, + /* 70 */ 42, 43, 27, 118, 25, 50, 114, 39, 40, 124, + /* 80 */ 55, 32, 44, 72, 56, 60, 48, 49, 60, 51, + /* 90 */ 52, 53, 54, 2, 26, 27, 58, 59, 60, 2, + /* 100 */ 25, 73, 74, 75, 76, 77, 78, 79, 80, 81, + /* 110 */ 82, 83, 9, 25, 7, 8, 25, 10, 36, 24, + /* 120 */ 32, 24, 27, 26, 27, 25, 58, 24, 21, 22, + /* 130 */ 23, 25, 32, 42, 43, 35, 39, 40, 32, 2, + /* 140 */ 24, 44, 39, 27, 28, 48, 49, 56, 51, 52, + /* 150 */ 53, 54, 57, 2, 41, 58, 59, 54, 87, 88, + /* 160 */ 89, 90, 91, 22, 73, 74, 75, 76, 77, 78, + /* 170 */ 79, 80, 81, 82, 83, 24, 2, 26, 27, 42, + /* 180 */ 43, 122, 7, 8, 125, 10, 127, 84, 85, 3, + /* 190 */ 39, 40, 99, 56, 25, 44, 21, 104, 23, 48, + /* 200 */ 49, 32, 51, 52, 53, 54, 32, 114, 3, 58, + /* 210 */ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + /* 220 */ 83, 2, 24, 27, 38, 29, 4, 31, 90, 33, + /* 230 */ 25, 89, 90, 91, 45, 30, 98, 32, 100, 101, + /* 240 */ 102, 103, 44, 24, 24, 26, 27, 27, 28, 44, + /* 250 */ 112, 90, 27, 115, 32, 35, 118, 25, 39, 40, + /* 260 */ 55, 2, 124, 44, 32, 40, 90, 48, 49, 4, + /* 270 */ 51, 52, 53, 54, 98, 3, 100, 58, 59, 103, + /* 280 */ 119, 24, 25, 24, 27, 26, 27, 24, 112, 26, + /* 290 */ 27, 115, 131, 3, 118, 38, 17, 25, 39, 40, + /* 300 */ 124, 2, 30, 44, 32, 27, 90, 48, 49, 99, + /* 310 */ 51, 52, 53, 54, 98, 25, 100, 58, 59, 103, + /* 320 */ 25, 58, 32, 24, 114, 26, 27, 32, 112, 24, + /* 330 */ 99, 115, 27, 28, 118, 104, 90, 122, 39, 40, + /* 340 */ 124, 2, 127, 44, 98, 114, 100, 48, 49, 103, + /* 350 */ 51, 52, 53, 54, 107, 108, 100, 58, 59, 103, + /* 360 */ 3, 90, 57, 24, 118, 26, 27, 99, 46, 98, + /* 370 */ 124, 100, 24, 25, 103, 27, 120, 28, 39, 40, + /* 380 */ 124, 2, 114, 44, 99, 99, 38, 48, 49, 118, + /* 390 */ 51, 52, 53, 54, 37, 124, 128, 58, 59, 114, + /* 400 */ 114, 90, 99, 24, 58, 26, 27, 99, 20, 98, + /* 410 */ 91, 100, 28, 128, 103, 96, 97, 114, 39, 40, + /* 420 */ 91, 2, 114, 44, 30, 96, 97, 48, 49, 118, + /* 430 */ 51, 52, 53, 54, 50, 124, 128, 58, 59, 24, + /* 440 */ 25, 90, 27, 24, 50, 26, 27, 122, 25, 98, + /* 450 */ 25, 100, 127, 59, 103, 32, 4, 32, 39, 40, + /* 460 */ 35, 2, 28, 44, 30, 3, 28, 48, 49, 118, + /* 470 */ 51, 52, 53, 54, 122, 124, 99, 58, 59, 127, + /* 480 */ 28, 104, 44, 24, 3, 26, 27, 25, 42, 43, + /* 490 */ 41, 114, 100, 55, 32, 103, 35, 24, 39, 40, + /* 500 */ 27, 104, 56, 44, 44, 105, 25, 48, 49, 60, + /* 510 */ 51, 52, 53, 54, 2, 55, 124, 58, 59, 73, + /* 520 */ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + /* 530 */ 57, 38, 90, 25, 90, 99, 24, 44, 26, 27, + /* 540 */ 32, 110, 98, 123, 100, 84, 25, 103, 55, 123, + /* 550 */ 114, 39, 40, 32, 26, 27, 44, 126, 45, 90, + /* 560 */ 48, 49, 118, 51, 52, 53, 54, 98, 124, 100, + /* 570 */ 58, 99, 103, 131, 61, 62, 63, 64, 65, 66, + /* 580 */ 67, 68, 69, 70, 71, 34, 114, 118, 25, 90, + /* 590 */ 105, 25, 41, 124, 25, 32, 25, 98, 32, 100, + /* 600 */ 101, 32, 103, 32, 25, 106, 107, 24, 90, 24, + /* 610 */ 27, 112, 27, 25, 115, 25, 98, 118, 100, 101, + /* 620 */ 32, 103, 32, 124, 25, 25, 99, 90, 84, 110, + /* 630 */ 112, 32, 32, 115, 110, 98, 118, 100, 101, 26, + /* 640 */ 103, 114, 124, 94, 95, 126, 25, 129, 130, 112, + /* 650 */ 126, 35, 115, 25, 90, 118, 6, 7, 121, 9, + /* 660 */ 10, 124, 98, 27, 100, 101, 102, 103, 110, 24, + /* 670 */ 90, 21, 27, 3, 24, 110, 112, 44, 98, 115, + /* 680 */ 100, 101, 118, 103, 126, 18, 19, 50, 124, 39, + /* 690 */ 26, 126, 112, 116, 117, 115, 94, 95, 118, 92, + /* 700 */ 93, 28, 32, 4, 124, 90, 92, 93, 111, 90, + /* 710 */ 130, 99, 26, 98, 9, 100, 101, 98, 103, 100, + /* 720 */ 101, 106, 103, 126, 26, 106, 114, 112, 27, 24, + /* 730 */ 115, 112, 123, 118, 115, 126, 110, 118, 90, 124, + /* 740 */ 27, 92, 93, 124, 39, 90, 98, 27, 100, 101, + /* 750 */ 8, 103, 126, 98, 106, 100, 101, 27, 103, 54, + /* 760 */ 112, 110, 37, 115, 45, 99, 118, 112, 99, 34, + /* 770 */ 115, 25, 124, 118, 90, 60, 121, 126, 110, 124, + /* 780 */ 114, 25, 98, 114, 100, 101, 102, 103, 45, 84, + /* 790 */ 85, 94, 95, 25, 126, 45, 112, 94, 95, 115, + /* 800 */ 110, 90, 118, 25, 25, 105, 45, 40, 124, 98, + /* 810 */ 4, 100, 101, 102, 103, 15, 126, 32, 13, 46, + /* 820 */ 26, 114, 27, 112, 120, 123, 115, 109, 90, 118, + /* 830 */ 32, 125, 44, 3, 30, 124, 98, 127, 100, 101, + /* 840 */ 26, 103, 32, 32, 90, 113, 105, 126, 109, 123, + /* 850 */ 112, 107, 98, 115, 100, 101, 118, 103, 4, 121, + /* 860 */ 123, 128, 124, 132, 132, 132, 112, 132, 132, 115, + /* 870 */ 132, 132, 118, 90, 132, 121, 132, 132, 124, 132, + /* 880 */ 132, 98, 132, 100, 101, 102, 103, 132, 132, 132, + /* 890 */ 132, 132, 90, 132, 132, 112, 132, 132, 115, 132, + /* 900 */ 98, 118, 100, 101, 132, 103, 132, 124, 132, 132, + /* 910 */ 132, 132, 132, 132, 112, 132, 132, 115, 132, 90, + /* 920 */ 118, 132, 132, 132, 132, 132, 124, 98, 132, 100, + /* 930 */ 101, 132, 103, 132, 132, 90, 132, 132, 132, 132, + /* 940 */ 132, 112, 132, 98, 115, 100, 101, 118, 103, 132, + /* 950 */ 132, 132, 132, 124, 132, 132, 132, 112, 132, 132, + /* 960 */ 115, 132, 132, 118, 90, 132, 132, 132, 132, 124, + /* 970 */ 132, 132, 98, 132, 100, 101, 132, 103, 132, 132, + /* 980 */ 132, 132, 132, 90, 132, 132, 112, 132, 132, 115, + /* 990 */ 132, 98, 118, 100, 101, 132, 103, 132, 124, 132, + /* 1000 */ 132, 132, 132, 132, 132, 112, 132, 132, 115, 132, + /* 1010 */ 90, 118, 132, 132, 132, 132, 132, 124, 98, 132, + /* 1020 */ 100, 101, 132, 103, 132, 132, 90, 132, 132, 132, + /* 1030 */ 132, 132, 112, 132, 98, 115, 100, 101, 118, 103, + /* 1040 */ 132, 132, 132, 132, 124, 132, 132, 132, 112, 132, + /* 1050 */ 132, 115, 132, 132, 118, 90, 132, 132, 132, 132, + /* 1060 */ 124, 132, 132, 98, 132, 100, 101, 132, 103, 132, + /* 1070 */ 132, 132, 132, 132, 90, 132, 132, 112, 132, 132, + /* 1080 */ 115, 132, 98, 118, 100, 101, 132, 103, 132, 124, + /* 1090 */ 132, 132, 132, 132, 132, 132, 112, 132, 132, 115, + /* 1100 */ 132, 90, 118, 132, 132, 132, 132, 132, 124, 98, + /* 1110 */ 132, 100, 101, 132, 103, 132, 132, 90, 132, 132, + /* 1120 */ 132, 132, 132, 112, 132, 98, 115, 100, 101, 118, + /* 1130 */ 103, 132, 132, 132, 132, 124, 132, 132, 132, 112, + /* 1140 */ 132, 132, 115, 132, 132, 118, 90, 132, 132, 132, + /* 1150 */ 132, 124, 132, 132, 98, 132, 100, 101, 132, 103, + /* 1160 */ 132, 132, 132, 132, 132, 90, 132, 132, 112, 132, + /* 1170 */ 132, 115, 132, 98, 118, 100, 101, 132, 103, 132, + /* 1180 */ 124, 132, 132, 132, 132, 132, 132, 112, 132, 132, + /* 1190 */ 115, 132, 90, 118, 132, 132, 132, 132, 132, 124, + /* 1200 */ 98, 132, 100, 101, 132, 103, 132, 132, 90, 132, + /* 1210 */ 132, 132, 132, 132, 112, 132, 98, 115, 100, 101, + /* 1220 */ 118, 103, 132, 132, 132, 132, 124, 132, 132, 132, + /* 1230 */ 112, 132, 132, 115, 132, 132, 118, 90, 132, 132, + /* 1240 */ 132, 132, 124, 132, 132, 98, 132, 100, 101, 132, + /* 1250 */ 103, 132, 132, 132, 132, 132, 90, 132, 132, 112, + /* 1260 */ 132, 132, 115, 132, 98, 118, 100, 101, 132, 103, + /* 1270 */ 132, 124, 132, 132, 132, 132, 132, 132, 112, 132, + /* 1280 */ 132, 115, 132, 90, 118, 132, 132, 132, 132, 132, + /* 1290 */ 124, 98, 132, 100, 101, 132, 103, 132, 132, 90, + /* 1300 */ 132, 132, 132, 132, 132, 112, 132, 98, 115, 100, + /* 1310 */ 101, 118, 103, 132, 132, 132, 132, 124, 132, 132, + /* 1320 */ 132, 112, 132, 132, 115, 132, 132, 118, 90, 132, + /* 1330 */ 132, 132, 132, 124, 132, 132, 98, 132, 100, 101, + /* 1340 */ 132, 103, 132, 132, 132, 132, 132, 90, 132, 132, + /* 1350 */ 112, 132, 132, 115, 132, 98, 118, 100, 101, 132, + /* 1360 */ 103, 132, 124, 132, 132, 132, 132, 132, 132, 112, + /* 1370 */ 132, 132, 115, 132, 90, 118, 132, 132, 132, 132, + /* 1380 */ 132, 124, 98, 132, 100, 90, 132, 103, 132, 132, + /* 1390 */ 132, 132, 132, 98, 132, 100, 112, 132, 103, 115, + /* 1400 */ 132, 90, 118, 132, 132, 132, 132, 112, 124, 98, + /* 1410 */ 115, 100, 90, 118, 103, 132, 132, 132, 132, 124, + /* 1420 */ 98, 132, 100, 112, 132, 103, 115, 132, 132, 118, + /* 1430 */ 132, 132, 132, 132, 132, 124, 132, 132, 132, 132, + /* 1440 */ 118, 132, 132, 132, 132, 132, 124, ); - const YY_SHIFT_USE_DFLT = -31; - const YY_SHIFT_MAX = 234; + const YY_SHIFT_USE_DFLT = -61; + const YY_SHIFT_MAX = 240; static public $yy_shift_ofst = array( - /* 0 */ 143, 359, 298, -9, -9, 154, 154, 154, 226, 395, - /* 10 */ 298, 154, 154, 154, 226, 154, 154, 154, 154, 154, - /* 20 */ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - /* 30 */ 154, 154, 154, 154, 154, 154, 154, 116, 190, 262, - /* 40 */ 190, 431, 502, 502, 502, 502, 502, 502, 467, 502, - /* 50 */ 211, 143, 944, 195, 169, 342, 194, 308, 362, 275, - /* 60 */ 371, 529, 529, 398, 529, 150, 150, 529, 150, 54, - /* 70 */ -6, 297, 297, 947, 127, 117, 238, 60, 237, 443, - /* 80 */ 443, 74, 443, 452, 554, 443, 443, 443, 541, 443, - /* 90 */ 554, 443, 776, 776, 776, 769, 557, 557, 557, 491, - /* 100 */ -5, 55, 274, 231, 172, 84, 174, 123, 56, 450, - /* 110 */ 437, 436, -14, 463, 346, 471, 304, 85, 147, 267, - /* 120 */ 4, 196, 341, 434, 271, 91, 490, 210, 490, 490, - /* 130 */ 508, 447, 512, 490, 538, 521, 490, 69, 507, 486, - /* 140 */ 307, 307, 307, 557, 307, 557, 307, 307, 307, 303, - /* 150 */ 307, 307, 307, 307, 307, 557, 770, 769, 307, 307, - /* 160 */ 303, 557, 513, 307, -31, -31, -31, -31, -31, -31, - /* 170 */ -31, 266, -30, 281, 51, 299, 159, 159, 159, 496, - /* 180 */ 469, 373, 445, 249, 363, 343, 472, 159, 218, 731, - /* 190 */ 710, 696, 754, 723, 738, 737, 741, 739, 714, 652, - /* 200 */ 680, 656, 644, 662, 684, 700, 711, 698, 693, 702, - /* 210 */ 726, 683, 694, 660, 619, 695, 734, 703, 747, 736, - /* 220 */ 721, 588, 729, 752, 357, 370, 378, 438, 333, 553, - /* 230 */ -2, 16, 265, 407, 593, + /* 0 */ 650, 459, 379, -2, -2, 97, 339, 419, 97, 379, + /* 10 */ 97, 339, 97, 97, 97, 97, 97, 97, 97, 97, + /* 20 */ 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + /* 30 */ 97, 97, 97, 97, 97, 97, 97, 38, 259, 219, + /* 40 */ 219, 219, 299, 219, 512, 512, 151, 512, 512, 512, + /* 50 */ 512, 263, 650, 107, 205, 103, 175, 272, 68, 394, + /* 60 */ 462, 222, 222, 222, 670, 91, 28, 137, 137, 446, + /* 70 */ 446, 705, 220, 1, 1, 1, 305, 95, 425, 100, + /* 80 */ 599, 585, 585, 434, 583, 600, 585, 667, 585, 667, + /* 90 */ 645, 585, 667, 585, 585, 585, 645, 667, 810, 810, + /* 100 */ 811, 810, 810, 810, 814, 804, 810, 804, 804, 196, + /* 110 */ 257, 348, 290, -4, 116, 473, 415, 9, 186, 169, + /* 120 */ 49, 3, 357, 232, 295, 88, 9, 106, 11, 423, + /* 130 */ 528, 9, 198, 566, 521, 563, 569, 571, 590, 588, + /* 140 */ 9, 481, 9, 508, 804, 798, 830, 788, 854, 830, + /* 150 */ 798, 804, 830, 804, 804, 830, 814, 830, -61, -61, + /* 160 */ -61, -61, -61, -61, -61, -61, -61, -61, -61, 513, + /* 170 */ -60, -8, 25, 493, 438, 461, 460, 460, 384, 460, + /* 180 */ 225, 174, 460, 452, 460, 6, 449, 551, 278, 265, + /* 190 */ 279, 544, 794, 637, 795, 778, 750, 768, 767, 800, + /* 200 */ 785, 756, 701, 686, 664, 720, 698, 715, 725, 730, + /* 210 */ 742, 673, 805, 388, 75, 349, 761, 636, 113, 746, + /* 220 */ 779, 735, 699, 713, 806, 773, 743, 322, 189, -17, + /* 230 */ 141, 45, 628, 613, 633, 616, 719, 579, 621, 346, + /* 240 */ 82, ); - const YY_REDUCE_USE_DFLT = -59; - const YY_REDUCE_MAX = 170; + const YY_REDUCE_USE_DFLT = -65; + const YY_REDUCE_MAX = 168; static public $yy_reduce_ofst = array( - /* 0 */ -38, -10, 466, 661, 505, 690, 515, 633, 623, 604, - /* 10 */ 671, 579, 544, 476, 534, 563, 1030, 945, 916, 982, - /* 20 */ 1001, 887, 767, 802, 860, 831, 719, 844, 815, 748, - /* 30 */ 775, 897, 1011, 972, 926, 735, 706, 1053, 414, 786, - /* 40 */ 1064, 1080, 1126, 1137, 1115, 1138, 590, 1093, 1081, 1103, - /* 50 */ -17, -58, 93, 171, 345, 339, 291, 313, 185, 109, - /* 60 */ 329, 294, 252, 245, 340, 366, 334, 185, 121, 384, - /* 70 */ 384, 384, 384, 455, 525, 182, 527, 527, 525, 461, - /* 80 */ 475, 389, 426, 488, 488, 550, 514, 488, 511, 620, - /* 90 */ 585, 589, 572, 575, 556, 504, 591, 574, 389, 61, - /* 100 */ 144, 144, 677, 686, 677, 677, 677, 677, 677, 673, - /* 110 */ 673, 673, 144, 673, 144, 673, 673, 144, 673, 144, - /* 120 */ 673, 673, 144, 673, 144, 144, 667, 144, 667, 667, - /* 130 */ 673, 674, 673, 667, 673, 673, 667, 675, 673, 673, - /* 140 */ 144, 144, 144, 492, 144, 492, 144, 144, 144, 707, - /* 150 */ 144, 144, 144, 144, 144, 492, 697, 704, 144, 144, - /* 160 */ 545, 492, 459, 144, 424, 470, 497, 526, 517, 520, - /* 170 */ 499, + /* 0 */ 71, 499, 518, 138, 564, 537, 783, 711, 738, 580, + /* 10 */ 754, 684, 655, 615, 619, 648, 1011, 984, 1027, 1056, + /* 20 */ 1075, 965, 936, 845, 829, 874, 802, 893, 1118, 1102, + /* 30 */ 1257, 1209, 1147, 1238, 1166, 1193, 920, 216, 1295, 1284, + /* 40 */ 1311, 176, -64, -45, 444, 351, 311, 1322, 271, 469, + /* 50 */ 246, 256, 142, 319, 93, 161, 329, -38, 392, 59, + /* 60 */ 231, 268, 285, 308, 377, 577, 577, 577, 577, 577, + /* 70 */ 577, 442, 597, 649, 614, 607, 609, 609, 527, 527, + /* 80 */ 472, 524, 519, 215, 431, 210, 431, 602, 565, 549, + /* 90 */ 558, 690, 703, 651, 626, 668, 431, 697, 669, 666, + /* 100 */ 612, 436, 303, 286, 247, 215, 210, 352, 325, 732, + /* 110 */ 721, 721, 397, 721, 721, 721, 721, 706, 397, 707, + /* 120 */ 707, 707, 397, 707, 707, 707, 706, 707, 397, 707, + /* 130 */ 704, 706, 702, 707, 707, 707, 707, 707, 707, 707, + /* 140 */ 706, 397, 706, 707, 710, 718, 397, 737, 733, 397, + /* 150 */ 739, 710, 397, 710, 710, 397, 744, 397, 741, 726, + /* 160 */ 397, 700, 420, 426, 397, 400, 397, 397, 485, ); static public $yyExpectedTokens = array( - /* 0 */ array(1, 2, 3, 5, 6, 9, 25, ), - /* 1 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 2 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 3 */ array(9, 11, 12, 14, 16, 18, 19, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 4 */ array(9, 11, 12, 14, 16, 18, 19, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 5 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 6 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 7 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 8 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 9 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 10 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 11 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 12 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 13 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 14 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 15 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 16 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 17 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 18 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 19 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 20 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 21 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 22 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 23 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 24 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 25 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 26 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 27 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 28 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 29 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 30 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 31 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 32 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 33 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 34 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 35 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 36 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 37 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, 45, ), - /* 38 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 39 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 40 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 41 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, 44, ), - /* 42 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, ), - /* 43 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, ), - /* 44 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, ), - /* 45 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, ), - /* 46 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, ), - /* 47 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, ), - /* 48 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, ), - /* 49 */ array(9, 11, 12, 18, 25, 26, 31, 34, 35, 37, 38, 39, 40, 43, ), - /* 50 */ array(9, 11, 12, 43, ), - /* 51 */ array(1, 2, 3, 5, 6, 9, 25, ), - /* 52 */ array(3, 9, 25, 40, 71, 72, ), - /* 53 */ array(10, 15, 17, 31, 41, 46, ), - /* 54 */ array(2, 4, 5, 6, 7, 8, ), - /* 55 */ array(2, 4, 5, 6, 8, ), - /* 56 */ array(10, 15, 17, 46, ), - /* 57 */ array(10, 17, 46, ), - /* 58 */ array(10, 17, 46, ), - /* 59 */ array(15, 36, 44, ), - /* 60 */ array(11, 12, 43, ), - /* 61 */ array(17, 46, ), - /* 62 */ array(17, 46, ), - /* 63 */ array(11, 43, ), - /* 64 */ array(17, 46, ), - /* 65 */ array(17, 28, ), - /* 66 */ array(17, 28, ), - /* 67 */ array(17, 46, ), - /* 68 */ array(17, 28, ), - /* 69 */ array(18, 29, 30, 45, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, ), - /* 70 */ array(10, 18, 29, 30, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, ), - /* 71 */ array(18, 29, 30, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, ), - /* 72 */ array(18, 29, 30, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, ), - /* 73 */ array(3, 9, 25, 40, 71, 72, ), - /* 74 */ array(9, 12, 13, 42, ), - /* 75 */ array(9, 12, 13, 21, ), - /* 76 */ array(10, 17, 21, ), - /* 77 */ array(10, 17, 21, ), - /* 78 */ array(9, 12, 42, ), - /* 79 */ array(9, 12, ), - /* 80 */ array(9, 12, ), - /* 81 */ array(13, 15, ), - /* 82 */ array(9, 12, ), - /* 83 */ array(9, 12, ), - /* 84 */ array(9, 12, ), - /* 85 */ array(9, 12, ), - /* 86 */ array(9, 12, ), - /* 87 */ array(9, 12, ), - /* 88 */ array(10, 17, ), - /* 89 */ array(9, 12, ), - /* 90 */ array(9, 12, ), - /* 91 */ array(9, 12, ), - /* 92 */ array(17, ), - /* 93 */ array(17, ), - /* 94 */ array(17, ), - /* 95 */ array(11, ), - /* 96 */ array(15, ), - /* 97 */ array(15, ), - /* 98 */ array(15, ), - /* 99 */ array(17, ), - /* 100 */ array(32, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, ), - /* 101 */ array(46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, ), - /* 102 */ array(9, 10, 12, 24, ), - /* 103 */ array(12, 14, 16, 19, ), - /* 104 */ array(9, 10, 12, 24, ), - /* 105 */ array(9, 10, 12, ), - /* 106 */ array(9, 12, 13, ), - /* 107 */ array(9, 10, 12, ), - /* 108 */ array(9, 12, 42, ), - /* 109 */ array(10, 17, ), - /* 110 */ array(10, 17, ), - /* 111 */ array(10, 17, ), - /* 112 */ array(27, 46, ), - /* 113 */ array(10, 17, ), - /* 114 */ array(28, 46, ), - /* 115 */ array(10, 17, ), - /* 116 */ array(10, 17, ), - /* 117 */ array(10, 46, ), - /* 118 */ array(10, 17, ), - /* 119 */ array(28, 46, ), - /* 120 */ array(10, 17, ), - /* 121 */ array(10, 17, ), - /* 122 */ array(10, 46, ), - /* 123 */ array(10, 17, ), - /* 124 */ array(10, 46, ), - /* 125 */ array(46, 71, ), - /* 126 */ array(36, 44, ), - /* 127 */ array(32, 46, ), - /* 128 */ array(36, 44, ), - /* 129 */ array(36, 44, ), - /* 130 */ array(10, 17, ), - /* 131 */ array(11, 12, ), - /* 132 */ array(10, 17, ), - /* 133 */ array(36, 44, ), - /* 134 */ array(10, 17, ), - /* 135 */ array(10, 17, ), - /* 136 */ array(36, 44, ), - /* 137 */ array(9, 31, ), - /* 138 */ array(10, 17, ), - /* 139 */ array(10, 17, ), - /* 140 */ array(46, ), - /* 141 */ array(46, ), - /* 142 */ array(46, ), - /* 143 */ array(15, ), - /* 144 */ array(46, ), - /* 145 */ array(15, ), - /* 146 */ array(46, ), - /* 147 */ array(46, ), - /* 148 */ array(46, ), - /* 149 */ array(17, ), - /* 150 */ array(46, ), - /* 151 */ array(46, ), - /* 152 */ array(46, ), - /* 153 */ array(46, ), - /* 154 */ array(46, ), - /* 155 */ array(15, ), - /* 156 */ array(28, ), - /* 157 */ array(11, ), - /* 158 */ array(46, ), - /* 159 */ array(46, ), - /* 160 */ array(17, ), - /* 161 */ array(15, ), - /* 162 */ array(31, ), - /* 163 */ array(46, ), + /* 0 */ array(6, 7, 9, 10, 21, 24, 39, ), + /* 1 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 2 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 3 */ array(2, 24, 26, 27, 29, 31, 33, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 4 */ array(2, 24, 26, 27, 29, 31, 33, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 5 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 6 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 7 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 8 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 9 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 10 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 11 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 12 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 13 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 14 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 15 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 16 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 17 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 18 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 19 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 20 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 21 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 22 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 23 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 24 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 25 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 26 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 27 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 28 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 29 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 30 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 31 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 32 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 33 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 34 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 35 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 36 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 37 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, 60, ), + /* 38 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 39 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 40 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 41 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 42 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 43 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, 59, ), + /* 44 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, ), + /* 45 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, ), + /* 46 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, ), + /* 47 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, ), + /* 48 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, ), + /* 49 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, ), + /* 50 */ array(2, 24, 26, 27, 39, 40, 44, 48, 49, 51, 52, 53, 54, 58, ), + /* 51 */ array(24, 26, 27, 58, ), + /* 52 */ array(6, 7, 9, 10, 21, 24, 39, ), + /* 53 */ array(7, 8, 10, 21, 22, 23, ), + /* 54 */ array(3, 25, 30, 32, 44, 55, ), + /* 55 */ array(9, 24, 39, 54, 84, 85, ), + /* 56 */ array(7, 8, 10, 21, 23, ), + /* 57 */ array(3, 25, 30, 32, ), + /* 58 */ array(26, 27, 58, ), + /* 59 */ array(30, 50, 59, ), + /* 60 */ array(3, 25, 32, ), + /* 61 */ array(4, 32, ), + /* 62 */ array(4, 32, ), + /* 63 */ array(4, 32, ), + /* 64 */ array(3, 32, ), + /* 65 */ array(2, 25, 42, 43, 56, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, ), + /* 66 */ array(2, 42, 43, 56, 60, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, ), + /* 67 */ array(2, 42, 43, 56, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, ), + /* 68 */ array(2, 42, 43, 56, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, ), + /* 69 */ array(42, 43, 56, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, ), + /* 70 */ array(42, 43, 56, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, ), + /* 71 */ array(9, 24, 39, 54, 84, 85, ), + /* 72 */ array(24, 27, 28, 35, ), + /* 73 */ array(11, 12, 14, 16, ), + /* 74 */ array(11, 12, 14, 16, ), + /* 75 */ array(11, 12, 14, 16, ), + /* 76 */ array(24, 27, 28, 57, ), + /* 77 */ array(24, 27, 57, ), + /* 78 */ array(25, 32, 35, ), + /* 79 */ array(25, 32, 35, ), + /* 80 */ array(25, 32, ), + /* 81 */ array(24, 27, ), + /* 82 */ array(24, 27, ), + /* 83 */ array(28, 30, ), + /* 84 */ array(24, 27, ), + /* 85 */ array(25, 32, ), + /* 86 */ array(24, 27, ), + /* 87 */ array(18, 19, ), + /* 88 */ array(24, 27, ), + /* 89 */ array(18, 19, ), + /* 90 */ array(24, 27, ), + /* 91 */ array(24, 27, ), + /* 92 */ array(18, 19, ), + /* 93 */ array(24, 27, ), + /* 94 */ array(24, 27, ), + /* 95 */ array(24, 27, ), + /* 96 */ array(24, 27, ), + /* 97 */ array(18, 19, ), + /* 98 */ array(32, ), + /* 99 */ array(32, ), + /* 100 */ array(32, ), + /* 101 */ array(32, ), + /* 102 */ array(32, ), + /* 103 */ array(32, ), + /* 104 */ array(26, ), + /* 105 */ array(30, ), + /* 106 */ array(32, ), + /* 107 */ array(30, ), + /* 108 */ array(30, ), + /* 109 */ array(27, 29, 31, 33, ), + /* 110 */ array(24, 25, 27, 38, ), + /* 111 */ array(24, 25, 27, 38, ), + /* 112 */ array(3, 25, 32, ), + /* 113 */ array(24, 25, 27, ), + /* 114 */ array(24, 27, 28, ), + /* 115 */ array(24, 27, 57, ), + /* 116 */ array(24, 25, 27, ), + /* 117 */ array(50, 59, ), + /* 118 */ array(3, 38, ), + /* 119 */ array(25, 32, ), + /* 120 */ array(25, 32, ), + /* 121 */ array(25, 32, ), + /* 122 */ array(3, 37, ), + /* 123 */ array(25, 32, ), + /* 124 */ array(25, 32, ), + /* 125 */ array(25, 32, ), + /* 126 */ array(50, 59, ), + /* 127 */ array(25, 32, ), + /* 128 */ array(3, 72, ), + /* 129 */ array(25, 32, ), + /* 130 */ array(26, 27, ), + /* 131 */ array(50, 59, ), + /* 132 */ array(24, 44, ), + /* 133 */ array(25, 32, ), + /* 134 */ array(25, 32, ), + /* 135 */ array(25, 32, ), + /* 136 */ array(25, 32, ), + /* 137 */ array(25, 32, ), + /* 138 */ array(25, 32, ), + /* 139 */ array(25, 32, ), + /* 140 */ array(50, 59, ), + /* 141 */ array(3, 25, ), + /* 142 */ array(50, 59, ), + /* 143 */ array(25, 32, ), + /* 144 */ array(30, ), + /* 145 */ array(32, ), + /* 146 */ array(3, ), + /* 147 */ array(44, ), + /* 148 */ array(4, ), + /* 149 */ array(3, ), + /* 150 */ array(32, ), + /* 151 */ array(30, ), + /* 152 */ array(3, ), + /* 153 */ array(30, ), + /* 154 */ array(30, ), + /* 155 */ array(3, ), + /* 156 */ array(26, ), + /* 157 */ array(3, ), + /* 158 */ array(), + /* 159 */ array(), + /* 160 */ array(), + /* 161 */ array(), + /* 162 */ array(), + /* 163 */ array(), /* 164 */ array(), /* 165 */ array(), /* 166 */ array(), /* 167 */ array(), /* 168 */ array(), - /* 169 */ array(), - /* 170 */ array(), - /* 171 */ array(9, 11, 12, 26, 37, 38, ), - /* 172 */ array(31, 36, 41, 45, ), - /* 173 */ array(13, 31, 41, ), - /* 174 */ array(24, 31, 41, ), - /* 175 */ array(31, 41, 46, ), - /* 176 */ array(31, 41, ), - /* 177 */ array(31, 41, ), - /* 178 */ array(31, 41, ), - /* 179 */ array(20, 27, ), - /* 180 */ array(17, 18, ), - /* 181 */ array(13, 28, ), - /* 182 */ array(27, 45, ), - /* 183 */ array(13, 36, ), - /* 184 */ array(12, 42, ), - /* 185 */ array(12, 26, ), - /* 186 */ array(10, 17, ), - /* 187 */ array(31, 41, ), - /* 188 */ array(21, 71, ), - /* 189 */ array(10, ), - /* 190 */ array(26, ), - /* 191 */ array(36, ), - /* 192 */ array(10, ), - /* 193 */ array(12, ), - /* 194 */ array(12, ), - /* 195 */ array(28, ), - /* 196 */ array(12, ), - /* 197 */ array(12, ), - /* 198 */ array(11, ), - /* 199 */ array(23, ), - /* 200 */ array(12, ), - /* 201 */ array(12, ), - /* 202 */ array(11, ), - /* 203 */ array(4, ), - /* 204 */ array(11, ), - /* 205 */ array(23, ), - /* 206 */ array(11, ), - /* 207 */ array(22, ), - /* 208 */ array(10, ), - /* 209 */ array(10, ), - /* 210 */ array(13, ), - /* 211 */ array(32, ), - /* 212 */ array(32, ), - /* 213 */ array(33, ), - /* 214 */ array(31, ), - /* 215 */ array(32, ), - /* 216 */ array(24, ), - /* 217 */ array(58, ), - /* 218 */ array(13, ), - /* 219 */ array(7, ), - /* 220 */ array(12, ), - /* 221 */ array(45, ), - /* 222 */ array(20, ), - /* 223 */ array(11, ), - /* 224 */ array(32, ), - /* 225 */ array(10, ), - /* 226 */ array(33, ), - /* 227 */ array(12, ), - /* 228 */ array(10, ), - /* 229 */ array(3, ), - /* 230 */ array(10, ), - /* 231 */ array(17, ), - /* 232 */ array(43, ), - /* 233 */ array(21, ), - /* 234 */ array(43, ), - /* 235 */ array(), - /* 236 */ array(), - /* 237 */ array(), - /* 238 */ array(), - /* 239 */ array(), - /* 240 */ array(), + /* 169 */ array(45, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, ), + /* 170 */ array(61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, ), + /* 171 */ array(24, 26, 27, 40, 51, 52, ), + /* 172 */ array(44, 50, 55, 60, ), + /* 173 */ array(38, 44, 55, ), + /* 174 */ array(28, 44, 55, ), + /* 175 */ array(35, 84, ), + /* 176 */ array(44, 55, ), + /* 177 */ array(44, 55, ), + /* 178 */ array(28, 50, ), + /* 179 */ array(44, 55, ), + /* 180 */ array(27, 40, ), + /* 181 */ array(2, 32, ), + /* 182 */ array(44, 55, ), + /* 183 */ array(4, 28, ), + /* 184 */ array(44, 55, ), + /* 185 */ array(27, 57, ), + /* 186 */ array(41, 60, ), + /* 187 */ array(34, 41, ), + /* 188 */ array(27, ), + /* 189 */ array(4, ), + /* 190 */ array(17, ), + /* 191 */ array(84, ), + /* 192 */ array(26, ), + /* 193 */ array(50, ), + /* 194 */ array(27, ), + /* 195 */ array(25, ), + /* 196 */ array(45, ), + /* 197 */ array(25, ), + /* 198 */ array(40, ), + /* 199 */ array(15, ), + /* 200 */ array(32, ), + /* 201 */ array(25, ), + /* 202 */ array(27, ), + /* 203 */ array(26, ), + /* 204 */ array(26, ), + /* 205 */ array(27, ), + /* 206 */ array(26, ), + /* 207 */ array(60, ), + /* 208 */ array(37, ), + /* 209 */ array(27, ), + /* 210 */ array(8, ), + /* 211 */ array(28, ), + /* 212 */ array(13, ), + /* 213 */ array(20, ), + /* 214 */ array(25, ), + /* 215 */ array(28, ), + /* 216 */ array(45, ), + /* 217 */ array(27, ), + /* 218 */ array(41, ), + /* 219 */ array(25, ), + /* 220 */ array(25, ), + /* 221 */ array(34, ), + /* 222 */ array(4, ), + /* 223 */ array(27, ), + /* 224 */ array(4, ), + /* 225 */ array(46, ), + /* 226 */ array(45, ), + /* 227 */ array(46, ), + /* 228 */ array(45, ), + /* 229 */ array(58, ), + /* 230 */ array(22, ), + /* 231 */ array(27, ), + /* 232 */ array(25, ), + /* 233 */ array(26, ), + /* 234 */ array(44, ), + /* 235 */ array(35, ), + /* 236 */ array(45, ), + /* 237 */ array(25, ), + /* 238 */ array(25, ), + /* 239 */ array(58, ), + /* 240 */ array(36, ), /* 241 */ array(), /* 242 */ array(), /* 243 */ array(), @@ -885,52 +938,71 @@ static public $yy_action = array( /* 368 */ array(), /* 369 */ array(), /* 370 */ 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(), + /* 383 */ array(), + /* 384 */ array(), + /* 385 */ array(), + /* 386 */ array(), + /* 387 */ array(), + /* 388 */ array(), ); static public $yy_default = array( - /* 0 */ 559, 559, 544, 559, 559, 559, 559, 507, 559, 559, - /* 10 */ 559, 507, 507, 507, 559, 559, 559, 559, 559, 559, - /* 20 */ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - /* 30 */ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - /* 40 */ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - /* 50 */ 559, 371, 559, 559, 559, 383, 559, 559, 559, 469, - /* 60 */ 559, 427, 427, 559, 427, 427, 427, 427, 427, 559, - /* 70 */ 559, 512, 438, 559, 479, 559, 450, 450, 479, 559, - /* 80 */ 559, 472, 559, 559, 559, 559, 559, 559, 441, 559, - /* 90 */ 559, 559, 427, 427, 427, 559, 465, 464, 472, 427, - /* 100 */ 559, 514, 559, 559, 559, 559, 559, 559, 480, 559, - /* 110 */ 559, 559, 506, 559, 559, 559, 559, 559, 559, 559, - /* 120 */ 559, 559, 559, 559, 559, 559, 499, 559, 500, 477, - /* 130 */ 559, 559, 559, 501, 559, 559, 498, 479, 559, 559, - /* 140 */ 525, 429, 545, 467, 526, 495, 433, 521, 518, 558, - /* 150 */ 547, 517, 522, 546, 449, 470, 440, 559, 410, 436, - /* 160 */ 558, 466, 479, 448, 479, 479, 511, 511, 511, 479, - /* 170 */ 511, 559, 559, 432, 437, 428, 437, 527, 513, 559, - /* 180 */ 559, 493, 559, 455, 559, 559, 441, 559, 450, 559, - /* 190 */ 559, 455, 559, 559, 559, 493, 559, 559, 559, 559, - /* 200 */ 559, 559, 559, 559, 559, 559, 559, 434, 559, 559, - /* 210 */ 559, 559, 559, 559, 468, 559, 441, 441, 432, 559, - /* 220 */ 559, 559, 559, 559, 559, 559, 460, 559, 441, 559, - /* 230 */ 559, 559, 559, 450, 559, 378, 379, 551, 552, 555, - /* 240 */ 556, 550, 463, 549, 487, 485, 375, 486, 484, 483, - /* 250 */ 504, 494, 482, 374, 373, 421, 431, 372, 420, 419, - /* 260 */ 502, 424, 418, 376, 490, 531, 532, 533, 530, 529, - /* 270 */ 377, 446, 447, 534, 535, 489, 548, 488, 540, 539, - /* 280 */ 536, 537, 538, 444, 403, 392, 554, 393, 426, 553, - /* 290 */ 391, 445, 461, 510, 394, 395, 475, 476, 422, 505, - /* 300 */ 474, 471, 396, 397, 423, 509, 508, 478, 481, 492, - /* 310 */ 493, 473, 497, 451, 452, 453, 442, 496, 441, 439, - /* 320 */ 491, 460, 459, 458, 443, 456, 457, 503, 417, 414, - /* 330 */ 415, 416, 384, 413, 385, 405, 404, 401, 382, 406, - /* 340 */ 411, 557, 435, 412, 380, 409, 408, 381, 407, 454, - /* 350 */ 402, 425, 519, 520, 390, 516, 515, 541, 543, 542, - /* 360 */ 523, 524, 398, 399, 400, 386, 387, 389, 528, 388, - /* 370 */ 462, + /* 0 */ 587, 587, 572, 587, 587, 535, 587, 587, 535, 587, + /* 10 */ 535, 587, 535, 587, 587, 587, 587, 587, 587, 587, + /* 20 */ 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + /* 30 */ 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + /* 40 */ 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + /* 50 */ 587, 587, 389, 587, 587, 587, 411, 587, 587, 496, + /* 60 */ 468, 455, 455, 455, 455, 587, 587, 466, 540, 473, + /* 70 */ 474, 587, 587, 399, 399, 399, 507, 507, 477, 477, + /* 80 */ 587, 587, 587, 500, 587, 587, 587, 405, 587, 405, + /* 90 */ 587, 587, 405, 587, 587, 587, 587, 405, 455, 455, + /* 100 */ 455, 455, 455, 455, 587, 500, 455, 491, 492, 587, + /* 110 */ 587, 587, 468, 587, 587, 508, 587, 528, 468, 587, + /* 120 */ 587, 587, 587, 587, 587, 587, 527, 587, 468, 587, + /* 130 */ 587, 505, 507, 587, 587, 587, 587, 587, 587, 587, + /* 140 */ 529, 468, 526, 587, 497, 586, 544, 507, 499, 556, + /* 150 */ 586, 494, 479, 523, 493, 480, 587, 478, 539, 507, + /* 160 */ 470, 539, 507, 507, 468, 539, 469, 471, 539, 587, + /* 170 */ 542, 587, 587, 465, 460, 477, 587, 541, 482, 456, + /* 180 */ 587, 587, 555, 521, 465, 587, 587, 587, 587, 521, + /* 190 */ 587, 587, 587, 482, 587, 587, 587, 587, 587, 587, + /* 200 */ 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + /* 210 */ 587, 587, 587, 587, 587, 460, 587, 587, 534, 587, + /* 220 */ 587, 587, 587, 587, 587, 587, 587, 487, 587, 587, + /* 230 */ 587, 587, 587, 587, 495, 477, 587, 587, 587, 587, + /* 240 */ 462, 440, 463, 512, 517, 515, 516, 518, 514, 513, + /* 250 */ 510, 511, 585, 532, 530, 449, 457, 459, 390, 448, + /* 260 */ 447, 487, 452, 446, 522, 568, 584, 490, 577, 557, + /* 270 */ 583, 580, 576, 578, 579, 558, 559, 565, 566, 567, + /* 280 */ 564, 563, 560, 561, 562, 489, 546, 481, 537, 483, + /* 290 */ 484, 485, 536, 538, 445, 450, 451, 454, 486, 525, + /* 300 */ 419, 488, 581, 420, 582, 521, 520, 524, 501, 506, + /* 310 */ 509, 453, 418, 401, 400, 404, 406, 402, 398, 395, + /* 320 */ 391, 392, 393, 394, 403, 407, 414, 413, 415, 416, + /* 330 */ 417, 412, 410, 396, 397, 408, 409, 421, 422, 428, + /* 340 */ 427, 430, 431, 433, 426, 554, 550, 551, 552, 553, + /* 350 */ 432, 429, 464, 436, 435, 437, 438, 434, 461, 441, + /* 360 */ 442, 443, 444, 549, 548, 502, 498, 503, 504, 531, + /* 370 */ 472, 519, 423, 424, 425, 467, 533, 574, 476, 543, + /* 380 */ 545, 547, 475, 570, 573, 569, 571, 575, 439, ); - const YYNOCODE = 116; + const YYNOCODE = 133; const YYSTACKDEPTH = 100; - const YYNSTATE = 371; - const YYNRULE = 188; - const YYERRORSYMBOL = 73; + const YYNSTATE = 389; + const YYNRULE = 198; + const YYERRORSYMBOL = 86; const YYERRSYMDT = 'yy0'; const YYFALLBACK = 0; static public $yyFallback = array( @@ -959,35 +1031,39 @@ static public $yy_action = array( public $yystack = array(); /* The parser's stack */ public $yyTokenName = array( - '$', 'COMMENT', 'PHPSTARTTAG', 'OTHER', - 'PHPENDTAG', 'FAKEPHPSTARTTAG', 'LITERALSTART', 'LITERALEND', - 'LITERAL', 'LDEL', 'RDEL', 'DOLLAR', - 'ID', 'EQUAL', 'FOREACH', 'PTR', - 'IF', 'SPACE', 'UNIMATH', 'FOR', - 'SEMICOLON', 'INCDEC', 'TO', 'AS', - 'APTR', 'LDELSLASH', 'INTEGER', 'COMMA', - 'COLON', 'MATH', 'ANDSYM', 'OPENP', - 'CLOSEP', 'QMARK', 'NOT', 'TYPECAST', - 'DOT', 'BOOLEAN', 'NULL', 'SINGLEQUOTESTRING', - 'QUOTE', 'DOUBLECOLON', 'AT', 'HATCH', - 'OPENB', 'CLOSEB', 'VERT', 'ISIN', - 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN', 'ISNOTEVEN', - 'ISEVENBY', 'ISNOTEVENBY', 'ISODD', 'ISNOTODD', - 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF', 'EQUALS', - 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL', - 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD', - 'LAND', 'LOR', 'LXOR', 'BACKTICK', - 'DOLLARID', 'error', 'start', 'template', - 'template_element', 'smartytag', 'literal', 'literal_elements', - 'literal_element', 'value', 'attributes', 'variable', - 'expr', 'ternary', 'varindexed', 'modifier', - 'modparameters', 'ifexpr', 'statement', 'statements', - 'optspace', 'varvar', 'foraction', 'array', - 'specialclose', 'attribute', 'exprs', 'ifcond', - 'lop', 'function', 'doublequoted', 'method', - 'params', 'objectchain', 'arrayindex', 'object', - 'indexdef', 'varvarele', 'objectelement', 'modparameter', - 'arrayelements', 'arrayelement', 'doublequotedcontent', + '$', 'IFEXP', 'UNIMATH', 'VERT', + 'COLON', 'EXP', 'COMMENT', 'PHPSTARTTAG', + 'PHPENDTAG', 'OTHER', 'FAKEPHPSTARTTAG', 'PHP_CODE', + 'PHP_CODE_START_DOUBLEQUOTE', 'PHP_CODE_DOUBLEQUOTE', 'PHP_HEREDOC_START', 'PHP_HEREDOC_END', + 'PHP_NOWDOC_START', 'PHP_NOWDOC_END', 'PHP_DQ_CONTENT', 'PHP_DQ_EMBED_START', + 'PHP_DQ_EMBED_END', 'LITERALSTART', 'LITERALEND', 'LITERAL', + 'LDEL', 'RDEL', 'DOLLAR', 'ID', + 'EQUAL', 'FOREACH', 'PTR', 'IF', + 'SPACE', 'FOR', 'SEMICOLON', 'INCDEC', + 'TO', 'AS', 'APTR', 'LDELSLASH', + 'INTEGER', 'COMMA', 'MATH', 'ANDSYM', + 'OPENP', 'CLOSEP', 'QMARK', 'VAL', + 'NOT', 'TYPECAST', 'DOT', 'BOOLEAN', + 'NULL', 'SINGLEQUOTESTRING', 'QUOTE', 'DOUBLECOLON', + 'MOD', 'AT', 'HATCH', 'OPENB', + 'CLOSEB', 'ISIN', 'ISDIVBY', 'ISNOTDIVBY', + 'ISEVEN', 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', + 'ISODD', 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', + 'INSTANCEOF', 'EQUALS', 'NOTEQUALS', 'GREATERTHAN', + 'LESSTHAN', 'GREATEREQUAL', 'LESSEQUAL', 'IDENTITY', + 'NONEIDENTITY', 'LAND', 'LOR', 'LXOR', + 'BACKTICK', 'DOLLARID', 'error', 'start', + 'template', 'template_element', 'smartytag', 'literal', + 'php_code', 'php_code_element', 'php_dq_contents', 'php_dq_content', + 'literal_elements', 'literal_element', 'value', 'attributes', + 'variable', 'expr', 'ternary', 'varindexed', + 'modifier', 'modparameters', 'ifexpr', 'statement', + 'statements', 'optspace', 'varvar', 'foraction', + 'array', 'specialclose', 'attribute', 'exprs', + 'ifcond', 'lop', 'function', 'doublequoted', + 'method', 'params', 'objectchain', 'arrayindex', + 'object', 'indexdef', 'varvarele', 'objectelement', + 'modparameter', 'arrayelements', 'arrayelement', 'doublequotedcontent', ); static public $yyRuleName = array( @@ -997,188 +1073,198 @@ static public $yy_action = array( /* 3 */ "template_element ::= smartytag", /* 4 */ "template_element ::= COMMENT", /* 5 */ "template_element ::= literal", - /* 6 */ "template_element ::= PHPSTARTTAG OTHER PHPENDTAG", + /* 6 */ "template_element ::= PHPSTARTTAG php_code PHPENDTAG", /* 7 */ "template_element ::= OTHER", /* 8 */ "template_element ::= FAKEPHPSTARTTAG", - /* 9 */ "literal ::= LITERALSTART LITERALEND", - /* 10 */ "literal ::= LITERALSTART literal_elements LITERALEND", - /* 11 */ "literal_elements ::= literal_element literal_elements", - /* 12 */ "literal_elements ::=", - /* 13 */ "literal_element ::= literal", - /* 14 */ "literal_element ::= LITERAL", - /* 15 */ "literal_element ::= PHPSTARTTAG", - /* 16 */ "literal_element ::= FAKEPHPSTARTTAG", - /* 17 */ "literal_element ::= PHPENDTAG", - /* 18 */ "smartytag ::= LDEL value RDEL", - /* 19 */ "smartytag ::= LDEL value attributes RDEL", - /* 20 */ "smartytag ::= LDEL variable attributes RDEL", - /* 21 */ "smartytag ::= LDEL expr attributes RDEL", - /* 22 */ "smartytag ::= LDEL ternary attributes RDEL", - /* 23 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL", - /* 24 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL", - /* 25 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL", - /* 26 */ "smartytag ::= LDEL DOLLAR ID EQUAL ternary attributes RDEL", - /* 27 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL", - /* 28 */ "smartytag ::= LDEL varindexed EQUAL ternary attributes RDEL", - /* 29 */ "smartytag ::= LDEL ID attributes RDEL", - /* 30 */ "smartytag ::= LDEL FOREACH attributes RDEL", - /* 31 */ "smartytag ::= LDEL ID RDEL", - /* 32 */ "smartytag ::= LDEL ID PTR ID attributes RDEL", - /* 33 */ "smartytag ::= LDEL ID modifier modparameters attributes RDEL", - /* 34 */ "smartytag ::= LDEL ID PTR ID modifier modparameters attributes RDEL", - /* 35 */ "smartytag ::= LDEL IF SPACE ifexpr RDEL", - /* 36 */ "smartytag ::= LDEL IF UNIMATH ifexpr RDEL", - /* 37 */ "smartytag ::= LDEL IF SPACE statement RDEL", - /* 38 */ "smartytag ::= LDEL FOR SPACE statements SEMICOLON optspace ifexpr SEMICOLON optspace DOLLAR varvar foraction RDEL", - /* 39 */ "foraction ::= EQUAL expr", - /* 40 */ "foraction ::= INCDEC", - /* 41 */ "smartytag ::= LDEL FOR SPACE statement TO expr attributes RDEL", - /* 42 */ "smartytag ::= LDEL FOREACH SPACE value AS DOLLAR varvar RDEL", - /* 43 */ "smartytag ::= LDEL FOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar RDEL", - /* 44 */ "smartytag ::= LDEL FOREACH SPACE array AS DOLLAR varvar RDEL", - /* 45 */ "smartytag ::= LDEL FOREACH SPACE array AS DOLLAR varvar APTR DOLLAR varvar RDEL", - /* 46 */ "smartytag ::= LDELSLASH ID RDEL", - /* 47 */ "smartytag ::= LDELSLASH specialclose RDEL", - /* 48 */ "specialclose ::= IF", - /* 49 */ "specialclose ::= FOR", - /* 50 */ "specialclose ::= FOREACH", - /* 51 */ "smartytag ::= LDELSLASH ID attributes RDEL", - /* 52 */ "smartytag ::= LDELSLASH ID modifier modparameters attributes RDEL", - /* 53 */ "smartytag ::= LDELSLASH ID PTR ID RDEL", - /* 54 */ "attributes ::= attributes attribute", - /* 55 */ "attributes ::= attribute", - /* 56 */ "attributes ::=", - /* 57 */ "attribute ::= SPACE ID EQUAL ID", - /* 58 */ "attribute ::= SPACE ID EQUAL expr", - /* 59 */ "attribute ::= SPACE ID EQUAL value", - /* 60 */ "attribute ::= SPACE ID EQUAL ternary", - /* 61 */ "attribute ::= SPACE ID", - /* 62 */ "attribute ::= SPACE INTEGER EQUAL expr", - /* 63 */ "statements ::= statement", - /* 64 */ "statements ::= statements COMMA statement", - /* 65 */ "statement ::= DOLLAR varvar EQUAL expr", - /* 66 */ "expr ::= ID", - /* 67 */ "expr ::= exprs", - /* 68 */ "expr ::= DOLLAR ID COLON ID", - /* 69 */ "expr ::= expr modifier modparameters", - /* 70 */ "exprs ::= value", - /* 71 */ "exprs ::= exprs MATH value", - /* 72 */ "exprs ::= exprs UNIMATH value", - /* 73 */ "exprs ::= exprs ANDSYM value", - /* 74 */ "exprs ::= array", - /* 75 */ "exprs ::= exprs ifcond value", - /* 76 */ "exprs ::= exprs lop value", - /* 77 */ "ternary ::= OPENP ifexpr CLOSEP QMARK expr COLON expr", - /* 78 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", - /* 79 */ "value ::= variable", - /* 80 */ "value ::= UNIMATH value", - /* 81 */ "value ::= NOT value", - /* 82 */ "value ::= TYPECAST variable", - /* 83 */ "value ::= variable INCDEC", - /* 84 */ "value ::= INTEGER", - /* 85 */ "value ::= INTEGER DOT INTEGER", - /* 86 */ "value ::= BOOLEAN", - /* 87 */ "value ::= NULL", - /* 88 */ "value ::= function", - /* 89 */ "value ::= OPENP expr CLOSEP", - /* 90 */ "value ::= SINGLEQUOTESTRING", - /* 91 */ "value ::= QUOTE doublequoted QUOTE", - /* 92 */ "value ::= QUOTE QUOTE", - /* 93 */ "value ::= ID DOUBLECOLON method", - /* 94 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP", - /* 95 */ "value ::= ID DOUBLECOLON method objectchain", - /* 96 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP objectchain", - /* 97 */ "value ::= ID DOUBLECOLON ID", - /* 98 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex", - /* 99 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex objectchain", - /* 100 */ "value ::= smartytag", - /* 101 */ "variable ::= varindexed", - /* 102 */ "variable ::= DOLLAR varvar AT ID", - /* 103 */ "variable ::= object", - /* 104 */ "variable ::= HATCH ID HATCH", - /* 105 */ "variable ::= HATCH variable HATCH", - /* 106 */ "varindexed ::= DOLLAR varvar arrayindex", - /* 107 */ "arrayindex ::= arrayindex indexdef", - /* 108 */ "arrayindex ::=", - /* 109 */ "indexdef ::= DOT DOLLAR varvar", - /* 110 */ "indexdef ::= DOT DOLLAR varvar AT ID", - /* 111 */ "indexdef ::= DOT ID", - /* 112 */ "indexdef ::= DOT BOOLEAN", - /* 113 */ "indexdef ::= DOT NULL", - /* 114 */ "indexdef ::= DOT INTEGER", - /* 115 */ "indexdef ::= DOT LDEL exprs RDEL", - /* 116 */ "indexdef ::= OPENB ID CLOSEB", - /* 117 */ "indexdef ::= OPENB ID DOT ID CLOSEB", - /* 118 */ "indexdef ::= OPENB exprs CLOSEB", - /* 119 */ "indexdef ::= OPENB CLOSEB", - /* 120 */ "varvar ::= varvarele", - /* 121 */ "varvar ::= varvar varvarele", - /* 122 */ "varvarele ::= ID", - /* 123 */ "varvarele ::= LDEL expr RDEL", - /* 124 */ "object ::= varindexed objectchain", - /* 125 */ "objectchain ::= objectelement", - /* 126 */ "objectchain ::= objectchain objectelement", - /* 127 */ "objectelement ::= PTR ID arrayindex", - /* 128 */ "objectelement ::= PTR variable arrayindex", - /* 129 */ "objectelement ::= PTR LDEL expr RDEL arrayindex", - /* 130 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex", - /* 131 */ "objectelement ::= PTR method", - /* 132 */ "function ::= ID OPENP params CLOSEP", - /* 133 */ "method ::= ID OPENP params CLOSEP", - /* 134 */ "params ::= expr COMMA params", - /* 135 */ "params ::= expr", - /* 136 */ "params ::=", - /* 137 */ "modifier ::= VERT AT ID", - /* 138 */ "modifier ::= VERT ID", - /* 139 */ "modparameters ::= modparameters modparameter", - /* 140 */ "modparameters ::=", - /* 141 */ "modparameter ::= COLON exprs", - /* 142 */ "modparameter ::= COLON ID", - /* 143 */ "ifexpr ::= expr", - /* 144 */ "ifexpr ::= expr ISIN array", - /* 145 */ "ifexpr ::= expr ISIN value", - /* 146 */ "ifexpr ::= expr ISDIVBY expr", - /* 147 */ "ifexpr ::= expr ISNOTDIVBY expr", - /* 148 */ "ifexpr ::= expr ISEVEN", - /* 149 */ "ifexpr ::= expr ISNOTEVEN", - /* 150 */ "ifexpr ::= expr ISEVENBY expr", - /* 151 */ "ifexpr ::= expr ISNOTEVENBY expr", - /* 152 */ "ifexpr ::= expr ISODD", - /* 153 */ "ifexpr ::= expr ISNOTODD", - /* 154 */ "ifexpr ::= expr ISODDBY expr", - /* 155 */ "ifexpr ::= expr ISNOTODDBY expr", - /* 156 */ "ifexpr ::= value INSTANCEOF ID", - /* 157 */ "ifexpr ::= value INSTANCEOF value", - /* 158 */ "ifcond ::= EQUALS", - /* 159 */ "ifcond ::= NOTEQUALS", - /* 160 */ "ifcond ::= GREATERTHAN", - /* 161 */ "ifcond ::= LESSTHAN", - /* 162 */ "ifcond ::= GREATEREQUAL", - /* 163 */ "ifcond ::= LESSEQUAL", - /* 164 */ "ifcond ::= IDENTITY", - /* 165 */ "ifcond ::= NONEIDENTITY", - /* 166 */ "ifcond ::= MOD", - /* 167 */ "lop ::= LAND", - /* 168 */ "lop ::= LOR", - /* 169 */ "lop ::= LXOR", - /* 170 */ "array ::= OPENB arrayelements CLOSEB", - /* 171 */ "arrayelements ::= arrayelement", - /* 172 */ "arrayelements ::= arrayelements COMMA arrayelement", - /* 173 */ "arrayelements ::=", - /* 174 */ "arrayelement ::= value APTR expr", - /* 175 */ "arrayelement ::= ID APTR expr", - /* 176 */ "arrayelement ::= expr", - /* 177 */ "doublequoted ::= doublequoted doublequotedcontent", - /* 178 */ "doublequoted ::= doublequotedcontent", - /* 179 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", - /* 180 */ "doublequotedcontent ::= BACKTICK expr BACKTICK", - /* 181 */ "doublequotedcontent ::= DOLLARID", - /* 182 */ "doublequotedcontent ::= LDEL variable RDEL", - /* 183 */ "doublequotedcontent ::= LDEL expr RDEL", - /* 184 */ "doublequotedcontent ::= smartytag", - /* 185 */ "doublequotedcontent ::= OTHER", - /* 186 */ "optspace ::= SPACE", - /* 187 */ "optspace ::=", + /* 9 */ "php_code ::= php_code_element php_code", + /* 10 */ "php_code ::=", + /* 11 */ "php_code_element ::= PHP_CODE", + /* 12 */ "php_code_element ::= PHP_CODE_START_DOUBLEQUOTE php_dq_contents PHP_CODE_DOUBLEQUOTE", + /* 13 */ "php_code_element ::= PHP_HEREDOC_START php_dq_contents PHP_HEREDOC_END", + /* 14 */ "php_code_element ::= PHP_NOWDOC_START php_dq_contents PHP_NOWDOC_END", + /* 15 */ "php_dq_contents ::= php_dq_content php_dq_contents", + /* 16 */ "php_dq_contents ::=", + /* 17 */ "php_dq_content ::= PHP_DQ_CONTENT", + /* 18 */ "php_dq_content ::= PHP_DQ_EMBED_START php_code PHP_DQ_EMBED_END", + /* 19 */ "literal ::= LITERALSTART LITERALEND", + /* 20 */ "literal ::= LITERALSTART literal_elements LITERALEND", + /* 21 */ "literal_elements ::= literal_element literal_elements", + /* 22 */ "literal_elements ::=", + /* 23 */ "literal_element ::= literal", + /* 24 */ "literal_element ::= LITERAL", + /* 25 */ "literal_element ::= PHPSTARTTAG", + /* 26 */ "literal_element ::= FAKEPHPSTARTTAG", + /* 27 */ "literal_element ::= PHPENDTAG", + /* 28 */ "smartytag ::= LDEL value RDEL", + /* 29 */ "smartytag ::= LDEL value attributes RDEL", + /* 30 */ "smartytag ::= LDEL variable attributes RDEL", + /* 31 */ "smartytag ::= LDEL expr attributes RDEL", + /* 32 */ "smartytag ::= LDEL ternary attributes RDEL", + /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL", + /* 34 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL", + /* 35 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL", + /* 36 */ "smartytag ::= LDEL DOLLAR ID EQUAL ternary attributes RDEL", + /* 37 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL", + /* 38 */ "smartytag ::= LDEL varindexed EQUAL ternary attributes RDEL", + /* 39 */ "smartytag ::= LDEL ID attributes RDEL", + /* 40 */ "smartytag ::= LDEL FOREACH attributes RDEL", + /* 41 */ "smartytag ::= LDEL ID RDEL", + /* 42 */ "smartytag ::= LDEL ID PTR ID attributes RDEL", + /* 43 */ "smartytag ::= LDEL ID modifier modparameters attributes RDEL", + /* 44 */ "smartytag ::= LDEL ID PTR ID modifier modparameters attributes RDEL", + /* 45 */ "smartytag ::= LDEL IF SPACE ifexpr RDEL", + /* 46 */ "smartytag ::= LDEL IF UNIMATH ifexpr RDEL", + /* 47 */ "smartytag ::= LDEL IF SPACE statement RDEL", + /* 48 */ "smartytag ::= LDEL FOR SPACE statements SEMICOLON optspace ifexpr SEMICOLON optspace DOLLAR varvar foraction RDEL", + /* 49 */ "foraction ::= EQUAL expr", + /* 50 */ "foraction ::= INCDEC", + /* 51 */ "smartytag ::= LDEL FOR SPACE statement TO expr attributes RDEL", + /* 52 */ "smartytag ::= LDEL FOREACH SPACE value AS DOLLAR varvar RDEL", + /* 53 */ "smartytag ::= LDEL FOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar RDEL", + /* 54 */ "smartytag ::= LDEL FOREACH SPACE array AS DOLLAR varvar RDEL", + /* 55 */ "smartytag ::= LDEL FOREACH SPACE array AS DOLLAR varvar APTR DOLLAR varvar RDEL", + /* 56 */ "smartytag ::= LDELSLASH ID RDEL", + /* 57 */ "smartytag ::= LDELSLASH specialclose RDEL", + /* 58 */ "specialclose ::= IF", + /* 59 */ "specialclose ::= FOR", + /* 60 */ "specialclose ::= FOREACH", + /* 61 */ "smartytag ::= LDELSLASH ID attributes RDEL", + /* 62 */ "smartytag ::= LDELSLASH ID modifier modparameters attributes RDEL", + /* 63 */ "smartytag ::= LDELSLASH ID PTR ID RDEL", + /* 64 */ "attributes ::= attributes attribute", + /* 65 */ "attributes ::= attribute", + /* 66 */ "attributes ::=", + /* 67 */ "attribute ::= SPACE ID EQUAL ID", + /* 68 */ "attribute ::= SPACE ID EQUAL expr", + /* 69 */ "attribute ::= SPACE ID EQUAL value", + /* 70 */ "attribute ::= SPACE ID EQUAL ternary", + /* 71 */ "attribute ::= SPACE ID", + /* 72 */ "attribute ::= SPACE INTEGER EQUAL expr", + /* 73 */ "statements ::= statement", + /* 74 */ "statements ::= statements COMMA statement", + /* 75 */ "statement ::= DOLLAR varvar EQUAL expr", + /* 76 */ "expr ::= ID", + /* 77 */ "expr ::= exprs", + /* 78 */ "expr ::= DOLLAR ID COLON ID", + /* 79 */ "exprs ::= value", + /* 80 */ "exprs ::= exprs MATH value", + /* 81 */ "exprs ::= exprs UNIMATH value", + /* 82 */ "exprs ::= exprs ANDSYM value", + /* 83 */ "exprs ::= array", + /* 84 */ "exprs ::= exprs ifcond exprs", + /* 85 */ "exprs ::= exprs lop exprs", + /* 86 */ "ternary ::= OPENP ifexpr CLOSEP QMARK expr COLON expr", + /* 87 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", + /* 88 */ "value ::= variable", + /* 89 */ "value ::= UNIMATH value", + /* 90 */ "value ::= NOT value", + /* 91 */ "value ::= TYPECAST value", + /* 92 */ "value ::= variable INCDEC", + /* 93 */ "value ::= INTEGER", + /* 94 */ "value ::= INTEGER DOT INTEGER", + /* 95 */ "value ::= BOOLEAN", + /* 96 */ "value ::= NULL", + /* 97 */ "value ::= function", + /* 98 */ "value ::= OPENP expr CLOSEP", + /* 99 */ "value ::= SINGLEQUOTESTRING", + /* 100 */ "value ::= QUOTE doublequoted QUOTE", + /* 101 */ "value ::= QUOTE QUOTE", + /* 102 */ "value ::= ID DOUBLECOLON method", + /* 103 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP", + /* 104 */ "value ::= ID DOUBLECOLON method objectchain", + /* 105 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP objectchain", + /* 106 */ "value ::= ID DOUBLECOLON ID", + /* 107 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex", + /* 108 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex objectchain", + /* 109 */ "value ::= smartytag", + /* 110 */ "value ::= value modifier modparameters", + /* 111 */ "variable ::= varindexed", + /* 112 */ "variable ::= DOLLAR varvar AT ID", + /* 113 */ "variable ::= object", + /* 114 */ "variable ::= HATCH ID HATCH", + /* 115 */ "variable ::= HATCH variable HATCH", + /* 116 */ "varindexed ::= DOLLAR varvar arrayindex", + /* 117 */ "arrayindex ::= arrayindex indexdef", + /* 118 */ "arrayindex ::=", + /* 119 */ "indexdef ::= DOT DOLLAR varvar", + /* 120 */ "indexdef ::= DOT DOLLAR varvar AT ID", + /* 121 */ "indexdef ::= DOT ID", + /* 122 */ "indexdef ::= DOT BOOLEAN", + /* 123 */ "indexdef ::= DOT NULL", + /* 124 */ "indexdef ::= DOT INTEGER", + /* 125 */ "indexdef ::= DOT LDEL exprs RDEL", + /* 126 */ "indexdef ::= OPENB ID CLOSEB", + /* 127 */ "indexdef ::= OPENB ID DOT ID CLOSEB", + /* 128 */ "indexdef ::= OPENB exprs CLOSEB", + /* 129 */ "indexdef ::= OPENB CLOSEB", + /* 130 */ "varvar ::= varvarele", + /* 131 */ "varvar ::= varvar varvarele", + /* 132 */ "varvarele ::= ID", + /* 133 */ "varvarele ::= LDEL expr RDEL", + /* 134 */ "object ::= varindexed objectchain", + /* 135 */ "objectchain ::= objectelement", + /* 136 */ "objectchain ::= objectchain objectelement", + /* 137 */ "objectelement ::= PTR ID arrayindex", + /* 138 */ "objectelement ::= PTR variable arrayindex", + /* 139 */ "objectelement ::= PTR LDEL expr RDEL arrayindex", + /* 140 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex", + /* 141 */ "objectelement ::= PTR method", + /* 142 */ "function ::= ID OPENP params CLOSEP", + /* 143 */ "method ::= ID OPENP params CLOSEP", + /* 144 */ "params ::= expr COMMA params", + /* 145 */ "params ::= expr", + /* 146 */ "params ::=", + /* 147 */ "modifier ::= VERT AT ID", + /* 148 */ "modifier ::= VERT ID", + /* 149 */ "modparameters ::= modparameters modparameter", + /* 150 */ "modparameters ::=", + /* 151 */ "modparameter ::= COLON exprs", + /* 152 */ "modparameter ::= COLON ID", + /* 153 */ "ifexpr ::= expr", + /* 154 */ "ifexpr ::= expr ISIN array", + /* 155 */ "ifexpr ::= expr ISIN value", + /* 156 */ "ifexpr ::= expr ISDIVBY expr", + /* 157 */ "ifexpr ::= expr ISNOTDIVBY expr", + /* 158 */ "ifexpr ::= expr ISEVEN", + /* 159 */ "ifexpr ::= expr ISNOTEVEN", + /* 160 */ "ifexpr ::= expr ISEVENBY expr", + /* 161 */ "ifexpr ::= expr ISNOTEVENBY expr", + /* 162 */ "ifexpr ::= expr ISODD", + /* 163 */ "ifexpr ::= expr ISNOTODD", + /* 164 */ "ifexpr ::= expr ISODDBY expr", + /* 165 */ "ifexpr ::= expr ISNOTODDBY expr", + /* 166 */ "ifexpr ::= value INSTANCEOF ID", + /* 167 */ "ifexpr ::= value INSTANCEOF value", + /* 168 */ "ifcond ::= EQUALS", + /* 169 */ "ifcond ::= NOTEQUALS", + /* 170 */ "ifcond ::= GREATERTHAN", + /* 171 */ "ifcond ::= LESSTHAN", + /* 172 */ "ifcond ::= GREATEREQUAL", + /* 173 */ "ifcond ::= LESSEQUAL", + /* 174 */ "ifcond ::= IDENTITY", + /* 175 */ "ifcond ::= NONEIDENTITY", + /* 176 */ "ifcond ::= MOD", + /* 177 */ "lop ::= LAND", + /* 178 */ "lop ::= LOR", + /* 179 */ "lop ::= LXOR", + /* 180 */ "array ::= OPENB arrayelements CLOSEB", + /* 181 */ "arrayelements ::= arrayelement", + /* 182 */ "arrayelements ::= arrayelements COMMA arrayelement", + /* 183 */ "arrayelements ::=", + /* 184 */ "arrayelement ::= value APTR expr", + /* 185 */ "arrayelement ::= ID APTR expr", + /* 186 */ "arrayelement ::= expr", + /* 187 */ "doublequoted ::= doublequoted doublequotedcontent", + /* 188 */ "doublequoted ::= doublequotedcontent", + /* 189 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", + /* 190 */ "doublequotedcontent ::= BACKTICK expr BACKTICK", + /* 191 */ "doublequotedcontent ::= DOLLARID", + /* 192 */ "doublequotedcontent ::= LDEL variable RDEL", + /* 193 */ "doublequotedcontent ::= LDEL expr RDEL", + /* 194 */ "doublequotedcontent ::= smartytag", + /* 195 */ "doublequotedcontent ::= OTHER", + /* 196 */ "optspace ::= SPACE", + /* 197 */ "optspace ::=", ); function tokenName($tokenType) @@ -1452,213 +1538,225 @@ static public $yy_action = array( } static public $yyRuleInfo = array( - array( 'lhs' => 74, 'rhs' => 1 ), - array( 'lhs' => 75, 'rhs' => 1 ), - array( 'lhs' => 75, 'rhs' => 2 ), - array( 'lhs' => 76, 'rhs' => 1 ), - array( 'lhs' => 76, 'rhs' => 1 ), - array( 'lhs' => 76, 'rhs' => 1 ), - array( 'lhs' => 76, 'rhs' => 3 ), - array( 'lhs' => 76, 'rhs' => 1 ), - array( 'lhs' => 76, 'rhs' => 1 ), - array( 'lhs' => 78, 'rhs' => 2 ), - array( 'lhs' => 78, 'rhs' => 3 ), - array( 'lhs' => 79, 'rhs' => 2 ), - array( 'lhs' => 79, 'rhs' => 0 ), - array( 'lhs' => 80, 'rhs' => 1 ), - array( 'lhs' => 80, 'rhs' => 1 ), - array( 'lhs' => 80, 'rhs' => 1 ), - array( 'lhs' => 80, 'rhs' => 1 ), - array( 'lhs' => 80, 'rhs' => 1 ), - array( 'lhs' => 77, 'rhs' => 3 ), - array( 'lhs' => 77, 'rhs' => 4 ), - array( 'lhs' => 77, 'rhs' => 4 ), - array( 'lhs' => 77, 'rhs' => 4 ), - array( 'lhs' => 77, 'rhs' => 4 ), - array( 'lhs' => 77, 'rhs' => 6 ), - array( 'lhs' => 77, 'rhs' => 6 ), - array( 'lhs' => 77, 'rhs' => 7 ), - array( 'lhs' => 77, 'rhs' => 7 ), - array( 'lhs' => 77, 'rhs' => 6 ), - array( 'lhs' => 77, 'rhs' => 6 ), - array( 'lhs' => 77, 'rhs' => 4 ), - array( 'lhs' => 77, 'rhs' => 4 ), - array( 'lhs' => 77, 'rhs' => 3 ), - array( 'lhs' => 77, 'rhs' => 6 ), - array( 'lhs' => 77, 'rhs' => 6 ), - array( 'lhs' => 77, 'rhs' => 8 ), - array( 'lhs' => 77, 'rhs' => 5 ), - array( 'lhs' => 77, 'rhs' => 5 ), - array( 'lhs' => 77, 'rhs' => 5 ), - array( 'lhs' => 77, 'rhs' => 13 ), - array( 'lhs' => 94, 'rhs' => 2 ), - array( 'lhs' => 94, 'rhs' => 1 ), - array( 'lhs' => 77, 'rhs' => 8 ), - array( 'lhs' => 77, 'rhs' => 8 ), - array( 'lhs' => 77, 'rhs' => 11 ), - array( 'lhs' => 77, 'rhs' => 8 ), - array( 'lhs' => 77, 'rhs' => 11 ), - array( 'lhs' => 77, 'rhs' => 3 ), - array( 'lhs' => 77, 'rhs' => 3 ), - array( 'lhs' => 96, 'rhs' => 1 ), - array( 'lhs' => 96, 'rhs' => 1 ), - array( 'lhs' => 96, 'rhs' => 1 ), - array( 'lhs' => 77, 'rhs' => 4 ), - array( 'lhs' => 77, 'rhs' => 6 ), - array( 'lhs' => 77, 'rhs' => 5 ), - array( 'lhs' => 82, 'rhs' => 2 ), - array( 'lhs' => 82, 'rhs' => 1 ), - array( 'lhs' => 82, 'rhs' => 0 ), - array( 'lhs' => 97, 'rhs' => 4 ), - array( 'lhs' => 97, 'rhs' => 4 ), - array( 'lhs' => 97, 'rhs' => 4 ), - array( 'lhs' => 97, 'rhs' => 4 ), - array( 'lhs' => 97, 'rhs' => 2 ), - array( 'lhs' => 97, 'rhs' => 4 ), - array( 'lhs' => 91, 'rhs' => 1 ), - array( 'lhs' => 91, 'rhs' => 3 ), - array( 'lhs' => 90, 'rhs' => 4 ), - array( 'lhs' => 84, 'rhs' => 1 ), - array( 'lhs' => 84, 'rhs' => 1 ), - array( 'lhs' => 84, 'rhs' => 4 ), - array( 'lhs' => 84, 'rhs' => 3 ), - array( 'lhs' => 98, 'rhs' => 1 ), - array( 'lhs' => 98, 'rhs' => 3 ), - array( 'lhs' => 98, 'rhs' => 3 ), - array( 'lhs' => 98, 'rhs' => 3 ), - array( 'lhs' => 98, 'rhs' => 1 ), - array( 'lhs' => 98, 'rhs' => 3 ), - array( 'lhs' => 98, 'rhs' => 3 ), - array( 'lhs' => 85, 'rhs' => 7 ), - array( 'lhs' => 85, 'rhs' => 7 ), - array( 'lhs' => 81, 'rhs' => 1 ), - array( 'lhs' => 81, 'rhs' => 2 ), - array( 'lhs' => 81, 'rhs' => 2 ), - array( 'lhs' => 81, 'rhs' => 2 ), - array( 'lhs' => 81, 'rhs' => 2 ), - array( 'lhs' => 81, 'rhs' => 1 ), - array( 'lhs' => 81, 'rhs' => 3 ), - array( 'lhs' => 81, 'rhs' => 1 ), - array( 'lhs' => 81, 'rhs' => 1 ), - array( 'lhs' => 81, 'rhs' => 1 ), - array( 'lhs' => 81, 'rhs' => 3 ), - array( 'lhs' => 81, 'rhs' => 1 ), - array( 'lhs' => 81, 'rhs' => 3 ), - array( 'lhs' => 81, 'rhs' => 2 ), - array( 'lhs' => 81, 'rhs' => 3 ), - array( 'lhs' => 81, 'rhs' => 7 ), - array( 'lhs' => 81, 'rhs' => 4 ), - array( 'lhs' => 81, 'rhs' => 8 ), - array( 'lhs' => 81, 'rhs' => 3 ), - array( 'lhs' => 81, 'rhs' => 5 ), - array( 'lhs' => 81, 'rhs' => 6 ), - array( 'lhs' => 81, 'rhs' => 1 ), - array( 'lhs' => 83, 'rhs' => 1 ), - array( 'lhs' => 83, 'rhs' => 4 ), - array( 'lhs' => 83, 'rhs' => 1 ), - array( 'lhs' => 83, 'rhs' => 3 ), - array( 'lhs' => 83, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 106, 'rhs' => 2 ), - array( 'lhs' => 106, 'rhs' => 0 ), - array( 'lhs' => 108, 'rhs' => 3 ), - array( 'lhs' => 108, 'rhs' => 5 ), - array( 'lhs' => 108, 'rhs' => 2 ), - array( 'lhs' => 108, 'rhs' => 2 ), - array( 'lhs' => 108, 'rhs' => 2 ), - array( 'lhs' => 108, 'rhs' => 2 ), - array( 'lhs' => 108, 'rhs' => 4 ), - array( 'lhs' => 108, 'rhs' => 3 ), - array( 'lhs' => 108, 'rhs' => 5 ), - array( 'lhs' => 108, 'rhs' => 3 ), - array( 'lhs' => 108, 'rhs' => 2 ), - array( 'lhs' => 93, 'rhs' => 1 ), - array( 'lhs' => 93, 'rhs' => 2 ), - array( 'lhs' => 109, 'rhs' => 1 ), - array( 'lhs' => 109, 'rhs' => 3 ), - array( 'lhs' => 107, 'rhs' => 2 ), - array( 'lhs' => 105, 'rhs' => 1 ), - array( 'lhs' => 105, 'rhs' => 2 ), - array( 'lhs' => 110, 'rhs' => 3 ), - array( 'lhs' => 110, 'rhs' => 3 ), - array( 'lhs' => 110, 'rhs' => 5 ), - array( 'lhs' => 110, 'rhs' => 6 ), - array( 'lhs' => 110, 'rhs' => 2 ), - array( 'lhs' => 101, 'rhs' => 4 ), - array( 'lhs' => 103, 'rhs' => 4 ), - array( 'lhs' => 104, 'rhs' => 3 ), - array( 'lhs' => 104, 'rhs' => 1 ), - array( 'lhs' => 104, 'rhs' => 0 ), - array( 'lhs' => 87, 'rhs' => 3 ), - array( 'lhs' => 87, 'rhs' => 2 ), + array( 'lhs' => 87, 'rhs' => 1 ), + array( 'lhs' => 88, 'rhs' => 1 ), array( 'lhs' => 88, 'rhs' => 2 ), - array( 'lhs' => 88, 'rhs' => 0 ), - array( 'lhs' => 111, 'rhs' => 2 ), - array( 'lhs' => 111, 'rhs' => 2 ), + array( 'lhs' => 89, 'rhs' => 1 ), + array( 'lhs' => 89, 'rhs' => 1 ), array( 'lhs' => 89, 'rhs' => 1 ), array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 2 ), - array( 'lhs' => 89, 'rhs' => 2 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 2 ), - array( 'lhs' => 89, 'rhs' => 2 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 99, 'rhs' => 1 ), - array( 'lhs' => 99, 'rhs' => 1 ), - array( 'lhs' => 99, 'rhs' => 1 ), - array( 'lhs' => 99, 'rhs' => 1 ), - array( 'lhs' => 99, 'rhs' => 1 ), - array( 'lhs' => 99, 'rhs' => 1 ), - array( 'lhs' => 99, 'rhs' => 1 ), - array( 'lhs' => 99, 'rhs' => 1 ), - array( 'lhs' => 99, 'rhs' => 1 ), - array( 'lhs' => 100, 'rhs' => 1 ), - array( 'lhs' => 100, 'rhs' => 1 ), - array( 'lhs' => 100, 'rhs' => 1 ), - array( 'lhs' => 95, 'rhs' => 3 ), - array( 'lhs' => 112, 'rhs' => 1 ), - array( 'lhs' => 112, 'rhs' => 3 ), - array( 'lhs' => 112, 'rhs' => 0 ), - array( 'lhs' => 113, 'rhs' => 3 ), - array( 'lhs' => 113, 'rhs' => 3 ), - array( 'lhs' => 113, 'rhs' => 1 ), - array( 'lhs' => 102, 'rhs' => 2 ), - array( 'lhs' => 102, 'rhs' => 1 ), - array( 'lhs' => 114, 'rhs' => 3 ), - array( 'lhs' => 114, 'rhs' => 3 ), - array( 'lhs' => 114, 'rhs' => 1 ), - array( 'lhs' => 114, 'rhs' => 3 ), - array( 'lhs' => 114, 'rhs' => 3 ), - array( 'lhs' => 114, 'rhs' => 1 ), - array( 'lhs' => 114, 'rhs' => 1 ), - array( 'lhs' => 92, 'rhs' => 1 ), + array( 'lhs' => 89, 'rhs' => 1 ), + array( 'lhs' => 89, 'rhs' => 1 ), + array( 'lhs' => 92, 'rhs' => 2 ), array( 'lhs' => 92, 'rhs' => 0 ), + array( 'lhs' => 93, 'rhs' => 1 ), + array( 'lhs' => 93, 'rhs' => 3 ), + array( 'lhs' => 93, 'rhs' => 3 ), + array( 'lhs' => 93, 'rhs' => 3 ), + array( 'lhs' => 94, 'rhs' => 2 ), + array( 'lhs' => 94, 'rhs' => 0 ), + array( 'lhs' => 95, 'rhs' => 1 ), + array( 'lhs' => 95, 'rhs' => 3 ), + array( 'lhs' => 91, 'rhs' => 2 ), + array( 'lhs' => 91, 'rhs' => 3 ), + array( 'lhs' => 96, 'rhs' => 2 ), + array( 'lhs' => 96, 'rhs' => 0 ), + array( 'lhs' => 97, 'rhs' => 1 ), + array( 'lhs' => 97, 'rhs' => 1 ), + array( 'lhs' => 97, 'rhs' => 1 ), + array( 'lhs' => 97, 'rhs' => 1 ), + array( 'lhs' => 97, 'rhs' => 1 ), + array( 'lhs' => 90, 'rhs' => 3 ), + array( 'lhs' => 90, 'rhs' => 4 ), + array( 'lhs' => 90, 'rhs' => 4 ), + array( 'lhs' => 90, 'rhs' => 4 ), + array( 'lhs' => 90, 'rhs' => 4 ), + array( 'lhs' => 90, 'rhs' => 6 ), + array( 'lhs' => 90, 'rhs' => 6 ), + array( 'lhs' => 90, 'rhs' => 7 ), + array( 'lhs' => 90, 'rhs' => 7 ), + array( 'lhs' => 90, 'rhs' => 6 ), + array( 'lhs' => 90, 'rhs' => 6 ), + array( 'lhs' => 90, 'rhs' => 4 ), + array( 'lhs' => 90, 'rhs' => 4 ), + array( 'lhs' => 90, 'rhs' => 3 ), + array( 'lhs' => 90, 'rhs' => 6 ), + array( 'lhs' => 90, 'rhs' => 6 ), + array( 'lhs' => 90, 'rhs' => 8 ), + array( 'lhs' => 90, 'rhs' => 5 ), + array( 'lhs' => 90, 'rhs' => 5 ), + array( 'lhs' => 90, 'rhs' => 5 ), + array( 'lhs' => 90, 'rhs' => 13 ), + array( 'lhs' => 111, 'rhs' => 2 ), + array( 'lhs' => 111, 'rhs' => 1 ), + array( 'lhs' => 90, 'rhs' => 8 ), + array( 'lhs' => 90, 'rhs' => 8 ), + array( 'lhs' => 90, 'rhs' => 11 ), + array( 'lhs' => 90, 'rhs' => 8 ), + array( 'lhs' => 90, 'rhs' => 11 ), + array( 'lhs' => 90, 'rhs' => 3 ), + array( 'lhs' => 90, 'rhs' => 3 ), + array( 'lhs' => 113, 'rhs' => 1 ), + array( 'lhs' => 113, 'rhs' => 1 ), + array( 'lhs' => 113, 'rhs' => 1 ), + array( 'lhs' => 90, 'rhs' => 4 ), + array( 'lhs' => 90, 'rhs' => 6 ), + array( 'lhs' => 90, 'rhs' => 5 ), + array( 'lhs' => 99, 'rhs' => 2 ), + array( 'lhs' => 99, 'rhs' => 1 ), + array( 'lhs' => 99, 'rhs' => 0 ), + array( 'lhs' => 114, 'rhs' => 4 ), + array( 'lhs' => 114, 'rhs' => 4 ), + array( 'lhs' => 114, 'rhs' => 4 ), + array( 'lhs' => 114, 'rhs' => 4 ), + array( 'lhs' => 114, 'rhs' => 2 ), + array( 'lhs' => 114, 'rhs' => 4 ), + array( 'lhs' => 108, 'rhs' => 1 ), + array( 'lhs' => 108, 'rhs' => 3 ), + array( 'lhs' => 107, 'rhs' => 4 ), + array( 'lhs' => 101, 'rhs' => 1 ), + array( 'lhs' => 101, 'rhs' => 1 ), + array( 'lhs' => 101, 'rhs' => 4 ), + array( 'lhs' => 115, 'rhs' => 1 ), + array( 'lhs' => 115, 'rhs' => 3 ), + array( 'lhs' => 115, 'rhs' => 3 ), + array( 'lhs' => 115, 'rhs' => 3 ), + array( 'lhs' => 115, 'rhs' => 1 ), + array( 'lhs' => 115, 'rhs' => 3 ), + array( 'lhs' => 115, 'rhs' => 3 ), + array( 'lhs' => 102, 'rhs' => 7 ), + array( 'lhs' => 102, 'rhs' => 7 ), + array( 'lhs' => 98, 'rhs' => 1 ), + array( 'lhs' => 98, 'rhs' => 2 ), + array( 'lhs' => 98, 'rhs' => 2 ), + array( 'lhs' => 98, 'rhs' => 2 ), + array( 'lhs' => 98, 'rhs' => 2 ), + array( 'lhs' => 98, 'rhs' => 1 ), + array( 'lhs' => 98, 'rhs' => 3 ), + array( 'lhs' => 98, 'rhs' => 1 ), + array( 'lhs' => 98, 'rhs' => 1 ), + array( 'lhs' => 98, 'rhs' => 1 ), + array( 'lhs' => 98, 'rhs' => 3 ), + array( 'lhs' => 98, 'rhs' => 1 ), + array( 'lhs' => 98, 'rhs' => 3 ), + array( 'lhs' => 98, 'rhs' => 2 ), + array( 'lhs' => 98, 'rhs' => 3 ), + array( 'lhs' => 98, 'rhs' => 7 ), + array( 'lhs' => 98, 'rhs' => 4 ), + array( 'lhs' => 98, 'rhs' => 8 ), + array( 'lhs' => 98, 'rhs' => 3 ), + array( 'lhs' => 98, 'rhs' => 5 ), + array( 'lhs' => 98, 'rhs' => 6 ), + array( 'lhs' => 98, 'rhs' => 1 ), + array( 'lhs' => 98, 'rhs' => 3 ), + array( 'lhs' => 100, 'rhs' => 1 ), + array( 'lhs' => 100, 'rhs' => 4 ), + array( 'lhs' => 100, 'rhs' => 1 ), + array( 'lhs' => 100, 'rhs' => 3 ), + array( 'lhs' => 100, 'rhs' => 3 ), + array( 'lhs' => 103, 'rhs' => 3 ), + array( 'lhs' => 123, 'rhs' => 2 ), + array( 'lhs' => 123, 'rhs' => 0 ), + array( 'lhs' => 125, 'rhs' => 3 ), + array( 'lhs' => 125, 'rhs' => 5 ), + array( 'lhs' => 125, 'rhs' => 2 ), + array( 'lhs' => 125, 'rhs' => 2 ), + array( 'lhs' => 125, 'rhs' => 2 ), + array( 'lhs' => 125, 'rhs' => 2 ), + array( 'lhs' => 125, 'rhs' => 4 ), + array( 'lhs' => 125, 'rhs' => 3 ), + array( 'lhs' => 125, 'rhs' => 5 ), + array( 'lhs' => 125, 'rhs' => 3 ), + array( 'lhs' => 125, 'rhs' => 2 ), + array( 'lhs' => 110, 'rhs' => 1 ), + array( 'lhs' => 110, 'rhs' => 2 ), + array( 'lhs' => 126, 'rhs' => 1 ), + array( 'lhs' => 126, 'rhs' => 3 ), + array( 'lhs' => 124, 'rhs' => 2 ), + array( 'lhs' => 122, 'rhs' => 1 ), + array( 'lhs' => 122, 'rhs' => 2 ), + array( 'lhs' => 127, 'rhs' => 3 ), + array( 'lhs' => 127, 'rhs' => 3 ), + array( 'lhs' => 127, 'rhs' => 5 ), + array( 'lhs' => 127, 'rhs' => 6 ), + array( 'lhs' => 127, 'rhs' => 2 ), + array( 'lhs' => 118, 'rhs' => 4 ), + array( 'lhs' => 120, 'rhs' => 4 ), + array( 'lhs' => 121, 'rhs' => 3 ), + array( 'lhs' => 121, 'rhs' => 1 ), + array( 'lhs' => 121, 'rhs' => 0 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 2 ), + array( 'lhs' => 105, 'rhs' => 2 ), + array( 'lhs' => 105, 'rhs' => 0 ), + array( 'lhs' => 128, 'rhs' => 2 ), + array( 'lhs' => 128, 'rhs' => 2 ), + array( 'lhs' => 106, 'rhs' => 1 ), + array( 'lhs' => 106, 'rhs' => 3 ), + array( 'lhs' => 106, 'rhs' => 3 ), + array( 'lhs' => 106, 'rhs' => 3 ), + array( 'lhs' => 106, 'rhs' => 3 ), + array( 'lhs' => 106, 'rhs' => 2 ), + array( 'lhs' => 106, 'rhs' => 2 ), + array( 'lhs' => 106, 'rhs' => 3 ), + array( 'lhs' => 106, 'rhs' => 3 ), + array( 'lhs' => 106, 'rhs' => 2 ), + array( 'lhs' => 106, 'rhs' => 2 ), + array( 'lhs' => 106, 'rhs' => 3 ), + array( 'lhs' => 106, 'rhs' => 3 ), + array( 'lhs' => 106, 'rhs' => 3 ), + array( 'lhs' => 106, 'rhs' => 3 ), + array( 'lhs' => 116, 'rhs' => 1 ), + array( 'lhs' => 116, 'rhs' => 1 ), + array( 'lhs' => 116, 'rhs' => 1 ), + array( 'lhs' => 116, 'rhs' => 1 ), + array( 'lhs' => 116, 'rhs' => 1 ), + array( 'lhs' => 116, 'rhs' => 1 ), + array( 'lhs' => 116, 'rhs' => 1 ), + array( 'lhs' => 116, 'rhs' => 1 ), + array( 'lhs' => 116, 'rhs' => 1 ), + array( 'lhs' => 117, 'rhs' => 1 ), + array( 'lhs' => 117, 'rhs' => 1 ), + array( 'lhs' => 117, 'rhs' => 1 ), + array( 'lhs' => 112, 'rhs' => 3 ), + array( 'lhs' => 129, 'rhs' => 1 ), + array( 'lhs' => 129, 'rhs' => 3 ), + array( 'lhs' => 129, 'rhs' => 0 ), + array( 'lhs' => 130, 'rhs' => 3 ), + array( 'lhs' => 130, 'rhs' => 3 ), + array( 'lhs' => 130, 'rhs' => 1 ), + array( 'lhs' => 119, 'rhs' => 2 ), + array( 'lhs' => 119, 'rhs' => 1 ), + array( 'lhs' => 131, 'rhs' => 3 ), + array( 'lhs' => 131, 'rhs' => 3 ), + array( 'lhs' => 131, 'rhs' => 1 ), + array( 'lhs' => 131, 'rhs' => 3 ), + array( 'lhs' => 131, 'rhs' => 3 ), + array( 'lhs' => 131, 'rhs' => 1 ), + array( 'lhs' => 131, 'rhs' => 1 ), + array( 'lhs' => 109, 'rhs' => 1 ), + array( 'lhs' => 109, 'rhs' => 0 ), ); static public $yyReduceMap = array( 0 => 0, 5 => 0, - 13 => 0, - 14 => 0, - 48 => 0, - 49 => 0, - 50 => 0, - 70 => 0, + 11 => 0, + 17 => 0, + 23 => 0, + 24 => 0, + 58 => 0, + 59 => 0, + 60 => 0, 79 => 0, - 84 => 0, - 86 => 0, - 87 => 0, 88 => 0, - 90 => 0, - 103 => 0, - 171 => 0, + 93 => 0, + 95 => 0, + 96 => 0, + 97 => 0, + 99 => 0, + 113 => 0, + 181 => 0, 1 => 1, 2 => 2, 3 => 3, @@ -1667,175 +1765,183 @@ static public $yy_action = array( 7 => 7, 8 => 8, 9 => 9, - 12 => 9, + 15 => 9, + 21 => 9, + 89 => 9, + 91 => 9, + 92 => 9, 10 => 10, - 11 => 11, - 80 => 11, - 82 => 11, - 83 => 11, - 15 => 15, - 16 => 15, - 17 => 17, - 18 => 18, - 19 => 19, - 20 => 19, - 21 => 19, - 22 => 19, - 23 => 23, - 24 => 23, + 16 => 10, + 19 => 10, + 22 => 10, + 12 => 12, + 13 => 12, + 14 => 12, + 18 => 12, + 20 => 20, 25 => 25, 26 => 25, 27 => 27, - 28 => 27, + 28 => 28, 29 => 29, 30 => 29, - 31 => 31, - 32 => 32, + 31 => 29, + 32 => 29, 33 => 33, - 34 => 34, + 34 => 33, 35 => 35, - 37 => 35, - 36 => 36, - 38 => 38, + 36 => 35, + 37 => 37, + 38 => 37, 39 => 39, - 40 => 40, - 55 => 40, - 135 => 40, - 176 => 40, + 40 => 39, 41 => 41, 42 => 42, 43 => 43, 44 => 44, 45 => 45, + 47 => 45, 46 => 46, - 47 => 46, + 48 => 48, + 49 => 49, + 50 => 50, + 65 => 50, + 145 => 50, + 186 => 50, 51 => 51, 52 => 52, 53 => 53, 54 => 54, + 55 => 55, 56 => 56, - 57 => 57, - 58 => 58, - 59 => 58, - 60 => 58, - 62 => 58, + 57 => 56, 61 => 61, + 62 => 62, 63 => 63, 64 => 64, - 65 => 65, 66 => 66, 67 => 67, - 74 => 67, - 120 => 67, - 178 => 67, - 185 => 67, - 186 => 67, 68 => 68, - 69 => 69, + 69 => 68, + 70 => 68, + 72 => 68, 71 => 71, - 72 => 71, - 73 => 71, + 73 => 73, + 74 => 74, 75 => 75, - 76 => 75, - 156 => 75, + 76 => 76, 77 => 77, - 78 => 77, - 81 => 81, - 85 => 85, - 89 => 89, - 91 => 91, - 92 => 92, - 93 => 93, + 83 => 77, + 130 => 77, + 188 => 77, + 195 => 77, + 196 => 77, + 78 => 78, + 80 => 80, + 81 => 80, + 82 => 80, + 84 => 84, + 85 => 84, + 166 => 84, + 86 => 86, + 87 => 86, + 90 => 90, 94 => 94, - 95 => 95, - 96 => 96, - 97 => 97, 98 => 98, - 99 => 99, 100 => 100, 101 => 101, 102 => 102, + 103 => 103, 104 => 104, 105 => 105, 106 => 106, 107 => 107, - 177 => 107, 108 => 108, - 140 => 108, 109 => 109, 110 => 110, 111 => 111, - 112 => 111, - 113 => 111, + 112 => 112, 114 => 114, 115 => 115, - 118 => 115, 116 => 116, 117 => 117, + 187 => 117, + 118 => 118, + 150 => 118, 119 => 119, - 187 => 119, + 120 => 120, 121 => 121, - 122 => 122, - 123 => 123, + 122 => 121, + 123 => 121, 124 => 124, 125 => 125, + 128 => 125, 126 => 126, 127 => 127, - 128 => 128, 129 => 129, - 130 => 130, + 197 => 129, 131 => 131, 132 => 132, 133 => 133, 134 => 134, + 135 => 135, 136 => 136, 137 => 137, - 138 => 137, + 138 => 138, 139 => 139, + 140 => 140, 141 => 141, 142 => 142, 143 => 143, 144 => 144, - 145 => 145, 146 => 146, 147 => 147, - 148 => 148, - 153 => 148, + 148 => 147, 149 => 149, - 152 => 149, - 150 => 150, - 155 => 150, 151 => 151, - 154 => 151, + 152 => 152, + 153 => 153, + 154 => 154, + 155 => 155, + 156 => 156, 157 => 157, 158 => 158, + 163 => 158, 159 => 159, + 162 => 159, 160 => 160, + 165 => 160, 161 => 161, - 162 => 162, - 163 => 163, - 164 => 164, - 165 => 165, - 166 => 166, + 164 => 161, 167 => 167, 168 => 168, 169 => 169, 170 => 170, + 171 => 171, 172 => 172, 173 => 173, 174 => 174, 175 => 175, + 176 => 176, + 177 => 177, + 178 => 178, 179 => 179, - 180 => 179, - 181 => 181, + 180 => 180, 182 => 182, 183 => 183, 184 => 184, + 185 => 185, + 189 => 189, + 190 => 189, + 191 => 191, + 192 => 192, + 193 => 193, + 194 => 194, ); -#line 81 "smarty_internal_templateparser.y" +#line 88 "smarty_internal_templateparser.y" function yy_r0(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1832 "smarty_internal_templateparser.php" -#line 87 "smarty_internal_templateparser.y" +#line 1938 "smarty_internal_templateparser.php" +#line 94 "smarty_internal_templateparser.y" function yy_r1(){if ($this->template->extract_code == false) { $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } else { @@ -1843,8 +1949,8 @@ static public $yy_action = array( $this->template->extracted_compiled_code .= $this->yystack[$this->yyidx + 0]->minor; } } -#line 1841 "smarty_internal_templateparser.php" -#line 95 "smarty_internal_templateparser.y" +#line 1947 "smarty_internal_templateparser.php" +#line 102 "smarty_internal_templateparser.y" function yy_r2(){if ($this->template->extract_code == false) { $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } else { @@ -1853,18 +1959,18 @@ static public $yy_action = array( $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } } -#line 1851 "smarty_internal_templateparser.php" -#line 108 "smarty_internal_templateparser.y" +#line 1957 "smarty_internal_templateparser.php" +#line 115 "smarty_internal_templateparser.y" function yy_r3(){ if ($this->compiler->has_code) { $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array(); $this->_retvalue = $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true); } else { $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;} $this->compiler->has_variable_string = false; } -#line 1858 "smarty_internal_templateparser.php" -#line 115 "smarty_internal_templateparser.y" +#line 1964 "smarty_internal_templateparser.php" +#line 122 "smarty_internal_templateparser.y" function yy_r4(){ $this->_retvalue = ''; } -#line 1861 "smarty_internal_templateparser.php" -#line 121 "smarty_internal_templateparser.y" +#line 1967 "smarty_internal_templateparser.php" +#line 128 "smarty_internal_templateparser.y" function yy_r6(){ if ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU) { $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + -2]->minor) . $this->yystack[$this->yyidx + -1]->minor . '?>'; @@ -1876,422 +1982,425 @@ static public $yy_action = array( $this->_retvalue = ''; } } -#line 1874 "smarty_internal_templateparser.php" -#line 135 "smarty_internal_templateparser.y" +#line 1980 "smarty_internal_templateparser.php" +#line 142 "smarty_internal_templateparser.y" function yy_r7(){if ($this->lex->strip) { $this->_retvalue = preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor); } else { $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } } -#line 1882 "smarty_internal_templateparser.php" -#line 141 "smarty_internal_templateparser.y" +#line 1988 "smarty_internal_templateparser.php" +#line 148 "smarty_internal_templateparser.y" function yy_r8(){if ($this->lex->strip) { $this->_retvalue = 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 = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor); } } -#line 1890 "smarty_internal_templateparser.php" -#line 148 "smarty_internal_templateparser.y" - function yy_r9(){ $this->_retvalue = ''; } -#line 1893 "smarty_internal_templateparser.php" -#line 149 "smarty_internal_templateparser.y" - function yy_r10(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } -#line 1896 "smarty_internal_templateparser.php" -#line 151 "smarty_internal_templateparser.y" - function yy_r11(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 1899 "smarty_internal_templateparser.php" -#line 156 "smarty_internal_templateparser.y" - function yy_r15(){ $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor); } -#line 1902 "smarty_internal_templateparser.php" +#line 1996 "smarty_internal_templateparser.php" +#line 157 "smarty_internal_templateparser.y" + function yy_r9(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 1999 "smarty_internal_templateparser.php" #line 158 "smarty_internal_templateparser.y" - function yy_r17(){ $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor); } -#line 1905 "smarty_internal_templateparser.php" -#line 166 "smarty_internal_templateparser.y" - function yy_r18(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array('value'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 1908 "smarty_internal_templateparser.php" -#line 167 "smarty_internal_templateparser.y" - function yy_r19(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } -#line 1911 "smarty_internal_templateparser.php" -#line 178 "smarty_internal_templateparser.y" - function yy_r23(){ $this->_retvalue = $this->compiler->compileTag('assign',array('value'=>$this->yystack[$this->yyidx + -1]->minor,'var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'")); } -#line 1914 "smarty_internal_templateparser.php" -#line 180 "smarty_internal_templateparser.y" - function yy_r25(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor,'var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'"),$this->yystack[$this->yyidx + -1]->minor)); } -#line 1917 "smarty_internal_templateparser.php" -#line 182 "smarty_internal_templateparser.y" - function yy_r27(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor)); } -#line 1920 "smarty_internal_templateparser.php" -#line 185 "smarty_internal_templateparser.y" - function yy_r29(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); } -#line 1923 "smarty_internal_templateparser.php" -#line 187 "smarty_internal_templateparser.y" - function yy_r31(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array()); } -#line 1926 "smarty_internal_templateparser.php" -#line 189 "smarty_internal_templateparser.y" - function yy_r32(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,array_merge(array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } -#line 1929 "smarty_internal_templateparser.php" + function yy_r10(){ $this->_retvalue = ''; } +#line 2002 "smarty_internal_templateparser.php" +#line 161 "smarty_internal_templateparser.y" + function yy_r12(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2005 "smarty_internal_templateparser.php" +#line 174 "smarty_internal_templateparser.y" + function yy_r20(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } +#line 2008 "smarty_internal_templateparser.php" +#line 181 "smarty_internal_templateparser.y" + function yy_r25(){ $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor); } +#line 2011 "smarty_internal_templateparser.php" +#line 183 "smarty_internal_templateparser.y" + function yy_r27(){ $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor); } +#line 2014 "smarty_internal_templateparser.php" #line 191 "smarty_internal_templateparser.y" - function yy_r33(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor).'_retvalue = $this->compiler->compileTag('private_print_expression',array('value'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 2017 "smarty_internal_templateparser.php" +#line 192 "smarty_internal_templateparser.y" + function yy_r29(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } +#line 2020 "smarty_internal_templateparser.php" +#line 203 "smarty_internal_templateparser.y" + function yy_r33(){ $this->_retvalue = $this->compiler->compileTag('assign',array('value'=>$this->yystack[$this->yyidx + -1]->minor,'var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'")); } +#line 2023 "smarty_internal_templateparser.php" +#line 205 "smarty_internal_templateparser.y" + function yy_r35(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor,'var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'"),$this->yystack[$this->yyidx + -1]->minor)); } +#line 2026 "smarty_internal_templateparser.php" +#line 207 "smarty_internal_templateparser.y" + function yy_r37(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor)); } +#line 2029 "smarty_internal_templateparser.php" +#line 210 "smarty_internal_templateparser.y" + function yy_r39(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); } +#line 2032 "smarty_internal_templateparser.php" +#line 212 "smarty_internal_templateparser.y" + function yy_r41(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array()); } +#line 2035 "smarty_internal_templateparser.php" +#line 214 "smarty_internal_templateparser.y" + function yy_r42(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,array_merge(array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } +#line 2038 "smarty_internal_templateparser.php" +#line 216 "smarty_internal_templateparser.y" + function yy_r43(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor).'_retvalue .= $this->compiler->compileTag('private_modifier',array('modifier'=>$this->yystack[$this->yyidx + -3]->minor,'params'=>'ob_get_clean()'.$this->yystack[$this->yyidx + -2]->minor)).'?>'; } -#line 1934 "smarty_internal_templateparser.php" -#line 195 "smarty_internal_templateparser.y" - function yy_r34(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array_merge(array('object_methode'=>$this->yystack[$this->yyidx + -4]->minor),$this->yystack[$this->yyidx + -1]->minor)).'_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array_merge(array('object_methode'=>$this->yystack[$this->yyidx + -4]->minor),$this->yystack[$this->yyidx + -1]->minor)).'_retvalue .= $this->compiler->compileTag('private_modifier',array('modifier'=>$this->yystack[$this->yyidx + -3]->minor,'params'=>'ob_get_clean()'.$this->yystack[$this->yyidx + -2]->minor)).'?>'; } -#line 1939 "smarty_internal_templateparser.php" -#line 199 "smarty_internal_templateparser.y" - function yy_r35(){ $this->_retvalue = $this->compiler->compileTag(($this->yystack[$this->yyidx + -3]->minor == 'else if')? 'elseif' : $this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 1942 "smarty_internal_templateparser.php" -#line 200 "smarty_internal_templateparser.y" - function yy_r36(){ $this->_retvalue = $this->compiler->compileTag(($this->yystack[$this->yyidx + -3]->minor == 'else if')? 'elseif' : $this->yystack[$this->yyidx + -3]->minor,array('if condition'=>trim($this->yystack[$this->yyidx + -2]->minor).$this->yystack[$this->yyidx + -1]->minor)); } -#line 1945 "smarty_internal_templateparser.php" -#line 203 "smarty_internal_templateparser.y" - function yy_r38(){ - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -11]->minor,array('start'=>$this->yystack[$this->yyidx + -9]->minor,'ifexp'=>$this->yystack[$this->yyidx + -6]->minor,'varloop'=>$this->yystack[$this->yyidx + -2]->minor,'loop'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 1949 "smarty_internal_templateparser.php" -#line 205 "smarty_internal_templateparser.y" - function yy_r39(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } -#line 1952 "smarty_internal_templateparser.php" -#line 206 "smarty_internal_templateparser.y" - function yy_r40(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1955 "smarty_internal_templateparser.php" -#line 207 "smarty_internal_templateparser.y" - function yy_r41(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array_merge(array('start'=>$this->yystack[$this->yyidx + -4]->minor,'to'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } -#line 1958 "smarty_internal_templateparser.php" -#line 210 "smarty_internal_templateparser.y" - function yy_r42(){ - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 1962 "smarty_internal_templateparser.php" -#line 212 "smarty_internal_templateparser.y" - function yy_r43(){ - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -9]->minor,array('from'=>$this->yystack[$this->yyidx + -7]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor,'key'=>$this->yystack[$this->yyidx + -4]->minor)); } -#line 1966 "smarty_internal_templateparser.php" -#line 214 "smarty_internal_templateparser.y" - function yy_r44(){ - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 1970 "smarty_internal_templateparser.php" -#line 216 "smarty_internal_templateparser.y" - function yy_r45(){ - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -9]->minor,array('from'=>$this->yystack[$this->yyidx + -7]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor,'key'=>$this->yystack[$this->yyidx + -4]->minor)); } -#line 1974 "smarty_internal_templateparser.php" -#line 220 "smarty_internal_templateparser.y" - function yy_r46(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array()); } -#line 1977 "smarty_internal_templateparser.php" +#line 2048 "smarty_internal_templateparser.php" +#line 224 "smarty_internal_templateparser.y" + function yy_r45(){ $this->_retvalue = $this->compiler->compileTag(($this->yystack[$this->yyidx + -3]->minor == 'else if')? 'elseif' : $this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 2051 "smarty_internal_templateparser.php" #line 225 "smarty_internal_templateparser.y" - function yy_r51(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',$this->yystack[$this->yyidx + -1]->minor); } -#line 1980 "smarty_internal_templateparser.php" -#line 226 "smarty_internal_templateparser.y" - function yy_r52(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',$this->yystack[$this->yyidx + -1]->minor).'_retvalue = $this->compiler->compileTag(($this->yystack[$this->yyidx + -3]->minor == 'else if')? 'elseif' : $this->yystack[$this->yyidx + -3]->minor,array('if condition'=>trim($this->yystack[$this->yyidx + -2]->minor).$this->yystack[$this->yyidx + -1]->minor)); } +#line 2054 "smarty_internal_templateparser.php" +#line 228 "smarty_internal_templateparser.y" + function yy_r48(){ + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -11]->minor,array('start'=>$this->yystack[$this->yyidx + -9]->minor,'ifexp'=>$this->yystack[$this->yyidx + -6]->minor,'varloop'=>$this->yystack[$this->yyidx + -2]->minor,'loop'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 2058 "smarty_internal_templateparser.php" +#line 230 "smarty_internal_templateparser.y" + function yy_r49(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } +#line 2061 "smarty_internal_templateparser.php" +#line 231 "smarty_internal_templateparser.y" + function yy_r50(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2064 "smarty_internal_templateparser.php" +#line 232 "smarty_internal_templateparser.y" + function yy_r51(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array_merge(array('start'=>$this->yystack[$this->yyidx + -4]->minor,'to'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } +#line 2067 "smarty_internal_templateparser.php" +#line 235 "smarty_internal_templateparser.y" + function yy_r52(){ + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 2071 "smarty_internal_templateparser.php" +#line 237 "smarty_internal_templateparser.y" + function yy_r53(){ + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -9]->minor,array('from'=>$this->yystack[$this->yyidx + -7]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor,'key'=>$this->yystack[$this->yyidx + -4]->minor)); } +#line 2075 "smarty_internal_templateparser.php" +#line 239 "smarty_internal_templateparser.y" + function yy_r54(){ + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 2079 "smarty_internal_templateparser.php" +#line 241 "smarty_internal_templateparser.y" + function yy_r55(){ + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -9]->minor,array('from'=>$this->yystack[$this->yyidx + -7]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor,'key'=>$this->yystack[$this->yyidx + -4]->minor)); } +#line 2083 "smarty_internal_templateparser.php" +#line 245 "smarty_internal_templateparser.y" + function yy_r56(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array()); } +#line 2086 "smarty_internal_templateparser.php" +#line 250 "smarty_internal_templateparser.y" + function yy_r61(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',$this->yystack[$this->yyidx + -1]->minor); } +#line 2089 "smarty_internal_templateparser.php" +#line 251 "smarty_internal_templateparser.y" + function yy_r62(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',$this->yystack[$this->yyidx + -1]->minor).'_retvalue .= $this->compiler->compileTag('private_modifier',array('modifier'=>$this->yystack[$this->yyidx + -3]->minor,'params'=>'ob_get_clean()'.$this->yystack[$this->yyidx + -2]->minor)).'?>'; } -#line 1985 "smarty_internal_templateparser.php" -#line 230 "smarty_internal_templateparser.y" - function yy_r53(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 1988 "smarty_internal_templateparser.php" -#line 237 "smarty_internal_templateparser.y" - function yy_r54(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } -#line 1991 "smarty_internal_templateparser.php" -#line 241 "smarty_internal_templateparser.y" - function yy_r56(){ $this->_retvalue = array(); } -#line 1994 "smarty_internal_templateparser.php" -#line 244 "smarty_internal_templateparser.y" - function yy_r57(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'"); } -#line 1997 "smarty_internal_templateparser.php" -#line 245 "smarty_internal_templateparser.y" - function yy_r58(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2000 "smarty_internal_templateparser.php" -#line 248 "smarty_internal_templateparser.y" - function yy_r61(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor=>'true'); } -#line 2003 "smarty_internal_templateparser.php" +#line 2094 "smarty_internal_templateparser.php" #line 255 "smarty_internal_templateparser.y" - function yy_r63(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -#line 2006 "smarty_internal_templateparser.php" -#line 256 "smarty_internal_templateparser.y" - function yy_r64(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; } -#line 2009 "smarty_internal_templateparser.php" -#line 258 "smarty_internal_templateparser.y" - function yy_r65(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2012 "smarty_internal_templateparser.php" -#line 264 "smarty_internal_templateparser.y" - function yy_r66(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2015 "smarty_internal_templateparser.php" -#line 265 "smarty_internal_templateparser.y" - function yy_r67(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2018 "smarty_internal_templateparser.php" -#line 267 "smarty_internal_templateparser.y" - function yy_r68(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; } -#line 2021 "smarty_internal_templateparser.php" -#line 268 "smarty_internal_templateparser.y" - function yy_r69(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array('modifier'=>$this->yystack[$this->yyidx + -1]->minor,'params'=>$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor)); } -#line 2024 "smarty_internal_templateparser.php" -#line 277 "smarty_internal_templateparser.y" - function yy_r71(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; } -#line 2027 "smarty_internal_templateparser.php" + function yy_r63(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 2097 "smarty_internal_templateparser.php" +#line 262 "smarty_internal_templateparser.y" + function yy_r64(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } +#line 2100 "smarty_internal_templateparser.php" +#line 266 "smarty_internal_templateparser.y" + function yy_r66(){ $this->_retvalue = array(); } +#line 2103 "smarty_internal_templateparser.php" +#line 269 "smarty_internal_templateparser.y" + function yy_r67(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'"); } +#line 2106 "smarty_internal_templateparser.php" +#line 270 "smarty_internal_templateparser.y" + function yy_r68(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } +#line 2109 "smarty_internal_templateparser.php" +#line 273 "smarty_internal_templateparser.y" + function yy_r71(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor=>'true'); } +#line 2112 "smarty_internal_templateparser.php" +#line 280 "smarty_internal_templateparser.y" + function yy_r73(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } +#line 2115 "smarty_internal_templateparser.php" +#line 281 "smarty_internal_templateparser.y" + function yy_r74(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; } +#line 2118 "smarty_internal_templateparser.php" #line 283 "smarty_internal_templateparser.y" - function yy_r75(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2030 "smarty_internal_templateparser.php" + function yy_r75(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); } +#line 2121 "smarty_internal_templateparser.php" #line 289 "smarty_internal_templateparser.y" - function yy_r77(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; } -#line 2033 "smarty_internal_templateparser.php" -#line 298 "smarty_internal_templateparser.y" - function yy_r81(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2036 "smarty_internal_templateparser.php" -#line 303 "smarty_internal_templateparser.y" - function yy_r85(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2039 "smarty_internal_templateparser.php" -#line 313 "smarty_internal_templateparser.y" - function yy_r89(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 2042 "smarty_internal_templateparser.php" -#line 317 "smarty_internal_templateparser.y" - function yy_r91(){ $_s = str_replace(array('."".','.""'),array('.',''),'"'.$this->yystack[$this->yyidx + -1]->minor.'"'); + function yy_r76(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 2124 "smarty_internal_templateparser.php" +#line 290 "smarty_internal_templateparser.y" + function yy_r77(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2127 "smarty_internal_templateparser.php" +#line 292 "smarty_internal_templateparser.y" + function yy_r78(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; } +#line 2130 "smarty_internal_templateparser.php" +#line 304 "smarty_internal_templateparser.y" + function yy_r80(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; } +#line 2133 "smarty_internal_templateparser.php" +#line 310 "smarty_internal_templateparser.y" + function yy_r84(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2136 "smarty_internal_templateparser.php" +#line 316 "smarty_internal_templateparser.y" + function yy_r86(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; } +#line 2139 "smarty_internal_templateparser.php" +#line 325 "smarty_internal_templateparser.y" + function yy_r90(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2142 "smarty_internal_templateparser.php" +#line 330 "smarty_internal_templateparser.y" + function yy_r94(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2145 "smarty_internal_templateparser.php" +#line 340 "smarty_internal_templateparser.y" + function yy_r98(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } +#line 2148 "smarty_internal_templateparser.php" +#line 344 "smarty_internal_templateparser.y" + function yy_r100(){ $_s = str_replace(array('."".','.""'),array('.',''),'"'.$this->yystack[$this->yyidx + -1]->minor.'"'); if (substr($_s,0,3) == '"".') { $this->_retvalue = substr($_s,3); } else { $this->_retvalue = $_s; } } -#line 2051 "smarty_internal_templateparser.php" -#line 324 "smarty_internal_templateparser.y" - function yy_r92(){ $this->_retvalue = "''"; } -#line 2054 "smarty_internal_templateparser.php" -#line 326 "smarty_internal_templateparser.y" - function yy_r93(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2057 "smarty_internal_templateparser.php" -#line 327 "smarty_internal_templateparser.y" - function yy_r94(){ $this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -1]->minor .')'; } -#line 2060 "smarty_internal_templateparser.php" -#line 329 "smarty_internal_templateparser.y" - function yy_r95(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.'::'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2063 "smarty_internal_templateparser.php" -#line 330 "smarty_internal_templateparser.y" - function yy_r96(){ $this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -4]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -7]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -2]->minor .')'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2066 "smarty_internal_templateparser.php" -#line 332 "smarty_internal_templateparser.y" - function yy_r97(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2069 "smarty_internal_templateparser.php" -#line 334 "smarty_internal_templateparser.y" - function yy_r98(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2072 "smarty_internal_templateparser.php" -#line 336 "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 + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2075 "smarty_internal_templateparser.php" -#line 338 "smarty_internal_templateparser.y" - function yy_r100(){ $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 2078 "smarty_internal_templateparser.php" -#line 347 "smarty_internal_templateparser.y" - function yy_r101(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',$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 2082 "smarty_internal_templateparser.php" -#line 350 "smarty_internal_templateparser.y" - function yy_r102(){ $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 2085 "smarty_internal_templateparser.php" +#line 2157 "smarty_internal_templateparser.php" +#line 351 "smarty_internal_templateparser.y" + function yy_r101(){ $this->_retvalue = "''"; } +#line 2160 "smarty_internal_templateparser.php" +#line 353 "smarty_internal_templateparser.y" + function yy_r102(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2163 "smarty_internal_templateparser.php" #line 354 "smarty_internal_templateparser.y" - function yy_r104(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } -#line 2088 "smarty_internal_templateparser.php" -#line 355 "smarty_internal_templateparser.y" - function yy_r105(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; } -#line 2091 "smarty_internal_templateparser.php" -#line 358 "smarty_internal_templateparser.y" - function yy_r106(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2094 "smarty_internal_templateparser.php" -#line 364 "smarty_internal_templateparser.y" - function yy_r107(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2097 "smarty_internal_templateparser.php" + function yy_r103(){ $this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -1]->minor .')'; } +#line 2166 "smarty_internal_templateparser.php" +#line 356 "smarty_internal_templateparser.y" + function yy_r104(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.'::'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2169 "smarty_internal_templateparser.php" +#line 357 "smarty_internal_templateparser.y" + function yy_r105(){ $this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -4]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -7]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -2]->minor .')'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2172 "smarty_internal_templateparser.php" +#line 359 "smarty_internal_templateparser.y" + function yy_r106(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2175 "smarty_internal_templateparser.php" +#line 361 "smarty_internal_templateparser.y" + function yy_r107(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2178 "smarty_internal_templateparser.php" +#line 363 "smarty_internal_templateparser.y" + function yy_r108(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.'::$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2181 "smarty_internal_templateparser.php" +#line 365 "smarty_internal_templateparser.y" + function yy_r109(){ $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 2184 "smarty_internal_templateparser.php" #line 366 "smarty_internal_templateparser.y" - function yy_r108(){return; } -#line 2100 "smarty_internal_templateparser.php" -#line 370 "smarty_internal_templateparser.y" - function yy_r109(){ $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 2103 "smarty_internal_templateparser.php" -#line 371 "smarty_internal_templateparser.y" - function yy_r110(){ $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 2106 "smarty_internal_templateparser.php" -#line 374 "smarty_internal_templateparser.y" - function yy_r111(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } -#line 2109 "smarty_internal_templateparser.php" + function yy_r110(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array('modifier'=>$this->yystack[$this->yyidx + -1]->minor,'params'=>$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor)); } +#line 2187 "smarty_internal_templateparser.php" +#line 375 "smarty_internal_templateparser.y" + function yy_r111(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',$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 2191 "smarty_internal_templateparser.php" #line 378 "smarty_internal_templateparser.y" - function yy_r114(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } -#line 2112 "smarty_internal_templateparser.php" -#line 379 "smarty_internal_templateparser.y" - function yy_r115(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } -#line 2115 "smarty_internal_templateparser.php" -#line 381 "smarty_internal_templateparser.y" - function yy_r116(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } -#line 2118 "smarty_internal_templateparser.php" + function yy_r112(){ $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 2194 "smarty_internal_templateparser.php" #line 382 "smarty_internal_templateparser.y" - function yy_r117(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable','[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; } -#line 2121 "smarty_internal_templateparser.php" + function yy_r114(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } +#line 2197 "smarty_internal_templateparser.php" +#line 383 "smarty_internal_templateparser.y" + function yy_r115(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; } +#line 2200 "smarty_internal_templateparser.php" #line 386 "smarty_internal_templateparser.y" - function yy_r119(){$this->_retvalue = ''; } -#line 2124 "smarty_internal_templateparser.php" + function yy_r116(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); } +#line 2203 "smarty_internal_templateparser.php" +#line 392 "smarty_internal_templateparser.y" + function yy_r117(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2206 "smarty_internal_templateparser.php" #line 394 "smarty_internal_templateparser.y" - function yy_r121(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2127 "smarty_internal_templateparser.php" -#line 396 "smarty_internal_templateparser.y" - function yy_r122(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2130 "smarty_internal_templateparser.php" + function yy_r118(){return; } +#line 2209 "smarty_internal_templateparser.php" +#line 398 "smarty_internal_templateparser.y" + function yy_r119(){ $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 2212 "smarty_internal_templateparser.php" #line 399 "smarty_internal_templateparser.y" - function yy_r123(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2133 "smarty_internal_templateparser.php" -#line 404 "smarty_internal_templateparser.y" - function yy_r124(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',$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 2137 "smarty_internal_templateparser.php" + function yy_r120(){ $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 2215 "smarty_internal_templateparser.php" +#line 402 "smarty_internal_templateparser.y" + function yy_r121(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } +#line 2218 "smarty_internal_templateparser.php" +#line 406 "smarty_internal_templateparser.y" + function yy_r124(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } +#line 2221 "smarty_internal_templateparser.php" #line 407 "smarty_internal_templateparser.y" - function yy_r125(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2140 "smarty_internal_templateparser.php" + function yy_r125(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } +#line 2224 "smarty_internal_templateparser.php" #line 409 "smarty_internal_templateparser.y" - function yy_r126(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2143 "smarty_internal_templateparser.php" -#line 411 "smarty_internal_templateparser.y" - function yy_r127(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2146 "smarty_internal_templateparser.php" -#line 412 "smarty_internal_templateparser.y" - function yy_r128(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2149 "smarty_internal_templateparser.php" -#line 413 "smarty_internal_templateparser.y" - function yy_r129(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2152 "smarty_internal_templateparser.php" + function yy_r126(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } +#line 2227 "smarty_internal_templateparser.php" +#line 410 "smarty_internal_templateparser.y" + function yy_r127(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable','[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; } +#line 2230 "smarty_internal_templateparser.php" #line 414 "smarty_internal_templateparser.y" - function yy_r130(){ $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2155 "smarty_internal_templateparser.php" -#line 416 "smarty_internal_templateparser.y" - function yy_r131(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2158 "smarty_internal_templateparser.php" + function yy_r129(){$this->_retvalue = ''; } +#line 2233 "smarty_internal_templateparser.php" #line 422 "smarty_internal_templateparser.y" - function yy_r132(){if (!$this->template->security || $this->smarty->security_handler->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { + function yy_r131(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2236 "smarty_internal_templateparser.php" +#line 424 "smarty_internal_templateparser.y" + function yy_r132(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 2239 "smarty_internal_templateparser.php" +#line 427 "smarty_internal_templateparser.y" + function yy_r133(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2242 "smarty_internal_templateparser.php" +#line 432 "smarty_internal_templateparser.y" + function yy_r134(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',$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 2246 "smarty_internal_templateparser.php" +#line 435 "smarty_internal_templateparser.y" + function yy_r135(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2249 "smarty_internal_templateparser.php" +#line 437 "smarty_internal_templateparser.y" + function yy_r136(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2252 "smarty_internal_templateparser.php" +#line 439 "smarty_internal_templateparser.y" + function yy_r137(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2255 "smarty_internal_templateparser.php" +#line 440 "smarty_internal_templateparser.y" + function yy_r138(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2258 "smarty_internal_templateparser.php" +#line 441 "smarty_internal_templateparser.y" + function yy_r139(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2261 "smarty_internal_templateparser.php" +#line 442 "smarty_internal_templateparser.y" + function yy_r140(){ $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2264 "smarty_internal_templateparser.php" +#line 444 "smarty_internal_templateparser.y" + function yy_r141(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2267 "smarty_internal_templateparser.php" +#line 450 "smarty_internal_templateparser.y" + function yy_r142(){if (!$this->template->security || $this->smarty->security_handler->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { if ($this->yystack[$this->yyidx + -3]->minor == 'isset' || $this->yystack[$this->yyidx + -3]->minor == 'empty' || $this->yystack[$this->yyidx + -3]->minor == 'array' || is_callable($this->yystack[$this->yyidx + -3]->minor)) { $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; } else { $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); } } } -#line 2167 "smarty_internal_templateparser.php" -#line 433 "smarty_internal_templateparser.y" - function yy_r133(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 2170 "smarty_internal_templateparser.php" -#line 437 "smarty_internal_templateparser.y" - function yy_r134(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.",".$this->yystack[$this->yyidx + 0]->minor; } -#line 2173 "smarty_internal_templateparser.php" -#line 441 "smarty_internal_templateparser.y" - function yy_r136(){ return; } -#line 2176 "smarty_internal_templateparser.php" -#line 446 "smarty_internal_templateparser.y" - function yy_r137(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2179 "smarty_internal_templateparser.php" -#line 459 "smarty_internal_templateparser.y" - function yy_r139(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2182 "smarty_internal_templateparser.php" -#line 463 "smarty_internal_templateparser.y" - function yy_r141(){$this->_retvalue = ','.$this->yystack[$this->yyidx + 0]->minor; } -#line 2185 "smarty_internal_templateparser.php" -#line 464 "smarty_internal_templateparser.y" - function yy_r142(){$this->_retvalue = ',\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2188 "smarty_internal_templateparser.php" -#line 468 "smarty_internal_templateparser.y" - function yy_r143(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor; } -#line 2191 "smarty_internal_templateparser.php" +#line 2276 "smarty_internal_templateparser.php" +#line 461 "smarty_internal_templateparser.y" + function yy_r143(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; } +#line 2279 "smarty_internal_templateparser.php" +#line 465 "smarty_internal_templateparser.y" + function yy_r144(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.",".$this->yystack[$this->yyidx + 0]->minor; } +#line 2282 "smarty_internal_templateparser.php" #line 469 "smarty_internal_templateparser.y" - function yy_r144(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2194 "smarty_internal_templateparser.php" -#line 470 "smarty_internal_templateparser.y" - function yy_r145(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2197 "smarty_internal_templateparser.php" -#line 471 "smarty_internal_templateparser.y" - function yy_r146(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2200 "smarty_internal_templateparser.php" -#line 472 "smarty_internal_templateparser.y" - function yy_r147(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2203 "smarty_internal_templateparser.php" -#line 473 "smarty_internal_templateparser.y" - function yy_r148(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2206 "smarty_internal_templateparser.php" + function yy_r146(){ return; } +#line 2285 "smarty_internal_templateparser.php" #line 474 "smarty_internal_templateparser.y" - function yy_r149(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2209 "smarty_internal_templateparser.php" -#line 475 "smarty_internal_templateparser.y" - function yy_r150(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2212 "smarty_internal_templateparser.php" -#line 476 "smarty_internal_templateparser.y" - function yy_r151(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2215 "smarty_internal_templateparser.php" -#line 482 "smarty_internal_templateparser.y" - function yy_r157(){$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 2218 "smarty_internal_templateparser.php" -#line 484 "smarty_internal_templateparser.y" - function yy_r158(){$this->_retvalue = '=='; } -#line 2221 "smarty_internal_templateparser.php" -#line 485 "smarty_internal_templateparser.y" - function yy_r159(){$this->_retvalue = '!='; } -#line 2224 "smarty_internal_templateparser.php" -#line 486 "smarty_internal_templateparser.y" - function yy_r160(){$this->_retvalue = '>'; } -#line 2227 "smarty_internal_templateparser.php" + function yy_r147(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2288 "smarty_internal_templateparser.php" #line 487 "smarty_internal_templateparser.y" - function yy_r161(){$this->_retvalue = '<'; } -#line 2230 "smarty_internal_templateparser.php" -#line 488 "smarty_internal_templateparser.y" - function yy_r162(){$this->_retvalue = '>='; } -#line 2233 "smarty_internal_templateparser.php" -#line 489 "smarty_internal_templateparser.y" - function yy_r163(){$this->_retvalue = '<='; } -#line 2236 "smarty_internal_templateparser.php" -#line 490 "smarty_internal_templateparser.y" - function yy_r164(){$this->_retvalue = '==='; } -#line 2239 "smarty_internal_templateparser.php" + function yy_r149(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2291 "smarty_internal_templateparser.php" #line 491 "smarty_internal_templateparser.y" - function yy_r165(){$this->_retvalue = '!=='; } -#line 2242 "smarty_internal_templateparser.php" + function yy_r151(){$this->_retvalue = ','.$this->yystack[$this->yyidx + 0]->minor; } +#line 2294 "smarty_internal_templateparser.php" #line 492 "smarty_internal_templateparser.y" - function yy_r166(){$this->_retvalue = '%'; } -#line 2245 "smarty_internal_templateparser.php" -#line 494 "smarty_internal_templateparser.y" - function yy_r167(){$this->_retvalue = '&&'; } -#line 2248 "smarty_internal_templateparser.php" -#line 495 "smarty_internal_templateparser.y" - function yy_r168(){$this->_retvalue = '||'; } -#line 2251 "smarty_internal_templateparser.php" + function yy_r152(){$this->_retvalue = ',\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 2297 "smarty_internal_templateparser.php" #line 496 "smarty_internal_templateparser.y" - function yy_r169(){$this->_retvalue = ' XOR '; } -#line 2254 "smarty_internal_templateparser.php" + function yy_r153(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor; } +#line 2300 "smarty_internal_templateparser.php" +#line 497 "smarty_internal_templateparser.y" + function yy_r154(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2303 "smarty_internal_templateparser.php" +#line 498 "smarty_internal_templateparser.y" + function yy_r155(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2306 "smarty_internal_templateparser.php" +#line 499 "smarty_internal_templateparser.y" + function yy_r156(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2309 "smarty_internal_templateparser.php" +#line 500 "smarty_internal_templateparser.y" + function yy_r157(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2312 "smarty_internal_templateparser.php" #line 501 "smarty_internal_templateparser.y" - function yy_r170(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2257 "smarty_internal_templateparser.php" + function yy_r158(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2315 "smarty_internal_templateparser.php" +#line 502 "smarty_internal_templateparser.y" + function yy_r159(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2318 "smarty_internal_templateparser.php" #line 503 "smarty_internal_templateparser.y" - function yy_r172(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } -#line 2260 "smarty_internal_templateparser.php" + function yy_r160(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2321 "smarty_internal_templateparser.php" #line 504 "smarty_internal_templateparser.y" - function yy_r173(){ return; } -#line 2263 "smarty_internal_templateparser.php" -#line 505 "smarty_internal_templateparser.y" - function yy_r174(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2266 "smarty_internal_templateparser.php" -#line 506 "smarty_internal_templateparser.y" - function yy_r175(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2269 "smarty_internal_templateparser.php" + function yy_r161(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2324 "smarty_internal_templateparser.php" +#line 510 "smarty_internal_templateparser.y" + function yy_r167(){$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 2327 "smarty_internal_templateparser.php" +#line 512 "smarty_internal_templateparser.y" + function yy_r168(){$this->_retvalue = '=='; } +#line 2330 "smarty_internal_templateparser.php" +#line 513 "smarty_internal_templateparser.y" + function yy_r169(){$this->_retvalue = '!='; } +#line 2333 "smarty_internal_templateparser.php" +#line 514 "smarty_internal_templateparser.y" + function yy_r170(){$this->_retvalue = '>'; } +#line 2336 "smarty_internal_templateparser.php" #line 515 "smarty_internal_templateparser.y" - function yy_r179(){$this->_retvalue = '{'.$this->yystack[$this->yyidx + -1]->minor.'}'; $this->compiler->has_variable_string = true; } -#line 2272 "smarty_internal_templateparser.php" + function yy_r171(){$this->_retvalue = '<'; } +#line 2339 "smarty_internal_templateparser.php" +#line 516 "smarty_internal_templateparser.y" + function yy_r172(){$this->_retvalue = '>='; } +#line 2342 "smarty_internal_templateparser.php" #line 517 "smarty_internal_templateparser.y" - function yy_r181(){$this->_retvalue = '{$_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; $this->compiler->has_variable_string = true; } -#line 2275 "smarty_internal_templateparser.php" + function yy_r173(){$this->_retvalue = '<='; } +#line 2345 "smarty_internal_templateparser.php" #line 518 "smarty_internal_templateparser.y" - function yy_r182(){if (substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '\'') { + function yy_r174(){$this->_retvalue = '==='; } +#line 2348 "smarty_internal_templateparser.php" +#line 519 "smarty_internal_templateparser.y" + function yy_r175(){$this->_retvalue = '!=='; } +#line 2351 "smarty_internal_templateparser.php" +#line 520 "smarty_internal_templateparser.y" + function yy_r176(){$this->_retvalue = '%'; } +#line 2354 "smarty_internal_templateparser.php" +#line 522 "smarty_internal_templateparser.y" + function yy_r177(){$this->_retvalue = '&&'; } +#line 2357 "smarty_internal_templateparser.php" +#line 523 "smarty_internal_templateparser.y" + function yy_r178(){$this->_retvalue = '||'; } +#line 2360 "smarty_internal_templateparser.php" +#line 524 "smarty_internal_templateparser.y" + function yy_r179(){$this->_retvalue = ' XOR '; } +#line 2363 "smarty_internal_templateparser.php" +#line 529 "smarty_internal_templateparser.y" + function yy_r180(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2366 "smarty_internal_templateparser.php" +#line 531 "smarty_internal_templateparser.y" + function yy_r182(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } +#line 2369 "smarty_internal_templateparser.php" +#line 532 "smarty_internal_templateparser.y" + function yy_r183(){ return; } +#line 2372 "smarty_internal_templateparser.php" +#line 533 "smarty_internal_templateparser.y" + function yy_r184(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2375 "smarty_internal_templateparser.php" +#line 534 "smarty_internal_templateparser.y" + function yy_r185(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2378 "smarty_internal_templateparser.php" +#line 543 "smarty_internal_templateparser.y" + function yy_r189(){$this->_retvalue = '{'.$this->yystack[$this->yyidx + -1]->minor.'}'; $this->compiler->has_variable_string = true; } +#line 2381 "smarty_internal_templateparser.php" +#line 545 "smarty_internal_templateparser.y" + function yy_r191(){$this->_retvalue = '{$_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; $this->compiler->has_variable_string = true; } +#line 2384 "smarty_internal_templateparser.php" +#line 546 "smarty_internal_templateparser.y" + function yy_r192(){if (substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '\'') { $this->_retvalue = '".'.$this->yystack[$this->yyidx + -1]->minor.'."'; $this->compiler->has_variable_string = true; } else { $this->_retvalue = '{'.$this->yystack[$this->yyidx + -1]->minor.'}'; $this->compiler->has_variable_string = true; } } -#line 2283 "smarty_internal_templateparser.php" -#line 524 "smarty_internal_templateparser.y" - function yy_r183(){ $this->_retvalue = '".('.$this->yystack[$this->yyidx + -1]->minor.')."'; $this->compiler->has_variable_string = true; } -#line 2286 "smarty_internal_templateparser.php" -#line 525 "smarty_internal_templateparser.y" - function yy_r184(){ $this->prefix_number++; $this->compiler->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '{$_tmp'.$this->prefix_number.'}'; $this->compiler->has_variable_string = true; } -#line 2289 "smarty_internal_templateparser.php" +#line 2392 "smarty_internal_templateparser.php" +#line 552 "smarty_internal_templateparser.y" + function yy_r193(){ $this->_retvalue = '".('.$this->yystack[$this->yyidx + -1]->minor.')."'; $this->compiler->has_variable_string = true; } +#line 2395 "smarty_internal_templateparser.php" +#line 553 "smarty_internal_templateparser.y" + function yy_r194(){ $this->prefix_number++; $this->compiler->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '{$_tmp'.$this->prefix_number.'}'; $this->compiler->has_variable_string = true; } +#line 2398 "smarty_internal_templateparser.php" private $_retvalue; @@ -2353,7 +2462,7 @@ static public $yy_action = array( $this->internalError = true; $this->yymajor = $yymajor; $this->compiler->trigger_template_error(); -#line 2352 "smarty_internal_templateparser.php" +#line 2461 "smarty_internal_templateparser.php" } function yy_accept() @@ -2370,7 +2479,7 @@ static public $yy_action = array( $this->internalError = false; $this->retvalue = $this->_retvalue; //echo $this->retvalue."\n\n"; -#line 2370 "smarty_internal_templateparser.php" +#line 2479 "smarty_internal_templateparser.php" } function doParse($yymajor, $yytokenvalue)