Changeset 6008
- Timestamp:
- 02/05/12 19:15:05 (4 months ago)
- Location:
- vendors/smarty/current
- Files:
-
- 39 edited
-
Smarty.class.php (modified) (55 diffs)
-
plugins/block.textformat.php (modified) (2 diffs)
-
plugins/function.fetch.php (modified) (1 diff)
-
plugins/function.html_checkboxes.php (modified) (1 diff)
-
plugins/function.html_image.php (modified) (4 diffs)
-
plugins/function.html_radios.php (modified) (1 diff)
-
plugins/function.mailto.php (modified) (1 diff)
-
plugins/modifier.capitalize.php (modified) (3 diffs)
-
plugins/modifier.date_format.php (modified) (1 diff)
-
plugins/modifier.debug_print_var.php (modified) (2 diffs)
-
plugins/modifier.escape.php (modified) (6 diffs)
-
plugins/modifier.replace.php (modified) (1 diff)
-
plugins/modifier.spacify.php (modified) (1 diff)
-
plugins/modifier.truncate.php (modified) (1 diff)
-
plugins/modifiercompiler.count_characters.php (modified) (1 diff)
-
plugins/modifiercompiler.count_sentences.php (modified) (1 diff)
-
plugins/modifiercompiler.count_words.php (modified) (1 diff)
-
plugins/modifiercompiler.escape.php (modified) (2 diffs)
-
plugins/modifiercompiler.from_charset.php (modified) (2 diffs)
-
plugins/modifiercompiler.lower.php (modified) (1 diff)
-
plugins/modifiercompiler.strip.php (modified) (1 diff)
-
plugins/modifiercompiler.to_charset.php (modified) (2 diffs)
-
plugins/modifiercompiler.unescape.php (modified) (2 diffs)
-
plugins/modifiercompiler.upper.php (modified) (1 diff)
-
plugins/modifiercompiler.wordwrap.php (modified) (1 diff)
-
plugins/shared.escape_special_chars.php (modified) (1 diff)
-
plugins/shared.mb_wordwrap.php (modified) (4 diffs)
-
plugins/variablefilter.htmlspecialchars.php (modified) (1 diff)
-
sysplugins/smarty_internal_compile_block.php (modified) (6 diffs)
-
sysplugins/smarty_internal_compile_capture.php (modified) (2 diffs)
-
sysplugins/smarty_internal_compile_private_print_expression.php (modified) (1 diff)
-
sysplugins/smarty_internal_configfilelexer.php (modified) (4 diffs)
-
sysplugins/smarty_internal_configfileparser.php (modified) (12 diffs)
-
sysplugins/smarty_internal_template.php (modified) (1 diff)
-
sysplugins/smarty_internal_templatebase.php (modified) (36 diffs)
-
sysplugins/smarty_internal_templatelexer.php (modified) (26 diffs)
-
sysplugins/smarty_internal_templateparser.php (modified) (37 diffs)
-
sysplugins/smarty_resource.php (modified) (16 diffs)
-
sysplugins/smarty_security.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
vendors/smarty/current/Smarty.class.php
r5823 r6008 1 1 <?php 2 2 /** 3 * Project: Smarty: the PHP compiling template engine4 * File: Smarty.class.php5 * SVN: $Id$6 *7 * This library is free software; you can redistribute it and/or8 * modify it under the terms of the GNU Lesser General Public9 * License as published by the Free Software Foundation; either10 * version 2.1 of the License, or (at your option) any later version.11 *12 * This library is distributed in the hope that it will be useful,13 * but WITHOUT ANY WARRANTY; without even the implied warranty of14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU15 * Lesser General Public License for more details.16 *17 * You should have received a copy of the GNU Lesser General Public18 * License along with this library; if not, write to the Free Software19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA20 *21 * For questions, help, comments, discussion, etc., please join the22 * Smarty mailing list. Send a blank e-mail to23 * smarty-discussion-subscribe@googlegroups.com24 *25 * @link http://www.smarty.net/26 * @copyright 2008 New Digital Group, Inc.27 * @author Monte Ohrt <monte at ohrt dot com>28 * @author Uwe Tews29 * @author Rodney Rehm30 * @package Smarty31 * @version 3.1.6 32 */3 * Project: Smarty: the PHP compiling template engine 4 * File: Smarty.class.php 5 * SVN: $Id$ 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 * 21 * For questions, help, comments, discussion, etc., please join the 22 * Smarty mailing list. Send a blank e-mail to 23 * smarty-discussion-subscribe@googlegroups.com 24 * 25 * @link http://www.smarty.net/ 26 * @copyright 2008 New Digital Group, Inc. 27 * @author Monte Ohrt <monte at ohrt dot com> 28 * @author Uwe Tews 29 * @author Rodney Rehm 30 * @package Smarty 31 * @version 3.1.7 32 */ 33 33 34 34 /** 35 * define shorthand directory separator constant36 */35 * define shorthand directory separator constant 36 */ 37 37 if (!defined('DS')) { 38 38 define('DS', DIRECTORY_SEPARATOR); … … 40 40 41 41 /** 42 * set SMARTY_DIR to absolute path to Smarty library files.43 * Sets SMARTY_DIR only if user application has not already defined it.44 */42 * set SMARTY_DIR to absolute path to Smarty library files. 43 * Sets SMARTY_DIR only if user application has not already defined it. 44 */ 45 45 if (!defined('SMARTY_DIR')) { 46 46 define('SMARTY_DIR', dirname(__FILE__) . DS); … … 48 48 49 49 /** 50 * set SMARTY_SYSPLUGINS_DIR to absolute path to Smarty internal plugins.51 * Sets SMARTY_SYSPLUGINS_DIR only if user application has not already defined it.52 */50 * set SMARTY_SYSPLUGINS_DIR to absolute path to Smarty internal plugins. 51 * Sets SMARTY_SYSPLUGINS_DIR only if user application has not already defined it. 52 */ 53 53 if (!defined('SMARTY_SYSPLUGINS_DIR')) { 54 54 define('SMARTY_SYSPLUGINS_DIR', SMARTY_DIR . 'sysplugins' . DS); … … 62 62 if (!defined('SMARTY_RESOURCE_CHAR_SET')) { 63 63 // UTF-8 can only be done properly when mbstring is available! 64 /** 65 * @deprecated in favor of Smarty::$_CHARSET 66 */ 64 67 define('SMARTY_RESOURCE_CHAR_SET', SMARTY_MBSTRING ? 'UTF-8' : 'ISO-8859-1'); 65 68 } 66 69 if (!defined('SMARTY_RESOURCE_DATE_FORMAT')) { 70 /** 71 * @deprecated in favor of Smarty::$_DATE_FORMAT 72 */ 67 73 define('SMARTY_RESOURCE_DATE_FORMAT', '%b %e, %Y'); 68 74 } 69 75 70 76 /** 71 * register the class autoloader72 */77 * register the class autoloader 78 */ 73 79 if (!defined('SMARTY_SPL_AUTOLOAD')) { 74 80 define('SMARTY_SPL_AUTOLOAD', 0); … … 85 91 86 92 /** 87 * Load always needed external class files88 */93 * Load always needed external class files 94 */ 89 95 include_once SMARTY_SYSPLUGINS_DIR.'smarty_internal_data.php'; 90 96 include_once SMARTY_SYSPLUGINS_DIR.'smarty_internal_templatebase.php'; … … 96 102 97 103 /** 98 * This is the main Smarty class99 * @package Smarty100 */104 * This is the main Smarty class 105 * @package Smarty 106 */ 101 107 class Smarty extends Smarty_Internal_TemplateBase { 102 108 103 109 /**#@+ 104 * constant definitions105 */106 107 /** 108 * smarty version109 */110 const SMARTY_VERSION = 'Smarty-3.1. 6';111 112 /** 113 * define variable scopes114 */110 * constant definitions 111 */ 112 113 /** 114 * smarty version 115 */ 116 const SMARTY_VERSION = 'Smarty-3.1.7'; 117 118 /** 119 * define variable scopes 120 */ 115 121 const SCOPE_LOCAL = 0; 116 122 const SCOPE_PARENT = 1; … … 118 124 const SCOPE_GLOBAL = 3; 119 125 /** 120 * define caching modes121 */126 * define caching modes 127 */ 122 128 const CACHING_OFF = 0; 123 129 const CACHING_LIFETIME_CURRENT = 1; 124 130 const CACHING_LIFETIME_SAVED = 2; 125 131 /** 126 * define compile check modes127 */132 * define compile check modes 133 */ 128 134 const COMPILECHECK_OFF = 0; 129 135 const COMPILECHECK_ON = 1; 130 136 const COMPILECHECK_CACHEMISS = 2; 131 137 /** 132 * modes for handling of "<?php ... ?>" tags in templates.133 */138 * modes for handling of "<?php ... ?>" tags in templates. 139 */ 134 140 const PHP_PASSTHRU = 0; //-> print tags as plain text 135 141 const PHP_QUOTE = 1; //-> escape tags as entities … … 137 143 const PHP_ALLOW = 3; //-> escape tags as entities 138 144 /** 139 * filter types140 */145 * filter types 146 */ 141 147 const FILTER_POST = 'post'; 142 148 const FILTER_PRE = 'pre'; … … 144 150 const FILTER_VARIABLE = 'variable'; 145 151 /** 146 * plugin types147 */152 * plugin types 153 */ 148 154 const PLUGIN_FUNCTION = 'function'; 149 155 const PLUGIN_BLOCK = 'block'; … … 155 161 156 162 /** 157 * assigned global tpl vars158 */163 * assigned global tpl vars 164 */ 159 165 public static $global_tpl_vars = array(); 160 166 … … 167 173 */ 168 174 public static $_muted_directories = array(); 169 175 /** 176 * Flag denoting if Multibyte String functions are available 177 */ 178 public static $_MBSTRING = SMARTY_MBSTRING; 179 /** 180 * The character set to adhere to (e.g. "UTF-8") 181 */ 182 public static $_CHARSET = SMARTY_RESOURCE_CHAR_SET; 183 /** 184 * The date format to be used internally 185 * (accepts date() and strftime()) 186 */ 187 public static $_DATE_FORMAT = SMARTY_RESOURCE_DATE_FORMAT; 188 /** 189 * Flag denoting if PCRE should run in UTF-8 mode 190 */ 191 public static $_UTF8_MODIFIER = 'u'; 192 193 170 194 /**#@+ 171 * variables172 */173 174 /** 175 * auto literal on delimiters with whitspace176 * @var boolean177 */195 * variables 196 */ 197 198 /** 199 * auto literal on delimiters with whitspace 200 * @var boolean 201 */ 178 202 public $auto_literal = true; 179 203 /** 180 * display error on not assigned variables181 * @var boolean182 */204 * display error on not assigned variables 205 * @var boolean 206 */ 183 207 public $error_unassigned = false; 184 208 /** 185 * look up relative filepaths in include_path186 * @var boolean187 */209 * look up relative filepaths in include_path 210 * @var boolean 211 */ 188 212 public $use_include_path = false; 189 213 /** 190 * template directory191 * @var array192 */214 * template directory 215 * @var array 216 */ 193 217 private $template_dir = array(); 194 218 /** 195 * joined template directory string used in cache keys196 * @var string197 */219 * joined template directory string used in cache keys 220 * @var string 221 */ 198 222 public $joined_template_dir = null; 199 223 /** 200 * joined config directory string used in cache keys201 * @var string202 */224 * joined config directory string used in cache keys 225 * @var string 226 */ 203 227 public $joined_config_dir = null; 204 228 /** 205 * default template handler206 * @var callable207 */229 * default template handler 230 * @var callable 231 */ 208 232 public $default_template_handler_func = null; 209 233 /** 210 * default config handler211 * @var callable212 */234 * default config handler 235 * @var callable 236 */ 213 237 public $default_config_handler_func = null; 214 238 /** 215 * default plugin handler216 * @var callable217 */239 * default plugin handler 240 * @var callable 241 */ 218 242 public $default_plugin_handler_func = null; 219 243 /** 220 * compile directory221 * @var string222 */244 * compile directory 245 * @var string 246 */ 223 247 private $compile_dir = null; 224 248 /** 225 * plugins directory226 * @var array227 */249 * plugins directory 250 * @var array 251 */ 228 252 private $plugins_dir = array(); 229 253 /** 230 * cache directory231 * @var string232 */254 * cache directory 255 * @var string 256 */ 233 257 private $cache_dir = null; 234 258 /** 235 * config directory236 * @var array237 */259 * config directory 260 * @var array 261 */ 238 262 private $config_dir = array(); 239 263 /** 240 * force template compiling?241 * @var boolean242 */264 * force template compiling? 265 * @var boolean 266 */ 243 267 public $force_compile = false; 244 268 /** 245 * check template for modifications?246 * @var boolean247 */269 * check template for modifications? 270 * @var boolean 271 */ 248 272 public $compile_check = true; 249 273 /** 250 * use sub dirs for compiled/cached files?251 * @var boolean252 */274 * use sub dirs for compiled/cached files? 275 * @var boolean 276 */ 253 277 public $use_sub_dirs = false; 254 278 /** … … 258 282 public $allow_ambiguous_resources = false; 259 283 /** 260 * caching enabled261 * @var boolean262 */284 * caching enabled 285 * @var boolean 286 */ 263 287 public $caching = false; 264 288 /** 265 * merge compiled includes266 * @var boolean267 */289 * merge compiled includes 290 * @var boolean 291 */ 268 292 public $merge_compiled_includes = false; 269 293 /** 270 * cache lifetime in seconds271 * @var integer272 */294 * cache lifetime in seconds 295 * @var integer 296 */ 273 297 public $cache_lifetime = 3600; 274 298 /** 275 * force cache file creation276 * @var boolean277 */299 * force cache file creation 300 * @var boolean 301 */ 278 302 public $force_cache = false; 279 303 /** … … 292 316 public $compile_id = null; 293 317 /** 294 * template left-delimiter295 * @var string296 */318 * template left-delimiter 319 * @var string 320 */ 297 321 public $left_delimiter = "{"; 298 322 /** 299 * template right-delimiter300 * @var string301 */323 * template right-delimiter 324 * @var string 325 */ 302 326 public $right_delimiter = "}"; 303 327 /**#@+ 304 * security305 */306 /** 307 * class name308 *309 * This should be instance of Smarty_Security.310 *311 * @var string312 * @see Smarty_Security313 */328 * security 329 */ 330 /** 331 * class name 332 * 333 * This should be instance of Smarty_Security. 334 * 335 * @var string 336 * @see Smarty_Security 337 */ 314 338 public $security_class = 'Smarty_Security'; 315 339 /** 316 * implementation of security class317 *318 * @var Smarty_Security319 */340 * implementation of security class 341 * 342 * @var Smarty_Security 343 */ 320 344 public $security_policy = null; 321 345 /** 322 * controls handling of PHP-blocks323 *324 * @var integer325 */346 * controls handling of PHP-blocks 347 * 348 * @var integer 349 */ 326 350 public $php_handling = self::PHP_PASSTHRU; 327 351 /** 328 * controls if the php template file resource is allowed329 *330 * @var bool331 */352 * controls if the php template file resource is allowed 353 * 354 * @var bool 355 */ 332 356 public $allow_php_templates = false; 333 357 /** 334 * Should compiled-templates be prevented from being called directly?335 *336 * {@internal337 * Currently used by Smarty_Internal_Template only.338 * }}339 *340 * @var boolean341 */358 * Should compiled-templates be prevented from being called directly? 359 * 360 * {@internal 361 * Currently used by Smarty_Internal_Template only. 362 * }} 363 * 364 * @var boolean 365 */ 342 366 public $direct_access_security = true; 343 367 /**#@-*/ 344 368 /** 345 * debug mode346 *347 * Setting this to true enables the debug-console.348 *349 * @var boolean350 */369 * debug mode 370 * 371 * Setting this to true enables the debug-console. 372 * 373 * @var boolean 374 */ 351 375 public $debugging = false; 352 376 /** … … 356 380 * <li>URL => enable debugging when SMARTY_DEBUG is found in the URL.</li> 357 381 * </ul> 358 * @var string359 */382 * @var string 383 */ 360 384 public $debugging_ctrl = 'NONE'; 361 385 /** 362 * Name of debugging URL-param.363 *364 * Only used when $debugging_ctrl is set to 'URL'.365 * The name of the URL-parameter that activates debugging.366 *367 * @var type368 */386 * Name of debugging URL-param. 387 * 388 * Only used when $debugging_ctrl is set to 'URL'. 389 * The name of the URL-parameter that activates debugging. 390 * 391 * @var type 392 */ 369 393 public $smarty_debug_id = 'SMARTY_DEBUG'; 370 394 /** 371 * Path of debug template.372 * @var string373 */395 * Path of debug template. 396 * @var string 397 */ 374 398 public $debug_tpl = null; 375 399 /** 376 * When set, smarty uses this value as error_reporting-level.377 * @var int378 */400 * When set, smarty uses this value as error_reporting-level. 401 * @var int 402 */ 379 403 public $error_reporting = null; 380 404 /** 381 * Internal flag for getTags()382 * @var boolean383 */405 * Internal flag for getTags() 406 * @var boolean 407 */ 384 408 public $get_used_tags = false; 385 409 386 410 /**#@+ 387 * config var settings388 */389 390 /** 391 * Controls whether variables with the same name overwrite each other.392 * @var boolean393 */411 * config var settings 412 */ 413 414 /** 415 * Controls whether variables with the same name overwrite each other. 416 * @var boolean 417 */ 394 418 public $config_overwrite = true; 395 419 /** 396 * Controls whether config values of on/true/yes and off/false/no get converted to boolean.397 * @var boolean398 */420 * Controls whether config values of on/true/yes and off/false/no get converted to boolean. 421 * @var boolean 422 */ 399 423 public $config_booleanize = true; 400 424 /** 401 * Controls whether hidden config sections/vars are read from the file.402 * @var boolean403 */425 * Controls whether hidden config sections/vars are read from the file. 426 * @var boolean 427 */ 404 428 public $config_read_hidden = false; 405 429 … … 407 431 408 432 /**#@+ 409 * resource locking410 */411 412 /** 413 * locking concurrent compiles414 * @var boolean415 */433 * resource locking 434 */ 435 436 /** 437 * locking concurrent compiles 438 * @var boolean 439 */ 416 440 public $compile_locking = true; 417 441 /** … … 429 453 430 454 /** 431 * global template functions432 * @var array433 */455 * global template functions 456 * @var array 457 */ 434 458 public $template_functions = array(); 435 459 /** 436 * resource type used if none given437 *438 * Must be an valid key of $registered_resources.439 * @var string440 */460 * resource type used if none given 461 * 462 * Must be an valid key of $registered_resources. 463 * @var string 464 */ 441 465 public $default_resource_type = 'file'; 442 466 /** 443 * caching type444 *445 * Must be an element of $cache_resource_types.446 *447 * @var string448 */467 * caching type 468 * 469 * Must be an element of $cache_resource_types. 470 * 471 * @var string 472 */ 449 473 public $caching_type = 'file'; 450 474 /** 451 * internal config properties452 * @var array453 */475 * internal config properties 476 * @var array 477 */ 454 478 public $properties = array(); 455 479 /** 456 * config type457 * @var string458 */480 * config type 481 * @var string 482 */ 459 483 public $default_config_type = 'file'; 460 484 /** 461 * cached template objects462 * @var array463 */485 * cached template objects 486 * @var array 487 */ 464 488 public $template_objects = array(); 465 489 /** 466 * check If-Modified-Since headers467 * @var boolean468 */490 * check If-Modified-Since headers 491 * @var boolean 492 */ 469 493 public $cache_modified_check = false; 470 494 /** 471 * registered plugins472 * @var array473 */495 * registered plugins 496 * @var array 497 */ 474 498 public $registered_plugins = array(); 475 499 /** 476 * plugin search order477 * @var array478 */500 * plugin search order 501 * @var array 502 */ 479 503 public $plugin_search_order = array('function', 'block', 'compiler', 'class'); 480 504 /** 481 * registered objects482 * @var array483 */505 * registered objects 506 * @var array 507 */ 484 508 public $registered_objects = array(); 485 509 /** 486 * registered classes487 * @var array488 */510 * registered classes 511 * @var array 512 */ 489 513 public $registered_classes = array(); 490 514 /** 491 * registered filters492 * @var array493 */515 * registered filters 516 * @var array 517 */ 494 518 public $registered_filters = array(); 495 519 /** 496 * registered resources497 * @var array498 */520 * registered resources 521 * @var array 522 */ 499 523 public $registered_resources = array(); 500 524 /** 501 * resource handler cache502 * @var array503 */525 * resource handler cache 526 * @var array 527 */ 504 528 public $_resource_handlers = array(); 505 529 /** 506 * registered cache resources507 * @var array508 */530 * registered cache resources 531 * @var array 532 */ 509 533 public $registered_cache_resources = array(); 510 534 /** 511 * cache resource handler cache512 * @var array513 */535 * cache resource handler cache 536 * @var array 537 */ 514 538 public $_cacheresource_handlers = array(); 515 539 /** 516 * autoload filter517 * @var array518 */540 * autoload filter 541 * @var array 542 */ 519 543 public $autoload_filters = array(); 520 544 /** 521 * default modifier522 * @var array523 */545 * default modifier 546 * @var array 547 */ 524 548 public $default_modifiers = array(); 525 549 /** 526 * autoescape variable output527 * @var boolean528 */550 * autoescape variable output 551 * @var boolean 552 */ 529 553 public $escape_html = false; 530 554 /** 531 * global internal smarty vars532 * @var array533 */555 * global internal smarty vars 556 * @var array 557 */ 534 558 public static $_smarty_vars = array(); 535 559 /** 536 * start time for execution time calculation537 * @var int538 */560 * start time for execution time calculation 561 * @var int 562 */ 539 563 public $start_time = 0; 540 564 /** 541 * default file permissions542 * @var int543 */565 * default file permissions 566 * @var int 567 */ 544 568 public $_file_perms = 0644; 545 569 /** 546 * default dir permissions547 * @var int548 */570 * default dir permissions 571 * @var int 572 */ 549 573 public $_dir_perms = 0771; 550 574 /** 551 * block tag hierarchy552 * @var array553 */575 * block tag hierarchy 576 * @var array 577 */ 554 578 public $_tag_stack = array(); 555 579 /** 556 * self pointer to Smarty object557 * @var Smarty558 */580 * self pointer to Smarty object 581 * @var Smarty 582 */ 559 583 public $smarty; 560 584 /** 561 * required by the compiler for BC562 * @var string563 */585 * required by the compiler for BC 586 * @var string 587 */ 564 588 public $_current_file = null; 565 589 /** 566 * internal flag to enable parser debugging567 * @var bool568 */590 * internal flag to enable parser debugging 591 * @var bool 592 */ 569 593 public $_parserdebug = false; 570 594 /** 571 * Saved parameter of merged templates during compilation572 *573 * @var array574 */595 * Saved parameter of merged templates during compilation 596 * 597 * @var array 598 */ 575 599 public $merged_templates_func = array(); 576 600 /**#@-*/ 577 601 578 602 /** 579 * Initialize new Smarty object580 *581 */603 * Initialize new Smarty object 604 * 605 */ 582 606 public function __construct() 583 607 { … … 585 609 $this->smarty = $this; 586 610 if (is_callable('mb_internal_encoding')) { 587 mb_internal_encoding(S MARTY_RESOURCE_CHAR_SET);611 mb_internal_encoding(Smarty::$_CHARSET); 588 612 } 589 613 $this->start_time = microtime(true); … … 603 627 604 628 /** 605 * Class destructor606 */629 * Class destructor 630 */ 607 631 public function __destruct() 608 632 { … … 611 635 612 636 /** 613 * <<magic>> set selfpointer on cloned object614 */637 * <<magic>> set selfpointer on cloned object 638 */ 615 639 public function __clone() 616 640 { … … 620 644 621 645 /** 622 * <<magic>> Generic getter.623 *624 * Calls the appropriate getter function.625 * Issues an E_USER_NOTICE if no valid getter is found.626 *627 * @param string $name property name628 * @return mixed629 */646 * <<magic>> Generic getter. 647 * 648 * Calls the appropriate getter function. 649 * Issues an E_USER_NOTICE if no valid getter is found. 650 * 651 * @param string $name property name 652 * @return mixed 653 */ 630 654 public function __get($name) 631 655 { … … 646 670 647 671 /** 648 * <<magic>> Generic setter.649 *650 * Calls the appropriate setter function.651 * Issues an E_USER_NOTICE if no valid setter is found.652 *653 * @param string $name property name654 * @param mixed $value parameter passed to setter655 */672 * <<magic>> Generic setter. 673 * 674 * Calls the appropriate setter function. 675 * Issues an E_USER_NOTICE if no valid setter is found. 676 * 677 * @param string $name property name 678 * @param mixed $value parameter passed to setter 679 */ 656 680 public function __set($name, $value) 657 681 { … … 672 696 673 697 /** 674 * Check if a template resource exists675 *676 * @param string $resource_name template name677 * @return boolean status678 */698 * Check if a template resource exists 699 * 700 * @param string $resource_name template name 701 * @return boolean status 702 */ 679 703 public function templateExists($resource_name) 680 704 { … … 689 713 690 714 /** 691 * Returns a single or all global variables692 *693 * @param object $smarty694 * @param string $varname variable name or null695 * @return string variable value or or array of variables696 */715 * Returns a single or all global variables 716 * 717 * @param object $smarty 718 * @param string $varname variable name or null 719 * @return string variable value or or array of variables 720 */ 697 721 public function getGlobal($varname = null) 698 722 { … … 713 737 714 738 /** 715 * Empty cache folder716 *717 * @param integer $exp_time expiration time718 * @param string $type resource type719 * @return integer number of cache files deleted720 */739 * Empty cache folder 740 * 741 * @param integer $exp_time expiration time 742 * @param string $type resource type 743 * @return integer number of cache files deleted 744 */ 721 745 function clearAllCache($exp_time = null, $type = null) 722 746 { … … 728 752 729 753 /** 730 * Empty cache for a specific template731 *732 * @param string $template_name template name733 * @param string $cache_id cache id734 * @param string $compile_id compile id735 * @param integer $exp_time expiration time736 * @param string $type resource type737 * @return integer number of cache files deleted738 */754 * Empty cache for a specific template 755 * 756 * @param string $template_name template name 757 * @param string $cache_id cache id 758 * @param string $compile_id compile id 759 * @param integer $exp_time expiration time 760 * @param string $type resource type 761 * @return integer number of cache files deleted 762 */ 739 763 public function clearCache($template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null) 740 764 { … … 746 770 747 771 /** 748 * Loads security class and enables security749 *750 * @param string|Smarty_Security $security_class if a string is used, it must be class-name751 * @return Smarty current Smarty instance for chaining752 * @throws SmartyException when an invalid class name is provided753 */772 * Loads security class and enables security 773 * 774 * @param string|Smarty_Security $security_class if a string is used, it must be class-name 775 * @return Smarty current Smarty instance for chaining 776 * @throws SmartyException when an invalid class name is provided 777 */ 754 778 public function enableSecurity($security_class = null) 755 779 { … … 775 799 776 800 /** 777 * Disable security778 * @return Smarty current Smarty instance for chaining779 */801 * Disable security 802 * @return Smarty current Smarty instance for chaining 803 */ 780 804 public function disableSecurity() 781 805 { … … 786 810 787 811 /** 788 * Set template directory789 *790 * @param string|array $template_dir directory(s) of template sources791 * @return Smarty current Smarty instance for chaining792 */812 * Set template directory 813 * 814 * @param string|array $template_dir directory(s) of template sources 815 * @return Smarty current Smarty instance for chaining 816 */ 793 817 public function setTemplateDir($template_dir) 794 818 { … … 803 827 804 828 /** 805 * Add template directory(s)806 *807 * @param string|array $template_dir directory(s) of template sources808 * @param string $key of the array element to assign the template dir to809 * @return Smarty current Smarty instance for chaining810 * @throws SmartyException when the given template directory is not valid811 */829 * Add template directory(s) 830 * 831 * @param string|array $template_dir directory(s) of template sources 832 * @param string $key of the array element to assign the template dir to 833 * @return Smarty current Smarty instance for chaining 834 * @throws SmartyException when the given template directory is not valid 835 */ 812 836 public function addTemplateDir($template_dir, $key=null) 813 837 { … … 837 861 838 862 /** 839 * Get template directories840 *841 * @param mixed index of directory to get, null to get all842 * @return array|string list of template directories, or directory of $index843 */863 * Get template directories 864 * 865 * @param mixed index of directory to get, null to get all 866 * @return array|string list of template directories, or directory of $index 867 */ 844 868 public function getTemplateDir($index=null) 845 869 { … … 852 876 853 877 /** 854 * Set config directory855 *856 * @param string|array $template_dir directory(s) of configuration sources857 * @return Smarty current Smarty instance for chaining858 */878 * Set config directory 879 * 880 * @param string|array $template_dir directory(s) of configuration sources 881 * @return Smarty current Smarty instance for chaining 882 */ 859 883 public function setConfigDir($config_dir) 860 884 { … … 869 893 870 894 /** 871 * Add config directory(s)872 *873 * @param string|array $config_dir directory(s) of config sources874 * @param string key of the array element to assign the config dir to875 * @return Smarty current Smarty instance for chaining876 */895 * Add config directory(s) 896 * 897 * @param string|array $config_dir directory(s) of config sources 898 * @param string key of the array element to assign the config dir to 899 * @return Smarty current Smarty instance for chaining 900 */ 877 901 public function addConfigDir($config_dir, $key=null) 878 902 { … … 903 927 904 928 /** 905 * Get config directory906 *907 * @param mixed index of directory to get, null to get all908 * @return array|string configuration directory909 */929 * Get config directory 930 * 931 * @param mixed index of directory to get, null to get all 932 * @return array|string configuration directory 933 */ 910 934 public function getConfigDir($index=null) 911 935 { … … 918 942 919 943 /** 920 * Set plugins directory921 *922 * @param string|array $plugins_dir directory(s) of plugins923 * @return Smarty current Smarty instance for chaining924 */944 * Set plugins directory 945 * 946 * @param string|array $plugins_dir directory(s) of plugins 947 * @return Smarty current Smarty instance for chaining 948 */ 925 949 public function setPluginsDir($plugins_dir) 926 950 { … … 934 958 935 959 /** 936 * Adds directory of plugin files937 *938 * @param object $smarty939 * @param string $ |array $ plugins folder940 * @return Smarty current Smarty instance for chaining941 */960 * Adds directory of plugin files 961 * 962 * @param object $smarty 963 * @param string $ |array $ plugins folder 964 * @return Smarty current Smarty instance for chaining 965 */ 942 966 public function addPluginsDir($plugins_dir) 943 967 { … … 965 989 966 990 /** 967 * Get plugin directories968 *969 * @return array list of plugin directories970 */991 * Get plugin directories 992 * 993 * @return array list of plugin directories 994 */ 971 995 public function getPluginsDir() 972 996 { … … 975 999 976 1000 /** 977 * Set compile directory978 *979 * @param string $compile_dir directory to store compiled templates in980 * @return Smarty current Smarty instance for chaining981 */1001 * Set compile directory 1002 * 1003 * @param string $compile_dir directory to store compiled templates in 1004 * @return Smarty current Smarty instance for chaining 1005 */ 982 1006 public function setCompileDir($compile_dir) 983 1007 { … … 990 1014 991 1015 /** 992 * Get compiled directory993 *994 * @return string path to compiled templates995 */1016 * Get compiled directory 1017 * 1018 * @return string path to compiled templates 1019 */ 996 1020 public function getCompileDir() 997 1021 { … … 1000 1024 1001 1025 /** 1002 * Set cache directory1003 *1004 * @param string $cache_dir directory to store cached templates in1005 * @return Smarty current Smarty instance for chaining1006 */1026 * Set cache directory 1027 * 1028 * @param string $cache_dir directory to store cached templates in 1029 * @return Smarty current Smarty instance for chaining 1030 */ 1007 1031 public function setCacheDir($cache_dir) 1008 1032 { … … 1015 1039 1016 1040 /** 1017 * Get cache directory1018 *1019 * @return string path of cache directory1020 */1041 * Get cache directory 1042 * 1043 * @return string path of cache directory 1044 */ 1021 1045 public function getCacheDir() 1022 1046 { … … 1025 1049 1026 1050 /** 1027 * Set default modifiers1028 *1029 * @param array|string $modifiers modifier or list of modifiers to set1030 * @return Smarty current Smarty instance for chaining1031 */1051 * Set default modifiers 1052 * 1053 * @param array|string $modifiers modifier or list of modifiers to set 1054 * @return Smarty current Smarty instance for chaining 1055 */ 1032 1056 public function setDefaultModifiers($modifiers) 1033 1057 { … … 1037 1061 1038 1062 /** 1039 * Add default modifiers1040 *1041 * @param array|string $modifiers modifier or list of modifiers to add1042 * @return Smarty current Smarty instance for chaining1043 */1063 * Add default modifiers 1064 * 1065 * @param array|string $modifiers modifier or list of modifiers to add 1066 * @return Smarty current Smarty instance for chaining 1067 */ 1044 1068 public function addDefaultModifiers($modifiers) 1045 1069 { … … 1054 1078 1055 1079 /** 1056 * Get default modifiers1057 *1058 * @return array list of default modifiers1059 */1080 * Get default modifiers 1081 * 1082 * @return array list of default modifiers 1083 */ 1060 1084 public function getDefaultModifiers() 1061 1085 { … … 1065 1089 1066 1090 /** 1067 * Set autoload filters1068 *1069 * @param array $filters filters to load automatically1070 * @param string $type "pre", "output", ⊠specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types1071 * @return Smarty current Smarty instance for chaining1072 */1091 * Set autoload filters 1092 * 1093 * @param array $filters filters to load automatically 1094 * @param string $type "pre", "output", ⊠specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types 1095 * @return Smarty current Smarty instance for chaining 1096 */ 1073 1097 public function setAutoloadFilters($filters, $type=null) 1074 1098 { … … 1083 1107 1084 1108 /** 1085 * Add autoload filters1086 *1087 * @param array $filters filters to load automatically1088 * @param string $type "pre", "output", ⊠specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types1089 * @return Smarty current Smarty instance for chaining1090 */1109 * Add autoload filters 1110 * 1111 * @param array $filters filters to load automatically 1112 * @param string $type "pre", "output", ⊠specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types 1113 * @return Smarty current Smarty instance for chaining 1114 */ 1091 1115 public function addAutoloadFilters($filters, $type=null) 1092 1116 { … … 1111 1135 1112 1136 /** 1113 * Get autoload filters1114 *1115 * @param string $type type of filter to get autoloads for. Defaults to all autoload filters1116 * @return array array( 'type1' => array( 'filter1', 'filter2', ⊠) ) or array( 'filter1', 'filter2', âŠ) if $type was specified1117 */1137 * Get autoload filters 1138 * 1139 * @param string $type type of filter to get autoloads for. Defaults to all autoload filters 1140 * @return array array( 'type1' => array( 'filter1', 'filter2', ⊠) ) or array( 'filter1', 'filter2', âŠ) if $type was specified 1141 */ 1118 1142 public function getAutoloadFilters($type=null) 1119 1143 { … … 1126 1150 1127 1151 /** 1128 * return name of debugging template1129 *1130 * @return string1131 */1152 * return name of debugging template 1153 * 1154 * @return string 1155 */ 1132 1156 public function getDebugTemplate() 1133 1157 { … … 1136 1160 1137 1161 /** 1138 * set the debug template1139 *1140 * @param string $tpl_name1141 * @return Smarty current Smarty instance for chaining1142 * @throws SmartyException if file is not readable1143 */1162 * set the debug template 1163 * 1164 * @param string $tpl_name 1165 * @return Smarty current Smarty instance for chaining 1166 * @throws SmartyException if file is not readable 1167 */ 1144 1168 public function setDebugTemplate($tpl_name) 1145 1169 { … … 1153 1177 1154 1178 /** 1155 * creates a template object1156 *1157 * @param string $template the resource handle of the template file1158 * @param mixed $cache_id cache id to be used with this template1159 * @param mixed $compile_id compile id to be used with this template1160 * @param object $parent next higher level of Smarty variables1161 * @param boolean $do_clone flag is Smarty object shall be cloned1162 * @return object template object1163 */1179 * creates a template object 1180 * 1181 * @param string $template the resource handle of the template file 1182 * @param mixed $cache_id cache id to be used with this template 1183 * @param mixed $compile_id compile id to be used with this template 1184 * @param object $parent next higher level of Smarty variables 1185 * @param boolean $do_clone flag is Smarty object shall be cloned 1186 * @return object template object 1187 */ 1164 1188 public function createTemplate($template, $cache_id = null, $compile_id = null, $parent = null, $do_clone = true) 1165 1189 { … … 1220 1244 1221 1245 /** 1222 * Takes unknown classes and loads plugin files for them1223 * class name format: Smarty_PluginType_PluginName1224 * plugin filename format: plugintype.pluginname.php1225 *1226 * @param string $plugin_name class plugin name to load1227 * @param bool $check check if already loaded1228 * @return string |boolean filepath of loaded file or false1229 */1246 * Takes unknown classes and loads plugin files for them 1247 * class name format: Smarty_PluginType_PluginName 1248 * plugin filename format: plugintype.pluginname.php 1249 * 1250 * @param string $plugin_name class plugin name to load 1251 * @param bool $check check if already loaded 1252 * @return string |boolean filepath of loaded file or false 1253 */ 1230 1254 public function loadPlugin($plugin_name, $check = true) 1231 1255 { … … 1280 1304 1281 1305 /** 1282 * Compile all template files1283 *1284 * @param string $extension file extension1285 * @param bool $force_compile force all to recompile1286 * @param int $time_limit1287 * @param int $max_errors1288 * @return integer number of template files recompiled1289 */1306 * Compile all template files 1307 * 1308 * @param string $extension file extension 1309 * @param bool $force_compile force all to recompile 1310 * @param int $time_limit 1311 * @param int $max_errors 1312 * @return integer number of template files recompiled 1313 */ 1290 1314 public function compileAllTemplates($extention = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null) 1291 1315 { … … 1294 1318 1295 1319 /** 1296 * Compile all config files1297 *1298 * @param string $extension file extension1299 * @param bool $force_compile force all to recompile1300 * @param int $time_limit1301 * @param int $max_errors1302 * @return integer number of template files recompiled1303 */1320 * Compile all config files 1321 * 1322 * @param string $extension file extension 1323 * @param bool $force_compile force all to recompile 1324 * @param int $time_limit 1325 * @param int $max_errors 1326 * @return integer number of template files recompiled 1327 */ 1304 1328 public function compileAllConfig($extention = '.conf', $force_compile = false, $time_limit = 0, $max_errors = null) 1305 1329 { … … 1308 1332 1309 1333 /** 1310 * Delete compiled template file1311 *1312 * @param string $resource_name template name1313 * @param string $compile_id compile id1314 * @param integer $exp_time expiration time1315 * @return integer number of template files deleted1316 */1334 * Delete compiled template file 1335 * 1336 * @param string $resource_name template name 1337 * @param string $compile_id compile id 1338 * @param integer $exp_time expiration time 1339 * @return integer number of template files deleted 1340 */ 1317 1341 public function clearCompiledTemplate($resource_name = null, $compile_id = null, $exp_time = null) 1318 1342 { … … 1322 1346 1323 1347 /** 1324 * Return array of tag/attributes of all tags used by an template1325 *1326 * @param object $templae template object1327 * @return array of tag/attributes1328 */1348 * Return array of tag/attributes of all tags used by an template 1349 * 1350 * @param object $templae template object 1351 * @return array of tag/attributes 1352 */ 1329 1353 public function getTags(Smarty_Internal_Template $template) 1330 1354 { … … 1433 1457 } 1434 1458 1459 // let PCRE (preg_*) treat strings as ISO-8859-1 if we're not dealing with UTF-8 1460 if (Smarty::$_CHARSET !== 'UTF-8') { 1461 Smarty::$_UTF8_MODIFIER = ''; 1462 } 1463 1435 1464 /** 1436 * Smarty exception class1437 * @package Smarty1438 */1465 * Smarty exception class 1466 * @package Smarty 1467 */ 1439 1468 class SmartyException extends Exception { 1440 1469 } 1441 1470 1442 1471 /** 1443 * Smarty compiler exception class1444 * @package Smarty1445 */1472 * Smarty compiler exception class 1473 * @package Smarty 1474 */ 1446 1475 class SmartyCompilerException extends SmartyException { 1447 1476 } 1448 1477 1449 1478 /** 1450 * Autoloader1451 */1479 * Autoloader 1480 */ 1452 1481 function smartyAutoload($class) 1453 1482 { -
vendors/smarty/current/plugins/block.textformat.php
r5765 r6008 85 85 } 86 86 // convert mult. spaces & special chars to single space 87 $_paragraph = preg_replace(array('!\s+! u', '!(^\s+)|(\s+$)!u'), array(' ', ''), $_paragraph);87 $_paragraph = preg_replace(array('!\s+!' . Smarty::$_UTF8_MODIFIER, '!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER), array(' ', ''), $_paragraph); 88 88 // indent first line 89 89 if ($indent_first > 0) { … … 91 91 } 92 92 // wordwrap sentences 93 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {93 if (Smarty::$_MBSTRING) { 94 94 require_once(SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'); 95 95 $_paragraph = smarty_mb_wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut); -
vendors/smarty/current/plugins/function.fetch.php
r5765 r6008 27 27 return; 28 28 } 29 30 // strip file protocol 31 if (stripos($params['file'], 'file://') === 0) { 32 $params['file'] = substr($params['file'], 7); 33 } 34 35 $protocol = strpos($params['file'], '://'); 36 if ($protocol !== false) { 37 $protocol = strtolower(substr($params['file'], 0, $protocol)); 38 } 39 40 if (isset($template->smarty->security_policy)) { 41 if ($protocol) { 42 // remote resource (or php stream, âŠ) 43 if(!$template->smarty->security_policy->isTrustedUri($params['file'])) { 44 return; 45 } 46 } else { 47 // local file 48 if(!$template->smarty->security_policy->isTrustedResourceDir($params['file'])) { 49 return; 50 } 51 } 52 } 29 53 30 54 $content = ''; 31 if (isset($template->smarty->security_policy) && !preg_match('!^(http|ftp)://!i', $params['file'])) { 32 if(!$template->smarty->security_policy->isTrustedResourceDir($params['file'])) { 33 return; 34 } 35 36 // fetch the file 37 if($fp = @fopen($params['file'],'r')) { 38 while(!feof($fp)) { 39 $content .= fgets ($fp,4096); 40 } 41 fclose($fp); 55 if ($protocol == 'http') { 56 // http fetch 57 if($uri_parts = parse_url($params['file'])) { 58 // set defaults 59 $host = $server_name = $uri_parts['host']; 60 $timeout = 30; 61 $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"; 62 $agent = "Smarty Template Engine ". Smarty::SMARTY_VERSION; 63 $referer = ""; 64 $uri = !empty($uri_parts['path']) ? $uri_parts['path'] : '/'; 65 $uri .= !empty($uri_parts['query']) ? '?' . $uri_parts['query'] : ''; 66 $_is_proxy = false; 67 if(empty($uri_parts['port'])) { 68 $port = 80; 69 } else { 70 $port = $uri_parts['port']; 71 } 72 if(!empty($uri_parts['user'])) { 73 $user = $uri_parts['user']; 74 } 75 if(!empty($uri_parts['pass'])) { 76 $pass = $uri_parts['pass']; 77 } 78 // loop through parameters, setup headers 79 foreach($params as $param_key => $param_value) { 80 switch($param_key) { 81 case "file": 82 case "assign": 83 case "assign_headers": 84 break; 85 case "user": 86 if(!empty($param_value)) { 87 $user = $param_value; 88 } 89 break; 90 case "pass": 91 if(!empty($param_value)) { 92 $pass = $param_value; 93 } 94 break; 95 case "accept": 96 if(!empty($param_value)) { 97 $accept = $param_value; 98 } 99 break; 100 case "header": 101 if(!empty($param_value)) { 102 if(!preg_match('![\w\d-]+: .+!',$param_value)) { 103 trigger_error("[plugin] invalid header format '".$param_value."'",E_USER_NOTICE); 104 return; 105 } else { 106 $extra_headers[] = $param_value; 107 } 108 } 109 break; 110 case "proxy_host": 111 if(!empty($param_value)) { 112 $proxy_host = $param_value; 113 } 114 break; 115 case "proxy_port": 116 if(!preg_match('!\D!', $param_value)) { 117 $proxy_port = (int) $param_value; 118 } else { 119 trigger_error("[plugin] invalid value for attribute '".$param_key."'",E_USER_NOTICE); 120 return; 121 } 122 break; 123 case "agent": 124 if(!empty($param_value)) { 125 $agent = $param_value; 126 } 127 break; 128 case "referer": 129 if(!empty($param_value)) { 130 $referer = $param_value; 131 } 132 break; 133 case "timeout": 134 if(!preg_match('!\D!', $param_value)) { 135 $timeout = (int) $param_value; 136 } else { 137 trigger_error("[plugin] invalid value for attribute '".$param_key."'",E_USER_NOTICE); 138 return; 139 } 140 break; 141 default: 142 trigger_error("[plugin] unrecognized attribute '".$param_key."'",E_USER_NOTICE); 143 return; 144 } 145 } 146 if(!empty($proxy_host) && !empty($proxy_port)) { 147 $_is_proxy = true; 148 $fp = fsockopen($proxy_host,$proxy_port,$errno,$errstr,$timeout); 149 } else { 150 $fp = fsockopen($server_name,$port,$errno,$errstr,$timeout); 151 } 152 153 if(!$fp) { 154 trigger_error("[plugin] unable to fetch: $errstr ($errno)",E_USER_NOTICE); 155 return; 156 } else { 157 if($_is_proxy) { 158 fputs($fp, 'GET ' . $params['file'] . " HTTP/1.0\r\n"); 159 } else { 160 fputs($fp, "GET $uri HTTP/1.0\r\n"); 161 } 162 if(!empty($host)) { 163 fputs($fp, "Host: $host\r\n"); 164 } 165 if(!empty($accept)) { 166 fputs($fp, "Accept: $accept\r\n"); 167 } 168 if(!empty($agent)) { 169 fputs($fp, "User-Agent: $agent\r\n"); 170 } 171 if(!empty($referer)) { 172 fputs($fp, "Referer: $referer\r\n"); 173 } 174 if(isset($extra_headers) && is_array($extra_headers)) { 175 foreach($extra_headers as $curr_header) { 176 fputs($fp, $curr_header."\r\n"); 177 } 178 } 179 if(!empty($user) && !empty($pass)) { 180 fputs($fp, "Authorization: BASIC ".base64_encode("$user:$pass")."\r\n"); 181 } 182 183 fputs($fp, "\r\n"); 184 while(!feof($fp)) { 185 $content .= fgets($fp,4096); 186 } 187 fclose($fp); 188 $csplit = preg_split("!\r\n\r\n!",$content,2); 189 190 $content = $csplit[1]; 191 192 if(!empty($params['assign_headers'])) { 193 $template->assign($params['assign_headers'],preg_split("!\r\n!",$csplit[0])); 194 } 195 } 42 196 } else { 43 trigger_error( '[plugin] fetch cannot read file \'' . $params['file'] . '\'',E_USER_NOTICE);197 trigger_error("[plugin fetch] unable to parse URL, check syntax",E_USER_NOTICE); 44 198 return; 45 199 } 46 200 } else { 47 // not a local file 48 if(preg_match('!^http://!i',$params['file'])) { 49 // http fetch 50 if($uri_parts = parse_url($params['file'])) { 51 // set defaults 52 $host = $server_name = $uri_parts['host']; 53 $timeout = 30; 54 $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"; 55 $agent = "Smarty Template Engine ". Smarty::SMARTY_VERSION; 56 $referer = ""; 57 $uri = !empty($uri_parts['path']) ? $uri_parts['path'] : '/'; 58 $uri .= !empty($uri_parts['query']) ? '?' . $uri_parts['query'] : ''; 59 $_is_proxy = false; 60 if(empty($uri_parts['port'])) { 61 $port = 80; 62 } else { 63 $port = $uri_parts['port']; 64 } 65 if(!empty($uri_parts['user'])) { 66 $user = $uri_parts['user']; 67 } 68 if(!empty($uri_parts['pass'])) { 69 $pass = $uri_parts['pass']; 70 } 71 // loop through parameters, setup headers 72 foreach($params as $param_key => $param_value) { 73 switch($param_key) { 74 case "file": 75 case "assign": 76 case "assign_headers": 77 break; 78 case "user": 79 if(!empty($param_value)) { 80 $user = $param_value; 81 } 82 break; 83 case "pass": 84 if(!empty($param_value)) { 85 $pass = $param_value; 86 } 87 break; 88 case "accept": 89 if(!empty($param_value)) { 90 $accept = $param_value; 91 } 92 break; 93 case "header": 94 if(!empty($param_value)) { 95 if(!preg_match('![\w\d-]+: .+!',$param_value)) { 96 trigger_error("[plugin] invalid header format '".$param_value."'",E_USER_NOTICE); 97 return; 98 } else { 99 $extra_headers[] = $param_value; 100 } 101 } 102 break; 103 case "proxy_host": 104 if(!empty($param_value)) { 105 $proxy_host = $param_value; 106 } 107 break; 108 case "proxy_port": 109 if(!preg_match('!\D!', $param_value)) { 110 $proxy_port = (int) $param_value; 111 } else { 112 trigger_error("[plugin] invalid value for attribute '".$param_key."'",E_USER_NOTICE); 113 return; 114 } 115 break; 116 case "agent": 117 if(!empty($param_value)) { 118 $agent = $param_value; 119 } 120 break; 121 case "referer": 122 if(!empty($param_value)) { 123 $referer = $param_value; 124 } 125 break; 126 case "timeout": 127 if(!preg_match('!\D!', $param_value)) { 128 $timeout = (int) $param_value; 129 } else { 130 trigger_error("[plugin] invalid value for attribute '".$param_key."'",E_USER_NOTICE); 131 return; 132 } 133 break; 134 default: 135 trigger_error("[plugin] unrecognized attribute '".$param_key."'",E_USER_NOTICE); 136 return; 137 } 138 } 139 if(!empty($proxy_host) && !empty($proxy_port)) { 140 $_is_proxy = true; 141 $fp = fsockopen($proxy_host,$proxy_port,$errno,$errstr,$timeout); 142 } else { 143 $fp = fsockopen($server_name,$port,$errno,$errstr,$timeout); 144 } 145 146 if(!$fp) { 147 trigger_error("[plugin] unable to fetch: $errstr ($errno)",E_USER_NOTICE); 148 return; 149 } else { 150 if($_is_proxy) { 151 fputs($fp, 'GET ' . $params['file'] . " HTTP/1.0\r\n"); 152 } else { 153 fputs($fp, "GET $uri HTTP/1.0\r\n"); 154 } 155 if(!empty($host)) { 156 fputs($fp, "Host: $host\r\n"); 157 } 158 if(!empty($accept)) { 159 fputs($fp, "Accept: $accept\r\n"); 160 } 161 if(!empty($agent)) { 162 fputs($fp, "User-Agent: $agent\r\n"); 163 } 164 if(!empty($referer)) { 165 fputs($fp, "Referer: $referer\r\n"); 166 } 167 if(isset($extra_headers) && is_array($extra_headers)) { 168 foreach($extra_headers as $curr_header) { 169 fputs($fp, $curr_header."\r\n"); 170 } 171 } 172 if(!empty($user) && !empty($pass)) { 173 fputs($fp, "Authorization: BASIC ".base64_encode("$user:$pass")."\r\n"); 174 } 175 176 fputs($fp, "\r\n"); 177 while(!feof($fp)) { 178 $content .= fgets($fp,4096); 179 } 180 fclose($fp); 181 $csplit = preg_split("!\r\n\r\n!",$content,2); 182 183 $content = $csplit[1]; 184 185 if(!empty($params['assign_headers'])) { 186 $template->assign($params['assign_headers'],preg_split("!\r\n!",$csplit[0])); 187 } 188 } 189 } else { 190 trigger_error("[plugin fetch] unable to parse URL, check syntax",E_USER_NOTICE); 191 return; 192 } 193 } else { 194 // ftp fetch 195 if($fp = @fopen($params['file'],'r')) { 196 while(!feof($fp)) { 197 $content .= fgets ($fp,4096); 198 } 199 fclose($fp); 200 } else { 201 trigger_error('[plugin] fetch cannot read file \'' . $params['file'] .'\'',E_USER_NOTICE); 202 return; 203 } 201 $content = @file_get_contents($params['file']); 202 if ($content === false) { 203 throw new SmartyException("{fetch} cannot read resource '" . $params['file'] ."'"); 204 204 } 205 206 } 207 205 } 208 206 209 207 if (!empty($params['assign'])) { 210 $template->assign($params['assign'], $content);208 $template->assign($params['assign'], $content); 211 209 } else { 212 210 return $content; -
vendors/smarty/current/plugins/function.html_checkboxes.php
r5823 r6008 178 178 if ($labels) { 179 179 if ($label_ids) { 180 $_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]! u', '_', $name . '_' . $value));180 $_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value)); 181 181 $_output .= '<label for="' . $_id . '">'; 182 182 } else { -
vendors/smarty/current/plugins/function.html_image.php
r5765 r6008 47 47 $suffix = ''; 48 48 $path_prefix = ''; 49 $server_vars = $_SERVER; 50 $basedir = isset($server_vars['DOCUMENT_ROOT']) ? $server_vars['DOCUMENT_ROOT'] : ''; 49 $basedir = isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : ''; 51 50 foreach($params as $_key => $_val) { 52 51 switch ($_key) { … … 89 88 } 90 89 91 if ( substr($file, 0, 1)== '/') {90 if ($file[0] == '/') { 92 91 $_image_path = $basedir . $file; 93 92 } else { 94 93 $_image_path = $file; 95 } 94 } 95 96 // strip file protocol 97 if (stripos($params['file'], 'file://') === 0) { 98 $params['file'] = substr($params['file'], 7); 99 } 100 101 $protocol = strpos($params['file'], '://'); 102 if ($protocol !== false) { 103 $protocol = strtolower(substr($params['file'], 0, $protocol)); 104 } 105 106 if (isset($template->smarty->security_policy)) { 107 if ($protocol) { 108 // remote resource (or php stream, âŠ) 109 if(!$template->smarty->security_policy->isTrustedUri($params['file'])) { 110 return; 111 } 112 } else { 113 // local file 114 if(!$template->smarty->security_policy->isTrustedResourceDir($params['file'])) { 115 return; 116 } 117 } 118 } 96 119 97 120 if (!isset($params['width']) || !isset($params['height'])) { 121 // FIXME: (rodneyrehm) getimagesize() loads the complete file off a remote resource, use custom [jpg,png,gif]header reader! 98 122 if (!$_image_data = @getimagesize($_image_path)) { 99 123 if (!file_exists($_image_path)) { … … 107 131 return; 108 132 } 109 } 110 if (isset($template->smarty->security_policy)) { 111 if (!$template->smarty->security_policy->isTrustedResourceDir($_image_path)) { 112 return; 113 } 114 } 133 } 115 134 116 135 if (!isset($params['width'])) { … … 123 142 124 143 if (isset($params['dpi'])) { 125 if (strstr($server_vars['HTTP_USER_AGENT'], 'Mac')) { 144 if (strstr($_SERVER['HTTP_USER_AGENT'], 'Mac')) { 145 // FIXME: (rodneyrehm) wrong dpi assumption 146 // don't know who thought this up⊠even if it was true in 1998, it's definitely wrong in 2011. 126 147 $dpi_default = 72; 127 148 } else { -
vendors/smarty/current/plugins/function.html_radios.php
r5823 r6008 166 166 if ($labels) { 167 167 if ($label_ids) { 168 $_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]! u', '_', $name . '_' . $value));168 $_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value)); 169 169 $_output .= '<label for="' . $_id . '">'; 170 170 } else { -
vendors/smarty/current/plugins/function.mailto.php
r5765 r6008 131 131 $address_encode = ''; 132 132 for ($x = 0, $_length = strlen($address); $x < $_length; $x++) { 133 if (preg_match('!\w! u', $address[$x])) {133 if (preg_match('!\w!' . Smarty::$_UTF8_MODIFIER, $address[$x])) { 134 134 $address_encode .= '%' . bin2hex($address[$x]); 135 135 } else { -
vendors/smarty/current/plugins/modifier.capitalize.php
r5765 r6008 25 25 function smarty_modifier_capitalize($string, $uc_digits = false, $lc_rest = false) 26 26 { 27 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {27 if (Smarty::$_MBSTRING) { 28 28 if ($lc_rest) { 29 29 // uppercase (including hyphenated words) 30 $upper_string = mb_convert_case( $string, MB_CASE_TITLE, S MARTY_RESOURCE_CHAR_SET );30 $upper_string = mb_convert_case( $string, MB_CASE_TITLE, Smarty::$_CHARSET ); 31 31 } else { 32 32 // uppercase word breaks 33 $upper_string = preg_replace("!(^|[^\p{L}'])([\p{Ll}])! ueS", "stripslashes('\\1').mb_convert_case(stripslashes('\\2'),MB_CASE_UPPER, SMARTY_RESOURCE_CHAR_SET)", $string);33 $upper_string = preg_replace("!(^|[^\p{L}'])([\p{Ll}])!eS" . Smarty::$_UTF8_MODIFIER, "stripslashes('\\1').mb_convert_case(stripslashes('\\2'),MB_CASE_UPPER, '" . addslashes(Smarty::$_CHARSET) . "')", $string); 34 34 } 35 35 // check uc_digits case 36 36 if (!$uc_digits) { 37 if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b! u", $string, $matches, PREG_OFFSET_CAPTURE)) {37 if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!" . Smarty::$_UTF8_MODIFIER, $string, $matches, PREG_OFFSET_CAPTURE)) { 38 38 foreach($matches[1] as $match) { 39 $upper_string = substr_replace($upper_string, mb_strtolower($match[0], S MARTY_RESOURCE_CHAR_SET), $match[1], strlen($match[0]));39 $upper_string = substr_replace($upper_string, mb_strtolower($match[0], Smarty::$_CHARSET), $match[1], strlen($match[0])); 40 40 } 41 41 } 42 42 } 43 $upper_string = preg_replace("!((^|\s)['\"])(\w)! ue", "stripslashes('\\1').mb_convert_case(stripslashes('\\3'),MB_CASE_UPPER, SMARTY_RESOURCE_CHAR_SET)", $upper_string);43 $upper_string = preg_replace("!((^|\s)['\"])(\w)!e" . Smarty::$_UTF8_MODIFIER, "stripslashes('\\1').mb_convert_case(stripslashes('\\3'),MB_CASE_UPPER, '" . addslashes(Smarty::$_CHARSET) . "')", $upper_string); 44 44 return $upper_string; 45 45 } … … 50 50 } 51 51 // uppercase (including hyphenated words) 52 $upper_string = preg_replace("!(^|[^\p{L}'])([\p{Ll}])! ueS", "stripslashes('\\1').ucfirst(stripslashes('\\2'))", $string);52 $upper_string = preg_replace("!(^|[^\p{L}'])([\p{Ll}])!eS" . Smarty::$_UTF8_MODIFIER, "stripslashes('\\1').ucfirst(stripslashes('\\2'))", $string); 53 53 // check uc_digits case 54 54 if (!$uc_digits) { 55 if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b! u", $string, $matches, PREG_OFFSET_CAPTURE)) {55 if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!" . Smarty::$_UTF8_MODIFIER, $string, $matches, PREG_OFFSET_CAPTURE)) { 56 56 foreach($matches[1] as $match) { 57 57 $upper_string = substr_replace($upper_string, strtolower($match[0]), $match[1], strlen($match[0])); … … 59 59 } 60 60 } 61 $upper_string = preg_replace("!((^|\s)['\"])(\w)! ue", "stripslashes('\\1').strtoupper(stripslashes('\\3'))", $upper_string);61 $upper_string = preg_replace("!((^|\s)['\"])(\w)!e" . Smarty::$_UTF8_MODIFIER, "stripslashes('\\1').strtoupper(stripslashes('\\3'))", $upper_string); 62 62 return $upper_string; 63 63 } -
vendors/smarty/current/plugins/modifier.date_format.php
r5765 r6008 27 27 * @uses smarty_make_timestamp() 28 28 */ 29 function smarty_modifier_date_format($string, $format = SMARTY_RESOURCE_DATE_FORMAT, $default_date = '',$formatter='auto')29 function smarty_modifier_date_format($string, $format=null, $default_date='', $formatter='auto') 30 30 { 31 if ($format === null) { 32 $format = Smarty::$_DATE_FORMAT; 33 } 31 34 /** 32 35 * Include the {@link shared.make_timestamp.php} plugin -
vendors/smarty/current/plugins/modifier.debug_print_var.php
r5765 r6008 71 71 case 'string' : 72 72 $results = strtr($var, $_replace); 73 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {74 if (mb_strlen($var, S MARTY_RESOURCE_CHAR_SET) > $length) {75 $results = mb_substr($var, 0, $length - 3, S MARTY_RESOURCE_CHAR_SET) . '...';73 if (Smarty::$_MBSTRING) { 74 if (mb_strlen($var, Smarty::$_CHARSET) > $length) { 75 $results = mb_substr($var, 0, $length - 3, Smarty::$_CHARSET) . '...'; 76 76 } 77 77 } else { … … 87 87 default : 88 88 $results = strtr((string) $var, $_replace); 89 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {90 if (mb_strlen($results, S MARTY_RESOURCE_CHAR_SET) > $length) {91 $results = mb_substr($results, 0, $length - 3, S MARTY_RESOURCE_CHAR_SET) . '...';89 if (Smarty::$_MBSTRING) { 90 if (mb_strlen($results, Smarty::$_CHARSET) > $length) { 91 $results = mb_substr($results, 0, $length - 3, Smarty::$_CHARSET) . '...'; 92 92 } 93 93 } else { -
vendors/smarty/current/plugins/modifier.escape.php
r5765 r6008 25 25 { 26 26 if (!$char_set) { 27 $char_set = S MARTY_RESOURCE_CHAR_SET;27 $char_set = Smarty::$_CHARSET; 28 28 } 29 29 … … 33 33 34 34 case 'htmlall': 35 if (S MARTY_MBSTRING /* ^phpunit */ && empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {35 if (Smarty::$_MBSTRING) { 36 36 // mb_convert_encoding ignores htmlspecialchars() 37 37 $string = htmlspecialchars($string, ENT_QUOTES, $char_set, $double_encode); … … 65 65 case 'hexentity': 66 66 $return = ''; 67 if (S MARTY_MBSTRING /* ^phpunit */ && empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {67 if (Smarty::$_MBSTRING) { 68 68 require_once(SMARTY_PLUGINS_DIR . 'shared.mb_unicode.php'); 69 69 $return = ''; 70 foreach (smarty_mb_to_unicode($string, S MARTY_RESOURCE_CHAR_SET) as $unicode) {70 foreach (smarty_mb_to_unicode($string, Smarty::$_CHARSET) as $unicode) { 71 71 $return .= '&#x' . strtoupper(dechex($unicode)) . ';'; 72 72 } … … 82 82 case 'decentity': 83 83 $return = ''; 84 if (S MARTY_MBSTRING /* ^phpunit */ && empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {84 if (Smarty::$_MBSTRING) { 85 85 require_once(SMARTY_PLUGINS_DIR . 'shared.mb_unicode.php'); 86 86 $return = ''; 87 foreach (smarty_mb_to_unicode($string, S MARTY_RESOURCE_CHAR_SET) as $unicode) {87 foreach (smarty_mb_to_unicode($string, Smarty::$_CHARSET) as $unicode) { 88 88 $return .= '&#' . $unicode . ';'; 89 89 } … … 102 102 103 103 case 'mail': 104 if (S MARTY_MBSTRING /* ^phpunit */ && empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {104 if (Smarty::$_MBSTRING) { 105 105 require_once(SMARTY_PLUGINS_DIR . 'shared.mb_str_replace.php'); 106 106 return smarty_mb_str_replace(array('@', '.'), array(' [AT] ', ' [DOT] '), $string); … … 112 112 // escape non-standard chars, such as ms document quotes 113 113 $return = ''; 114 if (S MARTY_MBSTRING /* ^phpunit */ && empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {114 if (Smarty::$_MBSTRING) { 115 115 require_once(SMARTY_PLUGINS_DIR . 'shared.mb_unicode.php'); 116 foreach (smarty_mb_to_unicode($string, S MARTY_RESOURCE_CHAR_SET) as $unicode) {116 foreach (smarty_mb_to_unicode($string, Smarty::$_CHARSET) as $unicode) { 117 117 if ($unicode >= 126) { 118 118 $return .= '&#' . $unicode . ';'; -
vendors/smarty/current/plugins/modifier.replace.php
r5765 r6008 23 23 function smarty_modifier_replace($string, $search, $replace) 24 24 { 25 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {25 if (Smarty::$_MBSTRING) { 26 26 require_once(SMARTY_PLUGINS_DIR . 'shared.mb_str_replace.php'); 27 27 return smarty_mb_str_replace($search, $replace, $string); -
vendors/smarty/current/plugins/modifier.spacify.php
r5765 r6008 22 22 { 23 23 // well⊠what about charsets besides latin and UTF-8? 24 return implode($spacify_char, preg_split('// u', $string, -1, PREG_SPLIT_NO_EMPTY));24 return implode($spacify_char, preg_split('//' . Smarty::$_UTF8_MODIFIER, $string, -1, PREG_SPLIT_NO_EMPTY)); 25 25 } 26 26 -
vendors/smarty/current/plugins/modifier.truncate.php
r5765 r6008 29 29 return ''; 30 30 31 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {32 if (mb_strlen($string, S MARTY_RESOURCE_CHAR_SET) > $length) {33 $length -= min($length, mb_strlen($etc, S MARTY_RESOURCE_CHAR_SET));31 if (Smarty::$_MBSTRING) { 32 if (mb_strlen($string, Smarty::$_CHARSET) > $length) { 33 $length -= min($length, mb_strlen($etc, Smarty::$_CHARSET)); 34 34 if (!$break_words && !$middle) { 35 $string = preg_replace('/\s+?(\S+)?$/ u', '', mb_substr($string, 0, $length + 1, SMARTY_RESOURCE_CHAR_SET));35 $string = preg_replace('/\s+?(\S+)?$/' . Smarty::$_UTF8_MODIFIER, '', mb_substr($string, 0, $length + 1, Smarty::$_CHARSET)); 36 36 } 37 37 if (!$middle) { 38 return mb_substr($string, 0, $length, S MARTY_RESOURCE_CHAR_SET) . $etc;38 return mb_substr($string, 0, $length, Smarty::$_CHARSET) . $etc; 39 39 } 40 return mb_substr($string, 0, $length / 2, S MARTY_RESOURCE_CHAR_SET) . $etc . mb_substr($string, - $length / 2, $length, SMARTY_RESOURCE_CHAR_SET);40 return mb_substr($string, 0, $length / 2, Smarty::$_CHARSET) . $etc . mb_substr($string, - $length / 2, $length, Smarty::$_CHARSET); 41 41 } 42 42 return $string; -
vendors/smarty/current/plugins/modifiercompiler.count_characters.php
r5765 r6008 22 22 { 23 23 if (!isset($params[1]) || $params[1] != 'true') { 24 return 'preg_match_all(\'/[^\s]/ u\',' . $params[0] . ', $tmp)';24 return 'preg_match_all(\'/[^\s]/' . Smarty::$_UTF8_MODIFIER . '\',' . $params[0] . ', $tmp)'; 25 25 } 26 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {27 return 'mb_strlen(' . $params[0] . ', SMARTY_RESOURCE_CHAR_SET)';26 if (Smarty::$_MBSTRING) { 27 return 'mb_strlen(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')'; 28 28 } 29 29 // no MBString fallback -
vendors/smarty/current/plugins/modifiercompiler.count_sentences.php
r5765 r6008 23 23 { 24 24 // find periods, question marks, exclamation marks with a word before but not after. 25 return 'preg_match_all("#\w[\.\?\!](\W|$)# uS", ' . $params[0] . ', $tmp)';25 return 'preg_match_all("#\w[\.\?\!](\W|$)#S' . Smarty::$_UTF8_MODIFIER . '", ' . $params[0] . ', $tmp)'; 26 26 } 27 27 -
vendors/smarty/current/plugins/modifiercompiler.count_words.php
r5765 r6008 21 21 function smarty_modifiercompiler_count_words($params, $compiler) 22 22 { 23 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {24 // return 'preg_match_all(\'#[\w\pL]+# u\', ' . $params[0] . ', $tmp)';23 if (Smarty::$_MBSTRING) { 24 // return 'preg_match_all(\'#[\w\pL]+#' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)'; 25 25 // expression taken from http://de.php.net/manual/en/function.str-word-count.php#85592 26 return 'preg_match_all(\'/\p{L}[\p{L}\p{Mn}\p{Pd}\\\'\x{2019}]*/ u\', ' . $params[0] . ', $tmp)';26 return 'preg_match_all(\'/\p{L}[\p{L}\p{Mn}\p{Pd}\\\'\x{2019}]*/' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)'; 27 27 } 28 28 // no MBString fallback -
vendors/smarty/current/plugins/modifiercompiler.escape.php
r5765 r6008 28 28 try { 29 29 $esc_type = smarty_literal_compiler_param($params, 1, 'html'); 30 $char_set = smarty_literal_compiler_param($params, 2, S MARTY_RESOURCE_CHAR_SET);30 $char_set = smarty_literal_compiler_param($params, 2, Smarty::$_CHARSET); 31 31 $double_encode = smarty_literal_compiler_param($params, 3, true); 32 32 33 33 if (!$char_set) { 34 $char_set = S MARTY_RESOURCE_CHAR_SET;34 $char_set = Smarty::$_CHARSET; 35 35 } 36 36 … … 43 43 44 44 case 'htmlall': 45 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {45 if (Smarty::$_MBSTRING) { 46 46 return 'mb_convert_encoding(htmlspecialchars(' 47 47 . $params[0] .', ENT_QUOTES, ' -
vendors/smarty/current/plugins/modifiercompiler.from_charset.php
r5765 r6008 20 20 function smarty_modifiercompiler_from_charset($params, $compiler) 21 21 { 22 if (!S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {22 if (!Smarty::$_MBSTRING) { 23 23 // FIXME: (rodneyrehm) shouldn't this throw an error? 24 24 return $params[0]; … … 29 29 } 30 30 31 return 'mb_convert_encoding(' . $params[0] . ', SMARTY_RESOURCE_CHAR_SET, ' . $params[1] . ')';31 return 'mb_convert_encoding(' . $params[0] . ', "' . addslashes(Smarty::$_CHARSET) . '", ' . $params[1] . ')'; 32 32 } 33 33 -
vendors/smarty/current/plugins/modifiercompiler.lower.php
r5765 r6008 22 22 function smarty_modifiercompiler_lower($params, $compiler) 23 23 { 24 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {25 return 'mb_strtolower(' . $params[0] . ', SMARTY_RESOURCE_CHAR_SET)' ;24 if (Smarty::$_MBSTRING) { 25 return 'mb_strtolower(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')' ; 26 26 } 27 27 // no MBString fallback -
vendors/smarty/current/plugins/modifiercompiler.strip.php
r5765 r6008 28 28 $params[1] = "' '"; 29 29 } 30 return "preg_replace('!\s+! u', {$params[1]},{$params[0]})";30 return "preg_replace('!\s+!" . Smarty::$_UTF8_MODIFIER . "', {$params[1]},{$params[0]})"; 31 31 } 32 32 -
vendors/smarty/current/plugins/modifiercompiler.to_charset.php
r5765 r6008 20 20 function smarty_modifiercompiler_to_charset($params, $compiler) 21 21 { 22 if (!S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {22 if (!Smarty::$_MBSTRING) { 23 23 // FIXME: (rodneyrehm) shouldn't this throw an error? 24 24 return $params[0]; … … 29 29 } 30 30 31 return 'mb_convert_encoding(' . $params[0] . ', ' . $params[1] . ', SMARTY_RESOURCE_CHAR_SET)';31 return 'mb_convert_encoding(' . $params[0] . ', ' . $params[1] . ', "' . addslashes(Smarty::$_CHARSET) . '")'; 32 32 } 33 33 -
vendors/smarty/current/plugins/modifiercompiler.unescape.php
r5765 r6008 24 24 } 25 25 if (!isset($params[2])) { 26 $params[2] = "SMARTY_RESOURCE_CHAR_SET";26 $params[2] = '\'' . addslashes(Smarty::$_CHARSET) . '\''; 27 27 } else { 28 28 $params[2] = "'" . $params[2] . "'"; … … 33 33 return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')'; 34 34 case 'htmlall': 35 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {35 if (Smarty::$_MBSTRING) { 36 36 return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')'; 37 37 } -
vendors/smarty/current/plugins/modifiercompiler.upper.php
r5765 r6008 21 21 function smarty_modifiercompiler_upper($params, $compiler) 22 22 { 23 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {24 return 'mb_strtoupper(' . $params[0] . ', SMARTY_RESOURCE_CHAR_SET)' ;23 if (Smarty::$_MBSTRING) { 24 return 'mb_strtoupper(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')' ; 25 25 } 26 26 // no MBString fallback -
vendors/smarty/current/plugins/modifiercompiler.wordwrap.php
r5765 r6008 31 31 } 32 32 $function = 'wordwrap'; 33 if (S MARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {33 if (Smarty::$_MBSTRING) { 34 34 if ($compiler->tag_nocache | $compiler->nocache) { 35 35 $compiler->template->required_plugins['nocache']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR .'shared.mb_wordwrap.php'; -
vendors/smarty/current/plugins/shared.escape_special_chars.php
r5765 r6008 22 22 { 23 23 if (!is_array($string)) { 24 $string = htmlspecialchars($string, ENT_COMPAT, S MARTY_RESOURCE_CHAR_SET, false);24 $string = htmlspecialchars($string, ENT_COMPAT, Smarty::$_CHARSET, false); 25 25 } 26 26 return $string; -
vendors/smarty/current/plugins/shared.mb_wordwrap.php
r5765 r6008 23 23 { 24 24 // break words into tokens using white space as a delimiter 25 $tokens = preg_split('!(\s)! uS', $str, -1, PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE);25 $tokens = preg_split('!(\s)!S' . Smarty::$_UTF8_MODIFIER, $str, -1, PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE); 26 26 $length = 0; 27 27 $t = ''; … … 29 29 30 30 foreach ($tokens as $_token) { 31 $token_length = mb_strlen($_token, S MARTY_RESOURCE_CHAR_SET);31 $token_length = mb_strlen($_token, Smarty::$_CHARSET); 32 32 $_tokens = array($_token); 33 33 if ($token_length > $width) { 34 34 // remove last space 35 $t = mb_substr($t, 0, -1, S MARTY_RESOURCE_CHAR_SET);35 $t = mb_substr($t, 0, -1, Smarty::$_CHARSET); 36 36 $_previous = false; 37 37 $length = 0; 38 38 39 39 if ($cut) { 40 $_tokens = preg_split('!(.{' . $width . '})! uS', $_token, -1, PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE);40 $_tokens = preg_split('!(.{' . $width . '})!S' . Smarty::$_UTF8_MODIFIER, $_token, -1, PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE); 41 41 // broken words go on a new line 42 42 $t .= $break; … … 45 45 46 46 foreach ($_tokens as $token) { 47 $_space = !!preg_match('!^\s$! uS', $token);48 $token_length = mb_strlen($token, S MARTY_RESOURCE_CHAR_SET);47 $_space = !!preg_match('!^\s$!S' . Smarty::$_UTF8_MODIFIER, $token); 48 $token_length = mb_strlen($token, Smarty::$_CHARSET); 49 49 $length += $token_length; 50 50 … … 52 52 // remove space before inserted break 53 53 if ($_previous && $token_length < $width) { 54 $t = mb_substr($t, 0, -1, S MARTY_RESOURCE_CHAR_SET);54 $t = mb_substr($t, 0, -1, Smarty::$_CHARSET); 55 55 } 56 56 -
vendors/smarty/current/plugins/variablefilter.htmlspecialchars.php
r5765 r6008 16 16 function smarty_variablefilter_htmlspecialchars($source, $smarty) 17 17 { 18 return htmlspecialchars($source, ENT_QUOTES, S MARTY_RESOURCE_CHAR_SET);18 return htmlspecialchars($source, ENT_QUOTES, Smarty::$_CHARSET); 19 19 } 20 20 -
vendors/smarty/current/sysplugins/smarty_internal_compile_block.php
r5765 r6008 1 1 <?php 2 2 /** 3 * Smarty Internal Plugin Compile Block4 *5 * Compiles the {block}{/block} tags6 *7 * @package Smarty8 * @subpackage Compiler9 * @author Uwe Tews10 */3 * Smarty Internal Plugin Compile Block 4 * 5 * Compiles the {block}{/block} tags 6 * 7 * @package Smarty 8 * @subpackage Compiler 9 * @author Uwe Tews 10 */ 11 11 12 12 /** 13 * Smarty Internal Plugin Compile Block Class14 *15 * @package Smarty16 * @subpackage Compiler17 */13 * Smarty Internal Plugin Compile Block Class 14 * 15 * @package Smarty 16 * @subpackage Compiler 17 */ 18 18 class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase { 19 19 20 20 /** 21 * Attribute definition: Overwrites base class.22 *23 * @var array24 * @see Smarty_Internal_CompileBase25 */21 * Attribute definition: Overwrites base class. 22 * 23 * @var array 24 * @see Smarty_Internal_CompileBase 25 */ 26 26 public $required_attributes = array('name'); 27 27 /** 28 * Attribute definition: Overwrites base class.29 *30 * @var array31 * @see Smarty_Internal_CompileBase32 */28 * Attribute definition: Overwrites base class. 29 * 30 * @var array 31 * @see Smarty_Internal_CompileBase 32 */ 33 33 public $shorttag_order = array('name', 'hide'); 34 34 /** 35 * Attribute definition: Overwrites base class.36 *37 * @var array38 * @see Smarty_Internal_CompileBase39 */35 * Attribute definition: Overwrites base class. 36 * 37 * @var array 38 * @see Smarty_Internal_CompileBase 39 */ 40 40 public $optional_attributes = array('hide'); 41 41 42 42 /** 43 * Compiles code for the {block} tag44 *45 * @param array $args array with attributes from parser46 * @param object $compiler compiler object47 * @return boolean true48 */43 * Compiles code for the {block} tag 44 * 45 * @param array $args array with attributes from parser 46 * @param object $compiler compiler object 47 * @return boolean true 48 */ 49 49 public function compile($args, $compiler) 50 50 { 51 51 // check and get attributes 52 52 $_attr = $this->getAttributes($compiler, $args); 53 $save = array($_attr, $compiler->parser->current_buffer, $compiler->nocache, $compiler->smarty->merge_compiled_includes );53 $save = array($_attr, $compiler->parser->current_buffer, $compiler->nocache, $compiler->smarty->merge_compiled_includes, $compiler->merged_templates, $compiler->smarty->merged_templates_func, $compiler->template->properties, $compiler->template->has_nocache_code); 54 54 $this->openTag($compiler, 'block', $save); 55 55 if ($_attr['nocache'] == true) { … … 67 67 68 68 /** 69 * Save or replace child block source by block name during parsing70 *71 * @param string $block_content block source content72 * @param string $block_tag opening block tag73 * @param object $template template object74 * @param string $filepath filepath of template source75 */69 * Save or replace child block source by block name during parsing 70 * 71 * @param string $block_content block source content 72 * @param string $block_tag opening block tag 73 * @param object $template template object 74 * @param string $filepath filepath of template source 75 */ 76 76 public static function saveBlockData($block_content, $block_tag, $template, $filepath) 77 77 { 78 78 $_rdl = preg_quote($template->smarty->right_delimiter); 79 79 $_ldl = preg_quote($template->smarty->left_delimiter); 80 81 if (0 == preg_match("!({$_ldl}block\s+)(name=)?(\w+|'.*'|\".*\")(\s*?)?((append|prepend|nocache)?(\s*)?(hide)?)?(\s*{$_rdl})!", $block_tag, $_match)) { 80 if ($template->smarty->auto_literal) { 81 $al = '\s*'; 82 } else { 83 $al = ''; 84 } 85 if (0 == preg_match("!({$_ldl}{$al}block\s+)(name=)?(\w+|'.*'|\".*\")(\s*?)?((append|prepend|nocache)?(\s*)?(hide)?)?(\s*{$_rdl})!", $block_tag, $_match)) { 82 86 $error_text = 'Syntax Error in template "' . $template->source->filepath . '" "' . htmlspecialchars($block_tag) . '" illegal options'; 83 87 throw new SmartyCompilerException($error_text); … … 85 89 $_name = trim($_match[3], '\'"'); 86 90 if ($_match[8] != 'hide' || isset($template->block_data[$_name])) { // replace {$smarty.block.child} 87 if (strpos($block_content, $template->smarty->left_delimiter . '$smarty.block.child' . $template->smarty->right_delimiter) !== false) { 91 // do we have {$smart.block.child} in nested {block} tags? 92 if (0 != preg_match_all("!({$_ldl}{$al}block\s+)(name=)?(\w+|'.*'|\".*\")([\s\S]*?{$_rdl})([\s\S]*?)({$_ldl}{$al}\\\$smarty\.block\.child{$_rdl})([\s\S]*?{$_ldl}{$al}/block{$_rdl})!", $block_content, $_match2)) { 93 foreach($_match2[3] as $name) { 94 // get it's replacement 95 $_name2 = trim($name, '\'"'); 96 if (isset($template->block_data[$_name2])) { 97 $replacement = $template->block_data[$_name2]['source']; 98 } else { 99 $replacement = ''; 100 } 101 // replace {$smarty.block.child} tag 102 $search = array("%({$_ldl}{$al}block[\s\S]*?{$name}[\s\S]*?{$_rdl})([\s\S]*?)({$_ldl}{$al}\\\$smarty\.block\.child{$_rdl})([\s\S]*?{$_ldl}{$al}/block{$_rdl})%","/§§§child§§§/"); 103 $replace = array('\2§§§child§§§', $replacement); 104 $block_content = preg_replace($search, $replace , $block_content); 105 } 106 } 107 // do we have not nested {$smart.block.child} 108 if (0 != preg_match("/({$_ldl}{$al}\\\$smarty\.block\.child{$_rdl})/", $block_content, $_match2)) { 109 // get child replacement for this block 88 110 if (isset($template->block_data[$_name])) { 89 $block_content = str_replace($template->smarty->left_delimiter . '$smarty.block.child' . $template->smarty->right_delimiter, 90 $template->block_data[$_name]['source'], $block_content); 111 $replacement = $template->block_data[$_name]['source']; 91 112 unset($template->block_data[$_name]); 92 113 } else { 93 $block_content = str_replace($template->smarty->left_delimiter . '$smarty.block.child' . $template->smarty->right_delimiter, 94 '', $block_content); 114 $replacement = ''; 95 115 } 116 $block_content = preg_replace("/({$_ldl}{$al}\\\$smarty\.block\.child{$_rdl})/", $replacement, $block_content); 96 117 } 97 118 if (isset($template->block_data[$_name])) { … … 120 141 121 142 /** 122 * Compile saved child block source123 *124 * @param object $compiler compiler object125 * @param string $_name optional name of child block126 * @return string compiled code of schild block127 */143 * Compile saved child block source 144 * 145 * @param object $compiler compiler object 146 * @param string $_name optional name of child block 147 * @return string compiled code of schild block 148 */ 128 149 public static function compileChildBlock($compiler, $_name = null) 129 150 { … … 192 213 193 214 /** 194 * Smarty Internal Plugin Compile BlockClose Class195 *196 * @package Smarty197 * @subpackage Compiler215 * Smarty Internal Plugin Compile BlockClose Class 216 * 217 * @package Smarty 218 * @subpackage Compiler 198 219 */ 199 220 class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_CompileBase { 200 221 201 222 /** 202 * Compiles code for the {/block} tag203 *204 * @param array $args array with attributes from parser205 * @param object $compiler compiler object206 * @return string compiled code207 */223 * Compiles code for the {/block} tag 224 * 225 * @param array $args array with attributes from parser 226 * @param object $compiler compiler object 227 * @return string compiled code 228 */ 208 229 public function compile($args, $compiler) 209 230 { … … 214 235 $_name = trim($saved_data[0]['name'], "\"'"); 215 236 if (isset($compiler->template->block_data[$_name]) && !isset($compiler->template->block_data[$_name]['compiled'])) { 237 // restore to status before {block} tag as new subtemplate code of parent {block} is not needed 238 $compiler->merged_templates = $saved_data[4]; 239 $compiler->smarty->merged_templates_func = $saved_data[5]; 240 $compiler->template->properties = $saved_data[6]; 241 $compiler->template->has_nocache_code = $saved_data[7]; 216 242 $_output = Smarty_Internal_Compile_Block::compileChildBlock($compiler, $_name); 217 243 } else { -
vendors/smarty/current/sysplugins/smarty_internal_compile_capture.php
r5765 r6008 49 49 $append = isset($_attr['append']) ? $_attr['append'] : 'null'; 50 50 51 $compiler->_capture_stack[ ] = array($buffer, $assign, $append, $compiler->nocache);51 $compiler->_capture_stack[0][] = array($buffer, $assign, $append, $compiler->nocache); 52 52 // maybe nocache because of nocache variables 53 53 $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; 54 $_output = "<?php \$_smarty_tpl->_capture_stack[ ] = array($buffer, $assign, $append); ob_start(); ?>";54 $_output = "<?php \$_smarty_tpl->_capture_stack[0][] = array($buffer, $assign, $append); ob_start(); ?>"; 55 55 56 56 return $_output; … … 83 83 } 84 84 85 list($buffer, $assign, $append, $compiler->nocache) = array_pop($compiler->_capture_stack );85 list($buffer, $assign, $append, $compiler->nocache) = array_pop($compiler->_capture_stack[0]); 86 86 87 $_output = "<?php list(\$_capture_buffer, \$_capture_assign, \$_capture_append) = array_pop(\$_smarty_tpl->_capture_stack );\n";87 $_output = "<?php list(\$_capture_buffer, \$_capture_assign, \$_capture_append) = array_pop(\$_smarty_tpl->_capture_stack[0]);\n"; 88 88 $_output .= "if (!empty(\$_capture_buffer)) {\n"; 89 89 $_output .= " if (isset(\$_capture_assign)) \$_smarty_tpl->assign(\$_capture_assign, ob_get_contents());\n"; -
vendors/smarty/current/sysplugins/smarty_internal_compile_private_print_expression.php
r5765 r6008 84 84 // autoescape html 85 85 if ($compiler->template->smarty->escape_html) { 86 $output = "htmlspecialchars({$output}, ENT_QUOTES, SMARTY_RESOURCE_CHAR_SET)";86 $output = "htmlspecialchars({$output}, ENT_QUOTES, '" . addslashes(Smarty::$_CHARSET) . "')"; 87 87 } 88 88 // loop over registerd filters -
vendors/smarty/current/sysplugins/smarty_internal_configfilelexer.php
r5823 r6008 82 82 6 => 0, 83 83 7 => 0, 84 8 => 0, 84 85 ); 85 86 if ($this->counter >= strlen($this->data)) { 86 87 return false; // end of input 87 88 } 88 $yy_global_pattern = "/\G(#|;)|\G(\\[)|\G(\\])|\G(=)|\G([ \t\r]+)|\G(\n)|\G([0-9]*[a-zA-Z_]\\w*) /iS";89 $yy_global_pattern = "/\G(#|;)|\G(\\[)|\G(\\])|\G(=)|\G([ \t\r]+)|\G(\n)|\G([0-9]*[a-zA-Z_]\\w*)|\G([\S\s])/iS"; 89 90 90 91 do { … … 173 174 174 175 $this->token = Smarty_Internal_Configfileparser::TPC_ID; 176 } 177 function yy_r1_8($yy_subpatterns) 178 { 179 180 $this->token = Smarty_Internal_Configfileparser::TPC_OTHER; 175 181 } 176 182 … … 529 535 1 => 0, 530 536 2 => 0, 531 3 => 2,532 537 ); 533 538 if ($this->counter >= strlen($this->data)) { 534 539 return false; // end of input 535 540 } 536 $yy_global_pattern = "/\G(\"\"\"(?=[ \t\r]*[\n#;]))|\G([ \t\r]*\n)|\G(([\S\s]*?)(?=([ \t\r]*\n|\"\"\")))/iS";541 $yy_global_pattern = "/\G(\"\"\"(?=[ \t\r]*[\n#;]))|\G([\S\s])/iS"; 537 542 538 543 do { … … 594 599 { 595 600 596 $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_CONTENT; 597 } 598 function yy_r6_3($yy_subpatterns) 599 { 600 601 $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_CONTENT; 601 $to = strlen($this->data); 602 preg_match("/\"\"\"[ \t\r]*[\n#;]/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter); 603 if (isset($match[0][1])) { 604 $to = $match[0][1]; 605 } 606 $this->value = substr($this->data,$this->counter,$to-$this->counter); 607 $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_TEXT; 602 608 } 603 609 -
vendors/smarty/current/sysplugins/smarty_internal_configfileparser.php
r5823 r6008 192 192 const TPC_DOUBLE_QUOTED_STRING = 11; 193 193 const TPC_TRIPPLE_QUOTES = 12; 194 const TPC_TRIPPLE_QUOTES_END = 13; 195 const TPC_NAKED_STRING = 14; 196 const TPC_TRIPPLE_CONTENT = 15; 197 const TPC_NEWLINE = 16; 198 const TPC_COMMENTSTART = 17; 199 const YY_NO_ACTION = 61; 200 const YY_ACCEPT_ACTION = 60; 201 const YY_ERROR_ACTION = 59; 202 203 const YY_SZ_ACTTAB = 39; 194 const TPC_TRIPPLE_TEXT = 13; 195 const TPC_TRIPPLE_QUOTES_END = 14; 196 const TPC_NAKED_STRING = 15; 197 const TPC_OTHER = 16; 198 const TPC_NEWLINE = 17; 199 const TPC_COMMENTSTART = 18; 200 const YY_NO_ACTION = 60; 201 const YY_ACCEPT_ACTION = 59; 202 const YY_ERROR_ACTION = 58; 203 204 const YY_SZ_ACTTAB = 38; 204 205 static public $yy_action = array( 205 /* 0 */ 29, 30, 34, 33, 24, 7, 19, 21, 60, 9,206 /* 10 */ 16, 1, 20, 14, 15, 6, 23, 20, 14, 32,207 /* 20 */ 1 7, 31, 18, 27, 26, 2, 3, 5, 25, 22,208 /* 30 */ 35, 4, 13, 11, 10, 12, 53, 28, 8,206 /* 0 */ 29, 30, 34, 33, 24, 13, 19, 25, 35, 21, 207 /* 10 */ 59, 8, 3, 1, 20, 12, 14, 31, 20, 12, 208 /* 20 */ 15, 17, 23, 18, 27, 26, 4, 5, 6, 32, 209 /* 30 */ 2, 11, 28, 22, 16, 9, 7, 10, 209 210 ); 210 211 static public $yy_lookahead = array( 211 /* 0 */ 7, 8, 9, 10, 11, 12, 5, 14, 19, 20,212 /* 10 */ 2, 22, 16, 17, 14, 3, 16, 16, 17, 13,213 /* 20 */ 2, 15, 4, 24, 25, 22, 22, 3, 26, 16,214 /* 30 */ 15, 6, 27, 24, 24, 1, 28, 23, 21,212 /* 0 */ 7, 8, 9, 10, 11, 12, 5, 27, 15, 16, 213 /* 10 */ 20, 21, 23, 23, 17, 18, 13, 14, 17, 18, 214 /* 20 */ 15, 2, 17, 4, 25, 26, 6, 3, 3, 14, 215 /* 30 */ 23, 1, 24, 17, 2, 25, 22, 25, 215 216 ); 216 217 const YY_SHIFT_USE_DFLT = -8; 217 218 const YY_SHIFT_MAX = 19; 218 219 static public $yy_shift_ofst = array( 219 /* 0 */ -8, 1, 1, 1, -7, - 4, -4, 15, 34, -8,220 /* 10 */ -8, -8, 18, 6, 0, 13, 24, 12, 8, 25,220 /* 0 */ -8, 1, 1, 1, -7, -3, -3, 30, -8, -8, 221 /* 10 */ -8, 19, 5, 3, 15, 16, 24, 25, 32, 20, 221 222 ); 222 const YY_REDUCE_USE_DFLT = - 12;223 const YY_REDUCE_MAX = 1 1;223 const YY_REDUCE_USE_DFLT = -21; 224 const YY_REDUCE_MAX = 10; 224 225 static public $yy_reduce_ofst = array( 225 /* 0 */ -1 1, -1, -1, -1, 2, 10, 9, 5, 14, 17,226 /* 10 */ 3, 4,226 /* 0 */ -10, -1, -1, -1, -20, 10, 12, 8, 14, 7, 227 /* 10 */ -11, 227 228 ); 228 229 static public $yyExpectedTokens = array( 229 230 /* 0 */ array(), 230 /* 1 */ array(5, 1 6, 17, ),231 /* 2 */ array(5, 1 6, 17, ),232 /* 3 */ array(5, 1 6, 17, ),233 /* 4 */ array(7, 8, 9, 10, 11, 12, 1 4, ),234 /* 5 */ array(1 6, 17, ),235 /* 6 */ array(1 6, 17, ),236 /* 7 */ array(1 5, ),237 /* 8 */ array( 1,),231 /* 1 */ array(5, 17, 18, ), 232 /* 2 */ array(5, 17, 18, ), 233 /* 3 */ array(5, 17, 18, ), 234 /* 4 */ array(7, 8, 9, 10, 11, 12, 15, 16, ), 235 /* 5 */ array(17, 18, ), 236 /* 6 */ array(17, 18, ), 237 /* 7 */ array(1, ), 238 /* 8 */ array(), 238 239 /* 9 */ array(), 239 240 /* 10 */ array(), 240 /* 11 */ array( ),241 /* 12 */ array( 2, 4, ),242 /* 13 */ array(13, 1 5, ),243 /* 14 */ array(14, 16,),244 /* 15 */ array(1 6, ),241 /* 11 */ array(2, 4, ), 242 /* 12 */ array(15, 17, ), 243 /* 13 */ array(13, 14, ), 244 /* 14 */ array(14, ), 245 /* 15 */ array(17, ), 245 246 /* 16 */ array(3, ), 246 247 /* 17 */ array(3, ), … … 265 266 ); 266 267 static public $yy_default = array( 267 /* 0 */ 44, 37, 41, 40, 5 9, 59, 59, 55, 36, 39,268 /* 10 */ 44, 44, 59, 59, 59, 59, 59, 59, 59, 59,269 /* 20 */ 5 6, 52, 58, 57, 50, 45, 43, 42, 38, 46,270 /* 30 */ 47, 5 3, 51, 49, 48, 54,268 /* 0 */ 44, 37, 41, 40, 58, 58, 58, 36, 39, 44, 269 /* 10 */ 44, 58, 58, 58, 58, 58, 58, 58, 58, 58, 270 /* 20 */ 55, 54, 57, 56, 50, 45, 43, 42, 38, 46, 271 /* 30 */ 47, 52, 51, 49, 48, 53, 271 272 ); 272 273 const YYNOCODE = 29; 273 274 const YYSTACKDEPTH = 100; 274 275 const YYNSTATE = 36; 275 const YYNRULE = 2 3;276 const YYERRORSYMBOL = 1 8;276 const YYNRULE = 22; 277 const YYERRORSYMBOL = 19; 277 278 const YYERRSYMDT = 'yy0'; 278 279 const YYFALLBACK = 0; … … 306 307 'DOT', 'ID', 'EQUAL', 'FLOAT', 307 308 'INT', 'BOOL', 'SINGLE_QUOTED_STRING', 'DOUBLE_QUOTED_STRING', 308 'TRIPPLE_QUOTES', 'TRIPPLE_ QUOTES_END', 'NAKED_STRING', 'TRIPPLE_CONTENT',309 ' NEWLINE', 'COMMENTSTART', 'error', 'start',310 ' global_vars', 'sections', 'var_list', 'section',311 ' newline', 'var', 'value', 'tripple_content',309 'TRIPPLE_QUOTES', 'TRIPPLE_TEXT', 'TRIPPLE_QUOTES_END', 'NAKED_STRING', 310 'OTHER', 'NEWLINE', 'COMMENTSTART', 'error', 311 'start', 'global_vars', 'sections', 'var_list', 312 'section', 'newline', 'var', 'value', 312 313 ); 313 314 … … 328 329 /* 13 */ "value ::= SINGLE_QUOTED_STRING", 329 330 /* 14 */ "value ::= DOUBLE_QUOTED_STRING", 330 /* 15 */ "value ::= TRIPPLE_QUOTES tripple_content TRIPPLE_QUOTES_END", 331 /* 16 */ "value ::= NAKED_STRING", 332 /* 17 */ "tripple_content ::= tripple_content TRIPPLE_CONTENT", 333 /* 18 */ "tripple_content ::= TRIPPLE_CONTENT", 334 /* 19 */ "tripple_content ::=", 335 /* 20 */ "newline ::= NEWLINE", 336 /* 21 */ "newline ::= COMMENTSTART NEWLINE", 337 /* 22 */ "newline ::= COMMENTSTART NAKED_STRING NEWLINE", 331 /* 15 */ "value ::= TRIPPLE_QUOTES TRIPPLE_TEXT TRIPPLE_QUOTES_END", 332 /* 16 */ "value ::= TRIPPLE_QUOTES TRIPPLE_QUOTES_END", 333 /* 17 */ "value ::= NAKED_STRING", 334 /* 18 */ "value ::= OTHER", 335 /* 19 */ "newline ::= NEWLINE", 336 /* 20 */ "newline ::= COMMENTSTART NEWLINE", 337 /* 21 */ "newline ::= COMMENTSTART NAKED_STRING NEWLINE", 338 338 ); 339 339 … … 616 616 617 617 static public $yyRuleInfo = array( 618 array( 'lhs' => 19, 'rhs' => 2 ), 619 array( 'lhs' => 20, 'rhs' => 1 ), 620 array( 'lhs' => 21, 'rhs' => 2 ), 621 array( 'lhs' => 21, 'rhs' => 0 ), 622 array( 'lhs' => 23, 'rhs' => 5 ), 623 array( 'lhs' => 23, 'rhs' => 6 ), 624 array( 'lhs' => 22, 'rhs' => 2 ), 618 array( 'lhs' => 20, 'rhs' => 2 ), 619 array( 'lhs' => 21, 'rhs' => 1 ), 625 620 array( 'lhs' => 22, 'rhs' => 2 ), 626 621 array( 'lhs' => 22, 'rhs' => 0 ), 627 array( 'lhs' => 25, 'rhs' => 3 ), 628 array( 'lhs' => 26, 'rhs' => 1 ), 629 array( 'lhs' => 26, 'rhs' => 1 ), 630 array( 'lhs' => 26, 'rhs' => 1 ), 631 array( 'lhs' => 26, 'rhs' => 1 ), 632 array( 'lhs' => 26, 'rhs' => 1 ), 622 array( 'lhs' => 24, 'rhs' => 5 ), 623 array( 'lhs' => 24, 'rhs' => 6 ), 624 array( 'lhs' => 23, 'rhs' => 2 ), 625 array( 'lhs' => 23, 'rhs' => 2 ), 626 array( 'lhs' => 23, 'rhs' => 0 ), 633 627 array( 'lhs' => 26, 'rhs' => 3 ), 634 array( 'lhs' => 26, 'rhs' => 1 ), 628 array( 'lhs' => 27, 'rhs' => 1 ), 629 array( 'lhs' => 27, 'rhs' => 1 ), 630 array( 'lhs' => 27, 'rhs' => 1 ), 631 array( 'lhs' => 27, 'rhs' => 1 ), 632 array( 'lhs' => 27, 'rhs' => 1 ), 633 array( 'lhs' => 27, 'rhs' => 3 ), 635 634 array( 'lhs' => 27, 'rhs' => 2 ), 636 635 array( 'lhs' => 27, 'rhs' => 1 ), 637 array( 'lhs' => 27, 'rhs' => 0),638 array( 'lhs' => 2 4, 'rhs' => 1 ),639 array( 'lhs' => 2 4, 'rhs' => 2 ),640 array( 'lhs' => 2 4, 'rhs' => 3 ),636 array( 'lhs' => 27, 'rhs' => 1 ), 637 array( 'lhs' => 25, 'rhs' => 1 ), 638 array( 'lhs' => 25, 'rhs' => 2 ), 639 array( 'lhs' => 25, 'rhs' => 3 ), 641 640 ); 642 641 … … 645 644 2 => 0, 646 645 3 => 0, 646 19 => 0, 647 647 20 => 0, 648 648 21 => 0, 649 22 => 0,650 649 1 => 1, 651 650 4 => 4, … … 662 661 15 => 15, 663 662 16 => 16, 664 18 => 16,665 663 17 => 17, 666 1 9 => 19,664 18 => 17, 667 665 ); 668 666 #line 131 "smarty_internal_configfileparser.y" … … 670 668 $this->_retvalue = null; 671 669 } 672 #line 66 8"smarty_internal_configfileparser.php"670 #line 666 "smarty_internal_configfileparser.php" 673 671 #line 136 "smarty_internal_configfileparser.y" 674 672 function yy_r1(){ 675 673 $this->add_global_vars($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = null; 676 674 } 677 #line 67 3"smarty_internal_configfileparser.php"675 #line 671 "smarty_internal_configfileparser.php" 678 676 #line 149 "smarty_internal_configfileparser.y" 679 677 function yy_r4(){ … … 681 679 $this->_retvalue = null; 682 680 } 683 #line 67 9"smarty_internal_configfileparser.php"681 #line 677 "smarty_internal_configfileparser.php" 684 682 #line 154 "smarty_internal_configfileparser.y" 685 683 function yy_r5(){ … … 689 687 $this->_retvalue = null; 690 688 } 691 #line 68 7"smarty_internal_configfileparser.php"689 #line 685 "smarty_internal_configfileparser.php" 692 690 #line 162 "smarty_internal_configfileparser.y" 693 691 function yy_r6(){ 694 692 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; 695 693 } 696 #line 69 2"smarty_internal_configfileparser.php"694 #line 690 "smarty_internal_configfileparser.php" 697 695 #line 166 "smarty_internal_configfileparser.y" 698 696 function yy_r7(){ 699 697 $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor, Array($this->yystack[$this->yyidx + 0]->minor)); 700 698 } 701 #line 69 7"smarty_internal_configfileparser.php"699 #line 695 "smarty_internal_configfileparser.php" 702 700 #line 170 "smarty_internal_configfileparser.y" 703 701 function yy_r8(){ 704 702 $this->_retvalue = Array(); 705 703 } 706 #line 70 2"smarty_internal_configfileparser.php"704 #line 700 "smarty_internal_configfileparser.php" 707 705 #line 176 "smarty_internal_configfileparser.y" 708 706 function yy_r9(){ 709 707 $this->_retvalue = Array("key" => $this->yystack[$this->yyidx + -2]->minor, "value" => $this->yystack[$this->yyidx + 0]->minor); 710 708 } 711 #line 70 7"smarty_internal_configfileparser.php"709 #line 705 "smarty_internal_configfileparser.php" 712 710 #line 181 "smarty_internal_configfileparser.y" 713 711 function yy_r10(){ 714 712 $this->_retvalue = (float) $this->yystack[$this->yyidx + 0]->minor; 715 713 } 716 #line 71 2"smarty_internal_configfileparser.php"714 #line 710 "smarty_internal_configfileparser.php" 717 715 #line 185 "smarty_internal_configfileparser.y" 718 716 function yy_r11(){ 719 717 $this->_retvalue = (int) $this->yystack[$this->yyidx + 0]->minor; 720 718 } 721 #line 71 7"smarty_internal_configfileparser.php"719 #line 715 "smarty_internal_configfileparser.php" 722 720 #line 189 "smarty_internal_configfileparser.y" 723 721 function yy_r12(){ 724 722 $this->_retvalue = $this->parse_bool($this->yystack[$this->yyidx + 0]->minor); 725 723 } 726 #line 72 2"smarty_internal_configfileparser.php"724 #line 720 "smarty_internal_configfileparser.php" 727 725 #line 193 "smarty_internal_configfileparser.y" 728 726 function yy_r13(){ 729 727 $this->_retvalue = self::parse_single_quoted_string($this->yystack[$this->yyidx + 0]->minor); 730 728 } 731 #line 72 7"smarty_internal_configfileparser.php"729 #line 725 "smarty_internal_configfileparser.php" 732 730 #line 197 "smarty_internal_configfileparser.y" 733 731 function yy_r14(){ 734 732 $this->_retvalue = self::parse_double_quoted_string($this->yystack[$this->yyidx + 0]->minor); 735 733 } 736 #line 73 2"smarty_internal_configfileparser.php"734 #line 730 "smarty_internal_configfileparser.php" 737 735 #line 201 "smarty_internal_configfileparser.y" 738 736 function yy_r15(){ 739 737 $this->_retvalue = self::parse_tripple_double_quoted_string($this->yystack[$this->yyidx + -1]->minor); 740 738 } 741 #line 73 7"smarty_internal_configfileparser.php"739 #line 735 "smarty_internal_configfileparser.php" 742 740 #line 205 "smarty_internal_configfileparser.y" 743 741 function yy_r16(){ 742 $this->_retvalue = ''; 743 } 744 #line 740 "smarty_internal_configfileparser.php" 745 #line 209 "smarty_internal_configfileparser.y" 746 function yy_r17(){ 744 747 $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; 745 748 } 746 #line 742 "smarty_internal_configfileparser.php" 747 #line 210 "smarty_internal_configfileparser.y" 748 function yy_r17(){ 749 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor . $this->yystack[$this->yyidx + 0]->minor; 750 } 751 #line 747 "smarty_internal_configfileparser.php" 752 #line 216 "smarty_internal_configfileparser.y" 753 function yy_r19(){ 754 $this->_retvalue = ''; 755 } 756 #line 752 "smarty_internal_configfileparser.php" 749 #line 745 "smarty_internal_configfileparser.php" 757 750 758 751 private $_retvalue; … … 816 809 $this->yymajor = $yymajor; 817 810 $this->compiler->trigger_config_file_error(); 818 #line 8 15"smarty_internal_configfileparser.php"811 #line 808 "smarty_internal_configfileparser.php" 819 812 } 820 813 … … 833 826 $this->retvalue = $this->_retvalue; 834 827 //echo $this->retvalue."\n\n"; 835 #line 8 33"smarty_internal_configfileparser.php"828 #line 826 "smarty_internal_configfileparser.php" 836 829 } 837 830 -
vendors/smarty/current/sysplugins/smarty_internal_template.php
r5823 r6008 98 98 * @var array 99 99 */ 100 public $_capture_stack = array( );100 public $_capture_stack = array(0 => array()); 101 101 102 102 /** -
vendors/smarty/current/sysplugins/smarty_internal_templatebase.php
r5823 r6008 44 44 // create template object if necessary 45 45 $_template = ($template instanceof $this->template_class) 46 ? $template47 : $this->smarty->createTemplate($template, $cache_id, $compile_id, $parent, false);46 ? $template 47 : $this->smarty->createTemplate($template, $cache_id, $compile_id, $parent, false); 48 48 // if called by Smarty object make sure we use current caching status 49 49 if ($this instanceof Smarty) { … … 174 174 throw new SmartyException("Invalid compiled template for '{$_template->template_resource}'"); 175 175 } 176 array_unshift($_template->_capture_stack,array()); 177 // 178 // render compiled template 179 // 176 180 $_template->properties['unifunc']($_template); 177 if (isset($_template->_capture_stack[0])) { 181 // any unclosed {capture} tags ? 182 if (isset($_template->_capture_stack[0][0])) { 178 183 $_template->capture_error(); 179 184 } 185 array_shift($_template->_capture_stack); 180 186 } catch (Exception $e) { 181 187 ob_get_clean(); … … 269 275 try { 270 276 ob_start(); 277 array_unshift($_template->_capture_stack,array()); 278 // 279 // render cached template 280 // 271 281 $_template->properties['unifunc']($_template); 272 if (isset($_template->_capture_stack[0])) { 282 // any unclosed {capture} tags ? 283 if (isset($_template->_capture_stack[0][0])) { 273 284 $_template->capture_error(); 274 285 } 286 array_shift($_template->_capture_stack); 275 287 $_output = ob_get_clean(); 276 288 } catch (Exception $e) { … … 298 310 case 'cgi-fcgi': // php-cgi >= 5.3 299 311 case 'fpm-fcgi': // php-fpm >= 5.3.3 300 header('Status: 304 Not Modified');301 break;312 header('Status: 304 Not Modified'); 313 break; 302 314 303 315 case 'cli': 304 if (/* ^phpunit */!empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS'])/* phpunit$ */) {305 $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = '304 Not Modified';306 }307 break;316 if (/* ^phpunit */!empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS'])/* phpunit$ */) { 317 $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = '304 Not Modified'; 318 } 319 break; 308 320 309 321 default: 310 header('HTTP/1.1 304 Not Modified');311 break;322 header('HTTP/1.1 304 Not Modified'); 323 break; 312 324 } 313 325 } else { 314 326 switch (PHP_SAPI) { 315 327 case 'cli': 316 if (/* ^phpunit */!empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS'])/* phpunit$ */) {317 $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = 'Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->cached->timestamp) . ' GMT';318 }319 break;328 if (/* ^phpunit */!empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS'])/* phpunit$ */) { 329 $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = 'Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->cached->timestamp) . ' GMT'; 330 } 331 break; 320 332 321 333 default: 322 header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->cached->timestamp) . ' GMT');323 break;334 header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->cached->timestamp) . ' GMT'); 335 break; 324 336 } 325 337 echo $_output; … … 406 418 * @param boolean $cacheable if true (default) this fuction is cachable 407 419 * @param array $cache_attr caching attributes if any 420 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 408 421 * @throws SmartyException when the plugin tag is invalid 409 422 */ … … 417 430 $this->smarty->registered_plugins[$type][$tag] = array($callback, (bool) $cacheable, (array) $cache_attr); 418 431 } 432 433 return $this; 419 434 } 420 435 … … 424 439 * @param string $type of plugin 425 440 * @param string $tag name of plugin 441 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 426 442 */ 427 443 public function unregisterPlugin($type, $tag) … … 430 446 unset($this->smarty->registered_plugins[$type][$tag]); 431 447 } 448 449 return $this; 432 450 } 433 451 … … 437 455 * @param string $type name of resource type 438 456 * @param Smarty_Resource|array $callback or instance of Smarty_Resource, or array of callbacks to handle resource (deprecated) 457 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 439 458 */ 440 459 public function registerResource($type, $callback) 441 460 { 442 461 $this->smarty->registered_resources[$type] = $callback instanceof Smarty_Resource ? $callback : array($callback, false); 462 return $this; 443 463 } 444 464 … … 447 467 * 448 468 * @param string $type name of resource type 469 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 449 470 */ 450 471 public function unregisterResource($type) … … 453 474 unset($this->smarty->registered_resources[$type]); 454 475 } 476 477 return $this; 455 478 } 456 479 … … 460 483 * @param string $type name of cache resource type 461 484 * @param Smarty_CacheResource $callback instance of Smarty_CacheResource to handle output caching 485 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 462 486 */ 463 487 public function registerCacheResource($type, Smarty_CacheResource $callback) 464 488 { 465 489 $this->smarty->registered_cache_resources[$type] = $callback; 490 return $this; 466 491 } 467 492 … … 470 495 * 471 496 * @param string $type name of cache resource type 497 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 472 498 */ 473 499 public function unregisterCacheResource($type) … … 476 502 unset($this->smarty->registered_cache_resources[$type]); 477 503 } 504 505 return $this; 478 506 } 479 507 … … 487 515 * @param array $block_methods list of block-methods 488 516 * @param array $block_functs list of methods that are block format 517 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 489 518 * @throws SmartyException if any of the methods in $allowed or $block_methods are invalid 490 519 */ … … 509 538 // register the object 510 539 $this->smarty->registered_objects[$object_name] = 511 array($object_impl, (array) $allowed, (boolean) $smarty_args, (array) $block_methods); 540 array($object_impl, (array) $allowed, (boolean) $smarty_args, (array) $block_methods); 541 return $this; 512 542 } 513 543 … … 534 564 * 535 565 * @param string $name object name 536 * @ throws SmartyException if no such object is found566 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 537 567 */ 538 568 public function unregisterObject($name) 539 569 { 540 unset($this->smarty->registered_objects[$name]); 541 return; 570 if (isset($this->smarty->registered_objects[$name])) { 571 unset($this->smarty->registered_objects[$name]); 572 } 573 574 return $this; 542 575 } 543 576 … … 547 580 * @param string $class name of template class 548 581 * @param string $class_impl the referenced PHP class to register 582 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 549 583 * @throws SmartyException if $class_impl does not refer to an existing class 550 584 */ … … 557 591 // register the class 558 592 $this->smarty->registered_classes[$class_name] = $class_impl; 593 return $this; 559 594 } 560 595 … … 563 598 * 564 599 * @param callable $callback class/method name 600 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 565 601 * @throws SmartyException if $callback is not callable 566 602 */ … … 572 608 throw new SmartyException("Default plugin handler '$callback' not callable"); 573 609 } 610 611 return $this; 574 612 } 575 613 … … 578 616 * 579 617 * @param callable $callback class/method name 618 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 580 619 * @throws SmartyException if $callback is not callable 581 620 */ … … 587 626 throw new SmartyException("Default template handler '$callback' not callable"); 588 627 } 628 629 return $this; 589 630 } 590 631 … … 593 634 * 594 635 * @param callable $callback class/method name 636 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 595 637 * @throws SmartyException if $callback is not callable 596 638 */ … … 602 644 throw new SmartyException("Default config handler '$callback' not callable"); 603 645 } 646 647 return $this; 604 648 } 605 649 … … 609 653 * @param string $type filter type 610 654 * @param callback $callback 655 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 611 656 */ 612 657 public function registerFilter($type, $callback) 613 658 { 614 659 $this->smarty->registered_filters[$type][$this->_get_filter_name($callback)] = $callback; 660 return $this; 615 661 } 616 662 … … 620 666 * @param string $type filter type 621 667 * @param callback $callback 668 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 622 669 */ 623 670 public function unregisterFilter($type, $callback) … … 627 674 unset($this->smarty->registered_filters[$type][$name]); 628 675 } 676 677 return $this; 629 678 } 630 679 … … 633 682 * 634 683 * @param callback $function_name 684 * @return string internal filter name 635 685 */ 636 686 public function _get_filter_name($function_name) … … 638 688 if (is_array($function_name)) { 639 689 $_class_name = (is_object($function_name[0]) ? 640 get_class($function_name[0]) : $function_name[0]);690 get_class($function_name[0]) : $function_name[0]); 641 691 return $_class_name . '_' . $function_name[1]; 642 692 } else { … … 650 700 * @param string $type filter type 651 701 * @param string $name filter name 652 * @ return bool702 * @throws SmartyException if filter could not be loaded 653 703 */ 654 704 public function loadFilter($type, $name) … … 666 716 } 667 717 throw new SmartyException("{$type}filter \"{$name}\" not callable"); 668 return false;669 718 } 670 719 … … 674 723 * @param string $type filter type 675 724 * @param string $name filter name 676 * @return bool725 * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining 677 726 */ 678 727 public function unloadFilter($type, $name) … … 681 730 if (isset($this->smarty->registered_filters[$type][$_filter_name])) { 682 731 unset ($this->smarty->registered_filters[$type][$_filter_name]); 683 return true; 684 } else { 685 return false; 686 } 732 } 733 734 return $this; 687 735 } 688 736 … … 691 739 * 692 740 * @param string $match match string 693 * @return string replacemant741 * @return string replacemant 694 742 */ 695 743 private function replaceCamelcase($match) { … … 739 787 if ($_is_this) { 740 788 if ($first3 == 'get') 741 return $this->$property_name;789 return $this->$property_name; 742 790 else 743 return $this->$property_name = $args[0];791 return $this->$property_name = $args[0]; 744 792 } else if ($_is_this === false) { 745 793 if ($first3 == 'get') 746 return $this->smarty->$property_name;794 return $this->smarty->$property_name; 747 795 else 748 return $this->smarty->$property_name = $args[0];796 return $this->smarty->$property_name = $args[0]; 749 797 } else { 750 798 throw new SmartyException("property '$property_name' does not exist."); -
vendors/smarty/current/sysplugins/smarty_internal_templatelexer.php
r5823 r6008 21 21 public $taglineno; 22 22 public $state = 1; 23 public $strip = false;24 23 private $heredoc_id_stack = Array(); 25 24 public $smarty_token_names = array ( // Text for parser error messages … … 63 62 'QMARK' => '"?"', 64 63 'ID' => 'identifier', 65 'OTHER' => 'text', 66 'LINEBREAK' => 'newline', 64 'TEXT' => 'text', 67 65 'FAKEPHPSTARTTAG' => 'Fake PHP start tag', 68 66 'PHPSTARTTAG' => 'PHP start tag', … … 132 130 9 => 0, 133 131 10 => 0, 134 11 => 0,135 1 2 => 1,132 11 => 1, 133 13 => 0, 136 134 14 => 0, 137 135 15 => 0, … … 144 142 22 => 0, 145 143 23 => 0, 146 24 => 2,147 27 => 0,148 28 => 0,149 144 ); 150 145 if ($this->counter >= strlen($this->data)) { 151 146 return false; // end of input 152 147 } 153 $yy_global_pattern = "/\G(".$this->ldel."[$]smarty\\.block\\.child".$this->rdel.")|\G(\\{\\})|\G(".$this->ldel."\\*([\S\s]*?)\\*".$this->rdel.")|\G( [\t ]*[\r\n]+[\t ]*)|\G(".$this->ldel."strip".$this->rdel.")|\G(".$this->ldel."\\s{1,}strip\\s{1,}".$this->rdel.")|\G(".$this->ldel."\/strip".$this->rdel.")|\G(".$this->ldel."\\s{1,}\/strip\\s{1,}".$this->rdel.")|\G(".$this->ldel."\\s*literal\\s*".$this->rdel.")|\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s*setfilter\\s+)|\G(".$this->ldel."\\s{1,})|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|\G(\\?>)|\G(<%)|\G(%>)|\G(([\S\s]*?)(?=([\t ]*[\r\n]+[\t ]*|".$this->ldel."|<\\?|\\?>|<%|%>)))|\G([\S\s]+)|\G(.)/iS";148 $yy_global_pattern = "/\G(".$this->ldel."[$]smarty\\.block\\.child".$this->rdel.")|\G(\\{\\})|\G(".$this->ldel."\\*([\S\s]*?)\\*".$this->rdel.")|\G(".$this->ldel."strip".$this->rdel.")|\G(".$this->ldel."\\s{1,}strip\\s{1,}".$this->rdel.")|\G(".$this->ldel."\/strip".$this->rdel.")|\G(".$this->ldel."\\s{1,}\/strip\\s{1,}".$this->rdel.")|\G(".$this->ldel."\\s*literal\\s*".$this->rdel.")|\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s*setfilter\\s+)|\G(".$this->ldel."\\s{1,})|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|\G(\\?>)|\G(<%)|\G(%>)|\G([\S\s])/iS"; 154 149 155 150 do { … … 209 204 { 210 205 211 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;206 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 212 207 } 213 208 function yy_r1_3($yy_subpatterns) … … 219 214 { 220 215 221 if ($this->strip) { 222 return false; 223 } else { 224 $this->token = Smarty_Internal_Templateparser::TP_LINEBREAK; 225 } 216 $this->token = Smarty_Internal_Templateparser::TP_STRIPON; 226 217 } 227 218 function yy_r1_6($yy_subpatterns) 228 219 { 229 220 230 $this->strip = true; 231 return false; 221 if ($this->smarty->auto_literal) { 222 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 223 } else { 224 $this->token = Smarty_Internal_Templateparser::TP_STRIPON; 225 } 232 226 } 233 227 function yy_r1_7($yy_subpatterns) 234 228 { 235 229 230 $this->token = Smarty_Internal_Templateparser::TP_STRIPOFF; 231 } 232 function yy_r1_8($yy_subpatterns) 233 { 234 236 235 if ($this->smarty->auto_literal) { 237 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 238 } else { 239 $this->strip = true; 240 return false; 241 } 242 } 243 function yy_r1_8($yy_subpatterns) 244 { 245 246 $this->strip = false; 247 return false; 236 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 237 } else { 238 $this->token = Smarty_Internal_Templateparser::TP_STRIPOFF; 239 } 248 240 } 249 241 function yy_r1_9($yy_subpatterns) 250 {251 252 if ($this->smarty->auto_literal) {253 $this->token = Smarty_Internal_Templateparser::TP_OTHER;254 } else {255 $this->strip = false;256 return false;257 }258 }259 function yy_r1_10($yy_subpatterns)260 242 { 261 243 … … 263 245 $this->yypushstate(self::LITERAL); 264 246 } 247 function yy_r1_10($yy_subpatterns) 248 { 249 250 if ($this->smarty->auto_literal) { 251 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 252 } else { 253 $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH; 254 $this->yypushstate(self::SMARTY); 255 $this->taglineno = $this->line; 256 } 257 } 265 258 function yy_r1_11($yy_subpatterns) 266 259 { 267 260 261 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 262 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 263 } else { 264 $this->token = Smarty_Internal_Templateparser::TP_LDELIF; 265 $this->yypushstate(self::SMARTY); 266 $this->taglineno = $this->line; 267 } 268 } 269 function yy_r1_13($yy_subpatterns) 270 { 271 272 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 273 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 274 } else { 275 $this->token = Smarty_Internal_Templateparser::TP_LDELFOR; 276 $this->yypushstate(self::SMARTY); 277 $this->taglineno = $this->line; 278 } 279 } 280 function yy_r1_14($yy_subpatterns) 281 { 282 283 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 284 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 285 } else { 286 $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH; 287 $this->yypushstate(self::SMARTY); 288 $this->taglineno = $this->line; 289 } 290 } 291 function yy_r1_15($yy_subpatterns) 292 { 293 294 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 295 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 296 } else { 297 $this->token = Smarty_Internal_Templateparser::TP_LDELSETFILTER; 298 $this->yypushstate(self::SMARTY); 299 $this->taglineno = $this->line; 300 } 301 } 302 function yy_r1_16($yy_subpatterns) 303 { 304 268 305 if ($this->smarty->auto_literal) { 269 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 270 } else { 271 $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH; 272 $this->yypushstate(self::SMARTY); 273 $this->taglineno = $this->line; 274 } 275 } 276 function yy_r1_12($yy_subpatterns) 277 { 278 279 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 280 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 281 } else { 282 $this->token = Smarty_Internal_Templateparser::TP_LDELIF; 283 $this->yypushstate(self::SMARTY); 284 $this->taglineno = $this->line; 285 } 286 } 287 function yy_r1_14($yy_subpatterns) 288 { 289 290 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 291 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 292 } else { 293 $this->token = Smarty_Internal_Templateparser::TP_LDELFOR; 294 $this->yypushstate(self::SMARTY); 295 $this->taglineno = $this->line; 296 } 297 } 298 function yy_r1_15($yy_subpatterns) 299 { 300 301 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 302 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 303 } else { 304 $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH; 305 $this->yypushstate(self::SMARTY); 306 $this->taglineno = $this->line; 307 } 308 } 309 function yy_r1_16($yy_subpatterns) 310 { 311 312 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 313 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 314 } else { 315 $this->token = Smarty_Internal_Templateparser::TP_LDELSETFILTER; 306 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 307 } else { 308 $this->token = Smarty_Internal_Templateparser::TP_LDEL; 316 309 $this->yypushstate(self::SMARTY); 317 310 $this->taglineno = $this->line; … … 321 314 { 322 315 323 if ($this->smarty->auto_literal) { 324 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 325 } else { 326 $this->token = Smarty_Internal_Templateparser::TP_LDEL; 327 $this->yypushstate(self::SMARTY); 328 $this->taglineno = $this->line; 329 } 316 $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH; 317 $this->yypushstate(self::SMARTY); 318 $this->taglineno = $this->line; 330 319 } 331 320 function yy_r1_18($yy_subpatterns) 332 321 { 333 322 334 $this->token = Smarty_Internal_Templateparser::TP_LDEL SLASH;323 $this->token = Smarty_Internal_Templateparser::TP_LDEL; 335 324 $this->yypushstate(self::SMARTY); 336 325 $this->taglineno = $this->line; 337 326 } 338 327 function yy_r1_19($yy_subpatterns) 339 {340 341 $this->token = Smarty_Internal_Templateparser::TP_LDEL;342 $this->yypushstate(self::SMARTY);343 $this->taglineno = $this->line;344 }345 function yy_r1_20($yy_subpatterns)346 328 { 347 329 … … 355 337 } 356 338 } 339 function yy_r1_20($yy_subpatterns) 340 { 341 342 $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG; 343 } 357 344 function yy_r1_21($yy_subpatterns) 358 345 { 359 346 360 $this->token = Smarty_Internal_Templateparser::TP_ PHPENDTAG;347 $this->token = Smarty_Internal_Templateparser::TP_ASPSTARTTAG; 361 348 } 362 349 function yy_r1_22($yy_subpatterns) 363 350 { 364 351 365 $this->token = Smarty_Internal_Templateparser::TP_ASP STARTTAG;352 $this->token = Smarty_Internal_Templateparser::TP_ASPENDTAG; 366 353 } 367 354 function yy_r1_23($yy_subpatterns) 368 355 { 369 356 370 $this->token = Smarty_Internal_Templateparser::TP_ASPENDTAG; 371 } 372 function yy_r1_24($yy_subpatterns) 373 { 374 375 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 376 } 377 function yy_r1_27($yy_subpatterns) 378 { 379 380 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 381 } 382 function yy_r1_28($yy_subpatterns) 383 { 384 385 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 357 $to = strlen($this->data); 358 preg_match("/{$this->ldel}|<\?|\?>|<%|%>/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter); 359 if (isset($match[0][1])) { 360 $to = $match[0][1]; 361 } 362 $this->value = substr($this->data,$this->counter,$to-$this->counter); 363 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 386 364 } 387 365 … … 461 439 return false; // end of input 462 440 } 463 $yy_global_pattern = "/\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s{1,})|\G(\\s{1,}".$this->rdel.")|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(".$this->rdel.")|\G(\\s+is\\s+in\\s+)|\G(\\s+as\\s+)|\G(\\s+to\\s+)|\G(\\s+step\\s+)|\G(\\s+instanceof\\s+)|\G(\\s*===\\s*)|\G(\\s*!==\\s*)|\G(\\s*==\\s*|\\s+eq\\s+)|\G(\\s*!=\\s*|\\s*<>\\s*|\\s+(ne|neq)\\s+)|\G(\\s*>=\\s*|\\s+(ge|gte)\\s+)|\G(\\s*<=\\s*|\\s+(le|lte)\\s+)|\G(\\s*>\\s*|\\s+gt\\s+)|\G(\\s*<\\s*|\\s+lt\\s+)|\G(\\s+mod\\s+)|\G(!\\s*|not\\s+)|\G(\\s*&&\\s*|\\s*and\\s+)|\G(\\s*\\|\\|\\s*|\\s*or\\s+)|\G(\\s*xor\\s+)|\G(\\s+is\\s+odd\\s+by\\s+)|\G(\\s+is\\s+not\\s+odd\\s+by\\s+)|\G(\\s+is\\s+odd)|\G(\\s+is\\s+not\\s+odd)|\G(\\s+is\\s+even\\s+by\\s+)|\G(\\s+is\\s+not\\s+even\\s+by\\s+)|\G(\\s+is\\s+even)|\G(\\s+is\\s+not\\s+even)|\G(\\s+is\\s+div\\s+by\\s+)|\G(\\s+is\\s+not\\s+div\\s+by\\s+)|\G(\\((int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)\\)\\s*)|\G(\\s*\\(\\s*)|\G(\\s*\\))|\G(\\[\\s*)|\G(\\s*\\])|\G(\\s*->\\s*)|\G(\\s*=>\\s*)|\G(\\s*=\\s*)|\G(\\+\\+|--)|\G(\\s*(\\+|-)\\s*)|\G(\\s*(\\*|\/|%)\\s*)|\G(\\$)|\G(\\s*;)|\G(::)|\G(\\s*:\\s*)|\G(@)|\G(#)|\G(\")|\G(`)|\G(\\|)|\G(\\.)|\G(\\s*,\\s*)|\G(\\s*&\\s*)|\G(\\s*\\?\\s*)|\G(0[xX][0-9a-fA-F]+)|\G([0-9]*[a-zA-Z_]\\w*)|\G(\\d+)|\G(\\s+)|\G( .)/iS";441 $yy_global_pattern = "/\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s{1,})|\G(\\s{1,}".$this->rdel.")|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(".$this->rdel.")|\G(\\s+is\\s+in\\s+)|\G(\\s+as\\s+)|\G(\\s+to\\s+)|\G(\\s+step\\s+)|\G(\\s+instanceof\\s+)|\G(\\s*===\\s*)|\G(\\s*!==\\s*)|\G(\\s*==\\s*|\\s+eq\\s+)|\G(\\s*!=\\s*|\\s*<>\\s*|\\s+(ne|neq)\\s+)|\G(\\s*>=\\s*|\\s+(ge|gte)\\s+)|\G(\\s*<=\\s*|\\s+(le|lte)\\s+)|\G(\\s*>\\s*|\\s+gt\\s+)|\G(\\s*<\\s*|\\s+lt\\s+)|\G(\\s+mod\\s+)|\G(!\\s*|not\\s+)|\G(\\s*&&\\s*|\\s*and\\s+)|\G(\\s*\\|\\|\\s*|\\s*or\\s+)|\G(\\s*xor\\s+)|\G(\\s+is\\s+odd\\s+by\\s+)|\G(\\s+is\\s+not\\s+odd\\s+by\\s+)|\G(\\s+is\\s+odd)|\G(\\s+is\\s+not\\s+odd)|\G(\\s+is\\s+even\\s+by\\s+)|\G(\\s+is\\s+not\\s+even\\s+by\\s+)|\G(\\s+is\\s+even)|\G(\\s+is\\s+not\\s+even)|\G(\\s+is\\s+div\\s+by\\s+)|\G(\\s+is\\s+not\\s+div\\s+by\\s+)|\G(\\((int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)\\)\\s*)|\G(\\s*\\(\\s*)|\G(\\s*\\))|\G(\\[\\s*)|\G(\\s*\\])|\G(\\s*->\\s*)|\G(\\s*=>\\s*)|\G(\\s*=\\s*)|\G(\\+\\+|--)|\G(\\s*(\\+|-)\\s*)|\G(\\s*(\\*|\/|%)\\s*)|\G(\\$)|\G(\\s*;)|\G(::)|\G(\\s*:\\s*)|\G(@)|\G(#)|\G(\")|\G(`)|\G(\\|)|\G(\\.)|\G(\\s*,\\s*)|\G(\\s*&\\s*)|\G(\\s*\\?\\s*)|\G(0[xX][0-9a-fA-F]+)|\G([0-9]*[a-zA-Z_]\\w*)|\G(\\d+)|\G(\\s+)|\G([\S\s])/iS"; 464 442 465 443 do { … … 520 498 521 499 if ($this->smarty->auto_literal) { 522 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;500 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 523 501 } else { 524 502 $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH; … … 531 509 532 510 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 533 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;511 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 534 512 } else { 535 513 $this->token = Smarty_Internal_Templateparser::TP_LDELIF; … … 542 520 543 521 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 544 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;522 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 545 523 } else { 546 524 $this->token = Smarty_Internal_Templateparser::TP_LDELFOR; … … 553 531 554 532 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 555 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;533 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 556 534 } else { 557 535 $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH; … … 564 542 565 543 if ($this->smarty->auto_literal) { 566 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;544 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 567 545 } else { 568 546 $this->token = Smarty_Internal_Templateparser::TP_LDEL; … … 882 860 { 883 861 884 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;862 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 885 863 } 886 864 … … 897 875 6 => 0, 898 876 7 => 0, 899 8 => 2,900 11 => 0,901 877 ); 902 878 if ($this->counter >= strlen($this->data)) { 903 879 return false; // end of input 904 880 } 905 $yy_global_pattern = "/\G(".$this->ldel."\\s*literal\\s*".$this->rdel.")|\G(".$this->ldel."\\s*\/literal\\s*".$this->rdel.")|\G( [\t ]*[\r\n]+[\t ]*)|\G(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|\G(\\?>)|\G(<%)|\G(%>)|\G(([\S\s]*?)(?=([\t ]*[\r\n]+[\t ]*|".$this->ldel."\/?literal".$this->rdel."|<\\?|<%)))|\G(.)/iS";881 $yy_global_pattern = "/\G(".$this->ldel."\\s*literal\\s*".$this->rdel.")|\G(".$this->ldel."\\s*\/literal\\s*".$this->rdel.")|\G(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|\G(\\?>)|\G(<%)|\G(%>)|\G([\S\s])/iS"; 906 882 907 883 do { … … 968 944 { 969 945 970 $this->token = Smarty_Internal_Templateparser::TP_LITERAL;971 }972 function yy_r3_4($yy_subpatterns)973 {974 975 946 if (in_array($this->value, Array('<?', '<?=', '<?php'))) { 976 947 $this->token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG; … … 980 951 } 981 952 } 953 function yy_r3_4($yy_subpatterns) 954 { 955 956 $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG; 957 } 982 958 function yy_r3_5($yy_subpatterns) 983 959 { 984 960 985 $this->token = Smarty_Internal_Templateparser::TP_ PHPENDTAG;961 $this->token = Smarty_Internal_Templateparser::TP_ASPSTARTTAG; 986 962 } 987 963 function yy_r3_6($yy_subpatterns) 988 964 { 989 965 990 $this->token = Smarty_Internal_Templateparser::TP_ASP STARTTAG;966 $this->token = Smarty_Internal_Templateparser::TP_ASPENDTAG; 991 967 } 992 968 function yy_r3_7($yy_subpatterns) 993 969 { 994 970 995 $this->token = Smarty_Internal_Templateparser::TP_ASPENDTAG; 996 } 997 function yy_r3_8($yy_subpatterns) 998 { 999 971 $to = strlen($this->data); 972 preg_match("/{$this->ldel}\/?literal{$this->rdel}|<\?|<%|\?>|%>/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter); 973 if (isset($match[0][1])) { 974 $to = $match[0][1]; 975 } else { 976 $this->compiler->trigger_template_error ("missing or misspelled literal closing tag"); 977 } 978 979 $this->value = substr($this->data,$this->counter,$to-$this->counter); 1000 980 $this->token = Smarty_Internal_Templateparser::TP_LITERAL; 1001 }1002 function yy_r3_11($yy_subpatterns)1003 {1004 1005 $this->compiler->trigger_template_error ("missing or misspelled literal closing tag");1006 981 } 1007 982 … … 1023 998 13 => 3, 1024 999 17 => 0, 1025 18 => 0,1026 1000 ); 1027 1001 if ($this->counter >= strlen($this->data)) { 1028 1002 return false; // end of input 1029 1003 } 1030 $yy_global_pattern = "/\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s{1,})|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(\")|\G(`\\$)|\G(\\$[0-9]*[a-zA-Z_]\\w*)|\G(\\$)|\G(([^\"\\\\]*?)((?:\\\\.[^\"\\\\]*?)*?)(?=(".$this->ldel."|\\$|`\\$|\")))|\G([\S\s] +)|\G(.)/iS";1004 $yy_global_pattern = "/\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s{1,})|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(\")|\G(`\\$)|\G(\\$[0-9]*[a-zA-Z_]\\w*)|\G(\\$)|\G(([^\"\\\\]*?)((?:\\\\.[^\"\\\\]*?)*?)(?=(".$this->ldel."|\\$|`\\$|\")))|\G([\S\s])/iS"; 1031 1005 1032 1006 do { … … 1082 1056 1083 1057 if ($this->smarty->auto_literal) { 1084 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;1058 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 1085 1059 } else { 1086 1060 $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH; … … 1093 1067 1094 1068 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 1095 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;1069 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 1096 1070 } else { 1097 1071 $this->token = Smarty_Internal_Templateparser::TP_LDELIF; … … 1104 1078 1105 1079 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 1106 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;1080 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 1107 1081 } else { 1108 1082 $this->token = Smarty_Internal_Templateparser::TP_LDELFOR; … … 1115 1089 1116 1090 if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') { 1117 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;1091 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 1118 1092 } else { 1119 1093 $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH; … … 1126 1100 1127 1101 if ($this->smarty->auto_literal) { 1128 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;1102 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 1129 1103 } else { 1130 1104 $this->token = Smarty_Internal_Templateparser::TP_LDEL; … … 1169 1143 { 1170 1144 1171 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;1145 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 1172 1146 } 1173 1147 function yy_r4_13($yy_subpatterns) 1174 1148 { 1175 1149 1176 $this->token = Smarty_Internal_Templateparser::TP_ OTHER;1150 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 1177 1151 } 1178 1152 function yy_r4_17($yy_subpatterns) 1179 1153 { 1180 1154 1181 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 1182 } 1183 function yy_r4_18($yy_subpatterns) 1184 { 1185 1186 $this->token = Smarty_Internal_Templateparser::TP_OTHER; 1155 $to = strlen($this->data); 1156 $this->value = substr($this->data,$this->counter,$to-$this->counter); 1157 $this->token = Smarty_Internal_Templateparser::TP_TEXT; 1187 1158 } 1188 1159 -
vendors/smarty/current/sysplugins/smarty_internal_templateparser.php
r5765 r6008 97 97 private $lex; 98 98 private $internalError = false; 99 private $strip = false; 99 100 100 101 function __construct($lex, $compiler) { … … 136 137 return '$_smarty_tpl->tpl_vars['. $variable .']->value'; 137 138 } 138 #line 13 1"smarty_internal_templateparser.php"139 #line 132 "smarty_internal_templateparser.php" 139 140 140 141 const TP_VERT = 1; … … 147 148 const TP_FAKEPHPSTARTTAG = 8; 148 149 const TP_XMLTAG = 9; 149 const TP_OTHER = 10; 150 const TP_LINEBREAK = 11; 151 const TP_LITERALSTART = 12; 152 const TP_LITERALEND = 13; 153 const TP_LITERAL = 14; 154 const TP_LDEL = 15; 155 const TP_RDEL = 16; 156 const TP_DOLLAR = 17; 157 const TP_ID = 18; 158 const TP_EQUAL = 19; 159 const TP_PTR = 20; 160 const TP_LDELIF = 21; 161 const TP_LDELFOR = 22; 162 const TP_SEMICOLON = 23; 163 const TP_INCDEC = 24; 164 const TP_TO = 25; 165 const TP_STEP = 26; 166 const TP_LDELFOREACH = 27; 167 const TP_SPACE = 28; 168 const TP_AS = 29; 169 const TP_APTR = 30; 170 const TP_LDELSETFILTER = 31; 171 const TP_SMARTYBLOCKCHILD = 32; 172 const TP_LDELSLASH = 33; 173 const TP_INTEGER = 34; 174 const TP_COMMA = 35; 175 const TP_OPENP = 36; 176 const TP_CLOSEP = 37; 177 const TP_MATH = 38; 178 const TP_UNIMATH = 39; 179 const TP_ANDSYM = 40; 180 const TP_ISIN = 41; 181 const TP_ISDIVBY = 42; 182 const TP_ISNOTDIVBY = 43; 183 const TP_ISEVEN = 44; 184 const TP_ISNOTEVEN = 45; 185 const TP_ISEVENBY = 46; 186 const TP_ISNOTEVENBY = 47; 187 const TP_ISODD = 48; 188 const TP_ISNOTODD = 49; 189 const TP_ISODDBY = 50; 190 const TP_ISNOTODDBY = 51; 191 const TP_INSTANCEOF = 52; 192 const TP_QMARK = 53; 193 const TP_NOT = 54; 194 const TP_TYPECAST = 55; 195 const TP_HEX = 56; 196 const TP_DOT = 57; 197 const TP_SINGLEQUOTESTRING = 58; 198 const TP_DOUBLECOLON = 59; 199 const TP_AT = 60; 200 const TP_HATCH = 61; 201 const TP_OPENB = 62; 202 const TP_CLOSEB = 63; 203 const TP_EQUALS = 64; 204 const TP_NOTEQUALS = 65; 205 const TP_GREATERTHAN = 66; 206 const TP_LESSTHAN = 67; 207 const TP_GREATEREQUAL = 68; 208 const TP_LESSEQUAL = 69; 209 const TP_IDENTITY = 70; 210 const TP_NONEIDENTITY = 71; 211 const TP_MOD = 72; 212 const TP_LAND = 73; 213 const TP_LOR = 74; 214 const TP_LXOR = 75; 215 const TP_QUOTE = 76; 216 const TP_BACKTICK = 77; 217 const TP_DOLLARID = 78; 218 const YY_NO_ACTION = 590; 219 const YY_ACCEPT_ACTION = 589; 220 const YY_ERROR_ACTION = 588; 221 222 const YY_SZ_ACTTAB = 2393; 150 const TP_TEXT = 10; 151 const TP_STRIPON = 11; 152 const TP_STRIPOFF = 12; 153 const TP_LITERALSTART = 13; 154 const TP_LITERALEND = 14; 155 const TP_LITERAL = 15; 156 const TP_LDEL = 16; 157 const TP_RDEL = 17; 158 const TP_DOLLAR = 18; 159 const TP_ID = 19; 160 const TP_EQUAL = 20; 161 const TP_PTR = 21; 162 const TP_LDELIF = 22; 163 const TP_LDELFOR = 23; 164 const TP_SEMICOLON = 24; 165 const TP_INCDEC = 25; 166 const TP_TO = 26; 167 const TP_STEP = 27; 168 const TP_LDELFOREACH = 28; 169 const TP_SPACE = 29; 170 const TP_AS = 30; 171 const TP_APTR = 31; 172 const TP_LDELSETFILTER = 32; 173 const TP_SMARTYBLOCKCHILD = 33; 174 const TP_LDELSLASH = 34; 175 const TP_INTEGER = 35; 176 const TP_COMMA = 36; 177 const TP_OPENP = 37; 178 const TP_CLOSEP = 38; 179 const TP_MATH = 39; 180 const TP_UNIMATH = 40; 181 const TP_ANDSYM = 41; 182 const TP_ISIN = 42; 183 const TP_ISDIVBY = 43; 184 const TP_ISNOTDIVBY = 44; 185 const TP_ISEVEN = 45; 186 const TP_ISNOTEVEN = 46; 187 const TP_ISEVENBY = 47; 188 const TP_ISNOTEVENBY = 48; 189 const TP_ISODD = 49; 190 const TP_ISNOTODD = 50; 191 const TP_ISODDBY = 51; 192 const TP_ISNOTODDBY = 52; 193 const TP_INSTANCEOF = 53; 194 const TP_QMARK = 54; 195 const TP_NOT = 55; 196 const TP_TYPECAST = 56; 197 const TP_HEX = 57; 198 const TP_DOT = 58; 199 const TP_SINGLEQUOTESTRING = 59; 200 const TP_DOUBLECOLON = 60; 201 const TP_AT = 61; 202 const TP_HATCH = 62; 203 const TP_OPENB = 63; 204 const TP_CLOSEB = 64; 205 const TP_EQUALS = 65; 206 const TP_NOTEQUALS = 66; 207 const TP_GREATERTHAN = 67; 208 const TP_LESSTHAN = 68; 209 const TP_GREATEREQUAL = 69; 210 const TP_LESSEQUAL = 70; 211 const TP_IDENTITY = 71; 212 const TP_NONEIDENTITY = 72; 213 const TP_MOD = 73; 214 const TP_LAND = 74; 215 const TP_LOR = 75; 216 const TP_LXOR = 76; 217 const TP_QUOTE = 77; 218 const TP_BACKTICK = 78; 219 const TP_DOLLARID = 79; 220 const YY_NO_ACTION = 592; 221 const YY_ACCEPT_ACTION = 591; 222 const YY_ERROR_ACTION = 590; 223 224 const YY_SZ_ACTTAB = 2562; 223 225 static public $yy_action = array( 224 /* 0 */ 211, 316, 317, 319, 318, 315, 314, 310, 309, 311, 225 /* 10 */ 312, 313, 320, 189, 304, 161, 38, 589, 95, 265, 226 /* 20 */ 317, 319, 7, 106, 289, 37, 26, 30, 146, 283, 227 /* 30 */ 10, 285, 250, 286, 238, 280, 287, 49, 48, 46, 228 /* 40 */ 45, 20, 29, 365, 366, 28, 32, 373, 374, 15, 229 /* 50 */ 11, 328, 323, 322, 324, 327, 231, 211, 4, 189, 230 /* 60 */ 329, 332, 211, 382, 383, 384, 385, 381, 380, 376, 231 /* 70 */ 375, 377, 281, 378, 379, 211, 360, 450, 180, 251, 232 /* 80 */ 117, 144, 196, 74, 135, 260, 17, 451, 26, 30, 233 /* 90 */ 307, 283, 299, 361, 35, 158, 225, 368, 362, 451, 234 /* 100 */ 343, 30, 30, 226, 44, 203, 285, 4, 47, 203, 235 /* 110 */ 218, 259, 49, 48, 46, 45, 20, 29, 365, 366, 236 /* 120 */ 28, 32, 373, 374, 15, 11, 351, 108, 176, 334, 237 /* 130 */ 144, 193, 337, 23, 129, 134, 371, 289, 382, 383, 238 /* 140 */ 384, 385, 381, 380, 376, 375, 377, 281, 378, 379, 239 /* 150 */ 211, 360, 372, 26, 203, 142, 283, 31, 68, 122, 240 /* 160 */ 242, 26, 109, 353, 283, 346, 454, 299, 361, 25, 241 /* 170 */ 185, 225, 368, 362, 30, 343, 239, 30, 454, 289, 242 /* 180 */ 4, 41, 26, 143, 165, 283, 4, 49, 48, 46, 243 /* 190 */ 45, 20, 29, 365, 366, 28, 32, 373, 374, 15, 244 /* 200 */ 11, 101, 160, 144, 26, 208, 34, 283, 31, 144, 245 /* 210 */ 8, 289, 4, 382, 383, 384, 385, 381, 380, 376, 246 /* 220 */ 375, 377, 281, 378, 379, 211, 360, 227, 203, 357, 247 /* 230 */ 142, 197, 19, 73, 135, 144, 211, 302, 9, 158, 248 /* 240 */ 340, 26, 299, 361, 283, 158, 225, 368, 362, 228, 249 /* 250 */ 343, 294, 30, 6, 331, 235, 330, 221, 195, 337, 250 /* 260 */ 126, 240, 49, 48, 46, 45, 20, 29, 365, 366, 251 /* 270 */ 28, 32, 373, 374, 15, 11, 211, 16, 129, 244, 252 /* 280 */ 249, 219, 208, 192, 337, 302, 228, 8, 382, 383, 253 /* 290 */ 384, 385, 381, 380, 376, 375, 377, 281, 378, 379, 254 /* 300 */ 163, 211, 107, 188, 105, 40, 40, 266, 277, 289, 255 /* 310 */ 241, 232, 289, 49, 48, 46, 45, 20, 29, 365, 256 /* 320 */ 366, 28, 32, 373, 374, 15, 11, 211, 168, 203, 257 /* 330 */ 40, 2, 278, 167, 175, 244, 242, 289, 350, 382, 258 /* 340 */ 383, 384, 385, 381, 380, 376, 375, 377, 281, 378, 259 /* 350 */ 379, 191, 47, 184, 204, 234, 169, 198, 287, 386, 260 /* 360 */ 203, 203, 289, 124, 49, 48, 46, 45, 20, 29, 261 /* 370 */ 365, 366, 28, 32, 373, 374, 15, 11, 211, 204, 262 /* 380 */ 182, 26, 26, 26, 283, 212, 224, 118, 131, 289, 263 /* 390 */ 382, 383, 384, 385, 381, 380, 376, 375, 377, 281, 264 /* 400 */ 378, 379, 370, 172, 244, 270, 204, 130, 211, 164, 265 /* 410 */ 26, 287, 289, 229, 178, 49, 48, 46, 45, 20, 266 /* 420 */ 29, 365, 366, 28, 32, 373, 374, 15, 11, 204, 267 /* 430 */ 364, 298, 5, 26, 100, 30, 247, 148, 148, 99, 268 /* 440 */ 159, 382, 383, 384, 385, 381, 380, 376, 375, 377, 269 /* 450 */ 281, 378, 379, 211, 354, 370, 360, 174, 26, 369, 270 /* 460 */ 142, 283, 360, 73, 135, 158, 157, 123, 24, 155, 271 /* 470 */ 135, 30, 299, 361, 211, 190, 225, 368, 362, 272, 272 /* 480 */ 343, 252, 225, 368, 362, 343, 343, 222, 223, 306, 273 /* 490 */ 49, 48, 46, 45, 20, 29, 365, 366, 28, 32, 274 /* 500 */ 373, 374, 15, 11, 129, 43, 236, 9, 269, 258, 275 /* 510 */ 199, 133, 33, 14, 202, 103, 382, 383, 384, 385, 276 /* 520 */ 381, 380, 376, 375, 377, 281, 378, 379, 211, 360, 277 /* 530 */ 370, 170, 262, 142, 360, 36, 73, 135, 151, 141, 278 /* 540 */ 289, 245, 135, 276, 211, 299, 361, 211, 44, 225, 279 /* 550 */ 368, 362, 287, 343, 225, 368, 362, 119, 343, 295, 280 /* 560 */ 216, 267, 282, 296, 211, 49, 48, 46, 45, 20, 281 /* 570 */ 29, 365, 366, 28, 32, 373, 374, 15, 11, 284, 282 /* 580 */ 181, 223, 333, 138, 302, 236, 297, 6, 127, 289, 283 /* 590 */ 116, 382, 383, 384, 385, 381, 380, 376, 375, 377, 284 /* 600 */ 281, 378, 379, 211, 360, 370, 177, 94, 142, 303, 285 /* 610 */ 292, 54, 122, 139, 162, 289, 150, 261, 264, 293, 286 /* 620 */ 299, 361, 30, 289, 225, 368, 362, 287, 343, 30, 287 /* 630 */ 287, 30, 132, 300, 308, 287, 158, 211, 30, 334, 288 /* 640 */ 49, 48, 46, 45, 20, 29, 365, 366, 28, 32, 289 /* 650 */ 373, 374, 15, 11, 211, 204, 166, 12, 275, 287, 290 /* 660 */ 273, 248, 342, 98, 97, 113, 382, 383, 384, 385, 291 /* 670 */ 381, 380, 376, 375, 377, 281, 378, 379, 370, 370, 292 /* 680 */ 370, 110, 18, 321, 324, 324, 324, 324, 324, 324, 293 /* 690 */ 246, 49, 48, 46, 45, 20, 29, 365, 366, 28, 294 /* 700 */ 32, 373, 374, 15, 11, 211, 324, 324, 324, 324, 295 /* 710 */ 324, 324, 324, 324, 112, 136, 104, 382, 383, 384, 296 /* 720 */ 385, 381, 380, 376, 375, 377, 281, 378, 379, 370, 297 /* 730 */ 370, 370, 324, 324, 324, 324, 324, 324, 324, 324, 298 /* 740 */ 324, 256, 49, 48, 46, 45, 20, 29, 365, 366, 299 /* 750 */ 28, 32, 373, 374, 15, 11, 211, 324, 324, 324, 300 /* 760 */ 324, 324, 324, 324, 324, 324, 324, 324, 382, 383, 301 /* 770 */ 384, 385, 381, 380, 376, 375, 377, 281, 378, 379, 302 /* 780 */ 351, 324, 324, 30, 324, 324, 324, 324, 324, 324, 303 /* 790 */ 324, 324, 324, 49, 48, 46, 45, 20, 29, 365, 304 /* 800 */ 366, 28, 32, 373, 374, 15, 11, 211, 324, 324, 305 /* 810 */ 324, 324, 324, 324, 324, 324, 324, 355, 324, 382, 306 /* 820 */ 383, 384, 385, 381, 380, 376, 375, 377, 281, 378, 307 /* 830 */ 379, 324, 324, 324, 324, 324, 324, 324, 324, 324, 308 /* 840 */ 324, 324, 324, 324, 49, 48, 46, 45, 20, 29, 309 /* 850 */ 365, 366, 28, 32, 373, 374, 15, 11, 324, 324, 310 /* 860 */ 324, 324, 324, 324, 324, 324, 324, 324, 324, 257, 311 /* 870 */ 382, 383, 384, 385, 381, 380, 376, 375, 377, 281, 312 /* 880 */ 378, 379, 211, 324, 324, 324, 194, 360, 211, 288, 313 /* 890 */ 255, 145, 324, 352, 336, 135, 324, 200, 42, 22, 314 /* 900 */ 27, 30, 30, 341, 7, 106, 30, 225, 368, 362, 315 /* 910 */ 146, 343, 324, 203, 250, 286, 238, 324, 211, 49, 316 /* 920 */ 48, 46, 45, 20, 29, 365, 366, 28, 32, 373, 317 /* 930 */ 374, 15, 11, 305, 324, 324, 324, 324, 324, 47, 318 /* 940 */ 324, 324, 324, 324, 324, 382, 383, 384, 385, 381, 319 /* 950 */ 380, 376, 375, 377, 281, 378, 379, 211, 324, 359, 320 /* 960 */ 39, 349, 360, 326, 348, 291, 156, 324, 352, 344, 321 /* 970 */ 135, 324, 201, 42, 324, 30, 30, 30, 324, 7, 322 /* 980 */ 106, 30, 225, 368, 362, 146, 343, 324, 324, 250, 323 /* 990 */ 286, 238, 324, 324, 49, 48, 46, 45, 20, 29, 324 /* 1000 */ 365, 366, 28, 32, 373, 374, 15, 11, 211, 324, 325 /* 1010 */ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 326 /* 1020 */ 382, 383, 384, 385, 381, 380, 376, 375, 377, 281, 327 /* 1030 */ 378, 379, 324, 324, 358, 39, 349, 324, 324, 324, 328 /* 1040 */ 324, 324, 324, 324, 324, 49, 48, 46, 45, 20, 329 /* 1050 */ 29, 365, 366, 28, 32, 373, 374, 15, 11, 324, 330 /* 1060 */ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 331 /* 1070 */ 324, 382, 383, 384, 385, 381, 380, 376, 375, 377, 332 /* 1080 */ 281, 378, 379, 324, 49, 48, 46, 45, 20, 29, 333 /* 1090 */ 365, 366, 28, 32, 373, 374, 15, 11, 324, 324, 334 /* 1100 */ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 335 /* 1110 */ 382, 383, 384, 385, 381, 380, 376, 375, 377, 281, 336 /* 1120 */ 378, 379, 324, 324, 324, 324, 38, 324, 140, 207, 337 /* 1130 */ 324, 360, 7, 106, 290, 147, 324, 356, 146, 135, 338 /* 1140 */ 324, 324, 250, 286, 238, 230, 30, 13, 367, 30, 339 /* 1150 */ 51, 225, 368, 362, 324, 343, 360, 324, 324, 324, 340 /* 1160 */ 152, 324, 324, 324, 135, 50, 52, 301, 237, 363, 341 /* 1170 */ 324, 360, 105, 1, 254, 154, 225, 368, 362, 135, 342 /* 1180 */ 343, 324, 38, 324, 140, 214, 324, 96, 7, 106, 343 /* 1190 */ 279, 225, 368, 362, 146, 343, 347, 345, 250, 286, 344 /* 1200 */ 238, 230, 30, 13, 274, 324, 51, 338, 30, 30, 345 /* 1210 */ 360, 324, 324, 324, 121, 324, 30, 53, 135, 30, 346 /* 1220 */ 211, 50, 52, 301, 237, 363, 299, 361, 105, 1, 347 /* 1230 */ 225, 368, 362, 211, 343, 453, 324, 268, 38, 324, 348 /* 1240 */ 128, 214, 324, 96, 7, 106, 253, 453, 339, 30, 349 /* 1250 */ 146, 335, 233, 324, 250, 286, 238, 230, 30, 3, 350 /* 1260 */ 30, 324, 51, 30, 271, 324, 360, 324, 4, 324, 351 /* 1270 */ 142, 47, 324, 84, 135, 324, 30, 50, 52, 301, 352 /* 1280 */ 237, 363, 299, 361, 105, 1, 225, 368, 362, 324, 353 /* 1290 */ 343, 144, 324, 324, 38, 324, 125, 92, 324, 96, 354 /* 1300 */ 7, 106, 324, 324, 324, 324, 146, 324, 324, 324, 355 /* 1310 */ 250, 286, 238, 230, 324, 13, 324, 324, 51, 324, 356 /* 1320 */ 324, 324, 360, 324, 324, 324, 142, 324, 324, 89, 357 /* 1330 */ 135, 324, 211, 50, 52, 301, 237, 363, 299, 361, 358 /* 1340 */ 105, 1, 225, 368, 362, 324, 343, 456, 324, 324, 359 /* 1350 */ 38, 324, 126, 214, 324, 96, 7, 106, 324, 456, 360 /* 1360 */ 243, 324, 146, 324, 324, 324, 250, 286, 238, 230, 361 /* 1370 */ 324, 21, 324, 324, 51, 324, 324, 324, 360, 324, 362 /* 1380 */ 324, 324, 142, 47, 324, 87, 135, 324, 211, 50, 363 /* 1390 */ 52, 301, 237, 363, 299, 361, 105, 1, 225, 368, 364 /* 1400 */ 362, 324, 343, 456, 324, 324, 38, 324, 140, 210, 365 /* 1410 */ 324, 96, 7, 106, 324, 456, 324, 324, 146, 324, 366 /* 1420 */ 324, 324, 250, 286, 238, 230, 324, 13, 324, 324, 367 /* 1430 */ 51, 324, 324, 324, 360, 324, 324, 324, 142, 47, 368 /* 1440 */ 324, 63, 135, 324, 211, 50, 52, 301, 237, 363, 369 /* 1450 */ 299, 361, 105, 1, 225, 368, 362, 324, 343, 325, 370 /* 1460 */ 324, 324, 38, 324, 137, 214, 324, 96, 7, 106, 371 /* 1470 */ 324, 30, 324, 324, 146, 324, 324, 324, 250, 286, 372 /* 1480 */ 238, 230, 324, 13, 324, 324, 51, 324, 324, 324, 373 /* 1490 */ 360, 324, 324, 324, 142, 47, 324, 80, 135, 324, 374 /* 1500 */ 324, 50, 52, 301, 237, 363, 299, 361, 105, 1, 375 /* 1510 */ 225, 368, 362, 324, 343, 324, 324, 324, 38, 324, 376 /* 1520 */ 140, 206, 324, 96, 7, 106, 324, 324, 324, 324, 377 /* 1530 */ 146, 324, 324, 324, 250, 286, 238, 220, 324, 13, 378 /* 1540 */ 324, 324, 51, 324, 324, 324, 360, 324, 324, 324, 379 /* 1550 */ 114, 324, 324, 75, 135, 324, 324, 50, 52, 301, 380 /* 1560 */ 237, 363, 299, 361, 105, 1, 225, 368, 362, 324, 381 /* 1570 */ 343, 324, 324, 324, 38, 324, 140, 205, 324, 96, 382 /* 1580 */ 7, 106, 324, 324, 324, 324, 146, 324, 324, 324, 383 /* 1590 */ 250, 286, 238, 230, 324, 13, 324, 324, 51, 324, 384 /* 1600 */ 324, 324, 360, 324, 324, 324, 142, 324, 324, 77, 385 /* 1610 */ 135, 324, 324, 50, 52, 301, 237, 363, 299, 361, 386 /* 1620 */ 105, 1, 225, 368, 362, 324, 343, 324, 324, 324, 387 /* 1630 */ 38, 324, 140, 209, 324, 96, 7, 106, 324, 324, 388 /* 1640 */ 324, 324, 146, 324, 324, 324, 250, 286, 238, 230, 389 /* 1650 */ 324, 13, 324, 324, 51, 324, 324, 324, 360, 324, 390 /* 1660 */ 324, 324, 142, 324, 324, 85, 135, 324, 324, 50, 391 /* 1670 */ 52, 301, 237, 363, 299, 361, 105, 1, 225, 368, 392 /* 1680 */ 362, 324, 343, 324, 324, 324, 38, 324, 126, 213, 393 /* 1690 */ 324, 96, 7, 106, 324, 324, 324, 324, 146, 324, 394 /* 1700 */ 324, 324, 250, 286, 238, 230, 324, 21, 324, 324, 395 /* 1710 */ 51, 324, 324, 324, 360, 324, 324, 324, 142, 324, 396 /* 1720 */ 324, 71, 135, 324, 324, 50, 52, 301, 237, 363, 397 /* 1730 */ 299, 361, 105, 324, 225, 368, 362, 324, 343, 324, 398 /* 1740 */ 324, 324, 38, 324, 126, 214, 324, 96, 7, 106, 399 /* 1750 */ 324, 324, 324, 324, 146, 324, 324, 324, 250, 286, 400 /* 1760 */ 238, 230, 324, 21, 102, 186, 51, 324, 324, 324, 401 /* 1770 */ 324, 324, 324, 324, 289, 324, 324, 22, 27, 324, 402 /* 1780 */ 499, 50, 52, 301, 237, 363, 324, 499, 105, 499, 403 /* 1790 */ 499, 203, 499, 499, 324, 324, 324, 324, 324, 499, 404 /* 1800 */ 4, 499, 324, 96, 324, 324, 324, 324, 324, 324, 405 /* 1810 */ 324, 324, 324, 360, 324, 324, 499, 117, 324, 324, 406 /* 1820 */ 74, 135, 324, 144, 324, 324, 324, 499, 324, 299, 407 /* 1830 */ 361, 324, 324, 225, 368, 362, 324, 343, 360, 324, 408 /* 1840 */ 324, 499, 142, 324, 324, 66, 135, 324, 263, 324, 409 /* 1850 */ 324, 324, 324, 324, 299, 361, 324, 324, 225, 368, 410 /* 1860 */ 362, 324, 343, 324, 360, 324, 324, 324, 142, 324, 411 /* 1870 */ 324, 79, 135, 324, 360, 324, 324, 324, 149, 324, 412 /* 1880 */ 299, 361, 135, 360, 225, 368, 362, 142, 343, 324, 413 /* 1890 */ 81, 135, 324, 324, 225, 368, 362, 324, 343, 299, 414 /* 1900 */ 361, 324, 324, 225, 368, 362, 324, 343, 324, 324, 415 /* 1910 */ 324, 360, 324, 324, 324, 115, 324, 324, 83, 135, 416 /* 1920 */ 324, 324, 360, 324, 324, 324, 142, 299, 361, 72, 417 /* 1930 */ 135, 225, 368, 362, 324, 343, 324, 324, 299, 361, 418 /* 1940 */ 324, 324, 225, 368, 362, 324, 343, 324, 360, 324, 419 /* 1950 */ 324, 324, 142, 324, 324, 70, 135, 324, 360, 324, 420 /* 1960 */ 324, 324, 153, 324, 299, 361, 135, 360, 225, 368, 421 /* 1970 */ 362, 142, 343, 324, 68, 135, 324, 324, 225, 368, 422 /* 1980 */ 362, 324, 343, 299, 361, 324, 324, 225, 368, 362, 423 /* 1990 */ 324, 343, 324, 324, 324, 360, 324, 324, 324, 142, 424 /* 2000 */ 324, 324, 90, 135, 324, 324, 360, 324, 324, 324, 425 /* 2010 */ 142, 299, 361, 86, 135, 225, 368, 362, 324, 343, 426 /* 2020 */ 324, 324, 299, 361, 324, 324, 225, 368, 362, 324, 427 /* 2030 */ 343, 324, 360, 194, 183, 324, 142, 324, 324, 91, 428 /* 2040 */ 135, 324, 324, 289, 324, 324, 22, 27, 299, 361, 429 /* 2050 */ 324, 360, 225, 368, 362, 142, 343, 324, 61, 135, 430 /* 2060 */ 203, 324, 324, 324, 194, 171, 324, 299, 361, 324, 431 /* 2070 */ 324, 225, 368, 362, 289, 343, 324, 22, 27, 360, 432 /* 2080 */ 324, 324, 324, 142, 324, 324, 88, 135, 324, 324, 433 /* 2090 */ 360, 203, 324, 324, 142, 299, 361, 69, 135, 225, 434 /* 2100 */ 368, 362, 324, 343, 324, 324, 299, 361, 324, 324, 435 /* 2110 */ 225, 368, 362, 324, 343, 324, 360, 194, 179, 324, 436 /* 2120 */ 142, 324, 324, 76, 135, 324, 324, 289, 324, 324, 437 /* 2130 */ 22, 27, 299, 361, 324, 360, 225, 368, 362, 142, 438 /* 2140 */ 343, 324, 65, 135, 203, 324, 324, 324, 194, 187, 439 /* 2150 */ 324, 299, 361, 324, 324, 225, 368, 362, 289, 343, 440 /* 2160 */ 324, 22, 27, 360, 324, 324, 324, 111, 324, 324, 441 /* 2170 */ 64, 135, 324, 324, 360, 203, 324, 324, 142, 299, 442 /* 2180 */ 361, 62, 135, 225, 368, 362, 324, 343, 324, 324, 443 /* 2190 */ 299, 361, 324, 324, 225, 368, 362, 324, 343, 324, 444 /* 2200 */ 360, 194, 173, 324, 142, 324, 324, 82, 135, 324, 445 /* 2210 */ 324, 289, 324, 324, 22, 27, 299, 361, 324, 360, 446 /* 2220 */ 225, 368, 362, 142, 343, 324, 60, 135, 203, 324, 447 /* 2230 */ 324, 324, 324, 324, 324, 299, 361, 324, 324, 225, 448 /* 2240 */ 368, 362, 324, 343, 324, 324, 324, 360, 324, 324, 449 /* 2250 */ 324, 93, 324, 324, 57, 120, 324, 324, 360, 324, 450 /* 2260 */ 324, 324, 142, 299, 361, 58, 135, 225, 368, 362, 451 /* 2270 */ 324, 343, 324, 324, 299, 361, 324, 324, 225, 368, 452 /* 2280 */ 362, 324, 343, 324, 360, 324, 324, 324, 142, 324, 453 /* 2290 */ 324, 59, 135, 324, 324, 324, 324, 324, 324, 324, 454 /* 2300 */ 299, 361, 324, 360, 225, 368, 362, 93, 343, 324, 455 /* 2310 */ 55, 120, 324, 324, 324, 324, 324, 324, 324, 299, 456 /* 2320 */ 361, 324, 324, 215, 368, 362, 324, 343, 324, 324, 457 /* 2330 */ 324, 360, 324, 324, 324, 142, 324, 324, 56, 135, 458 /* 2340 */ 324, 324, 360, 324, 324, 324, 142, 299, 361, 78, 459 /* 2350 */ 135, 225, 368, 362, 324, 343, 324, 324, 299, 361, 460 /* 2360 */ 324, 324, 225, 368, 362, 324, 343, 324, 360, 324, 461 /* 2370 */ 324, 324, 142, 324, 324, 67, 135, 324, 324, 324, 462 /* 2380 */ 324, 324, 324, 324, 299, 361, 324, 324, 217, 368, 463 /* 2390 */ 362, 324, 343, 226 /* 0 */ 218, 317, 318, 320, 319, 316, 315, 311, 310, 312, 227 /* 10 */ 313, 314, 321, 322, 197, 193, 187, 43, 591, 95, 228 /* 20 */ 255, 318, 320, 6, 107, 292, 38, 11, 42, 154, 229 /* 30 */ 283, 13, 181, 245, 295, 241, 262, 284, 51, 50, 230 /* 40 */ 52, 44, 23, 28, 367, 374, 33, 32, 375, 383, 231 /* 50 */ 21, 31, 328, 323, 325, 326, 324, 9, 36, 353, 232 /* 60 */ 265, 197, 331, 329, 384, 385, 386, 382, 381, 377, 233 /* 70 */ 376, 378, 379, 282, 380, 362, 218, 344, 4, 106, 234 /* 80 */ 175, 120, 7, 11, 82, 129, 283, 12, 456, 292, 235 /* 90 */ 453, 27, 291, 301, 361, 109, 387, 236, 368, 365, 236 /* 100 */ 456, 343, 453, 243, 42, 136, 200, 37, 7, 267, 237 /* 110 */ 7, 219, 256, 7, 51, 50, 52, 44, 23, 28, 238 /* 120 */ 367, 374, 33, 32, 375, 383, 21, 31, 239, 99, 239 /* 130 */ 171, 136, 36, 136, 261, 26, 136, 123, 373, 292, 240 /* 140 */ 384, 385, 386, 382, 381, 377, 376, 378, 379, 282, 241 /* 150 */ 380, 362, 218, 344, 369, 218, 200, 132, 158, 184, 242 /* 160 */ 68, 119, 235, 11, 11, 153, 283, 283, 337, 301, 243 /* 170 */ 361, 458, 306, 236, 368, 365, 42, 343, 252, 284, 244 /* 180 */ 42, 191, 218, 458, 250, 11, 200, 287, 283, 12, 245 /* 190 */ 51, 50, 52, 44, 23, 28, 367, 374, 33, 32, 246 /* 200 */ 375, 383, 21, 31, 302, 108, 168, 49, 200, 232, 247 /* 210 */ 11, 218, 35, 283, 240, 292, 384, 385, 386, 382, 248 /* 220 */ 381, 377, 376, 378, 379, 282, 380, 362, 218, 344, 249 /* 230 */ 207, 218, 200, 132, 49, 8, 54, 119, 142, 11, 250 /* 240 */ 14, 158, 283, 110, 342, 301, 361, 455, 152, 236, 251 /* 250 */ 368, 365, 42, 343, 231, 239, 42, 350, 103, 455, 252 /* 260 */ 248, 199, 339, 49, 343, 345, 51, 50, 52, 44, 253 /* 270 */ 23, 28, 367, 374, 33, 32, 375, 383, 21, 31, 254 /* 280 */ 128, 183, 174, 49, 370, 163, 198, 339, 15, 158, 255 /* 290 */ 292, 292, 384, 385, 386, 382, 381, 377, 376, 378, 256 /* 300 */ 379, 282, 380, 362, 218, 344, 192, 218, 201, 120, 257 /* 310 */ 344, 272, 82, 129, 156, 164, 270, 218, 129, 158, 258 /* 320 */ 273, 301, 361, 458, 292, 236, 368, 365, 128, 343, 259 /* 330 */ 236, 368, 365, 296, 343, 458, 284, 244, 130, 227, 260 /* 340 */ 260, 330, 51, 50, 52, 44, 23, 28, 367, 374, 261 /* 350 */ 33, 32, 375, 383, 21, 31, 207, 196, 339, 49, 262 /* 360 */ 41, 8, 127, 162, 251, 229, 212, 242, 384, 385, 263 /* 370 */ 386, 382, 381, 377, 376, 378, 379, 282, 380, 362, 264 /* 380 */ 218, 344, 101, 218, 176, 132, 344, 140, 78, 129, 265 /* 390 */ 148, 166, 249, 292, 129, 186, 278, 301, 361, 327, 266 /* 400 */ 292, 236, 368, 365, 292, 343, 236, 368, 365, 5, 267 /* 410 */ 343, 42, 211, 36, 121, 281, 284, 201, 51, 50, 268 /* 420 */ 52, 44, 23, 28, 367, 374, 33, 32, 375, 383, 269 /* 430 */ 21, 31, 218, 178, 7, 49, 179, 275, 225, 185, 270 /* 440 */ 11, 284, 292, 283, 384, 385, 386, 382, 381, 377, 271 /* 450 */ 376, 378, 379, 282, 380, 362, 17, 136, 11, 201, 272 /* 460 */ 170, 226, 173, 200, 284, 141, 247, 223, 335, 292, 273 /* 470 */ 51, 50, 52, 44, 23, 28, 367, 374, 33, 32, 274 /* 480 */ 375, 383, 21, 31, 135, 218, 201, 359, 11, 11, 275 /* 490 */ 11, 238, 213, 234, 188, 302, 384, 385, 386, 382, 276 /* 500 */ 381, 377, 376, 378, 379, 282, 380, 362, 195, 351, 277 /* 510 */ 189, 366, 251, 235, 218, 251, 264, 333, 146, 332, 278 /* 520 */ 305, 200, 143, 51, 50, 52, 44, 23, 28, 367, 279 /* 530 */ 374, 33, 32, 375, 383, 21, 31, 218, 203, 137, 280 /* 540 */ 15, 297, 42, 271, 194, 19, 98, 116, 102, 384, 281 /* 550 */ 385, 386, 382, 381, 377, 376, 378, 379, 282, 380, 282 /* 560 */ 362, 372, 372, 372, 300, 34, 224, 138, 39, 139, 283 /* 570 */ 225, 146, 131, 133, 159, 51, 50, 52, 44, 23, 284 /* 580 */ 28, 367, 374, 33, 32, 375, 383, 21, 31, 372, 285 /* 590 */ 172, 334, 94, 299, 276, 302, 2, 371, 4, 292, 286 /* 600 */ 125, 384, 385, 386, 382, 381, 377, 376, 378, 379, 287 /* 610 */ 282, 380, 362, 218, 344, 372, 218, 308, 132, 344, 288 /* 620 */ 287, 78, 129, 150, 370, 201, 161, 129, 160, 204, 289 /* 630 */ 301, 361, 341, 29, 236, 368, 365, 292, 343, 236, 290 /* 640 */ 368, 365, 218, 343, 284, 216, 42, 20, 277, 284, 291 /* 650 */ 263, 51, 50, 52, 44, 23, 28, 367, 374, 33, 292 /* 660 */ 32, 375, 383, 21, 31, 218, 228, 45, 49, 16, 293 /* 670 */ 326, 249, 104, 326, 326, 118, 105, 384, 385, 386, 294 /* 680 */ 382, 381, 377, 376, 378, 379, 282, 380, 362, 340, 295 /* 690 */ 372, 372, 326, 326, 326, 326, 326, 326, 326, 326, 296 /* 700 */ 326, 42, 237, 51, 50, 52, 44, 23, 28, 367, 297 /* 710 */ 374, 33, 32, 375, 383, 21, 31, 218, 326, 326, 298 /* 720 */ 326, 326, 326, 326, 326, 326, 114, 326, 218, 384, 299 /* 730 */ 385, 386, 382, 381, 377, 376, 378, 379, 282, 380, 300 /* 740 */ 362, 372, 353, 326, 307, 326, 326, 326, 326, 326, 301 /* 750 */ 326, 326, 326, 326, 268, 51, 50, 52, 44, 23, 302 /* 760 */ 28, 367, 374, 33, 32, 375, 383, 21, 31, 218, 303 /* 770 */ 326, 326, 326, 326, 326, 326, 326, 326, 97, 355, 304 /* 780 */ 112, 384, 385, 386, 382, 381, 377, 376, 378, 379, 305 /* 790 */ 282, 380, 362, 372, 326, 372, 326, 42, 326, 326, 306 /* 800 */ 326, 326, 326, 326, 326, 326, 158, 51, 50, 52, 307 /* 810 */ 44, 23, 28, 367, 374, 33, 32, 375, 383, 21, 308 /* 820 */ 31, 218, 326, 326, 326, 326, 326, 326, 326, 326, 309 /* 830 */ 326, 326, 326, 384, 385, 386, 382, 381, 377, 376, 310 /* 840 */ 378, 379, 282, 380, 362, 128, 326, 326, 326, 326, 311 /* 850 */ 326, 326, 326, 326, 326, 326, 326, 326, 326, 51, 312 /* 860 */ 50, 52, 44, 23, 28, 367, 374, 33, 32, 375, 313 /* 870 */ 383, 21, 31, 326, 326, 326, 326, 326, 326, 326, 314 /* 880 */ 326, 326, 326, 326, 266, 384, 385, 386, 382, 381, 315 /* 890 */ 377, 376, 378, 379, 282, 380, 362, 218, 326, 326, 316 /* 900 */ 326, 326, 190, 344, 326, 326, 11, 145, 354, 283, 317 /* 910 */ 288, 129, 218, 202, 18, 24, 22, 218, 45, 42, 318 /* 920 */ 6, 107, 42, 236, 368, 365, 154, 343, 286, 200, 319 /* 930 */ 245, 295, 241, 285, 326, 51, 50, 52, 44, 23, 320 /* 940 */ 28, 367, 374, 33, 32, 375, 383, 21, 31, 218, 321 /* 950 */ 10, 326, 326, 326, 326, 326, 326, 326, 326, 326, 322 /* 960 */ 326, 384, 385, 386, 382, 381, 377, 376, 378, 379, 323 /* 970 */ 282, 380, 362, 326, 326, 356, 40, 352, 326, 326, 324 /* 980 */ 326, 326, 326, 326, 326, 326, 326, 51, 50, 52, 325 /* 990 */ 44, 23, 28, 367, 374, 33, 32, 375, 383, 21, 326 /* 1000 */ 31, 218, 326, 326, 326, 326, 326, 326, 326, 326, 327 /* 1010 */ 326, 326, 326, 384, 385, 386, 382, 381, 377, 376, 328 /* 1020 */ 378, 379, 282, 380, 362, 326, 326, 326, 326, 326, 329 /* 1030 */ 326, 326, 326, 326, 326, 326, 326, 326, 326, 51, 330 /* 1040 */ 50, 52, 44, 23, 28, 367, 374, 33, 32, 375, 331 /* 1050 */ 383, 21, 31, 326, 326, 326, 326, 326, 326, 326, 332 /* 1060 */ 326, 326, 326, 326, 326, 384, 385, 386, 382, 381, 333 /* 1070 */ 377, 376, 378, 379, 282, 380, 362, 218, 218, 51, 334 /* 1080 */ 50, 52, 44, 23, 28, 367, 374, 33, 32, 375, 335 /* 1090 */ 383, 21, 31, 303, 304, 326, 326, 326, 326, 326, 336 /* 1100 */ 326, 326, 326, 326, 326, 384, 385, 386, 382, 381, 337 /* 1110 */ 377, 376, 378, 379, 282, 380, 362, 218, 326, 218, 338 /* 1120 */ 326, 326, 43, 326, 134, 208, 326, 326, 6, 107, 339 /* 1130 */ 326, 326, 253, 348, 154, 452, 354, 230, 245, 295, 340 /* 1140 */ 241, 246, 18, 30, 42, 42, 48, 42, 6, 107, 341 /* 1150 */ 326, 326, 326, 7, 154, 326, 326, 326, 245, 295, 342 /* 1160 */ 241, 47, 46, 298, 233, 363, 326, 344, 101, 1, 343 /* 1170 */ 269, 155, 326, 326, 326, 129, 136, 326, 43, 326, 344 /* 1180 */ 134, 220, 326, 96, 6, 107, 358, 236, 368, 365, 345 /* 1190 */ 154, 343, 326, 326, 245, 295, 241, 246, 42, 30, 346 /* 1200 */ 326, 254, 48, 360, 40, 352, 326, 344, 326, 326, 347 /* 1210 */ 326, 151, 326, 42, 349, 129, 326, 47, 46, 298, 348 /* 1220 */ 233, 363, 326, 274, 101, 1, 42, 236, 368, 365, 349 /* 1230 */ 326, 343, 336, 357, 43, 42, 144, 220, 326, 96, 350 /* 1240 */ 6, 107, 289, 326, 42, 42, 154, 258, 326, 294, 351 /* 1250 */ 245, 295, 241, 246, 42, 3, 326, 338, 48, 42, 352 /* 1260 */ 259, 42, 326, 344, 326, 326, 326, 149, 326, 42, 353 /* 1270 */ 279, 129, 42, 47, 46, 298, 233, 363, 326, 293, 354 /* 1280 */ 101, 1, 42, 236, 368, 365, 326, 343, 309, 347, 355 /* 1290 */ 43, 42, 126, 220, 326, 96, 6, 107, 290, 326, 356 /* 1300 */ 42, 42, 154, 346, 326, 257, 245, 295, 241, 246, 357 /* 1310 */ 42, 30, 326, 326, 48, 42, 326, 42, 326, 326, 358 /* 1320 */ 326, 326, 326, 326, 326, 326, 326, 326, 326, 47, 359 /* 1330 */ 46, 298, 233, 363, 326, 326, 101, 1, 326, 326, 360 /* 1340 */ 326, 326, 326, 326, 326, 326, 43, 326, 130, 220, 361 /* 1350 */ 326, 96, 6, 107, 326, 326, 326, 326, 154, 326, 362 /* 1360 */ 326, 326, 245, 295, 241, 246, 326, 25, 326, 326, 363 /* 1370 */ 48, 326, 326, 326, 326, 326, 326, 326, 326, 326, 364 /* 1380 */ 326, 326, 326, 326, 326, 47, 46, 298, 233, 363, 365 /* 1390 */ 326, 326, 101, 1, 326, 326, 326, 326, 326, 326, 366 /* 1400 */ 326, 326, 43, 326, 134, 210, 326, 96, 6, 107, 367 /* 1410 */ 326, 326, 326, 326, 154, 326, 326, 326, 245, 295, 368 /* 1420 */ 241, 246, 326, 30, 326, 326, 48, 326, 326, 326, 369 /* 1430 */ 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 370 /* 1440 */ 326, 47, 46, 298, 233, 363, 326, 326, 101, 1, 371 /* 1450 */ 326, 326, 326, 326, 326, 326, 326, 326, 43, 326, 372 /* 1460 */ 124, 92, 326, 96, 6, 107, 326, 326, 326, 326, 373 /* 1470 */ 154, 326, 326, 326, 245, 295, 241, 246, 326, 30, 374 /* 1480 */ 326, 326, 48, 326, 326, 326, 326, 326, 326, 326, 375 /* 1490 */ 326, 326, 326, 326, 326, 326, 326, 47, 46, 298, 376 /* 1500 */ 233, 363, 326, 326, 101, 1, 326, 326, 326, 326, 377 /* 1510 */ 326, 326, 326, 326, 43, 326, 134, 206, 326, 96, 378 /* 1520 */ 6, 107, 326, 326, 326, 326, 154, 326, 326, 326, 379 /* 1530 */ 245, 295, 241, 222, 326, 30, 326, 326, 48, 326, 380 /* 1540 */ 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 381 /* 1550 */ 326, 326, 326, 47, 46, 298, 233, 363, 326, 326, 382 /* 1560 */ 101, 1, 326, 326, 326, 326, 326, 326, 326, 326, 383 /* 1570 */ 43, 326, 134, 205, 326, 96, 6, 107, 326, 326, 384 /* 1580 */ 326, 326, 154, 326, 326, 326, 245, 295, 241, 246, 385 /* 1590 */ 326, 30, 326, 326, 48, 326, 326, 326, 326, 326, 386 /* 1600 */ 326, 326, 326, 326, 326, 326, 326, 326, 326, 47, 387 /* 1610 */ 46, 298, 233, 363, 326, 326, 101, 1, 326, 326, 388 /* 1620 */ 326, 326, 326, 326, 326, 326, 43, 326, 134, 209, 389 /* 1630 */ 326, 96, 6, 107, 326, 326, 326, 326, 154, 326, 390 /* 1640 */ 326, 326, 245, 295, 241, 246, 326, 30, 326, 326, 391 /* 1650 */ 48, 326, 326, 326, 326, 326, 326, 326, 326, 326, 392 /* 1660 */ 326, 326, 326, 326, 326, 47, 46, 298, 233, 363, 393 /* 1670 */ 326, 326, 101, 1, 326, 326, 326, 326, 326, 326, 394 /* 1680 */ 326, 326, 43, 326, 130, 220, 326, 96, 6, 107, 395 /* 1690 */ 326, 326, 326, 326, 154, 326, 326, 326, 245, 295, 396 /* 1700 */ 241, 246, 326, 25, 326, 326, 48, 326, 326, 326, 397 /* 1710 */ 326, 326, 326, 326, 326, 326, 326, 326, 326, 190, 398 /* 1720 */ 165, 47, 46, 298, 233, 363, 326, 326, 101, 292, 399 /* 1730 */ 326, 326, 24, 22, 326, 326, 326, 326, 43, 326, 400 /* 1740 */ 130, 221, 326, 96, 6, 107, 200, 326, 326, 326, 401 /* 1750 */ 154, 326, 326, 326, 245, 295, 241, 246, 326, 25, 402 /* 1760 */ 326, 326, 48, 326, 326, 326, 326, 326, 326, 326, 403 /* 1770 */ 326, 326, 326, 326, 326, 326, 326, 47, 46, 298, 404 /* 1780 */ 233, 363, 326, 326, 101, 326, 326, 326, 326, 326, 405 /* 1790 */ 326, 326, 326, 326, 326, 501, 190, 180, 326, 96, 406 /* 1800 */ 326, 326, 501, 326, 501, 501, 292, 501, 501, 24, 407 /* 1810 */ 22, 326, 326, 344, 501, 7, 501, 132, 326, 326, 408 /* 1820 */ 78, 129, 326, 200, 326, 326, 326, 326, 326, 301, 409 /* 1830 */ 361, 501, 326, 236, 368, 365, 326, 343, 136, 326, 410 /* 1840 */ 326, 344, 501, 326, 217, 93, 326, 326, 59, 117, 411 /* 1850 */ 326, 326, 326, 326, 326, 326, 501, 301, 361, 326, 412 /* 1860 */ 326, 236, 368, 365, 344, 343, 326, 326, 132, 326, 413 /* 1870 */ 326, 77, 129, 326, 326, 326, 326, 326, 326, 326, 414 /* 1880 */ 301, 361, 326, 326, 236, 368, 365, 344, 343, 326, 415 /* 1890 */ 326, 132, 326, 326, 84, 129, 326, 326, 344, 326, 416 /* 1900 */ 326, 326, 115, 301, 361, 72, 129, 236, 368, 365, 417 /* 1910 */ 326, 343, 326, 326, 301, 361, 326, 326, 236, 368, 418 /* 1920 */ 365, 326, 343, 344, 326, 326, 326, 132, 326, 326, 419 /* 1930 */ 64, 129, 326, 326, 344, 326, 326, 326, 132, 301, 420 /* 1940 */ 361, 66, 129, 236, 368, 365, 326, 343, 326, 326, 421 /* 1950 */ 301, 361, 326, 344, 236, 368, 365, 132, 343, 326, 422 /* 1960 */ 68, 129, 326, 326, 326, 326, 326, 326, 326, 301, 423 /* 1970 */ 361, 326, 344, 236, 368, 365, 132, 343, 326, 76, 424 /* 1980 */ 129, 326, 326, 344, 326, 326, 326, 132, 301, 361, 425 /* 1990 */ 80, 129, 236, 368, 365, 326, 343, 326, 326, 301, 426 /* 2000 */ 361, 326, 326, 236, 368, 365, 326, 343, 344, 326, 427 /* 2010 */ 326, 326, 132, 326, 326, 60, 129, 326, 326, 344, 428 /* 2020 */ 326, 326, 326, 132, 301, 361, 73, 129, 236, 368, 429 /* 2030 */ 365, 326, 343, 326, 326, 301, 361, 326, 344, 236, 430 /* 2040 */ 368, 365, 132, 343, 326, 74, 129, 326, 326, 326, 431 /* 2050 */ 326, 326, 326, 326, 301, 361, 326, 344, 236, 368, 432 /* 2060 */ 365, 132, 343, 326, 90, 129, 326, 326, 344, 326, 433 /* 2070 */ 326, 326, 132, 301, 361, 65, 129, 236, 368, 365, 434 /* 2080 */ 326, 343, 326, 326, 301, 361, 326, 326, 236, 368, 435 /* 2090 */ 365, 326, 343, 344, 326, 326, 326, 132, 326, 326, 436 /* 2100 */ 83, 129, 326, 326, 344, 326, 326, 326, 93, 301, 437 /* 2110 */ 361, 53, 117, 236, 368, 365, 326, 343, 326, 326, 438 /* 2120 */ 301, 361, 326, 344, 215, 368, 365, 132, 343, 326, 439 /* 2130 */ 87, 129, 326, 326, 326, 326, 326, 326, 326, 301, 440 /* 2140 */ 361, 326, 344, 236, 368, 365, 132, 343, 326, 58, 441 /* 2150 */ 129, 326, 326, 344, 326, 326, 326, 122, 301, 361, 442 /* 2160 */ 55, 129, 236, 368, 365, 326, 343, 326, 326, 301, 443 /* 2170 */ 361, 326, 326, 236, 368, 365, 326, 343, 344, 326, 444 /* 2180 */ 326, 326, 132, 326, 326, 70, 129, 326, 326, 344, 445 /* 2190 */ 326, 326, 326, 132, 301, 361, 91, 129, 236, 368, 446 /* 2200 */ 365, 326, 343, 326, 326, 301, 361, 326, 344, 236, 447 /* 2210 */ 368, 365, 111, 343, 326, 63, 129, 326, 326, 326, 448 /* 2220 */ 326, 326, 326, 326, 301, 361, 326, 344, 236, 368, 449 /* 2230 */ 365, 132, 343, 326, 86, 129, 326, 326, 344, 326, 450 /* 2240 */ 326, 326, 132, 301, 361, 79, 129, 236, 368, 365, 451 /* 2250 */ 326, 343, 326, 326, 301, 361, 326, 326, 236, 368, 452 /* 2260 */ 365, 326, 343, 344, 326, 326, 326, 132, 326, 326, 453 /* 2270 */ 75, 129, 326, 326, 344, 326, 326, 326, 132, 301, 454 /* 2280 */ 361, 88, 129, 236, 368, 365, 326, 343, 326, 326, 455 /* 2290 */ 301, 361, 326, 344, 236, 368, 365, 132, 343, 326, 456 /* 2300 */ 62, 129, 326, 326, 326, 326, 326, 326, 326, 301, 457 /* 2310 */ 361, 326, 344, 236, 368, 365, 132, 343, 326, 61, 458 /* 2320 */ 129, 326, 326, 344, 326, 326, 326, 132, 301, 361, 459 /* 2330 */ 69, 129, 236, 368, 365, 326, 343, 326, 326, 301, 460 /* 2340 */ 361, 326, 326, 236, 368, 365, 326, 343, 344, 326, 461 /* 2350 */ 326, 326, 132, 326, 326, 57, 129, 326, 326, 344, 462 /* 2360 */ 326, 326, 326, 132, 301, 361, 89, 129, 236, 368, 463 /* 2370 */ 365, 326, 343, 326, 326, 301, 361, 326, 344, 236, 464 /* 2380 */ 368, 365, 132, 343, 326, 81, 129, 326, 326, 326, 465 /* 2390 */ 326, 326, 326, 326, 301, 361, 326, 344, 236, 368, 466 /* 2400 */ 365, 113, 343, 326, 85, 129, 326, 326, 344, 326, 467 /* 2410 */ 326, 326, 132, 301, 361, 71, 129, 236, 368, 365, 468 /* 2420 */ 326, 343, 326, 326, 301, 361, 326, 326, 236, 368, 469 /* 2430 */ 365, 326, 343, 344, 326, 326, 326, 132, 326, 326, 470 /* 2440 */ 67, 129, 326, 326, 344, 326, 326, 326, 132, 301, 471 /* 2450 */ 361, 56, 129, 214, 368, 365, 326, 343, 326, 326, 472 /* 2460 */ 301, 361, 326, 344, 236, 368, 365, 147, 343, 326, 473 /* 2470 */ 326, 129, 326, 326, 326, 326, 326, 326, 326, 326, 474 /* 2480 */ 364, 326, 344, 236, 368, 365, 157, 343, 326, 326, 475 /* 2490 */ 129, 326, 326, 326, 326, 100, 177, 326, 326, 280, 476 /* 2500 */ 326, 326, 236, 368, 365, 292, 343, 326, 24, 22, 477 /* 2510 */ 326, 190, 167, 326, 326, 326, 326, 326, 190, 182, 478 /* 2520 */ 326, 292, 200, 326, 24, 22, 326, 326, 292, 326, 479 /* 2530 */ 326, 24, 22, 326, 190, 169, 326, 326, 200, 326, 480 /* 2540 */ 326, 326, 326, 326, 292, 200, 326, 24, 22, 326, 481 /* 2550 */ 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 482 /* 2560 */ 326, 200, 464 483 ); 465 484 static public $yy_lookahead = array( 466 /* 0 */ 1, 8 2, 83, 84, 3, 4, 5, 6, 7, 8,467 /* 10 */ 9, 10, 11, 12, 1 8, 89, 15, 80, 81, 82,468 /* 20 */ 83, 84, 21, 22, 98, 26, 15, 28, 27, 18,469 /* 30 */ 19, 116, 31, 32, 33, 24, 110, 38, 39, 40,485 /* 0 */ 1, 83, 84, 85, 3, 4, 5, 6, 7, 8, 486 /* 10 */ 9, 10, 11, 12, 13, 98, 90, 16, 81, 82, 487 /* 20 */ 83, 84, 85, 22, 23, 99, 27, 16, 29, 28, 488 /* 30 */ 19, 20, 109, 32, 33, 34, 25, 111, 39, 40, 470 489 /* 40 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 471 /* 50 */ 51, 4, 5, 6, 7, 8, 60, 1, 36, 12, 472 /* 60 */ 13, 14, 1, 64, 65, 66, 67, 68, 69, 70, 473 /* 70 */ 71, 72, 73, 74, 75, 1, 83, 16, 88, 57, 474 /* 80 */ 87, 59, 88, 90, 91, 63, 30, 16, 15, 28, 475 /* 90 */ 16, 18, 99, 100, 19, 20, 103, 104, 105, 28, 476 /* 100 */ 107, 28, 28, 30, 2, 115, 116, 36, 52, 115, 477 /* 110 */ 117, 118, 38, 39, 40, 41, 42, 43, 44, 45, 478 /* 120 */ 46, 47, 48, 49, 50, 51, 83, 88, 89, 109, 479 /* 130 */ 59, 111, 112, 15, 59, 17, 18, 98, 64, 65, 480 /* 140 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 481 /* 150 */ 1, 83, 34, 15, 115, 87, 18, 19, 90, 91, 482 /* 160 */ 92, 15, 119, 120, 18, 16, 16, 99, 100, 19, 483 /* 170 */ 89, 103, 104, 105, 28, 107, 30, 28, 28, 98, 484 /* 180 */ 36, 15, 15, 17, 18, 18, 36, 38, 39, 40, 485 /* 190 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 486 /* 200 */ 51, 88, 89, 59, 15, 57, 30, 18, 19, 59, 487 /* 210 */ 62, 98, 36, 64, 65, 66, 67, 68, 69, 70, 488 /* 220 */ 71, 72, 73, 74, 75, 1, 83, 60, 115, 16, 489 /* 230 */ 87, 97, 15, 90, 91, 59, 1, 24, 19, 20, 490 /* 240 */ 16, 15, 99, 100, 18, 20, 103, 104, 105, 60, 491 /* 250 */ 107, 16, 28, 36, 84, 20, 86, 114, 111, 112, 492 /* 260 */ 17, 18, 38, 39, 40, 41, 42, 43, 44, 45, 493 /* 270 */ 46, 47, 48, 49, 50, 51, 1, 2, 59, 91, 494 /* 280 */ 92, 93, 57, 111, 112, 24, 60, 62, 64, 65, 495 /* 290 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 496 /* 300 */ 89, 1, 88, 89, 61, 35, 35, 37, 37, 98, 497 /* 310 */ 17, 18, 98, 38, 39, 40, 41, 42, 43, 44, 498 /* 320 */ 45, 46, 47, 48, 49, 50, 51, 1, 89, 115, 499 /* 330 */ 35, 35, 37, 88, 88, 91, 92, 98, 77, 64, 500 /* 340 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 501 /* 350 */ 75, 23, 52, 89, 115, 29, 108, 97, 110, 63, 502 /* 360 */ 115, 115, 98, 35, 38, 39, 40, 41, 42, 43, 503 /* 370 */ 44, 45, 46, 47, 48, 49, 50, 51, 1, 115, 504 /* 380 */ 89, 15, 15, 15, 18, 18, 18, 95, 17, 98, 505 /* 390 */ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 506 /* 400 */ 74, 75, 110, 89, 91, 92, 115, 36, 1, 108, 507 /* 410 */ 15, 110, 98, 18, 108, 38, 39, 40, 41, 42, 508 /* 420 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 115, 509 /* 430 */ 106, 106, 36, 15, 97, 28, 18, 113, 113, 108, 510 /* 440 */ 95, 64, 65, 66, 67, 68, 69, 70, 71, 72, 511 /* 450 */ 73, 74, 75, 1, 77, 110, 83, 108, 15, 18, 512 /* 460 */ 87, 18, 83, 90, 91, 20, 87, 17, 19, 91, 513 /* 470 */ 91, 28, 99, 100, 1, 23, 103, 104, 105, 100, 514 /* 480 */ 107, 103, 103, 104, 105, 107, 107, 114, 2, 16, 515 /* 490 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 516 /* 500 */ 48, 49, 50, 51, 59, 19, 57, 19, 37, 61, 517 /* 510 */ 18, 17, 53, 2, 18, 95, 64, 65, 66, 67, 518 /* 520 */ 68, 69, 70, 71, 72, 73, 74, 75, 1, 83, 519 /* 530 */ 110, 89, 63, 87, 83, 25, 90, 91, 87, 17, 520 /* 540 */ 98, 18, 91, 16, 1, 99, 100, 1, 2, 103, 521 /* 550 */ 104, 105, 110, 107, 103, 104, 105, 18, 107, 16, 522 /* 560 */ 114, 61, 16, 34, 1, 38, 39, 40, 41, 42, 523 /* 570 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 16, 524 /* 580 */ 89, 2, 18, 17, 24, 57, 34, 36, 17, 98, 525 /* 590 */ 95, 64, 65, 66, 67, 68, 69, 70, 71, 72, 526 /* 600 */ 73, 74, 75, 1, 83, 110, 89, 18, 87, 18, 527 /* 610 */ 16, 90, 91, 92, 89, 98, 96, 16, 16, 16, 528 /* 620 */ 99, 100, 28, 98, 103, 104, 105, 110, 107, 28, 529 /* 630 */ 110, 28, 18, 18, 98, 110, 20, 1, 28, 109, 530 /* 640 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 531 /* 650 */ 48, 49, 50, 51, 1, 115, 108, 28, 113, 110, 532 /* 660 */ 28, 94, 112, 95, 95, 95, 64, 65, 66, 67, 533 /* 670 */ 68, 69, 70, 71, 72, 73, 74, 75, 110, 110, 534 /* 680 */ 110, 85, 94, 13, 121, 121, 121, 121, 121, 121, 535 /* 690 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 536 /* 700 */ 47, 48, 49, 50, 51, 1, 121, 121, 121, 121, 537 /* 710 */ 121, 121, 121, 121, 95, 95, 95, 64, 65, 66, 538 /* 720 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 110, 539 /* 730 */ 110, 110, 121, 121, 121, 121, 121, 121, 121, 121, 540 /* 740 */ 121, 37, 38, 39, 40, 41, 42, 43, 44, 45, 541 /* 750 */ 46, 47, 48, 49, 50, 51, 1, 121, 121, 121, 542 /* 760 */ 121, 121, 121, 121, 121, 121, 121, 121, 64, 65, 543 /* 770 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 544 /* 780 */ 83, 121, 121, 28, 121, 121, 121, 121, 121, 121, 545 /* 790 */ 121, 121, 121, 38, 39, 40, 41, 42, 43, 44, 546 /* 800 */ 45, 46, 47, 48, 49, 50, 51, 1, 121, 121, 547 /* 810 */ 121, 121, 121, 121, 121, 121, 121, 120, 121, 64, 548 /* 820 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 549 /* 830 */ 75, 121, 121, 121, 121, 121, 121, 121, 121, 121, 550 /* 840 */ 121, 121, 121, 121, 38, 39, 40, 41, 42, 43, 551 /* 850 */ 44, 45, 46, 47, 48, 49, 50, 51, 121, 121, 552 /* 860 */ 121, 121, 121, 121, 121, 121, 121, 121, 121, 63, 553 /* 870 */ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 554 /* 880 */ 74, 75, 1, 121, 121, 121, 88, 83, 1, 16, 555 /* 890 */ 16, 87, 121, 10, 16, 91, 121, 16, 15, 101, 556 /* 900 */ 102, 28, 28, 16, 21, 22, 28, 103, 104, 105, 557 /* 910 */ 27, 107, 121, 115, 31, 32, 33, 121, 1, 38, 558 /* 920 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 559 /* 930 */ 49, 50, 51, 16, 121, 121, 121, 121, 121, 52, 560 /* 940 */ 121, 121, 121, 121, 121, 64, 65, 66, 67, 68, 561 /* 950 */ 69, 70, 71, 72, 73, 74, 75, 1, 121, 76, 562 /* 960 */ 77, 78, 83, 16, 16, 16, 87, 121, 10, 16, 563 /* 970 */ 91, 121, 16, 15, 121, 28, 28, 28, 121, 21, 564 /* 980 */ 22, 28, 103, 104, 105, 27, 107, 121, 121, 31, 565 /* 990 */ 32, 33, 121, 121, 38, 39, 40, 41, 42, 43, 566 /* 1000 */ 44, 45, 46, 47, 48, 49, 50, 51, 1, 121, 567 /* 1010 */ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 568 /* 1020 */ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 569 /* 1030 */ 74, 75, 121, 121, 76, 77, 78, 121, 121, 121, 570 /* 1040 */ 121, 121, 121, 121, 121, 38, 39, 40, 41, 42, 571 /* 1050 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 121, 572 /* 1060 */ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 573 /* 1070 */ 121, 64, 65, 66, 67, 68, 69, 70, 71, 72, 574 /* 1080 */ 73, 74, 75, 121, 38, 39, 40, 41, 42, 43, 575 /* 1090 */ 44, 45, 46, 47, 48, 49, 50, 51, 121, 121, 576 /* 1100 */ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 577 /* 1110 */ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 578 /* 1120 */ 74, 75, 121, 121, 121, 121, 15, 121, 17, 18, 579 /* 1130 */ 121, 83, 21, 22, 16, 87, 121, 16, 27, 91, 580 /* 1140 */ 121, 121, 31, 32, 33, 34, 28, 36, 100, 28, 581 /* 1150 */ 39, 103, 104, 105, 121, 107, 83, 121, 121, 121, 582 /* 1160 */ 87, 121, 121, 121, 91, 54, 55, 56, 57, 58, 583 /* 1170 */ 121, 83, 61, 62, 63, 87, 103, 104, 105, 91, 584 /* 1180 */ 107, 121, 15, 121, 17, 18, 121, 76, 21, 22, 585 /* 1190 */ 16, 103, 104, 105, 27, 107, 16, 16, 31, 32, 586 /* 1200 */ 33, 34, 28, 36, 16, 121, 39, 16, 28, 28, 587 /* 1210 */ 83, 121, 121, 121, 87, 121, 28, 90, 91, 28, 588 /* 1220 */ 1, 54, 55, 56, 57, 58, 99, 100, 61, 62, 589 /* 1230 */ 103, 104, 105, 1, 107, 16, 121, 16, 15, 121, 590 /* 1240 */ 17, 18, 121, 76, 21, 22, 16, 28, 16, 28, 591 /* 1250 */ 27, 16, 20, 121, 31, 32, 33, 34, 28, 36, 592 /* 1260 */ 28, 121, 39, 28, 16, 121, 83, 121, 36, 121, 593 /* 1270 */ 87, 52, 121, 90, 91, 121, 28, 54, 55, 56, 594 /* 1280 */ 57, 58, 99, 100, 61, 62, 103, 104, 105, 121, 595 /* 1290 */ 107, 59, 121, 121, 15, 121, 17, 18, 121, 76, 596 /* 1300 */ 21, 22, 121, 121, 121, 121, 27, 121, 121, 121, 597 /* 1310 */ 31, 32, 33, 34, 121, 36, 121, 121, 39, 121, 598 /* 1320 */ 121, 121, 83, 121, 121, 121, 87, 121, 121, 90, 599 /* 1330 */ 91, 121, 1, 54, 55, 56, 57, 58, 99, 100, 600 /* 1340 */ 61, 62, 103, 104, 105, 121, 107, 16, 121, 121, 601 /* 1350 */ 15, 121, 17, 18, 121, 76, 21, 22, 121, 28, 602 /* 1360 */ 29, 121, 27, 121, 121, 121, 31, 32, 33, 34, 603 /* 1370 */ 121, 36, 121, 121, 39, 121, 121, 121, 83, 121, 604 /* 1380 */ 121, 121, 87, 52, 121, 90, 91, 121, 1, 54, 605 /* 1390 */ 55, 56, 57, 58, 99, 100, 61, 62, 103, 104, 606 /* 1400 */ 105, 121, 107, 16, 121, 121, 15, 121, 17, 18, 607 /* 1410 */ 121, 76, 21, 22, 121, 28, 121, 121, 27, 121, 608 /* 1420 */ 121, 121, 31, 32, 33, 34, 121, 36, 121, 121, 609 /* 1430 */ 39, 121, 121, 121, 83, 121, 121, 121, 87, 52, 610 /* 1440 */ 121, 90, 91, 121, 1, 54, 55, 56, 57, 58, 611 /* 1450 */ 99, 100, 61, 62, 103, 104, 105, 121, 107, 16, 612 /* 1460 */ 121, 121, 15, 121, 17, 18, 121, 76, 21, 22, 613 /* 1470 */ 121, 28, 121, 121, 27, 121, 121, 121, 31, 32, 614 /* 1480 */ 33, 34, 121, 36, 121, 121, 39, 121, 121, 121, 615 /* 1490 */ 83, 121, 121, 121, 87, 52, 121, 90, 91, 121, 616 /* 1500 */ 121, 54, 55, 56, 57, 58, 99, 100, 61, 62, 617 /* 1510 */ 103, 104, 105, 121, 107, 121, 121, 121, 15, 121, 618 /* 1520 */ 17, 18, 121, 76, 21, 22, 121, 121, 121, 121, 619 /* 1530 */ 27, 121, 121, 121, 31, 32, 33, 34, 121, 36, 620 /* 1540 */ 121, 121, 39, 121, 121, 121, 83, 121, 121, 121, 621 /* 1550 */ 87, 121, 121, 90, 91, 121, 121, 54, 55, 56, 622 /* 1560 */ 57, 58, 99, 100, 61, 62, 103, 104, 105, 121, 623 /* 1570 */ 107, 121, 121, 121, 15, 121, 17, 18, 121, 76, 624 /* 1580 */ 21, 22, 121, 121, 121, 121, 27, 121, 121, 121, 625 /* 1590 */ 31, 32, 33, 34, 121, 36, 121, 121, 39, 121, 626 /* 1600 */ 121, 121, 83, 121, 121, 121, 87, 121, 121, 90, 627 /* 1610 */ 91, 121, 121, 54, 55, 56, 57, 58, 99, 100, 628 /* 1620 */ 61, 62, 103, 104, 105, 121, 107, 121, 121, 121, 629 /* 1630 */ 15, 121, 17, 18, 121, 76, 21, 22, 121, 121, 630 /* 1640 */ 121, 121, 27, 121, 121, 121, 31, 32, 33, 34, 631 /* 1650 */ 121, 36, 121, 121, 39, 121, 121, 121, 83, 121, 632 /* 1660 */ 121, 121, 87, 121, 121, 90, 91, 121, 121, 54, 633 /* 1670 */ 55, 56, 57, 58, 99, 100, 61, 62, 103, 104, 634 /* 1680 */ 105, 121, 107, 121, 121, 121, 15, 121, 17, 18, 635 /* 1690 */ 121, 76, 21, 22, 121, 121, 121, 121, 27, 121, 636 /* 1700 */ 121, 121, 31, 32, 33, 34, 121, 36, 121, 121, 637 /* 1710 */ 39, 121, 121, 121, 83, 121, 121, 121, 87, 121, 638 /* 1720 */ 121, 90, 91, 121, 121, 54, 55, 56, 57, 58, 639 /* 1730 */ 99, 100, 61, 121, 103, 104, 105, 121, 107, 121, 640 /* 1740 */ 121, 121, 15, 121, 17, 18, 121, 76, 21, 22, 641 /* 1750 */ 121, 121, 121, 121, 27, 121, 121, 121, 31, 32, 642 /* 1760 */ 33, 34, 121, 36, 88, 89, 39, 121, 121, 121, 643 /* 1770 */ 121, 121, 121, 121, 98, 121, 121, 101, 102, 121, 644 /* 1780 */ 16, 54, 55, 56, 57, 58, 121, 23, 61, 25, 645 /* 1790 */ 26, 115, 28, 29, 121, 121, 121, 121, 121, 35, 646 /* 1800 */ 36, 37, 121, 76, 121, 121, 121, 121, 121, 121, 647 /* 1810 */ 121, 121, 121, 83, 121, 121, 52, 87, 121, 121, 648 /* 1820 */ 90, 91, 121, 59, 121, 121, 121, 63, 121, 99, 649 /* 1830 */ 100, 121, 121, 103, 104, 105, 121, 107, 83, 121, 650 /* 1840 */ 121, 77, 87, 121, 121, 90, 91, 121, 118, 121, 651 /* 1850 */ 121, 121, 121, 121, 99, 100, 121, 121, 103, 104, 652 /* 1860 */ 105, 121, 107, 121, 83, 121, 121, 121, 87, 121, 653 /* 1870 */ 121, 90, 91, 121, 83, 121, 121, 121, 87, 121, 654 /* 1880 */ 99, 100, 91, 83, 103, 104, 105, 87, 107, 121, 655 /* 1890 */ 90, 91, 121, 121, 103, 104, 105, 121, 107, 99, 656 /* 1900 */ 100, 121, 121, 103, 104, 105, 121, 107, 121, 121, 657 /* 1910 */ 121, 83, 121, 121, 121, 87, 121, 121, 90, 91, 658 /* 1920 */ 121, 121, 83, 121, 121, 121, 87, 99, 100, 90, 659 /* 1930 */ 91, 103, 104, 105, 121, 107, 121, 121, 99, 100, 660 /* 1940 */ 121, 121, 103, 104, 105, 121, 107, 121, 83, 121, 661 /* 1950 */ 121, 121, 87, 121, 121, 90, 91, 121, 83, 121, 662 /* 1960 */ 121, 121, 87, 121, 99, 100, 91, 83, 103, 104, 663 /* 1970 */ 105, 87, 107, 121, 90, 91, 121, 121, 103, 104, 664 /* 1980 */ 105, 121, 107, 99, 100, 121, 121, 103, 104, 105, 665 /* 1990 */ 121, 107, 121, 121, 121, 83, 121, 121, 121, 87, 666 /* 2000 */ 121, 121, 90, 91, 121, 121, 83, 121, 121, 121, 667 /* 2010 */ 87, 99, 100, 90, 91, 103, 104, 105, 121, 107, 668 /* 2020 */ 121, 121, 99, 100, 121, 121, 103, 104, 105, 121, 669 /* 2030 */ 107, 121, 83, 88, 89, 121, 87, 121, 121, 90, 670 /* 2040 */ 91, 121, 121, 98, 121, 121, 101, 102, 99, 100, 671 /* 2050 */ 121, 83, 103, 104, 105, 87, 107, 121, 90, 91, 672 /* 2060 */ 115, 121, 121, 121, 88, 89, 121, 99, 100, 121, 673 /* 2070 */ 121, 103, 104, 105, 98, 107, 121, 101, 102, 83, 674 /* 2080 */ 121, 121, 121, 87, 121, 121, 90, 91, 121, 121, 675 /* 2090 */ 83, 115, 121, 121, 87, 99, 100, 90, 91, 103, 676 /* 2100 */ 104, 105, 121, 107, 121, 121, 99, 100, 121, 121, 677 /* 2110 */ 103, 104, 105, 121, 107, 121, 83, 88, 89, 121, 678 /* 2120 */ 87, 121, 121, 90, 91, 121, 121, 98, 121, 121, 679 /* 2130 */ 101, 102, 99, 100, 121, 83, 103, 104, 105, 87, 680 /* 2140 */ 107, 121, 90, 91, 115, 121, 121, 121, 88, 89, 681 /* 2150 */ 121, 99, 100, 121, 121, 103, 104, 105, 98, 107, 682 /* 2160 */ 121, 101, 102, 83, 121, 121, 121, 87, 121, 121, 683 /* 2170 */ 90, 91, 121, 121, 83, 115, 121, 121, 87, 99, 684 /* 2180 */ 100, 90, 91, 103, 104, 105, 121, 107, 121, 121, 685 /* 2190 */ 99, 100, 121, 121, 103, 104, 105, 121, 107, 121, 686 /* 2200 */ 83, 88, 89, 121, 87, 121, 121, 90, 91, 121, 687 /* 2210 */ 121, 98, 121, 121, 101, 102, 99, 100, 121, 83, 688 /* 2220 */ 103, 104, 105, 87, 107, 121, 90, 91, 115, 121, 689 /* 2230 */ 121, 121, 121, 121, 121, 99, 100, 121, 121, 103, 690 /* 2240 */ 104, 105, 121, 107, 121, 121, 121, 83, 121, 121, 691 /* 2250 */ 121, 87, 121, 121, 90, 91, 121, 121, 83, 121, 692 /* 2260 */ 121, 121, 87, 99, 100, 90, 91, 103, 104, 105, 693 /* 2270 */ 121, 107, 121, 121, 99, 100, 121, 121, 103, 104, 694 /* 2280 */ 105, 121, 107, 121, 83, 121, 121, 121, 87, 121, 695 /* 2290 */ 121, 90, 91, 121, 121, 121, 121, 121, 121, 121, 696 /* 2300 */ 99, 100, 121, 83, 103, 104, 105, 87, 107, 121, 697 /* 2310 */ 90, 91, 121, 121, 121, 121, 121, 121, 121, 99, 698 /* 2320 */ 100, 121, 121, 103, 104, 105, 121, 107, 121, 121, 699 /* 2330 */ 121, 83, 121, 121, 121, 87, 121, 121, 90, 91, 700 /* 2340 */ 121, 121, 83, 121, 121, 121, 87, 99, 100, 90, 701 /* 2350 */ 91, 103, 104, 105, 121, 107, 121, 121, 99, 100, 702 /* 2360 */ 121, 121, 103, 104, 105, 121, 107, 121, 83, 121, 703 /* 2370 */ 121, 121, 87, 121, 121, 90, 91, 121, 121, 121, 704 /* 2380 */ 121, 121, 121, 121, 99, 100, 121, 121, 103, 104, 705 /* 2390 */ 105, 121, 107, 490 /* 50 */ 51, 52, 4, 5, 6, 7, 8, 16, 36, 84, 491 /* 60 */ 38, 13, 14, 15, 65, 66, 67, 68, 69, 70, 492 /* 70 */ 71, 72, 73, 74, 75, 76, 1, 84, 37, 89, 493 /* 80 */ 90, 88, 37, 16, 91, 92, 19, 20, 17, 99, 494 /* 90 */ 17, 20, 17, 100, 101, 120, 121, 104, 105, 106, 495 /* 100 */ 29, 108, 29, 58, 29, 60, 116, 31, 37, 64, 496 /* 110 */ 37, 118, 119, 37, 39, 40, 41, 42, 43, 44, 497 /* 120 */ 45, 46, 47, 48, 49, 50, 51, 52, 61, 89, 498 /* 130 */ 90, 60, 36, 60, 38, 16, 60, 18, 19, 99, 499 /* 140 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 500 /* 150 */ 75, 76, 1, 84, 35, 1, 116, 88, 21, 89, 501 /* 160 */ 91, 92, 93, 16, 16, 97, 19, 19, 17, 100, 502 /* 170 */ 101, 17, 19, 104, 105, 106, 29, 108, 31, 111, 503 /* 180 */ 29, 89, 1, 29, 30, 16, 116, 117, 19, 20, 504 /* 190 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 505 /* 200 */ 49, 50, 51, 52, 25, 89, 90, 53, 116, 61, 506 /* 210 */ 16, 1, 31, 19, 61, 99, 65, 66, 67, 68, 507 /* 220 */ 69, 70, 71, 72, 73, 74, 75, 76, 1, 84, 508 /* 230 */ 58, 1, 116, 88, 53, 63, 91, 92, 93, 16, 509 /* 240 */ 20, 21, 19, 86, 17, 100, 101, 17, 92, 104, 510 /* 250 */ 105, 106, 29, 108, 31, 61, 29, 78, 98, 29, 511 /* 260 */ 104, 112, 113, 53, 108, 113, 39, 40, 41, 42, 512 /* 270 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 513 /* 280 */ 60, 90, 90, 53, 110, 109, 112, 113, 20, 21, 514 /* 290 */ 99, 99, 65, 66, 67, 68, 69, 70, 71, 72, 515 /* 300 */ 73, 74, 75, 76, 1, 84, 98, 1, 116, 88, 516 /* 310 */ 84, 62, 91, 92, 88, 90, 64, 1, 92, 21, 517 /* 320 */ 17, 100, 101, 17, 99, 104, 105, 106, 60, 108, 518 /* 330 */ 104, 105, 106, 17, 108, 29, 111, 21, 18, 19, 519 /* 340 */ 119, 14, 39, 40, 41, 42, 43, 44, 45, 46, 520 /* 350 */ 47, 48, 49, 50, 51, 52, 58, 112, 113, 53, 521 /* 360 */ 16, 63, 18, 19, 92, 93, 94, 19, 65, 66, 522 /* 370 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 523 /* 380 */ 1, 84, 62, 1, 90, 88, 84, 19, 91, 92, 524 /* 390 */ 88, 90, 58, 99, 92, 90, 17, 100, 101, 17, 525 /* 400 */ 99, 104, 105, 106, 99, 108, 104, 105, 106, 36, 526 /* 410 */ 108, 29, 115, 36, 19, 38, 111, 116, 39, 40, 527 /* 420 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 528 /* 430 */ 51, 52, 1, 90, 37, 53, 89, 64, 2, 109, 529 /* 440 */ 16, 111, 99, 19, 65, 66, 67, 68, 69, 70, 530 /* 450 */ 71, 72, 73, 74, 75, 76, 20, 60, 16, 116, 531 /* 460 */ 90, 19, 109, 116, 111, 18, 18, 19, 19, 99, 532 /* 470 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 533 /* 480 */ 49, 50, 51, 52, 37, 1, 116, 17, 16, 16, 534 /* 490 */ 16, 19, 19, 19, 89, 25, 65, 66, 67, 68, 535 /* 500 */ 69, 70, 71, 72, 73, 74, 75, 76, 24, 78, 536 /* 510 */ 24, 107, 92, 93, 1, 92, 93, 85, 114, 87, 537 /* 520 */ 19, 116, 36, 39, 40, 41, 42, 43, 44, 45, 538 /* 530 */ 46, 47, 48, 49, 50, 51, 52, 1, 19, 18, 539 /* 540 */ 20, 35, 29, 62, 19, 2, 96, 96, 96, 65, 540 /* 550 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 541 /* 560 */ 76, 111, 111, 111, 107, 54, 30, 18, 26, 18, 542 /* 570 */ 2, 114, 18, 18, 96, 39, 40, 41, 42, 43, 543 /* 580 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 111, 544 /* 590 */ 90, 19, 19, 35, 38, 25, 37, 19, 37, 99, 545 /* 600 */ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 546 /* 610 */ 74, 75, 76, 1, 84, 111, 1, 99, 88, 84, 547 /* 620 */ 117, 91, 92, 88, 110, 116, 109, 92, 90, 17, 548 /* 630 */ 100, 101, 17, 20, 104, 105, 106, 99, 108, 104, 549 /* 640 */ 105, 106, 1, 108, 111, 115, 29, 29, 114, 111, 550 /* 650 */ 29, 39, 40, 41, 42, 43, 44, 45, 46, 47, 551 /* 660 */ 48, 49, 50, 51, 52, 1, 95, 2, 53, 95, 552 /* 670 */ 122, 58, 109, 122, 122, 96, 96, 65, 66, 67, 553 /* 680 */ 68, 69, 70, 71, 72, 73, 74, 75, 76, 17, 554 /* 690 */ 111, 111, 122, 122, 122, 122, 122, 122, 122, 122, 555 /* 700 */ 122, 29, 38, 39, 40, 41, 42, 43, 44, 45, 556 /* 710 */ 46, 47, 48, 49, 50, 51, 52, 1, 122, 122, 557 /* 720 */ 122, 122, 122, 122, 122, 122, 96, 122, 1, 65, 558 /* 730 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 559 /* 740 */ 76, 111, 84, 122, 17, 122, 122, 122, 122, 122, 560 /* 750 */ 122, 122, 122, 122, 38, 39, 40, 41, 42, 43, 561 /* 760 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 1, 562 /* 770 */ 122, 122, 122, 122, 122, 122, 122, 122, 96, 121, 563 /* 780 */ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 564 /* 790 */ 74, 75, 76, 111, 122, 111, 122, 29, 122, 122, 565 /* 800 */ 122, 122, 122, 122, 122, 122, 21, 39, 40, 41, 566 /* 810 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 567 /* 820 */ 52, 1, 122, 122, 122, 122, 122, 122, 122, 122, 568 /* 830 */ 122, 122, 122, 65, 66, 67, 68, 69, 70, 71, 569 /* 840 */ 72, 73, 74, 75, 76, 60, 122, 122, 122, 122, 570 /* 850 */ 122, 122, 122, 122, 122, 122, 122, 122, 122, 39, 571 /* 860 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 572 /* 870 */ 50, 51, 52, 122, 122, 122, 122, 122, 122, 122, 573 /* 880 */ 122, 122, 122, 122, 64, 65, 66, 67, 68, 69, 574 /* 890 */ 70, 71, 72, 73, 74, 75, 76, 1, 122, 122, 575 /* 900 */ 122, 122, 89, 84, 122, 122, 16, 88, 10, 19, 576 /* 910 */ 17, 92, 1, 17, 16, 102, 103, 1, 2, 29, 577 /* 920 */ 22, 23, 29, 104, 105, 106, 28, 108, 17, 116, 578 /* 930 */ 32, 33, 34, 17, 122, 39, 40, 41, 42, 43, 579 /* 940 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 1, 580 /* 950 */ 2, 122, 122, 122, 122, 122, 122, 122, 122, 122, 581 /* 960 */ 122, 65, 66, 67, 68, 69, 70, 71, 72, 73, 582 /* 970 */ 74, 75, 76, 122, 122, 77, 78, 79, 122, 122, 583 /* 980 */ 122, 122, 122, 122, 122, 122, 122, 39, 40, 41, 584 /* 990 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 585 /* 1000 */ 52, 1, 122, 122, 122, 122, 122, 122, 122, 122, 586 /* 1010 */ 122, 122, 122, 65, 66, 67, 68, 69, 70, 71, 587 /* 1020 */ 72, 73, 74, 75, 76, 122, 122, 122, 122, 122, 588 /* 1030 */ 122, 122, 122, 122, 122, 122, 122, 122, 122, 39, 589 /* 1040 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 590 /* 1050 */ 50, 51, 52, 122, 122, 122, 122, 122, 122, 122, 591 /* 1060 */ 122, 122, 122, 122, 122, 65, 66, 67, 68, 69, 592 /* 1070 */ 70, 71, 72, 73, 74, 75, 76, 1, 1, 39, 593 /* 1080 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 594 /* 1090 */ 50, 51, 52, 17, 17, 122, 122, 122, 122, 122, 595 /* 1100 */ 122, 122, 122, 122, 122, 65, 66, 67, 68, 69, 596 /* 1110 */ 70, 71, 72, 73, 74, 75, 76, 1, 122, 1, 597 /* 1120 */ 122, 122, 16, 122, 18, 19, 122, 122, 22, 23, 598 /* 1130 */ 122, 122, 17, 17, 28, 17, 10, 21, 32, 33, 599 /* 1140 */ 34, 35, 16, 37, 29, 29, 40, 29, 22, 23, 600 /* 1150 */ 122, 122, 122, 37, 28, 122, 122, 122, 32, 33, 601 /* 1160 */ 34, 55, 56, 57, 58, 59, 122, 84, 62, 63, 602 /* 1170 */ 64, 88, 122, 122, 122, 92, 60, 122, 16, 122, 603 /* 1180 */ 18, 19, 122, 77, 22, 23, 17, 104, 105, 106, 604 /* 1190 */ 28, 108, 122, 122, 32, 33, 34, 35, 29, 37, 605 /* 1200 */ 122, 17, 40, 77, 78, 79, 122, 84, 122, 122, 606 /* 1210 */ 122, 88, 122, 29, 17, 92, 122, 55, 56, 57, 607 /* 1220 */ 58, 59, 122, 17, 62, 63, 29, 104, 105, 106, 608 /* 1230 */ 122, 108, 17, 17, 16, 29, 18, 19, 122, 77, 609 /* 1240 */ 22, 23, 17, 122, 29, 29, 28, 17, 122, 17, 610 /* 1250 */ 32, 33, 34, 35, 29, 37, 122, 17, 40, 29, 611 /* 1260 */ 17, 29, 122, 84, 122, 122, 122, 88, 122, 29, 612 /* 1270 */ 17, 92, 29, 55, 56, 57, 58, 59, 122, 17, 613 /* 1280 */ 62, 63, 29, 104, 105, 106, 122, 108, 17, 17, 614 /* 1290 */ 16, 29, 18, 19, 122, 77, 22, 23, 17, 122, 615 /* 1300 */ 29, 29, 28, 17, 122, 17, 32, 33, 34, 35, 616 /* 1310 */ 29, 37, 122, 122, 40, 29, 122, 29, 122, 122, 617 /* 1320 */ 122, 122, 122, 122, 122, 122, 122, 122, 122, 55, 618 /* 1330 */ 56, 57, 58, 59, 122, 122, 62, 63, 122, 122, 619 /* 1340 */ 122, 122, 122, 122, 122, 122, 16, 122, 18, 19, 620 /* 1350 */ 122, 77, 22, 23, 122, 122, 122, 122, 28, 122, 621 /* 1360 */ 122, 122, 32, 33, 34, 35, 122, 37, 122, 122, 622 /* 1370 */ 40, 122, 122, 122, 122, 122, 122, 122, 122, 122, 623 /* 1380 */ 122, 122, 122, 122, 122, 55, 56, 57, 58, 59, 624 /* 1390 */ 122, 122, 62, 63, 122, 122, 122, 122, 122, 122, 625 /* 1400 */ 122, 122, 16, 122, 18, 19, 122, 77, 22, 23, 626 /* 1410 */ 122, 122, 122, 122, 28, 122, 122, 122, 32, 33, 627 /* 1420 */ 34, 35, 122, 37, 122, 122, 40, 122, 122, 122, 628 /* 1430 */ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 629 /* 1440 */ 122, 55, 56, 57, 58, 59, 122, 122, 62, 63, 630 /* 1450 */ 122, 122, 122, 122, 122, 122, 122, 122, 16, 122, 631 /* 1460 */ 18, 19, 122, 77, 22, 23, 122, 122, 122, 122, 632 /* 1470 */ 28, 122, 122, 122, 32, 33, 34, 35, 122, 37, 633 /* 1480 */ 122, 122, 40, 122, 122, 122, 122, 122, 122, 122, 634 /* 1490 */ 122, 122, 122, 122, 122, 122, 122, 55, 56, 57, 635 /* 1500 */ 58, 59, 122, 122, 62, 63, 122, 122, 122, 122, 636 /* 1510 */ 122, 122, 122, 122, 16, 122, 18, 19, 122, 77, 637 /* 1520 */ 22, 23, 122, 122, 122, 122, 28, 122, 122, 122, 638 /* 1530 */ 32, 33, 34, 35, 122, 37, 122, 122, 40, 122, 639 /* 1540 */ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 640 /* 1550 */ 122, 122, 122, 55, 56, 57, 58, 59, 122, 122, 641 /* 1560 */ 62, 63, 122, 122, 122, 122, 122, 122, 122, 122, 642 /* 1570 */ 16, 122, 18, 19, 122, 77, 22, 23, 122, 122, 643 /* 1580 */ 122, 122, 28, 122, 122, 122, 32, 33, 34, 35, 644 /* 1590 */ 122, 37, 122, 122, 40, 122, 122, 122, 122, 122, 645 /* 1600 */ 122, 122, 122, 122, 122, 122, 122, 122, 122, 55, 646 /* 1610 */ 56, 57, 58, 59, 122, 122, 62, 63, 122, 122, 647 /* 1620 */ 122, 122, 122, 122, 122, 122, 16, 122, 18, 19, 648 /* 1630 */ 122, 77, 22, 23, 122, 122, 122, 122, 28, 122, 649 /* 1640 */ 122, 122, 32, 33, 34, 35, 122, 37, 122, 122, 650 /* 1650 */ 40, 122, 122, 122, 122, 122, 122, 122, 122, 122, 651 /* 1660 */ 122, 122, 122, 122, 122, 55, 56, 57, 58, 59, 652 /* 1670 */ 122, 122, 62, 63, 122, 122, 122, 122, 122, 122, 653 /* 1680 */ 122, 122, 16, 122, 18, 19, 122, 77, 22, 23, 654 /* 1690 */ 122, 122, 122, 122, 28, 122, 122, 122, 32, 33, 655 /* 1700 */ 34, 35, 122, 37, 122, 122, 40, 122, 122, 122, 656 /* 1710 */ 122, 122, 122, 122, 122, 122, 122, 122, 122, 89, 657 /* 1720 */ 90, 55, 56, 57, 58, 59, 122, 122, 62, 99, 658 /* 1730 */ 122, 122, 102, 103, 122, 122, 122, 122, 16, 122, 659 /* 1740 */ 18, 19, 122, 77, 22, 23, 116, 122, 122, 122, 660 /* 1750 */ 28, 122, 122, 122, 32, 33, 34, 35, 122, 37, 661 /* 1760 */ 122, 122, 40, 122, 122, 122, 122, 122, 122, 122, 662 /* 1770 */ 122, 122, 122, 122, 122, 122, 122, 55, 56, 57, 663 /* 1780 */ 58, 59, 122, 122, 62, 122, 122, 122, 122, 122, 664 /* 1790 */ 122, 122, 122, 122, 122, 17, 89, 90, 122, 77, 665 /* 1800 */ 122, 122, 24, 122, 26, 27, 99, 29, 30, 102, 666 /* 1810 */ 103, 122, 122, 84, 36, 37, 38, 88, 122, 122, 667 /* 1820 */ 91, 92, 122, 116, 122, 122, 122, 122, 122, 100, 668 /* 1830 */ 101, 53, 122, 104, 105, 106, 122, 108, 60, 122, 669 /* 1840 */ 122, 84, 64, 122, 115, 88, 122, 122, 91, 92, 670 /* 1850 */ 122, 122, 122, 122, 122, 122, 78, 100, 101, 122, 671 /* 1860 */ 122, 104, 105, 106, 84, 108, 122, 122, 88, 122, 672 /* 1870 */ 122, 91, 92, 122, 122, 122, 122, 122, 122, 122, 673 /* 1880 */ 100, 101, 122, 122, 104, 105, 106, 84, 108, 122, 674 /* 1890 */ 122, 88, 122, 122, 91, 92, 122, 122, 84, 122, 675 /* 1900 */ 122, 122, 88, 100, 101, 91, 92, 104, 105, 106, 676 /* 1910 */ 122, 108, 122, 122, 100, 101, 122, 122, 104, 105, 677 /* 1920 */ 106, 122, 108, 84, 122, 122, 122, 88, 122, 122, 678 /* 1930 */ 91, 92, 122, 122, 84, 122, 122, 122, 88, 100, 679 /* 1940 */ 101, 91, 92, 104, 105, 106, 122, 108, 122, 122, 680 /* 1950 */ 100, 101, 122, 84, 104, 105, 106, 88, 108, 122, 681 /* 1960 */ 91, 92, 122, 122, 122, 122, 122, 122, 122, 100, 682 /* 1970 */ 101, 122, 84, 104, 105, 106, 88, 108, 122, 91, 683 /* 1980 */ 92, 122, 122, 84, 122, 122, 122, 88, 100, 101, 684 /* 1990 */ 91, 92, 104, 105, 106, 122, 108, 122, 122, 100, 685 /* 2000 */ 101, 122, 122, 104, 105, 106, 122, 108, 84, 122, 686 /* 2010 */ 122, 122, 88, 122, 122, 91, 92, 122, 122, 84, 687 /* 2020 */ 122, 122, 122, 88, 100, 101, 91, 92, 104, 105, 688 /* 2030 */ 106, 122, 108, 122, 122, 100, 101, 122, 84, 104, 689 /* 2040 */ 105, 106, 88, 108, 122, 91, 92, 122, 122, 122, 690 /* 2050 */ 122, 122, 122, 122, 100, 101, 122, 84, 104, 105, 691 /* 2060 */ 106, 88, 108, 122, 91, 92, 122, 122, 84, 122, 692 /* 2070 */ 122, 122, 88, 100, 101, 91, 92, 104, 105, 106, 693 /* 2080 */ 122, 108, 122, 122, 100, 101, 122, 122, 104, 105, 694 /* 2090 */ 106, 122, 108, 84, 122, 122, 122, 88, 122, 122, 695 /* 2100 */ 91, 92, 122, 122, 84, 122, 122, 122, 88, 100, 696 /* 2110 */ 101, 91, 92, 104, 105, 106, 122, 108, 122, 122, 697 /* 2120 */ 100, 101, 122, 84, 104, 105, 106, 88, 108, 122, 698 /* 2130 */ 91, 92, 122, 122, 122, 122, 122, 122, 122, 100, 699 /* 2140 */ 101, 122, 84, 104, 105, 106, 88, 108, 122, 91, 700 /* 2150 */ 92, 122, 122, 84, 122, 122, 122, 88, 100, 101, 701 /* 2160 */ 91, 92, 104, 105, 106, 122, 108, 122, 122, 100, 702 /* 2170 */ 101, 122, 122, 104, 105, 106, 122, 108, 84, 122, 703 /* 2180 */ 122, 122, 88, 122, 122, 91, 92, 122, 122, 84, 704 /* 2190 */ 122, 122, 122, 88, 100, 101, 91, 92, 104, 105, 705 /* 2200 */ 106, 122, 108, 122, 122, 100, 101, 122, 84, 104, 706 /* 2210 */ 105, 106, 88, 108, 122, 91, 92, 122, 122, 122, 707 /* 2220 */ 122, 122, 122, 122, 100, 101, 122, 84, 104, 105, 708 /* 2230 */ 106, 88, 108, 122, 91, 92, 122, 122, 84, 122, 709 /* 2240 */ 122, 122, 88, 100, 101, 91, 92, 104, 105, 106, 710 /* 2250 */ 122, 108, 122, 122, 100, 101, 122, 122, 104, 105, 711 /* 2260 */ 106, 122, 108, 84, 122, 122, 122, 88, 122, 122, 712 /* 2270 */ 91, 92, 122, 122, 84, 122, 122, 122, 88, 100, 713 /* 2280 */ 101, 91, 92, 104, 105, 106, 122, 108, 122, 122, 714 /* 2290 */ 100, 101, 122, 84, 104, 105, 106, 88, 108, 122, 715 /* 2300 */ 91, 92, 122, 122, 122, 122, 122, 122, 122, 100, 716 /* 2310 */ 101, 122, 84, 104, 105, 106, 88, 108, 122, 91, 717 /* 2320 */ 92, 122, 122, 84, 122, 122, 122, 88, 100, 101, 718 /* 2330 */ 91, 92, 104, 105, 106, 122, 108, 122, 122, 100, 719 /* 2340 */ 101, 122, 122, 104, 105, 106, 122, 108, 84, 122, 720 /* 2350 */ 122, 122, 88, 122, 122, 91, 92, 122, 122, 84, 721 /* 2360 */ 122, 122, 122, 88, 100, 101, 91, 92, 104, 105, 722 /* 2370 */ 106, 122, 108, 122, 122, 100, 101, 122, 84, 104, 723 /* 2380 */ 105, 106, 88, 108, 122, 91, 92, 122, 122, 122, 724 /* 2390 */ 122, 122, 122, 122, 100, 101, 122, 84, 104, 105, 725 /* 2400 */ 106, 88, 108, 122, 91, 92, 122, 122, 84, 122, 726 /* 2410 */ 122, 122, 88, 100, 101, 91, 92, 104, 105, 106, 727 /* 2420 */ 122, 108, 122, 122, 100, 101, 122, 122, 104, 105, 728 /* 2430 */ 106, 122, 108, 84, 122, 122, 122, 88, 122, 122, 729 /* 2440 */ 91, 92, 122, 122, 84, 122, 122, 122, 88, 100, 730 /* 2450 */ 101, 91, 92, 104, 105, 106, 122, 108, 122, 122, 731 /* 2460 */ 100, 101, 122, 84, 104, 105, 106, 88, 108, 122, 732 /* 2470 */ 122, 92, 122, 122, 122, 122, 122, 122, 122, 122, 733 /* 2480 */ 101, 122, 84, 104, 105, 106, 88, 108, 122, 122, 734 /* 2490 */ 92, 122, 122, 122, 122, 89, 90, 122, 122, 101, 735 /* 2500 */ 122, 122, 104, 105, 106, 99, 108, 122, 102, 103, 736 /* 2510 */ 122, 89, 90, 122, 122, 122, 122, 122, 89, 90, 737 /* 2520 */ 122, 99, 116, 122, 102, 103, 122, 122, 99, 122, 738 /* 2530 */ 122, 102, 103, 122, 89, 90, 122, 122, 116, 122, 739 /* 2540 */ 122, 122, 122, 122, 99, 116, 122, 102, 103, 122, 740 /* 2550 */ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 741 /* 2560 */ 122, 116, 706 742 ); 707 const YY_SHIFT_USE_DFLT = - 5;743 const YY_SHIFT_USE_DFLT = -2; 708 744 const YY_SHIFT_MAX = 252; 709 745 static public $yy_shift_ofst = array( 710 /* 0 */ 1, 13 91, 1391, 1223, 1167, 1167, 1167, 1223, 1111, 1167,711 /* 10 */ 116 7, 1167, 1503, 1167, 1559, 1167, 1167, 1167, 1167, 1167,712 /* 20 */ 1 167, 1167, 1167, 1167, 1167, 1615, 1167, 1167, 1167, 1167,713 /* 30 */ 1 503, 1167, 1167, 1447, 1167, 1167, 1167, 1167, 1279, 1167,714 /* 40 */ 116 7, 1167, 1279, 1167, 1335, 1335, 1727, 1671, 1727, 1727,715 /* 50 */ 1 727, 1727, 1727, 224, 74, 149, -1, 755, 755, 755,716 /* 60 */ 9 56, 881, 806, 527, 326, 704, 275, 377, 653, 602,717 /* 70 */ 4 52, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007,718 /* 80 */ 100 7, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007,719 /* 90 */ 104 6, 1046, 1232, 1443, 407, 1, 958, 73, 146, 225,720 /* 100 */ 546, 61, 61, 443, 443, 243, 371, 407, 407, 883,721 /* 110 */ 4 7, 1331, 11, 189, 1387, 1219, 226, 56, 138, 235,722 /* 120 */ 75, 887, 219, 366, 371, 367, 366, 366, 368, 293,723 /* 130 */ 371, 366, 917, 366, 366, 445, 366, 418, 366, 1248,724 /* 140 */ 368, 366, 300, 395, 293, 636, 629, 636, 616, 636,725 /* 150 */ 6 10, 636, 636, 636, 636, 616, 636, -5, 166, 167,726 /* 160 */ 601, 603, 873, 594, 148, 217, 148, 473, 947, 148,727 /* 170 */ 874, 878, 948, 1235, 148, 543, 1191, 1221, 148, 1230,728 /* 180 */ 563, 1188, 1121, 1118, 953, 949, 1181, 1174, 1180, 670,729 /* 190 */ 6 32, 632, 616, 616, 636, 616, 636, 102, 102, 396,730 /* 200 */ - 5, -5, -5, -5, -5, 1764, 150, 22, 118, 71,731 /* 210 */ 176, -4, 486, 144, 144, 213, 270, 261, 296, 328,732 /* 220 */ 449, 271, 295, 615, 579, 560, 566, 441, 564, 396,733 /* 230 */ 5 28, 591, 551, 589, 571, 614, 552, 529, 539, 494,734 /* 240 */ 448, 492, 471, 450, 488, 469, 459, 511, 522, 510,735 /* 250 */ 496, 523, 500,746 /* 0 */ 1, 1386, 1162, 1218, 1162, 1386, 1218, 1162, 1106, 1162, 747 /* 10 */ 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1442, 1554, 748 /* 20 */ 1498, 1162, 1162, 1162, 1162, 1162, 1162, 1610, 1162, 1162, 749 /* 30 */ 1162, 1162, 1162, 1162, 1274, 1162, 1162, 1162, 1162, 1162, 750 /* 40 */ 1162, 1162, 1498, 1442, 1330, 1330, 1666, 1666, 1666, 1722, 751 /* 50 */ 1666, 1666, 1666, 227, 75, 151, -1, 768, 768, 768, 752 /* 60 */ 948, 896, 820, 536, 379, 716, 303, 431, 664, 612, 753 /* 70 */ 484, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 754 /* 80 */ 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 755 /* 90 */ 1040, 1040, 1116, 382, 513, 1, 1126, 147, 223, 1118, 756 /* 100 */ 1118, 320, 890, 916, 298, 890, 513, 447, 513, 898, 757 /* 110 */ 48, 154, 11, 306, 67, 230, 194, 220, 169, 268, 758 /* 120 */ 181, 316, 615, 424, 473, 424, 472, 474, 448, 785, 759 /* 130 */ 424, 424, 210, 424, 442, 447, 448, 424, 424, 424, 760 /* 140 */ 727, 424, 1288, 447, 442, 641, 137, 641, 641, 641, 761 /* 150 */ 641, 641, 137, 617, 618, 641, 641, -2, 344, 148, 762 /* 160 */ 893, 172, 41, 172, 1225, 1215, 1216, 1206, 1197, 1115, 763 /* 170 */ 1169, 1184, 1230, 172, 1271, 672, 1262, 1272, 1286, 1077, 764 /* 180 */ 1281, 172, 1240, 1232, 911, 172, 1253, 1243, 1076, 621, 765 /* 190 */ 641, 641, 665, 665, 559, 621, 137, 327, 137, 137, 766 /* 200 */ -2, -2, -2, -2, -2, 1778, 71, 119, 45, 73, 767 /* 210 */ 76, 96, 486, 436, 179, 470, 22, 377, 153, 373, 768 /* 220 */ 397, 397, 613, 561, 554, 572, 568, 249, 549, 542, 769 /* 230 */ 573, 555, 578, 558, 559, 556, 570, 511, 543, 449, 770 /* 240 */ 501, 395, 252, 348, 368, 519, 334, 525, 481, 506, 771 /* 250 */ 521, 520, 551, 736 772 ); 737 const YY_REDUCE_USE_DFLT = -8 6;773 const YY_REDUCE_USE_DFLT = -84; 738 774 const YY_REDUCE_MAX = 204; 739 775 static public $yy_reduce_ofst = array( 740 /* 0 */ -63, -7, 17 30, 68, 446, 373, 143, 521, 2091, 2117,741 /* 10 */ 1 800, 1407, 2080, 1884, 1912, 1575, 1949, 1923, 1865, 1968,742 /* 20 */ 1996, 2052, 2033, 2007, 1839, 1828, 1351, 1295, 1183, 1239,743 /* 30 */ 1 463, 1519, 1781, 1755, 1631, 2175, 2248, 2201, 2164, 2285,744 /* 40 */ 2 259, 2136, 2220, 1127, 379, 1048, 451, 1073, 804, 879,745 /* 50 */ 1 875, 1791, 1088, 1976, 1945, 1676, 2060, 1676, 2113, 2029,746 /* 60 */ 798, 798, 798, 798, 798, 798, 798, 798, 798, 798,747 /* 70 */ 798, 798, 798, 798, 798, 798, 798, 798, 798, 798,748 /* 80 */ 798, 798, 798, 798, 798, 798, 798, 798, 798, 798,749 /* 90 */ 798, 798, 39, 113, 214, -81, 43, 442, -74, 20,750 /* 100 */ -10, 239, 264, 525, 517, 378, 188, 314, 291, 697,751 /* 110 */ 170, -6, 520, 248, -6, -6, 248, -6, 248, 246,752 /* 120 */ 172, -6, 172, 568, 313, 495, 495, 569, 570, 324,753 /* 130 */ 244, 292, 245, 420, 345, 172, 301, 495, 621, 491,754 /* 140 */ 4 95, 619, -6, 620, 325, -6, 211, -6, 147, -6,755 /* 150 */ 81, -6, -6, -6, -6, 172, -6, -6, 545, 549,756 /* 160 */ 5 36, 536, 536, 536, 530, 548, 530, 540, 536, 530,757 /* 170 */ 5 36, 536, 536, 536, 530, 540, 536, 536, 530, 536,758 /* 180 */ 5 40, 536, 536, 536, 536, 536, 536, 536, 536, 596,759 /* 190 */ 5 67, 588, 550, 550, 540, 550, 540, -85, -85, 331,760 /* 200 */ 306, 349, 337, 260, 134,776 /* 0 */ -63, -7, 1729, 69, 297, 221, 145, 530, 2209, 2228, 777 /* 10 */ 1973, 1850, 2190, 2039, 2058, 1899, 2094, 2069, 2020, 2105, 778 /* 20 */ 2124, 2179, 2154, 2143, 2009, 1984, 1839, 1814, 1780, 1803, 779 /* 30 */ 1869, 1888, 1954, 1935, 1924, 2275, 2324, 2294, 2264, 2360, 780 /* 40 */ 2349, 2239, 2313, 1757, 2379, 2398, 226, 819, 302, 535, 781 /* 50 */ 1179, 1123, 1083, 2406, 1707, 1630, 2422, 2445, 2429, 2406, 782 /* 60 */ 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 783 /* 70 */ 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 784 /* 80 */ 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 785 /* 90 */ 813, 813, -10, 40, 116, -82, -25, 225, -74, 192, 786 /* 100 */ 343, 156, 305, 70, 174, 538, 370, 272, 301, 658, 787 /* 110 */ 432, 92, 68, 92, 330, 92, 330, 245, 330, 245, 788 /* 120 */ 92, 347, 92, 478, 451, 353, 451, 504, 404, 245, 789 /* 130 */ 451, 450, 92, 452, 451, 420, 457, 682, 684, 580, 790 /* 140 */ 405, 579, 500, 423, 630, 92, 149, 92, 92, 92, 791 /* 150 */ 92, 92, 245, 294, 191, 92, 92, 92, 534, 533, 792 /* 160 */ 518, 514, 517, 514, 518, 518, 518, 518, 518, 518, 793 /* 170 */ 518, 518, 518, 514, 518, 518, 518, 518, 518, 509, 794 /* 180 */ 518, 514, 518, 518, 509, 514, 518, 518, 509, 574, 795 /* 190 */ 509, 509, 503, 503, 563, 571, 152, 157, 152, 152, 796 /* 200 */ -83, 208, 176, 160, -77, 761 797 ); 762 798 static public $yyExpectedTokens = array( 763 /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1 5, 21, 22, 27, 31, 32, 33, ),764 /* 1 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),765 /* 2 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),766 /* 3 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),767 /* 4 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),768 /* 5 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),769 /* 6 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),770 /* 7 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),771 /* 8 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 63, 76, ),772 /* 9 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),773 /* 10 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),774 /* 11 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),775 /* 12 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),776 /* 13 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),777 /* 14 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),778 /* 15 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),779 /* 16 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),780 /* 17 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),781 /* 18 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),782 /* 19 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),783 /* 20 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),784 /* 21 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),785 /* 22 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),786 /* 23 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),787 /* 24 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),788 /* 25 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),789 /* 26 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),790 /* 27 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),791 /* 28 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),792 /* 29 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),793 /* 30 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),794 /* 31 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),795 /* 32 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),796 /* 33 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),797 /* 34 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),798 /* 35 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),799 /* 36 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),800 /* 37 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),801 /* 38 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),802 /* 39 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),803 /* 40 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),804 /* 41 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),805 /* 42 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),806 /* 43 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),807 /* 44 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),808 /* 45 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),809 /* 46 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),810 /* 47 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),811 /* 48 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),812 /* 49 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),813 /* 50 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),814 /* 51 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),815 /* 52 */ array(1 5, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),816 /* 53 */ array(1, 1 6, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),817 /* 54 */ array(1, 1 6, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),818 /* 55 */ array(1, 1 6, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),819 /* 56 */ array(1, 2 6, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),820 /* 57 */ array(1, 2 8, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),821 /* 58 */ array(1, 2 8, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),822 /* 59 */ array(1, 2 8, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),823 /* 60 */ array(1, 16, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),824 /* 61 */ array(1, 1 6, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),825 /* 62 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),826 /* 63 */ array(1, 16, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),827 /* 64 */ array(1, 29, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),828 /* 65 */ array(1, 3 7, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),829 /* 66 */ array(1, 2, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),830 /* 67 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, ),831 /* 68 */ array(1, 3 7, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),832 /* 69 */ array(1, 1 6, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),833 /* 70 */ array(1, 2 3, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),834 /* 71 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),835 /* 72 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),836 /* 73 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),837 /* 74 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),838 /* 75 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),839 /* 76 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),840 /* 77 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),841 /* 78 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),842 /* 79 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),843 /* 80 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),844 /* 81 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),845 /* 82 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),846 /* 83 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),847 /* 84 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),848 /* 85 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),849 /* 86 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),850 /* 87 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),851 /* 88 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),852 /* 89 */ array(1, 3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),853 /* 90 */ array(3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),854 /* 91 */ array(3 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),855 /* 92 */ array(1, 1 6, 20, 28, 36, 59, ),856 /* 93 */ array(1, 1 6, 28, 52, ),857 /* 94 */ array(1, 2 8, ),858 /* 95 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1 5, 21, 22, 27, 31, 32, 33, ),859 /* 96 */ array(10, 1 5, 21, 22, 27, 31, 32, 33, 76, 77, 78, ),860 /* 97 */ array(1 5, 18, 28, 30, ),861 /* 98 */ array(1 5, 18, 28, 30, ),862 /* 99 */ array( 20, 57, 62, ),863 /* 100 */ array(1, 2, 16, ),864 /* 101 */ array(1 , 16, 28, ),865 /* 102 */ array(1 , 16, 28, ),866 /* 103 */ array(1 5, 18, 28, ),867 /* 104 */ array( 15, 18, 28, ),868 /* 105 */ array(1 7, 18, 61, ),869 /* 106 */ array(1 7, 36, ),870 /* 107 */ array(1 , 28, ),871 /* 108 */ array(1, 2 8, ),872 /* 109 */ array(10, 1 5, 21, 22, 27, 31, 32, 33, 76, 77, 78, ),873 /* 110 */ array(4, 5, 6, 7, 8, 1 2, 13, 14, ),874 /* 111 */ array(1, 1 6, 28, 29, 52, ),875 /* 112 */ array(1 5, 18, 19, 24, ),876 /* 113 */ array(1 5, 18, 19, 60, ),877 /* 114 */ array(1 , 16, 28, 52, ),878 /* 115 */ array(1, 1 6, 28, 52, ),879 /* 116 */ array(1 5, 18, 60, ),880 /* 117 */ array( 1, 30, 52, ),881 /* 118 */ array(1 5, 18, 19, ),882 /* 119 */ array( 1, 16, 20, ),883 /* 120 */ array(1 9, 20, 59, ),884 /* 121 */ array(1, 1 6, 52, ),885 /* 122 */ array(1 9, 20, 59, ),886 /* 123 */ array(1 5, 18, ),887 /* 124 */ array(1 7, 36, ),888 /* 125 */ array(1 5, 18, ),889 /* 126 */ array(1 5, 18, ),890 /* 127 */ array(1 5, 18, ),891 /* 128 */ array(1 5, 18, ),892 /* 129 */ array( 17, 18, ),893 /* 130 */ array(1 7, 36, ),894 /* 131 */ array(1 5, 18, ),895 /* 132 */ array(1, 16, ),896 /* 133 */ array(1 5, 18, ),897 /* 134 */ array(1 5, 18, ),898 /* 135 */ array( 20, 59, ),899 /* 136 */ array(1 5, 18, ),900 /* 137 */ array(1 5, 18, ),901 /* 138 */ array(1 5, 18, ),902 /* 139 */ array(16, 28, ),903 /* 140 */ array(1 5, 18, ),904 /* 141 */ array(1 5, 18, ),905 /* 142 */ array(1 , 52, ),906 /* 143 */ array(1 5, 18, ),907 /* 144 */ array(1 7, 18, ),799 /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 22, 23, 28, 32, 33, 34, ), 800 /* 1 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 801 /* 2 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 802 /* 3 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 803 /* 4 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 804 /* 5 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 805 /* 6 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 806 /* 7 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 807 /* 8 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 64, 77, ), 808 /* 9 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 809 /* 10 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 810 /* 11 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 811 /* 12 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 812 /* 13 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 813 /* 14 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 814 /* 15 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 815 /* 16 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 816 /* 17 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 817 /* 18 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 818 /* 19 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 819 /* 20 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 820 /* 21 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 821 /* 22 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 822 /* 23 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 823 /* 24 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 824 /* 25 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 825 /* 26 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 826 /* 27 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 827 /* 28 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 828 /* 29 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 829 /* 30 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 830 /* 31 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 831 /* 32 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 832 /* 33 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 833 /* 34 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 834 /* 35 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 835 /* 36 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 836 /* 37 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 837 /* 38 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 838 /* 39 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 839 /* 40 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 840 /* 41 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 841 /* 42 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 842 /* 43 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 843 /* 44 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 844 /* 45 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 63, 77, ), 845 /* 46 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 77, ), 846 /* 47 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 77, ), 847 /* 48 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 77, ), 848 /* 49 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 77, ), 849 /* 50 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 77, ), 850 /* 51 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 77, ), 851 /* 52 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 35, 37, 40, 55, 56, 57, 58, 59, 62, 77, ), 852 /* 53 */ array(1, 17, 29, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 853 /* 54 */ array(1, 17, 29, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 854 /* 55 */ array(1, 17, 29, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 855 /* 56 */ array(1, 27, 29, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 856 /* 57 */ array(1, 29, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 857 /* 58 */ array(1, 29, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 858 /* 59 */ array(1, 29, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 859 /* 60 */ array(1, 2, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 860 /* 61 */ array(1, 17, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 861 /* 62 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 862 /* 63 */ array(1, 30, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 863 /* 64 */ array(1, 17, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 864 /* 65 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 865 /* 66 */ array(1, 17, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 866 /* 67 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, ), 867 /* 68 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 868 /* 69 */ array(1, 17, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 869 /* 70 */ array(1, 24, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 870 /* 71 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 871 /* 72 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 872 /* 73 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 873 /* 74 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 874 /* 75 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 875 /* 76 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 876 /* 77 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 877 /* 78 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 878 /* 79 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 879 /* 80 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 880 /* 81 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 881 /* 82 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 882 /* 83 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 883 /* 84 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 884 /* 85 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 885 /* 86 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 886 /* 87 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 887 /* 88 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 888 /* 89 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 889 /* 90 */ array(39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 890 /* 91 */ array(39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ), 891 /* 92 */ array(1, 17, 21, 29, 37, 60, ), 892 /* 93 */ array(1, 17, 29, 53, ), 893 /* 94 */ array(1, 29, ), 894 /* 95 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 22, 23, 28, 32, 33, 34, ), 895 /* 96 */ array(10, 16, 22, 23, 28, 32, 33, 34, 77, 78, 79, ), 896 /* 97 */ array(16, 19, 29, 31, ), 897 /* 98 */ array(16, 19, 29, 31, ), 898 /* 99 */ array(1, 17, 29, ), 899 /* 100 */ array(1, 17, 29, ), 900 /* 101 */ array(18, 19, 62, ), 901 /* 102 */ array(16, 19, 29, ), 902 /* 103 */ array(1, 2, 17, ), 903 /* 104 */ array(21, 58, 63, ), 904 /* 105 */ array(16, 19, 29, ), 905 /* 106 */ array(1, 29, ), 906 /* 107 */ array(18, 37, ), 907 /* 108 */ array(1, 29, ), 908 /* 109 */ array(10, 16, 22, 23, 28, 32, 33, 34, 77, 78, 79, ), 909 /* 110 */ array(4, 5, 6, 7, 8, 13, 14, 15, ), 910 /* 111 */ array(1, 17, 29, 30, 53, ), 911 /* 112 */ array(16, 19, 20, 25, ), 912 /* 113 */ array(1, 17, 29, 53, ), 913 /* 114 */ array(16, 19, 20, 61, ), 914 /* 115 */ array(1, 17, 29, 53, ), 915 /* 116 */ array(16, 19, 61, ), 916 /* 117 */ array(20, 21, 60, ), 917 /* 118 */ array(16, 19, 20, ), 918 /* 119 */ array(20, 21, 60, ), 919 /* 120 */ array(1, 31, 53, ), 920 /* 121 */ array(1, 17, 21, ), 921 /* 122 */ array(1, 17, 53, ), 922 /* 123 */ array(16, 19, ), 923 /* 124 */ array(16, 19, ), 924 /* 125 */ array(16, 19, ), 925 /* 126 */ array(16, 19, ), 926 /* 127 */ array(16, 19, ), 927 /* 128 */ array(18, 19, ), 928 /* 129 */ array(21, 60, ), 929 /* 130 */ array(16, 19, ), 930 /* 131 */ array(16, 19, ), 931 /* 132 */ array(1, 53, ), 932 /* 133 */ array(16, 19, ), 933 /* 134 */ array(16, 19, ), 934 /* 135 */ array(18, 37, ), 935 /* 136 */ array(18, 19, ), 936 /* 137 */ array(16, 19, ), 937 /* 138 */ array(16, 19, ), 938 /* 139 */ array(16, 19, ), 939 /* 140 */ array(1, 17, ), 940 /* 141 */ array(16, 19, ), 941 /* 142 */ array(17, 29, ), 942 /* 143 */ array(18, 37, ), 943 /* 144 */ array(16, 19, ), 908 944 /* 145 */ array(1, ), 909 /* 146 */ array(2 8, ),945 /* 146 */ array(21, ), 910 946 /* 147 */ array(1, ), 911 /* 148 */ array( 20, ),947 /* 148 */ array(1, ), 912 948 /* 149 */ array(1, ), 913 /* 150 */ array( 28, ),949 /* 150 */ array(1, ), 914 950 /* 151 */ array(1, ), 915 /* 152 */ array( 1, ),916 /* 153 */ array( 1, ),917 /* 154 */ array( 1, ),918 /* 155 */ array( 20, ),951 /* 152 */ array(21, ), 952 /* 153 */ array(29, ), 953 /* 154 */ array(29, ), 954 /* 155 */ array(1, ), 919 955 /* 156 */ array(1, ), 920 956 /* 157 */ array(), 921 /* 158 */ array(1 5, 17, 18, ),922 /* 159 */ array(1 5, 18, 60, ),923 /* 160 */ array(1 6, 28, ),924 /* 161 */ array( 16, 28, ),925 /* 162 */ array(16, 28, ),926 /* 163 */ array( 16, 28, ),927 /* 164 */ array( 57, 62, ),928 /* 165 */ array(1 5, 36, ),929 /* 166 */ array( 57, 62, ),930 /* 167 */ array(1 , 16, ),931 /* 168 */ array(1 6, 28, ),932 /* 169 */ array( 57, 62, ),933 /* 170 */ array(1 6, 28, ),934 /* 171 */ array(1 6, 28, ),935 /* 172 */ array(1 6, 28, ),936 /* 173 */ array( 16, 28, ),937 /* 174 */ array( 57, 62, ),938 /* 175 */ array(1 , 16, ),939 /* 176 */ array(1 6, 28, ),940 /* 177 */ array(1 6, 28, ),941 /* 178 */ array( 57, 62, ),942 /* 179 */ array(1 6, 28, ),943 /* 180 */ array(1 , 16, ),944 /* 181 */ array( 16, 28, ),945 /* 182 */ array(1 6, 28, ),946 /* 183 */ array(1 6, 28, ),947 /* 184 */ array(1 6, 28, ),948 /* 185 */ array( 16, 28, ),949 /* 186 */ array(1 6, 28, ),950 /* 187 */ array(1 6, 28, ),951 /* 188 */ array(1 6, 28, ),952 /* 189 */ array( 13, ),953 /* 190 */ array( 28, ),954 /* 191 */ array( 28, ),955 /* 192 */ array(2 0, ),956 /* 193 */ array(2 0, ),957 /* 194 */ array( 1, ),958 /* 195 */ array(2 0, ),959 /* 196 */ array( 1, ),960 /* 197 */ array( 2, ),961 /* 198 */ array(2 , ),962 /* 199 */ array( 36, ),957 /* 158 */ array(16, 18, 19, ), 958 /* 159 */ array(16, 19, 61, ), 959 /* 160 */ array(17, 29, ), 960 /* 161 */ array(58, 63, ), 961 /* 162 */ array(16, 37, ), 962 /* 163 */ array(58, 63, ), 963 /* 164 */ array(17, 29, ), 964 /* 165 */ array(17, 29, ), 965 /* 166 */ array(17, 29, ), 966 /* 167 */ array(17, 29, ), 967 /* 168 */ array(17, 29, ), 968 /* 169 */ array(17, 29, ), 969 /* 170 */ array(17, 29, ), 970 /* 171 */ array(17, 29, ), 971 /* 172 */ array(17, 29, ), 972 /* 173 */ array(58, 63, ), 973 /* 174 */ array(17, 29, ), 974 /* 175 */ array(17, 29, ), 975 /* 176 */ array(17, 29, ), 976 /* 177 */ array(17, 29, ), 977 /* 178 */ array(17, 29, ), 978 /* 179 */ array(1, 17, ), 979 /* 180 */ array(17, 29, ), 980 /* 181 */ array(58, 63, ), 981 /* 182 */ array(17, 29, ), 982 /* 183 */ array(17, 29, ), 983 /* 184 */ array(1, 17, ), 984 /* 185 */ array(58, 63, ), 985 /* 186 */ array(17, 29, ), 986 /* 187 */ array(17, 29, ), 987 /* 188 */ array(1, 17, ), 988 /* 189 */ array(29, ), 989 /* 190 */ array(1, ), 990 /* 191 */ array(1, ), 991 /* 192 */ array(2, ), 992 /* 193 */ array(2, ), 993 /* 194 */ array(37, ), 994 /* 195 */ array(29, ), 995 /* 196 */ array(21, ), 996 /* 197 */ array(14, ), 997 /* 198 */ array(21, ), 998 /* 199 */ array(21, ), 963 999 /* 200 */ array(), 964 1000 /* 201 */ array(), … … 966 1002 /* 203 */ array(), 967 1003 /* 204 */ array(), 968 /* 205 */ array(1 6, 23, 25, 26, 28, 29, 35, 36, 37, 52, 59, 63, 77, ),969 /* 206 */ array(1 6, 19, 28, 36, 59, ),970 /* 207 */ array( 36, 57, 59, 63, ),971 /* 208 */ array( 15, 17, 18, 34, ),972 /* 209 */ array(1 6, 28, 36, 59, ),973 /* 210 */ array(3 0, 36, 59, ),974 /* 211 */ array( 18, 60, ),975 /* 212 */ array(2 , 19, ),976 /* 213 */ array( 36, 59, ),977 /* 214 */ array( 36, 59, ),978 /* 215 */ array(1 6, 24, ),979 /* 216 */ array(3 5, 37, ),980 /* 217 */ array( 24, 77, ),981 /* 218 */ array( 35, 63, ),982 /* 219 */ array( 23, 35, ),983 /* 220 */ array( 19, 57, ),984 /* 221 */ array(3 5, 37, ),985 /* 222 */ array( 35, 37, ),986 /* 223 */ array( 18, ),987 /* 224 */ array( 2, ),988 /* 225 */ array( 24, ),989 /* 226 */ array( 17, ),990 /* 227 */ array( 18, ),1004 /* 205 */ array(17, 24, 26, 27, 29, 30, 36, 37, 38, 53, 60, 64, 78, ), 1005 /* 206 */ array(17, 20, 29, 37, 60, ), 1006 /* 207 */ array(16, 18, 19, 35, ), 1007 /* 208 */ array(37, 58, 60, 64, ), 1008 /* 209 */ array(17, 29, 37, 60, ), 1009 /* 210 */ array(31, 37, 60, ), 1010 /* 211 */ array(36, 38, ), 1011 /* 212 */ array(24, 36, ), 1012 /* 213 */ array(2, 20, ), 1013 /* 214 */ array(25, 78, ), 1014 /* 215 */ array(17, 25, ), 1015 /* 216 */ array(36, 38, ), 1016 /* 217 */ array(36, 38, ), 1017 /* 218 */ array(19, 61, ), 1018 /* 219 */ array(36, 64, ), 1019 /* 220 */ array(37, 60, ), 1020 /* 221 */ array(37, 60, ), 1021 /* 222 */ array(20, 58, ), 1022 /* 223 */ array(37, ), 1023 /* 224 */ array(18, ), 1024 /* 225 */ array(19, ), 1025 /* 226 */ array(2, ), 1026 /* 227 */ array(62, ), 991 1027 /* 228 */ array(18, ), 992 /* 229 */ array( 36, ),993 /* 230 */ array( 57, ),1028 /* 229 */ array(26, ), 1029 /* 230 */ array(19, ), 994 1030 /* 231 */ array(18, ), 995 /* 232 */ array( 36, ),996 /* 233 */ array( 18, ),997 /* 234 */ array( 17, ),998 /* 235 */ array( 18, ),999 /* 236 */ array( 34, ),1000 /* 237 */ array( 34, ),1001 /* 238 */ array( 18, ),1002 /* 239 */ array(1 7, ),1003 /* 240 */ array( 61, ),1004 /* 241 */ array(1 8, ),1005 /* 242 */ array( 37, ),1006 /* 243 */ array(1 7, ),1031 /* 232 */ array(19, ), 1032 /* 233 */ array(35, ), 1033 /* 234 */ array(37, ), 1034 /* 235 */ array(38, ), 1035 /* 236 */ array(25, ), 1036 /* 237 */ array(54, ), 1037 /* 238 */ array(2, ), 1038 /* 239 */ array(19, ), 1039 /* 240 */ array(19, ), 1040 /* 241 */ array(19, ), 1041 /* 242 */ array(64, ), 1042 /* 243 */ array(19, ), 1007 1043 /* 244 */ array(19, ), 1008 /* 245 */ array( 63, ),1009 /* 246 */ array(5 3, ),1010 /* 247 */ array( 2, ),1011 /* 248 */ array( 17, ),1012 /* 249 */ array( 25, ),1044 /* 245 */ array(19, ), 1045 /* 246 */ array(58, ), 1046 /* 247 */ array(19, ), 1047 /* 248 */ array(62, ), 1048 /* 249 */ array(35, ), 1013 1049 /* 250 */ array(18, ), 1014 /* 251 */ array( 18, ),1015 /* 252 */ array( 61, ),1050 /* 251 */ array(20, ), 1051 /* 252 */ array(18, ), 1016 1052 /* 253 */ array(), 1017 1053 /* 254 */ array(), … … 1148 1184 /* 385 */ array(), 1149 1185 /* 386 */ array(), 1186 /* 387 */ array(), 1150 1187 ); 1151 1188 static public $yy_default = array( 1152 /* 0 */ 39 0, 571, 588, 588, 542, 542, 542, 588, 588, 588,1153 /* 10 */ 5 88, 588, 588, 588, 588, 588, 588, 588, 588, 588,1154 /* 20 */ 5 88, 588, 588, 588, 588, 588, 588, 588, 588, 588,1155 /* 30 */ 5 88, 588, 588, 588, 588, 588, 588, 588, 588, 588,1156 /* 40 */ 5 88, 588, 588, 588, 588, 588, 588, 588, 588, 588,1157 /* 50 */ 5 88, 588, 588, 588, 588, 588, 450, 450, 450, 450,1158 /* 60 */ 5 88, 588, 588, 588, 455, 588, 588, 588, 588, 588,1159 /* 70 */ 5 88, 573, 457, 541, 574, 455, 471, 460, 540, 480,1160 /* 80 */ 4 84, 432, 461, 452, 479, 483, 572, 474, 475, 476,1161 /* 90 */ 4 87, 488, 499, 463, 450, 387, 588, 450, 450, 554,1162 /* 100 */ 588, 507, 470, 450, 450, 588, 588, 450, 450, 588,1163 /* 110 */ 5 88, 463, 588, 515, 463, 463, 515, 463, 515, 588,1164 /* 120 */ 508, 463, 508, 588, 588, 588, 588, 588, 588, 588,1165 /* 130 */ 5 88, 588, 588, 588, 588, 508, 515, 588, 588, 588,1166 /* 140 */ 5 88, 588, 463, 588, 588, 467, 450, 473, 551, 490,1167 /* 150 */ 4 50, 468, 486, 491, 492, 508, 466, 549, 588, 516,1168 /* 160 */ 5 88, 588, 588, 588, 533, 515, 532, 588, 588, 513,1169 /* 170 */ 5 88, 588, 588, 588, 534, 588, 588, 588, 535, 588,1170 /* 180 */ 5 88, 588, 588, 588, 588, 588, 588, 588, 588, 405,1171 /* 190 */ 587, 587, 529, 555, 470, 552, 507, 543, 544, 515,1172 /* 200 */ 5 15, 515, 548, 548, 548, 465, 499, 499, 588, 499,1173 /* 210 */ 499, 588, 527, 485, 499, 489, 588, 489, 588, 588,1174 /* 220 */ 495, 588, 588, 588, 527, 489, 588, 588, 588, 527,1175 /* 230 */ 495, 588, 553, 588, 588, 588, 497, 588, 588, 588,1176 /* 240 */ 5 88, 588, 588, 588, 588, 588, 501, 527, 588, 458,1177 /* 250 */ 5 88, 588, 588, 435, 524, 439, 501, 523, 511, 569,1178 /* 260 */ 5 21, 415, 522, 570, 520, 388, 537, 512, 440, 462,1179 /* 270 */ 459, 429, 550, 586, 430, 536, 528, 538, 539, 434,1180 /* 280 */ 433, 565, 441, 527, 442, 547, 443, 526, 438, 449,1181 /* 290 */ 4 28, 431, 436, 437, 444, 445, 498, 496, 504, 464,1182 /* 300 */ 465, 494, 493, 545, 546, 446, 447, 427, 448, 397,1183 /* 310 */ 39 6, 398, 399, 400, 395, 394, 389, 391, 392, 393,1184 /* 320 */ 401, 402, 411, 410, 412, 413, 414, 409, 408, 403,1185 /* 330 */ 404, 40 6, 407, 509, 514, 421, 420, 530, 422, 423,1186 /* 340 */ 4 19, 418, 531, 510, 416, 417, 583, 424, 426, 581,1187 /* 350 */ 5 79, 584, 585, 578, 580, 577, 425, 582, 575, 576,1188 /* 360 */ 5 06, 469, 503, 502, 505, 477, 478, 472, 500, 517,1189 /* 370 */ 5 25, 518, 519, 481, 482, 563, 562, 564, 566, 567,1190 /* 380 */ 56 1, 560, 556, 557, 558, 559, 568,1189 /* 0 */ 391, 573, 544, 590, 544, 590, 590, 544, 590, 590, 1190 /* 10 */ 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 1191 /* 20 */ 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 1192 /* 30 */ 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 1193 /* 40 */ 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 1194 /* 50 */ 590, 590, 590, 590, 590, 590, 452, 452, 452, 452, 1195 /* 60 */ 590, 590, 590, 457, 590, 590, 590, 590, 590, 590, 1196 /* 70 */ 590, 542, 454, 481, 482, 485, 486, 478, 543, 476, 1197 /* 80 */ 463, 575, 576, 473, 459, 457, 477, 434, 462, 574, 1198 /* 90 */ 490, 489, 501, 465, 452, 388, 590, 452, 452, 509, 1199 /* 100 */ 472, 590, 452, 590, 556, 452, 452, 590, 452, 590, 1200 /* 110 */ 590, 465, 590, 465, 517, 465, 517, 510, 517, 510, 1201 /* 120 */ 465, 590, 465, 590, 590, 517, 590, 590, 590, 510, 1202 /* 130 */ 590, 590, 465, 590, 590, 590, 590, 590, 590, 590, 1203 /* 140 */ 590, 590, 590, 590, 590, 493, 553, 475, 492, 469, 1204 /* 150 */ 488, 468, 510, 452, 452, 470, 494, 551, 590, 518, 1205 /* 160 */ 590, 534, 517, 537, 590, 590, 590, 590, 590, 590, 1206 /* 170 */ 590, 590, 590, 535, 590, 590, 590, 590, 590, 590, 1207 /* 180 */ 590, 536, 590, 590, 590, 515, 590, 590, 590, 589, 1208 /* 190 */ 472, 509, 545, 546, 517, 589, 531, 407, 557, 554, 1209 /* 200 */ 550, 550, 517, 550, 517, 467, 501, 590, 501, 501, 1210 /* 210 */ 501, 590, 590, 529, 491, 491, 590, 590, 590, 590, 1211 /* 220 */ 501, 487, 497, 555, 590, 590, 529, 590, 590, 460, 1212 /* 230 */ 590, 590, 590, 590, 529, 590, 491, 503, 529, 590, 1213 /* 240 */ 590, 590, 590, 590, 590, 590, 497, 590, 590, 499, 1214 /* 250 */ 590, 590, 590, 437, 417, 389, 571, 431, 432, 441, 1215 /* 260 */ 572, 540, 435, 588, 461, 539, 525, 523, 503, 526, 1216 /* 270 */ 524, 514, 513, 530, 436, 570, 464, 538, 522, 442, 1217 /* 280 */ 552, 541, 567, 529, 528, 443, 444, 549, 440, 439, 1218 /* 290 */ 430, 429, 451, 433, 438, 445, 446, 498, 496, 500, 1219 /* 300 */ 506, 466, 495, 449, 447, 547, 548, 448, 450, 416, 1220 /* 310 */ 398, 397, 399, 400, 401, 396, 395, 390, 392, 393, 1221 /* 320 */ 394, 402, 403, 412, 411, 413, 414, 415, 410, 409, 1222 /* 330 */ 404, 405, 406, 408, 467, 511, 422, 421, 423, 532, 1223 /* 340 */ 424, 420, 585, 512, 508, 533, 418, 419, 425, 426, 1224 /* 350 */ 581, 582, 583, 586, 587, 579, 578, 428, 427, 584, 1225 /* 360 */ 577, 471, 569, 504, 474, 505, 507, 479, 502, 521, 1226 /* 370 */ 516, 519, 527, 520, 480, 483, 564, 563, 565, 566, 1227 /* 380 */ 568, 562, 561, 484, 558, 559, 560, 580, 1191 1228 ); 1192 const YYNOCODE = 12 2;1229 const YYNOCODE = 123; 1193 1230 const YYSTACKDEPTH = 100; 1194 const YYNSTATE = 38 7;1195 const YYNRULE = 20 1;1196 const YYERRORSYMBOL = 79;1231 const YYNSTATE = 388; 1232 const YYNRULE = 202; 1233 const YYERRORSYMBOL = 80; 1197 1234 const YYERRSYMDT = 'yy0'; 1198 1235 const YYFALLBACK = 0; … … 1225 1262 '$', 'VERT', 'COLON', 'COMMENT', 1226 1263 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG', 'ASPENDTAG', 1227 'FAKEPHPSTARTTAG', 'XMLTAG', ' OTHER', 'LINEBREAK',1228 ' LITERALSTART', 'LITERALEND', 'LITERAL', 'LDEL',1229 ' RDEL', 'DOLLAR', 'ID', 'EQUAL',1230 ' PTR', 'LDELIF', 'LDELFOR', 'SEMICOLON',1231 ' INCDEC', 'TO', 'STEP', 'LDELFOREACH',1232 ' SPACE', 'AS', 'APTR', 'LDELSETFILTER',1233 ' SMARTYBLOCKCHILD', 'LDELSLASH', 'INTEGER', 'COMMA',1234 ' OPENP', 'CLOSEP', 'MATH', 'UNIMATH',1235 ' ANDSYM', 'ISIN', 'ISDIVBY', 'ISNOTDIVBY',1236 'IS EVEN', 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY',1237 'IS ODD', 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY',1238 'I NSTANCEOF', 'QMARK', 'NOT', 'TYPECAST',1239 ' HEX', 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON',1240 ' AT', 'HATCH', 'OPENB', 'CLOSEB',1241 ' EQUALS', 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN',1242 ' GREATEREQUAL', 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY',1243 ' MOD', 'LAND', 'LOR', 'LXOR',1244 ' QUOTE', 'BACKTICK', 'DOLLARID', 'error',1245 ' start', 'template', 'template_element', 'smartytag',1246 ' literal', 'literal_elements', 'literal_element', 'value',1247 ' modifierlist', 'attributes', 'expr', 'varindexed',1248 ' statement', 'statements', 'optspace', 'varvar',1249 ' foraction', 'modparameters', 'attribute', 'ternary',1250 ' array', 'ifcond', 'lop', 'variable',1251 ' function', 'doublequoted_with_quotes', 'static_class_access', 'object',1252 ' arrayindex', 'indexdef', 'varvarele', 'objectchain',1253 'object element', 'method', 'params', 'modifier',1254 'mod parameter', 'arrayelements', 'arrayelement', 'doublequoted',1255 'doublequoted content',1264 'FAKEPHPSTARTTAG', 'XMLTAG', 'TEXT', 'STRIPON', 1265 'STRIPOFF', 'LITERALSTART', 'LITERALEND', 'LITERAL', 1266 'LDEL', 'RDEL', 'DOLLAR', 'ID', 1267 'EQUAL', 'PTR', 'LDELIF', 'LDELFOR', 1268 'SEMICOLON', 'INCDEC', 'TO', 'STEP', 1269 'LDELFOREACH', 'SPACE', 'AS', 'APTR', 1270 'LDELSETFILTER', 'SMARTYBLOCKCHILD', 'LDELSLASH', 'INTEGER', 1271 'COMMA', 'OPENP', 'CLOSEP', 'MATH', 1272 'UNIMATH', 'ANDSYM', 'ISIN', 'ISDIVBY', 1273 'ISNOTDIVBY', 'ISEVEN', 'ISNOTEVEN', 'ISEVENBY', 1274 'ISNOTEVENBY', 'ISODD', 'ISNOTODD', 'ISODDBY', 1275 'ISNOTODDBY', 'INSTANCEOF', 'QMARK', 'NOT', 1276 'TYPECAST', 'HEX', 'DOT', 'SINGLEQUOTESTRING', 1277 'DOUBLECOLON', 'AT', 'HATCH', 'OPENB', 1278 'CLOSEB', 'EQUALS', 'NOTEQUALS', 'GREATERTHAN', 1279 'LESSTHAN', 'GREATEREQUAL', 'LESSEQUAL', 'IDENTITY', 1280 'NONEIDENTITY', 'MOD', 'LAND', 'LOR', 1281 'LXOR', 'QUOTE', 'BACKTICK', 'DOLLARID', 1282 'error', 'start', 'template', 'template_element', 1283 'smartytag', 'literal', 'literal_elements', 'literal_element', 1284 'value', 'modifierlist', 'attributes', 'expr', 1285 'varindexed', 'statement', 'statements', 'optspace', 1286 'varvar', 'foraction', 'modparameters', 'attribute', 1287 'ternary', 'array', 'ifcond', 'lop', 1288 'variable', 'function', 'doublequoted_with_quotes', 'static_class_access', 1289 'object', 'arrayindex', 'indexdef', 'varvarele', 1290 'objectchain', 'objectelement', 'method', 'params', 1291 'modifier', 'modparameter', 'arrayelements', 'arrayelement', 1292 'doublequoted', 'doublequotedcontent', 1256 1293 ); 1257 1294 … … 1270 1307 /* 11 */ "template_element ::= FAKEPHPSTARTTAG", 1271 1308 /* 12 */ "template_element ::= XMLTAG", 1272 /* 13 */ "template_element ::= OTHER", 1273 /* 14 */ "template_element ::= LINEBREAK", 1274 /* 15 */ "literal ::= LITERALSTART LITERALEND", 1275 /* 16 */ "literal ::= LITERALSTART literal_elements LITERALEND", 1276 /* 17 */ "literal_elements ::= literal_elements literal_element", 1277 /* 18 */ "literal_elements ::=", 1278 /* 19 */ "literal_element ::= literal", 1279 /* 20 */ "literal_element ::= LITERAL", 1280 /* 21 */ "literal_element ::= PHPSTARTTAG", 1281 /* 22 */ "literal_element ::= FAKEPHPSTARTTAG", 1282 /* 23 */ "literal_element ::= PHPENDTAG", 1283 /* 24 */ "literal_element ::= ASPSTARTTAG", 1284 /* 25 */ "literal_element ::= ASPENDTAG", 1285 /* 26 */ "smartytag ::= LDEL value RDEL", 1286 /* 27 */ "smartytag ::= LDEL value modifierlist attributes RDEL", 1287 /* 28 */ "smartytag ::= LDEL value attributes RDEL", 1288 /* 29 */ "smartytag ::= LDEL expr modifierlist attributes RDEL", 1289 /* 30 */ "smartytag ::= LDEL expr attributes RDEL", 1290 /* 31 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL", 1291 /* 32 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL", 1292 /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL", 1293 /* 34 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL", 1294 /* 35 */ "smartytag ::= LDEL ID attributes RDEL", 1295 /* 36 */ "smartytag ::= LDEL ID RDEL", 1296 /* 37 */ "smartytag ::= LDEL ID PTR ID attributes RDEL", 1297 /* 38 */ "smartytag ::= LDEL ID modifierlist attributes RDEL", 1298 /* 39 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL", 1299 /* 40 */ "smartytag ::= LDELIF expr RDEL", 1300 /* 41 */ "smartytag ::= LDELIF expr attributes RDEL", 1301 /* 42 */ "smartytag ::= LDELIF statement RDEL", 1302 /* 43 */ "smartytag ::= LDELIF statement attributes RDEL", 1303 /* 44 */ "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes RDEL", 1304 /* 45 */ "foraction ::= EQUAL expr", 1305 /* 46 */ "foraction ::= INCDEC", 1306 /* 47 */ "smartytag ::= LDELFOR statement TO expr attributes RDEL", 1307 /* 48 */ "smartytag ::= LDELFOR statement TO expr STEP expr attributes RDEL", 1308 /* 49 */ "smartytag ::= LDELFOREACH attributes RDEL", 1309 /* 50 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes RDEL", 1310 /* 51 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL", 1311 /* 52 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes RDEL", 1312 /* 53 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL", 1313 /* 54 */ "smartytag ::= LDELSETFILTER ID modparameters RDEL", 1314 /* 55 */ "smartytag ::= LDELSETFILTER ID modparameters modifierlist RDEL", 1315 /* 56 */ "smartytag ::= SMARTYBLOCKCHILD", 1316 /* 57 */ "smartytag ::= LDELSLASH ID RDEL", 1317 /* 58 */ "smartytag ::= LDELSLASH ID modifierlist RDEL", 1318 /* 59 */ "smartytag ::= LDELSLASH ID PTR ID RDEL", 1319 /* 60 */ "smartytag ::= LDELSLASH ID PTR ID modifierlist RDEL", 1320 /* 61 */ "attributes ::= attributes attribute", 1321 /* 62 */ "attributes ::= attribute", 1322 /* 63 */ "attributes ::=", 1323 /* 64 */ "attribute ::= SPACE ID EQUAL ID", 1324 /* 65 */ "attribute ::= SPACE ID EQUAL expr", 1325 /* 66 */ "attribute ::= SPACE ID EQUAL value", 1326 /* 67 */ "attribute ::= SPACE ID", 1327 /* 68 */ "attribute ::= SPACE expr", 1328 /* 69 */ "attribute ::= SPACE value", 1329 /* 70 */ "attribute ::= SPACE INTEGER EQUAL expr", 1330 /* 71 */ "statements ::= statement", 1331 /* 72 */ "statements ::= statements COMMA statement", 1332 /* 73 */ "statement ::= DOLLAR varvar EQUAL expr", 1333 /* 74 */ "statement ::= varindexed EQUAL expr", 1334 /* 75 */ "statement ::= OPENP statement CLOSEP", 1335 /* 76 */ "expr ::= value", 1336 /* 77 */ "expr ::= ternary", 1337 /* 78 */ "expr ::= DOLLAR ID COLON ID", 1338 /* 79 */ "expr ::= expr MATH value", 1339 /* 80 */ "expr ::= expr UNIMATH value", 1340 /* 81 */ "expr ::= expr ANDSYM value", 1341 /* 82 */ "expr ::= array", 1342 /* 83 */ "expr ::= expr modifierlist", 1343 /* 84 */ "expr ::= expr ifcond expr", 1344 /* 85 */ "expr ::= expr ISIN array", 1345 /* 86 */ "expr ::= expr ISIN value", 1346 /* 87 */ "expr ::= expr lop expr", 1347 /* 88 */ "expr ::= expr ISDIVBY expr", 1348 /* 89 */ "expr ::= expr ISNOTDIVBY expr", 1349 /* 90 */ "expr ::= expr ISEVEN", 1350 /* 91 */ "expr ::= expr ISNOTEVEN", 1351 /* 92 */ "expr ::= expr ISEVENBY expr", 1352 /* 93 */ "expr ::= expr ISNOTEVENBY expr", 1353 /* 94 */ "expr ::= expr ISODD", 1354 /* 95 */ "expr ::= expr ISNOTODD", 1355 /* 96 */ "expr ::= expr ISODDBY expr", 1356 /* 97 */ "expr ::= expr ISNOTODDBY expr", 1357 /* 98 */ "expr ::= value INSTANCEOF ID", 1358 /* 99 */ "expr ::= value INSTANCEOF value", 1359 /* 100 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr", 1360 /* 101 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", 1361 /* 102 */ "value ::= variable", 1362 /* 103 */ "value ::= UNIMATH value", 1363 /* 104 */ "value ::= NOT value", 1364 /* 105 */ "value ::= TYPECAST value", 1365 /* 106 */ "value ::= variable INCDEC", 1366 /* 107 */ "value ::= HEX", 1367 /* 108 */ "value ::= INTEGER", 1368 /* 109 */ "value ::= INTEGER DOT INTEGER", 1369 /* 110 */ "value ::= INTEGER DOT", 1370 /* 111 */ "value ::= DOT INTEGER", 1371 /* 112 */ "value ::= ID", 1372 /* 113 */ "value ::= function", 1373 /* 114 */ "value ::= OPENP expr CLOSEP", 1374 /* 115 */ "value ::= SINGLEQUOTESTRING", 1375 /* 116 */ "value ::= doublequoted_with_quotes", 1376 /* 117 */ "value ::= ID DOUBLECOLON static_class_access", 1377 /* 118 */ "value ::= varindexed DOUBLECOLON static_class_access", 1378 /* 119 */ "value ::= smartytag", 1379 /* 120 */ "value ::= value modifierlist", 1380 /* 121 */ "variable ::= varindexed", 1381 /* 122 */ "variable ::= DOLLAR varvar AT ID", 1382 /* 123 */ "variable ::= object", 1383 /* 124 */ "variable ::= HATCH ID HATCH", 1384 /* 125 */ "variable ::= HATCH variable HATCH", 1385 /* 126 */ "varindexed ::= DOLLAR varvar arrayindex", 1386 /* 127 */ "arrayindex ::= arrayindex indexdef", 1387 /* 128 */ "arrayindex ::=", 1388 /* 129 */ "indexdef ::= DOT DOLLAR varvar", 1389 /* 130 */ "indexdef ::= DOT DOLLAR varvar AT ID", 1390 /* 131 */ "indexdef ::= DOT ID", 1391 /* 132 */ "indexdef ::= DOT INTEGER", 1392 /* 133 */ "indexdef ::= DOT LDEL expr RDEL", 1393 /* 134 */ "indexdef ::= OPENB ID CLOSEB", 1394 /* 135 */ "indexdef ::= OPENB ID DOT ID CLOSEB", 1395 /* 136 */ "indexdef ::= OPENB expr CLOSEB", 1396 /* 137 */ "indexdef ::= OPENB CLOSEB", 1397 /* 138 */ "varvar ::= varvarele", 1398 /* 139 */ "varvar ::= varvar varvarele", 1399 /* 140 */ "varvarele ::= ID", 1400 /* 141 */ "varvarele ::= LDEL expr RDEL", 1401 /* 142 */ "object ::= varindexed objectchain", 1402 /* 143 */ "objectchain ::= objectelement", 1403 /* 144 */ "objectchain ::= objectchain objectelement", 1404 /* 145 */ "objectelement ::= PTR ID arrayindex", 1405 /* 146 */ "objectelement ::= PTR DOLLAR varvar arrayindex", 1406 /* 147 */ "objectelement ::= PTR LDEL expr RDEL arrayindex", 1407 /* 148 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex", 1408 /* 149 */ "objectelement ::= PTR method", 1409 /* 150 */ "function ::= ID OPENP params CLOSEP", 1410 /* 151 */ "method ::= ID OPENP params CLOSEP", 1411 /* 152 */ "method ::= DOLLAR ID OPENP params CLOSEP", 1412 /* 153 */ "params ::= params COMMA expr", 1413 /* 154 */ "params ::= expr", 1414 /* 155 */ "params ::=", 1415 /* 156 */ "modifierlist ::= modifierlist modifier modparameters", 1416 /* 157 */ "modifierlist ::= modifier modparameters", 1417 /* 158 */ "modifier ::= VERT AT ID", 1418 /* 159 */ "modifier ::= VERT ID", 1419 /* 160 */ "modparameters ::= modparameters modparameter", 1420 /* 161 */ "modparameters ::=", 1421 /* 162 */ "modparameter ::= COLON value", 1422 /* 163 */ "modparameter ::= COLON array", 1423 /* 164 */ "static_class_access ::= method", 1424 /* 165 */ "static_class_access ::= method objectchain", 1425 /* 166 */ "static_class_access ::= ID", 1426 /* 167 */ "static_class_access ::= DOLLAR ID arrayindex", 1427 /* 168 */ "static_class_access ::= DOLLAR ID arrayindex objectchain", 1428 /* 169 */ "ifcond ::= EQUALS", 1429 /* 170 */ "ifcond ::= NOTEQUALS", 1430 /* 171 */ "ifcond ::= GREATERTHAN", 1431 /* 172 */ "ifcond ::= LESSTHAN", 1432 /* 173 */ "ifcond ::= GREATEREQUAL", 1433 /* 174 */ "ifcond ::= LESSEQUAL", 1434 /* 175 */ "ifcond ::= IDENTITY", 1435 /* 176 */ "ifcond ::= NONEIDENTITY", 1436 /* 177 */ "ifcond ::= MOD", 1437 /* 178 */ "lop ::= LAND", 1438 /* 179 */ "lop ::= LOR", 1439 /* 180 */ "lop ::= LXOR", 1440 /* 181 */ "array ::= OPENB arrayelements CLOSEB", 1441 /* 182 */ "arrayelements ::= arrayelement", 1442 /* 183 */ "arrayelements ::= arrayelements COMMA arrayelement", 1443 /* 184 */ "arrayelements ::=", 1444 /* 185 */ "arrayelement ::= value APTR expr", 1445 /* 186 */ "arrayelement ::= ID APTR expr", 1446 /* 187 */ "arrayelement ::= expr", 1447 /* 188 */ "doublequoted_with_quotes ::= QUOTE QUOTE", 1448 /* 189 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE", 1449 /* 190 */ "doublequoted ::= doublequoted doublequotedcontent", 1450 /* 191 */ "doublequoted ::= doublequotedcontent", 1451 /* 192 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", 1452 /* 193 */ "doublequotedcontent ::= BACKTICK expr BACKTICK", 1453 /* 194 */ "doublequotedcontent ::= DOLLARID", 1454 /* 195 */ "doublequotedcontent ::= LDEL variable RDEL", 1455 /* 196 */ "doublequotedcontent ::= LDEL expr RDEL", 1456 /* 197 */ "doublequotedcontent ::= smartytag", 1457 /* 198 */ "doublequotedcontent ::= OTHER", 1458 /* 199 */ "optspace ::= SPACE", 1459 /* 200 */ "optspace ::=", 1309 /* 13 */ "template_element ::= TEXT", 1310 /* 14 */ "template_element ::= STRIPON", 1311 /* 15 */ "template_element ::= STRIPOFF", 1312 /* 16 */ "literal ::= LITERALSTART LITERALEND", 1313 /* 17 */ "literal ::= LITERALSTART literal_elements LITERALEND", 1314 /* 18 */ "literal_elements ::= literal_elements literal_element", 1315 /* 19 */ "literal_elements ::=", 1316 /* 20 */ "literal_element ::= literal", 1317 /* 21 */ "literal_element ::= LITERAL", 1318 /* 22 */ "literal_element ::= PHPSTARTTAG", 1319 /* 23 */ "literal_element ::= FAKEPHPSTARTTAG", 1320 /* 24 */ "literal_element ::= PHPENDTAG", 1321 /* 25 */ "literal_element ::= ASPSTARTTAG", 1322 /* 26 */ "literal_element ::= ASPENDTAG", 1323 /* 27 */ "smartytag ::= LDEL value RDEL", 1324 /* 28 */ "smartytag ::= LDEL value modifierlist attributes RDEL", 1325 /* 29 */ "smartytag ::= LDEL value attributes RDEL", 1326 /* 30 */ "smartytag ::= LDEL expr modifierlist attributes RDEL", 1327 /* 31 */ "smartytag ::= LDEL expr attributes RDEL", 1328 /* 32 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL", 1329 /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL", 1330 /* 34 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL", 1331 /* 35 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL", 1332 /* 36 */ "smartytag ::= LDEL ID attributes RDEL", 1333 /* 37 */ "smartytag ::= LDEL ID RDEL", 1334 /* 38 */ "smartytag ::= LDEL ID PTR ID attributes RDEL", 1335 /* 39 */ "smartytag ::= LDEL ID modifierlist attributes RDEL", 1336 /* 40 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL", 1337 /* 41 */ "smartytag ::= LDELIF expr RDEL", 1338 /* 42 */ "smartytag ::= LDELIF expr attributes RDEL", 1339 /* 43 */ "smartytag ::= LDELIF statement RDEL", 1340 /* 44 */ "smartytag ::= LDELIF statement attributes RDEL", 1341 /* 45 */ "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes RDEL", 1342 /* 46 */ "foraction ::= EQUAL expr", 1343 /* 47 */ "foraction ::= INCDEC", 1344 /* 48 */ "smartytag ::= LDELFOR statement TO expr attributes RDEL", 1345 /* 49 */ "smartytag ::= LDELFOR statement TO expr STEP expr attributes RDEL", 1346 /* 50 */ "smartytag ::= LDELFOREACH attributes RDEL", 1347 /* 51 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes RDEL", 1348 /* 52 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL", 1349 /* 53 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes RDEL", 1350 /* 54 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL", 1351 /* 55 */ "smartytag ::= LDELSETFILTER ID modparameters RDEL", 1352 /* 56 */ "smartytag ::= LDELSETFILTER ID modparameters modifierlist RDEL", 1353 /* 57 */ "smartytag ::= SMARTYBLOCKCHILD", 1354 /* 58 */ "smartytag ::= LDELSLASH ID RDEL", 1355 /* 59 */ "smartytag ::= LDELSLASH ID modifierlist RDEL", 1356 /* 60 */ "smartytag ::= LDELSLASH ID PTR ID RDEL", 1357 /* 61 */ "smartytag ::= LDELSLASH ID PTR ID modifierlist RDEL", 1358 /* 62 */ "attributes ::= attributes attribute", 1359 /* 63 */ "attributes ::= attribute", 1360 /* 64 */ "attributes ::=", 1361 /* 65 */ "attribute ::= SPACE ID EQUAL ID", 1362 /* 66 */ "attribute ::= SPACE ID EQUAL expr", 1363 /* 67 */ "attribute ::= SPACE ID EQUAL value", 1364 /* 68 */ "attribute ::= SPACE ID", 1365 /* 69 */ "attribute ::= SPACE expr", 1366 /* 70 */ "attribute ::= SPACE value", 1367 /* 71 */ "attribute ::= SPACE INTEGER EQUAL expr", 1368 /* 72 */ "statements ::= statement", 1369 /* 73 */ "statements ::= statements COMMA statement", 1370 /* 74 */ "statement ::= DOLLAR varvar EQUAL expr", 1371 /* 75 */ "statement ::= varindexed EQUAL expr", 1372 /* 76 */ "statement ::= OPENP statement CLOSEP", 1373 /* 77 */ "expr ::= value", 1374 /* 78 */ "expr ::= ternary", 1375 /* 79 */ "expr ::= DOLLAR ID COLON ID", 1376 /* 80 */ "expr ::= expr MATH value", 1377 /* 81 */ "expr ::= expr UNIMATH value", 1378 /* 82 */ "expr ::= expr ANDSYM value", 1379 /* 83 */ "expr ::= array", 1380 /* 84 */ "expr ::= expr modifierlist", 1381 /* 85 */ "expr ::= expr ifcond expr", 1382 /* 86 */ "expr ::= expr ISIN array", 1383 /* 87 */ "expr ::= expr ISIN value", 1384 /* 88 */ "expr ::= expr lop expr", 1385 /* 89 */ "expr ::= expr ISDIVBY expr", 1386 /* 90 */ "expr ::= expr ISNOTDIVBY expr", 1387 /* 91 */ "expr ::= expr ISEVEN", 1388 /* 92 */ "expr ::= expr ISNOTEVEN", 1389 /* 93 */ "expr ::= expr ISEVENBY expr", 1390 /* 94 */ "expr ::= expr ISNOTEVENBY expr", 1391 /* 95 */ "expr ::= expr ISODD", 1392 /* 96 */ "expr ::= expr ISNOTODD", 1393 /* 97 */ "expr ::= expr ISODDBY expr", 1394 /* 98 */ "expr ::= expr ISNOTODDBY expr", 1395 /* 99 */ "expr ::= value INSTANCEOF ID", 1396 /* 100 */ "expr ::= value INSTANCEOF value", 1397 /* 101 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr", 1398 /* 102 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", 1399 /* 103 */ "value ::= variable", 1400 /* 104 */ "value ::= UNIMATH value", 1401 /* 105 */ "value ::= NOT value", 1402 /* 106 */ "value ::= TYPECAST value", 1403 /* 107 */ "value ::= variable INCDEC", 1404 /* 108 */ "value ::= HEX", 1405 /* 109 */ "value ::= INTEGER", 1406 /* 110 */ "value ::= INTEGER DOT INTEGER", 1407 /* 111 */ "value ::= INTEGER DOT", 1408 /* 112 */ "value ::= DOT INTEGER", 1409 /* 113 */ "value ::= ID", 1410 /* 114 */ "value ::= function", 1411 /* 115 */ "value ::= OPENP expr CLOSEP", 1412 /* 116 */ "value ::= SINGLEQUOTESTRING", 1413 /* 117 */ "value ::= doublequoted_with_quotes", 1414 /* 118 */ "value ::= ID DOUBLECOLON static_class_access", 1415 /* 119 */ "value ::= varindexed DOUBLECOLON static_class_access", 1416 /* 120 */ "value ::= smartytag", 1417 /* 121 */ "value ::= value modifierlist", 1418 /* 122 */ "variable ::= varindexed", 1419 /* 123 */ "variable ::= DOLLAR varvar AT ID", 1420 /* 124 */ "variable ::= object", 1421 /* 125 */ "variable ::= HATCH ID HATCH", 1422 /* 126 */ "variable ::= HATCH variable HATCH", 1423 /* 127 */ "varindexed ::= DOLLAR varvar arrayindex", 1424 /* 128 */ "arrayindex ::= arrayindex indexdef", 1425 /* 129 */ "arrayindex ::=", 1426 /* 130 */ "indexdef ::= DOT DOLLAR varvar", 1427 /* 131 */ "indexdef ::= DOT DOLLAR varvar AT ID", 1428 /* 132 */ "indexdef ::= DOT ID", 1429 /* 133 */ "indexdef ::= DOT INTEGER", 1430 /* 134 */ "indexdef ::= DOT LDEL expr RDEL", 1431 /* 135 */ "indexdef ::= OPENB ID CLOSEB", 1432 /* 136 */ "indexdef ::= OPENB ID DOT ID CLOSEB", 1433 /* 137 */ "indexdef ::= OPENB expr CLOSEB", 1434 /* 138 */ "indexdef ::= OPENB CLOSEB", 1435 /* 139 */ "varvar ::= varvarele", 1436 /* 140 */ "varvar ::= varvar varvarele", 1437 /* 141 */ "varvarele ::= ID", 1438 /* 142 */ "varvarele ::= LDEL expr RDEL", 1439 /* 143 */ "object ::= varindexed objectchain", 1440 /* 144 */ "objectchain ::= objectelement", 1441 /* 145 */ "objectchain ::= objectchain objectelement", 1442 /* 146 */ "objectelement ::= PTR ID arrayindex", 1443 /* 147 */ "objectelement ::= PTR DOLLAR varvar arrayindex", 1444 /* 148 */ "objectelement ::= PTR LDEL expr RDEL arrayindex", 1445 /* 149 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex", 1446 /* 150 */ "objectelement ::= PTR method", 1447 /* 151 */ "function ::= ID OPENP params CLOSEP", 1448 /* 152 */ "method ::= ID OPENP params CLOSEP", 1449 /* 153 */ "method ::= DOLLAR ID OPENP params CLOSEP", 1450 /* 154 */ "params ::= params COMMA expr", 1451 /* 155 */ "params ::= expr", 1452 /* 156 */ "params ::=", 1453 /* 157 */ "modifierlist ::= modifierlist modifier modparameters", 1454 /* 158 */ "modifierlist ::= modifier modparameters", 1455 /* 159 */ "modifier ::= VERT AT ID", 1456 /* 160 */ "modifier ::= VERT ID", 1457 /* 161 */ "modparameters ::= modparameters modparameter", 1458 /* 162 */ "modparameters ::=", 1459 /* 163 */ "modparameter ::= COLON value", 1460 /* 164 */ "modparameter ::= COLON array", 1461 /* 165 */ "static_class_access ::= method", 1462 /* 166 */ "static_class_access ::= method objectchain", 1463 /* 167 */ "static_class_access ::= ID", 1464 /* 168 */ "static_class_access ::= DOLLAR ID arrayindex", 1465 /* 169 */ "static_class_access ::= DOLLAR ID arrayindex objectchain", 1466 /* 170 */ "ifcond ::= EQUALS", 1467 /* 171 */ "ifcond ::= NOTEQUALS", 1468 /* 172 */ "ifcond ::= GREATERTHAN", 1469 /* 173 */ "ifcond ::= LESSTHAN", 1470 /* 174 */ "ifcond ::= GREATEREQUAL", 1471 /* 175 */ "ifcond ::= LESSEQUAL", 1472 /* 176 */ "ifcond ::= IDENTITY", 1473 /* 177 */ "ifcond ::= NONEIDENTITY", 1474 /* 178 */ "ifcond ::= MOD", 1475 /* 179 */ "lop ::= LAND", 1476 /* 180 */ "lop ::= LOR", 1477 /* 181 */ "lop ::= LXOR", 1478 /* 182 */ "array ::= OPENB arrayelements CLOSEB", 1479 /* 183 */ "arrayelements ::= arrayelement", 1480 /* 184 */ "arrayelements ::= arrayelements COMMA arrayelement", 1481 /* 185 */ "arrayelements ::=", 1482 /* 186 */ "arrayelement ::= value APTR expr", 1483 /* 187 */ "arrayelement ::= ID APTR expr", 1484 /* 188 */ "arrayelement ::= expr", 1485 /* 189 */ "doublequoted_with_quotes ::= QUOTE QUOTE", 1486 /* 190 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE", 1487 /* 191 */ "doublequoted ::= doublequoted doublequotedcontent", 1488 /* 192 */ "doublequoted ::= doublequotedcontent", 1489 /* 193 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", 1490 /* 194 */ "doublequotedcontent ::= BACKTICK expr BACKTICK", 1491 /* 195 */ "doublequotedcontent ::= DOLLARID", 1492 /* 196 */ "doublequotedcontent ::= LDEL variable RDEL", 1493 /* 197 */ "doublequotedcontent ::= LDEL expr RDEL", 1494 /* 198 */ "doublequotedcontent ::= smartytag", 1495 /* 199 */ "doublequotedcontent ::= TEXT", 1496 /* 200 */ "optspace ::= SPACE", 1497 /* 201 */ "optspace ::=", 1460 1498 ); 1461 1499 … … 1713 1751 $this->yy_pop_parser_stack(); 1714 1752 } 1715 #line 8 3"smarty_internal_templateparser.y"1753 #line 84 "smarty_internal_templateparser.y" 1716 1754 1717 1755 $this->internalError = true; 1718 1756 $this->compiler->trigger_template_error("Stack overflow in template parser"); 1719 #line 17 15"smarty_internal_templateparser.php"1757 #line 1753 "smarty_internal_templateparser.php" 1720 1758 return; 1721 1759 } … … 1738 1776 1739 1777 static public $yyRuleInfo = array( 1740 array( 'lhs' => 80, 'rhs' => 1 ),1741 1778 array( 'lhs' => 81, 'rhs' => 1 ), 1742 array( 'lhs' => 81, 'rhs' => 2 ),1743 array( 'lhs' => 81, 'rhs' => 0 ),1744 1779 array( 'lhs' => 82, 'rhs' => 1 ), 1745 array( 'lhs' => 82, 'rhs' => 1 ), 1746 array( 'lhs' => 82, 'rhs' => 1 ), 1747 array( 'lhs' => 82, 'rhs' => 1 ), 1748 array( 'lhs' => 82, 'rhs' => 1 ), 1749 array( 'lhs' => 82, 'rhs' => 1 ), 1750 array( 'lhs' => 82, 'rhs' => 1 ), 1751 array( 'lhs' => 82, 'rhs' => 1 ), 1752 array( 'lhs' => 82, 'rhs' => 1 ), 1753 array( 'lhs' => 82, 'rhs' => 1 ), 1754 array( 'lhs' => 82, 'rhs' => 1 ), 1755 array( 'lhs' => 84, 'rhs' => 2 ), 1756 array( 'lhs' => 84, 'rhs' => 3 ), 1780 array( 'lhs' => 82, 'rhs' => 2 ), 1781 array( 'lhs' => 82, 'rhs' => 0 ), 1782 array( 'lhs' => 83, 'rhs' => 1 ), 1783 array( 'lhs' => 83, 'rhs' => 1 ), 1784 array( 'lhs' => 83, 'rhs' => 1 ), 1785 array( 'lhs' => 83, 'rhs' => 1 ), 1786 array( 'lhs' => 83, 'rhs' => 1 ), 1787 array( 'lhs' => 83, 'rhs' => 1 ), 1788 array( 'lhs' => 83, 'rhs' => 1 ), 1789 array( 'lhs' => 83, 'rhs' => 1 ), 1790 array( 'lhs' => 83, 'rhs' => 1 ), 1791 array( 'lhs' => 83, 'rhs' => 1 ), 1792 array( 'lhs' => 83, 'rhs' => 1 ), 1793 array( 'lhs' => 83, 'rhs' => 1 ), 1757 1794 array( 'lhs' => 85, 'rhs' => 2 ), 1758 array( 'lhs' => 85, 'rhs' => 0 ), 1759 array( 'lhs' => 86, 'rhs' => 1 ), 1760 array( 'lhs' => 86, 'rhs' => 1 ), 1761 array( 'lhs' => 86, 'rhs' => 1 ), 1762 array( 'lhs' => 86, 'rhs' => 1 ), 1763 array( 'lhs' => 86, 'rhs' => 1 ), 1764 array( 'lhs' => 86, 'rhs' => 1 ), 1765 array( 'lhs' => 86, 'rhs' => 1 ), 1766 array( 'lhs' => 83, 'rhs' => 3 ), 1767 array( 'lhs' => 83, 'rhs' => 5 ), 1768 array( 'lhs' => 83, 'rhs' => 4 ), 1769 array( 'lhs' => 83, 'rhs' => 5 ), 1770 array( 'lhs' => 83, 'rhs' => 4 ), 1771 array( 'lhs' => 83, 'rhs' => 6 ), 1772 array( 'lhs' => 83, 'rhs' => 6 ), 1773 array( 'lhs' => 83, 'rhs' => 7 ), 1774 array( 'lhs' => 83, 'rhs' => 6 ), 1775 array( 'lhs' => 83, 'rhs' => 4 ), 1776 array( 'lhs' => 83, 'rhs' => 3 ), 1777 array( 'lhs' => 83, 'rhs' => 6 ), 1778 array( 'lhs' => 83, 'rhs' => 5 ), 1779 array( 'lhs' => 83, 'rhs' => 7 ), 1780 array( 'lhs' => 83, 'rhs' => 3 ), 1781 array( 'lhs' => 83, 'rhs' => 4 ), 1782 array( 'lhs' => 83, 'rhs' => 3 ), 1783 array( 'lhs' => 83, 'rhs' => 4 ), 1784 array( 'lhs' => 83, 'rhs' => 12 ), 1785 array( 'lhs' => 96, 'rhs' => 2 ), 1786 array( 'lhs' => 96, 'rhs' => 1 ), 1787 array( 'lhs' => 83, 'rhs' => 6 ), 1788 array( 'lhs' => 83, 'rhs' => 8 ), 1789 array( 'lhs' => 83, 'rhs' => 3 ), 1790 array( 'lhs' => 83, 'rhs' => 8 ), 1791 array( 'lhs' => 83, 'rhs' => 11 ), 1792 array( 'lhs' => 83, 'rhs' => 8 ), 1793 array( 'lhs' => 83, 'rhs' => 11 ), 1794 array( 'lhs' => 83, 'rhs' => 4 ), 1795 array( 'lhs' => 83, 'rhs' => 5 ), 1796 array( 'lhs' => 83, 'rhs' => 1 ), 1797 array( 'lhs' => 83, 'rhs' => 3 ), 1798 array( 'lhs' => 83, 'rhs' => 4 ), 1799 array( 'lhs' => 83, 'rhs' => 5 ), 1800 array( 'lhs' => 83, 'rhs' => 6 ), 1801 array( 'lhs' => 89, 'rhs' => 2 ), 1802 array( 'lhs' => 89, 'rhs' => 1 ), 1803 array( 'lhs' => 89, 'rhs' => 0 ), 1804 array( 'lhs' => 98, 'rhs' => 4 ), 1805 array( 'lhs' => 98, 'rhs' => 4 ), 1806 array( 'lhs' => 98, 'rhs' => 4 ), 1807 array( 'lhs' => 98, 'rhs' => 2 ), 1808 array( 'lhs' => 98, 'rhs' => 2 ), 1809 array( 'lhs' => 98, 'rhs' => 2 ), 1810 array( 'lhs' => 98, 'rhs' => 4 ), 1811 array( 'lhs' => 93, 'rhs' => 1 ), 1812 array( 'lhs' => 93, 'rhs' => 3 ), 1813 array( 'lhs' => 92, 'rhs' => 4 ), 1814 array( 'lhs' => 92, 'rhs' => 3 ), 1815 array( 'lhs' => 92, 'rhs' => 3 ), 1816 array( 'lhs' => 90, 'rhs' => 1 ), 1817 array( 'lhs' => 90, 'rhs' => 1 ), 1818 array( 'lhs' => 90, 'rhs' => 4 ), 1819 array( 'lhs' => 90, 'rhs' => 3 ), 1820 array( 'lhs' => 90, 'rhs' => 3 ), 1821 array( 'lhs' => 90, 'rhs' => 3 ), 1822 array( 'lhs' => 90, 'rhs' => 1 ), 1823 array( 'lhs' => 90, 'rhs' => 2 ), 1824 array( 'lhs' => 90, 'rhs' => 3 ), 1825 array( 'lhs' => 90, 'rhs' => 3 ), 1826 array( 'lhs' => 90, 'rhs' => 3 ), 1827 array( 'lhs' => 90, 'rhs' => 3 ), 1828 array( 'lhs' => 90, 'rhs' => 3 ), 1829 array( 'lhs' => 90, 'rhs' => 3 ), 1830 array( 'lhs' => 90, 'rhs' => 2 ), 1831 array( 'lhs' => 90, 'rhs' => 2 ), 1832 array( 'lhs' => 90, 'rhs' => 3 ), 1833 array( 'lhs' => 90, 'rhs' => 3 ), 1834 array( 'lhs' => 90, 'rhs' => 2 ), 1835 array( 'lhs' => 90, 'rhs' => 2 ), 1836 array( 'lhs' => 90, 'rhs' => 3 ), 1837 array( 'lhs' => 90, 'rhs' => 3 ), 1838 array( 'lhs' => 90, 'rhs' => 3 ), 1839 array( 'lhs' => 90, 'rhs' => 3 ), 1840 array( 'lhs' => 99, 'rhs' => 8 ), 1841 array( 'lhs' => 99, 'rhs' => 7 ), 1842 array( 'lhs' => 87, 'rhs' => 1 ), 1843 array( 'lhs' => 87, 'rhs' => 2 ), 1844 array( 'lhs' => 87, 'rhs' => 2 ), 1845 array( 'lhs' => 87, 'rhs' => 2 ), 1846 array( 'lhs' => 87, 'rhs' => 2 ), 1795 array( 'lhs' => 85, 'rhs' => 3 ), 1796 array( 'lhs' => 86, 'rhs' => 2 ), 1797 array( 'lhs' => 86, 'rhs' => 0 ), 1847 1798 array( 'lhs' => 87, 'rhs' => 1 ), 1848 1799 array( 'lhs' => 87, 'rhs' => 1 ), 1849 array( 'lhs' => 87, 'rhs' => 3 ),1850 array( 'lhs' => 87, 'rhs' => 2 ),1851 array( 'lhs' => 87, 'rhs' => 2 ),1852 1800 array( 'lhs' => 87, 'rhs' => 1 ), 1853 1801 array( 'lhs' => 87, 'rhs' => 1 ), 1854 array( 'lhs' => 87, 'rhs' => 3 ),1855 1802 array( 'lhs' => 87, 'rhs' => 1 ), 1856 1803 array( 'lhs' => 87, 'rhs' => 1 ), 1857 array( 'lhs' => 87, 'rhs' => 3 ),1858 array( 'lhs' => 87, 'rhs' => 3 ),1859 1804 array( 'lhs' => 87, 'rhs' => 1 ), 1860 array( 'lhs' => 87, 'rhs' => 2 ), 1861 array( 'lhs' => 103, 'rhs' => 1 ), 1862 array( 'lhs' => 103, 'rhs' => 4 ), 1863 array( 'lhs' => 103, 'rhs' => 1 ), 1864 array( 'lhs' => 103, 'rhs' => 3 ), 1865 array( 'lhs' => 103, 'rhs' => 3 ), 1805 array( 'lhs' => 84, 'rhs' => 3 ), 1806 array( 'lhs' => 84, 'rhs' => 5 ), 1807 array( 'lhs' => 84, 'rhs' => 4 ), 1808 array( 'lhs' => 84, 'rhs' => 5 ), 1809 array( 'lhs' => 84, 'rhs' => 4 ), 1810 array( 'lhs' => 84, 'rhs' => 6 ), 1811 array( 'lhs' => 84, 'rhs' => 6 ), 1812 array( 'lhs' => 84, 'rhs' => 7 ), 1813 array( 'lhs' => 84, 'rhs' => 6 ), 1814 array( 'lhs' => 84, 'rhs' => 4 ), 1815 array( 'lhs' => 84, 'rhs' => 3 ), 1816 array( 'lhs' => 84, 'rhs' => 6 ), 1817 array( 'lhs' => 84, 'rhs' => 5 ), 1818 array( 'lhs' => 84, 'rhs' => 7 ), 1819 array( 'lhs' => 84, 'rhs' => 3 ), 1820 array( 'lhs' => 84, 'rhs' => 4 ), 1821 array( 'lhs' => 84, 'rhs' => 3 ), 1822 array( 'lhs' => 84, 'rhs' => 4 ), 1823 array( 'lhs' => 84, 'rhs' => 12 ), 1824 array( 'lhs' => 97, 'rhs' => 2 ), 1825 array( 'lhs' => 97, 'rhs' => 1 ), 1826 array( 'lhs' => 84, 'rhs' => 6 ), 1827 array( 'lhs' => 84, 'rhs' => 8 ), 1828 array( 'lhs' => 84, 'rhs' => 3 ), 1829 array( 'lhs' => 84, 'rhs' => 8 ), 1830 array( 'lhs' => 84, 'rhs' => 11 ), 1831 array( 'lhs' => 84, 'rhs' => 8 ), 1832 array( 'lhs' => 84, 'rhs' => 11 ), 1833 array( 'lhs' => 84, 'rhs' => 4 ), 1834 array( 'lhs' => 84, 'rhs' => 5 ), 1835 array( 'lhs' => 84, 'rhs' => 1 ), 1836 array( 'lhs' => 84, 'rhs' => 3 ), 1837 array( 'lhs' => 84, 'rhs' => 4 ), 1838 array( 'lhs' => 84, 'rhs' => 5 ), 1839 array( 'lhs' => 84, 'rhs' => 6 ), 1840 array( 'lhs' => 90, 'rhs' => 2 ), 1841 array( 'lhs' => 90, 'rhs' => 1 ), 1842 array( 'lhs' => 90, 'rhs' => 0 ), 1843 array( 'lhs' => 99, 'rhs' => 4 ), 1844 array( 'lhs' => 99, 'rhs' => 4 ), 1845 array( 'lhs' => 99, 'rhs' => 4 ), 1846 array( 'lhs' => 99, 'rhs' => 2 ), 1847 array( 'lhs' => 99, 'rhs' => 2 ), 1848 array( 'lhs' => 99, 'rhs' => 2 ), 1849 array( 'lhs' => 99, 'rhs' => 4 ), 1850 array( 'lhs' => 94, 'rhs' => 1 ), 1851 array( 'lhs' => 94, 'rhs' => 3 ), 1852 array( 'lhs' => 93, 'rhs' => 4 ), 1853 array( 'lhs' => 93, 'rhs' => 3 ), 1854 array( 'lhs' => 93, 'rhs' => 3 ), 1855 array( 'lhs' => 91, 'rhs' => 1 ), 1856 array( 'lhs' => 91, 'rhs' => 1 ), 1857 array( 'lhs' => 91, 'rhs' => 4 ), 1866 1858 array( 'lhs' => 91, 'rhs' => 3 ), 1859 array( 'lhs' => 91, 'rhs' => 3 ), 1860 array( 'lhs' => 91, 'rhs' => 3 ), 1861 array( 'lhs' => 91, 'rhs' => 1 ), 1862 array( 'lhs' => 91, 'rhs' => 2 ), 1863 array( 'lhs' => 91, 'rhs' => 3 ), 1864 array( 'lhs' => 91, 'rhs' => 3 ), 1865 array( 'lhs' => 91, 'rhs' => 3 ), 1866 array( 'lhs' => 91, 'rhs' => 3 ), 1867 array( 'lhs' => 91, 'rhs' => 3 ), 1868 array( 'lhs' => 91, 'rhs' => 3 ), 1869 array( 'lhs' => 91, 'rhs' => 2 ), 1870 array( 'lhs' => 91, 'rhs' => 2 ), 1871 array( 'lhs' => 91, 'rhs' => 3 ), 1872 array( 'lhs' => 91, 'rhs' => 3 ), 1873 array( 'lhs' => 91, 'rhs' => 2 ), 1874 array( 'lhs' => 91, 'rhs' => 2 ), 1875 array( 'lhs' => 91, 'rhs' => 3 ), 1876 array( 'lhs' => 91, 'rhs' => 3 ), 1877 array( 'lhs' => 91, 'rhs' => 3 ), 1878 array( 'lhs' => 91, 'rhs' => 3 ), 1879 array( 'lhs' => 100, 'rhs' => 8 ), 1880 array( 'lhs' => 100, 'rhs' => 7 ), 1881 array( 'lhs' => 88, 'rhs' => 1 ), 1882 array( 'lhs' => 88, 'rhs' => 2 ), 1883 array( 'lhs' => 88, 'rhs' => 2 ), 1884 array( 'lhs' => 88, 'rhs' => 2 ), 1885 array( 'lhs' => 88, 'rhs' => 2 ), 1886 array( 'lhs' => 88, 'rhs' => 1 ), 1887 array( 'lhs' => 88, 'rhs' => 1 ), 1888 array( 'lhs' => 88, 'rhs' => 3 ), 1889 array( 'lhs' => 88, 'rhs' => 2 ), 1890 array( 'lhs' => 88, 'rhs' => 2 ), 1891 array( 'lhs' => 88, 'rhs' => 1 ), 1892 array( 'lhs' => 88, 'rhs' => 1 ), 1893 array( 'lhs' => 88, 'rhs' => 3 ), 1894 array( 'lhs' => 88, 'rhs' => 1 ), 1895 array( 'lhs' => 88, 'rhs' => 1 ), 1896 array( 'lhs' => 88, 'rhs' => 3 ), 1897 array( 'lhs' => 88, 'rhs' => 3 ), 1898 array( 'lhs' => 88, 'rhs' => 1 ), 1899 array( 'lhs' => 88, 'rhs' => 2 ), 1900 array( 'lhs' => 104, 'rhs' => 1 ), 1901 array( 'lhs' => 104, 'rhs' => 4 ), 1902 array( 'lhs' => 104, 'rhs' => 1 ), 1903 array( 'lhs' => 104, 'rhs' => 3 ), 1904 array( 'lhs' => 104, 'rhs' => 3 ), 1905 array( 'lhs' => 92, 'rhs' => 3 ), 1906 array( 'lhs' => 109, 'rhs' => 2 ), 1907 array( 'lhs' => 109, 'rhs' => 0 ), 1908 array( 'lhs' => 110, 'rhs' => 3 ), 1909 array( 'lhs' => 110, 'rhs' => 5 ), 1910 array( 'lhs' => 110, 'rhs' => 2 ), 1911 array( 'lhs' => 110, 'rhs' => 2 ), 1912 array( 'lhs' => 110, 'rhs' => 4 ), 1913 array( 'lhs' => 110, 'rhs' => 3 ), 1914 array( 'lhs' => 110, 'rhs' => 5 ), 1915 array( 'lhs' => 110, 'rhs' => 3 ), 1916 array( 'lhs' => 110, 'rhs' => 2 ), 1917 array( 'lhs' => 96, 'rhs' => 1 ), 1918 array( 'lhs' => 96, 'rhs' => 2 ), 1919 array( 'lhs' => 111, 'rhs' => 1 ), 1920 array( 'lhs' => 111, 'rhs' => 3 ), 1867 1921 array( 'lhs' => 108, 'rhs' => 2 ), 1868 array( 'lhs' => 108, 'rhs' => 0 ), 1869 array( 'lhs' => 109, 'rhs' => 3 ), 1870 array( 'lhs' => 109, 'rhs' => 5 ), 1871 array( 'lhs' => 109, 'rhs' => 2 ), 1872 array( 'lhs' => 109, 'rhs' => 2 ), 1873 array( 'lhs' => 109, 'rhs' => 4 ), 1874 array( 'lhs' => 109, 'rhs' => 3 ), 1875 array( 'lhs' => 109, 'rhs' => 5 ), 1876 array( 'lhs' => 109, 'rhs' => 3 ), 1877 array( 'lhs' => 109, 'rhs' => 2 ), 1878 array( 'lhs' => 95, 'rhs' => 1 ), 1879 array( 'lhs' => 95, 'rhs' => 2 ), 1880 array( 'lhs' => 110, 'rhs' => 1 ), 1881 array( 'lhs' => 110, 'rhs' => 3 ), 1882 array( 'lhs' => 107, 'rhs' => 2 ), 1883 array( 'lhs' => 111, 'rhs' => 1 ), 1884 array( 'lhs' => 111, 'rhs' => 2 ), 1885 array( 'lhs' => 112, 'rhs' => 3 ), 1886 array( 'lhs' => 112, 'rhs' => 4 ), 1887 array( 'lhs' => 112, 'rhs' => 5 ), 1888 array( 'lhs' => 112, 'rhs' => 6 ), 1922 array( 'lhs' => 112, 'rhs' => 1 ), 1889 1923 array( 'lhs' => 112, 'rhs' => 2 ), 1890 array( 'lhs' => 1 04, 'rhs' => 4),1924 array( 'lhs' => 113, 'rhs' => 3 ), 1891 1925 array( 'lhs' => 113, 'rhs' => 4 ), 1892 1926 array( 'lhs' => 113, 'rhs' => 5 ), 1893 array( 'lhs' => 11 4, 'rhs' => 3),1894 array( 'lhs' => 11 4, 'rhs' => 1),1895 array( 'lhs' => 1 14, 'rhs' => 0),1896 array( 'lhs' => 88, 'rhs' => 3),1897 array( 'lhs' => 88, 'rhs' => 2),1927 array( 'lhs' => 113, 'rhs' => 6 ), 1928 array( 'lhs' => 113, 'rhs' => 2 ), 1929 array( 'lhs' => 105, 'rhs' => 4 ), 1930 array( 'lhs' => 114, 'rhs' => 4 ), 1931 array( 'lhs' => 114, 'rhs' => 5 ), 1898 1932 array( 'lhs' => 115, 'rhs' => 3 ), 1899 array( 'lhs' => 115, 'rhs' => 2 ), 1900 array( 'lhs' => 97, 'rhs' => 2 ), 1901 array( 'lhs' => 97, 'rhs' => 0 ), 1933 array( 'lhs' => 115, 'rhs' => 1 ), 1934 array( 'lhs' => 115, 'rhs' => 0 ), 1935 array( 'lhs' => 89, 'rhs' => 3 ), 1936 array( 'lhs' => 89, 'rhs' => 2 ), 1937 array( 'lhs' => 116, 'rhs' => 3 ), 1902 1938 array( 'lhs' => 116, 'rhs' => 2 ), 1903 array( 'lhs' => 116, 'rhs' => 2 ), 1904 array( 'lhs' => 106, 'rhs' => 1 ), 1905 array( 'lhs' => 106, 'rhs' => 2 ), 1906 array( 'lhs' => 106, 'rhs' => 1 ), 1907 array( 'lhs' => 106, 'rhs' => 3 ), 1908 array( 'lhs' => 106, 'rhs' => 4 ), 1909 array( 'lhs' => 101, 'rhs' => 1 ), 1910 array( 'lhs' => 101, 'rhs' => 1 ), 1911 array( 'lhs' => 101, 'rhs' => 1 ), 1912 array( 'lhs' => 101, 'rhs' => 1 ), 1913 array( 'lhs' => 101, 'rhs' => 1 ), 1914 array( 'lhs' => 101, 'rhs' => 1 ), 1915 array( 'lhs' => 101, 'rhs' => 1 ), 1916 array( 'lhs' => 101, 'rhs' => 1 ), 1917 array( 'lhs' => 101, 'rhs' => 1 ), 1939 array( 'lhs' => 98, 'rhs' => 2 ), 1940 array( 'lhs' => 98, 'rhs' => 0 ), 1941 array( 'lhs' => 117, 'rhs' => 2 ), 1942 array( 'lhs' => 117, 'rhs' => 2 ), 1943 array( 'lhs' => 107, 'rhs' => 1 ), 1944 array( 'lhs' => 107, 'rhs' => 2 ), 1945 array( 'lhs' => 107, 'rhs' => 1 ), 1946 array( 'lhs' => 107, 'rhs' => 3 ), 1947 array( 'lhs' => 107, 'rhs' => 4 ), 1918 1948 array( 'lhs' => 102, 'rhs' => 1 ), 1919 1949 array( 'lhs' => 102, 'rhs' => 1 ), 1920 1950 array( 'lhs' => 102, 'rhs' => 1 ), 1921 array( 'lhs' => 100, 'rhs' => 3 ), 1922 array( 'lhs' => 117, 'rhs' => 1 ), 1923 array( 'lhs' => 117, 'rhs' => 3 ), 1924 array( 'lhs' => 117, 'rhs' => 0 ), 1951 array( 'lhs' => 102, 'rhs' => 1 ), 1952 array( 'lhs' => 102, 'rhs' => 1 ), 1953 array( 'lhs' => 102, 'rhs' => 1 ), 1954 array( 'lhs' => 102, 'rhs' => 1 ), 1955 array( 'lhs' => 102, 'rhs' => 1 ), 1956 array( 'lhs' => 102, 'rhs' => 1 ), 1957 array( 'lhs' => 103, 'rhs' => 1 ), 1958 array( 'lhs' => 103, 'rhs' => 1 ), 1959 array( 'lhs' => 103, 'rhs' => 1 ), 1960 array( 'lhs' => 101, 'rhs' => 3 ), 1961 array( 'lhs' => 118, 'rhs' => 1 ), 1925 1962 array( 'lhs' => 118, 'rhs' => 3 ), 1926 array( 'lhs' => 118, 'rhs' => 3 ), 1927 array( 'lhs' => 118, 'rhs' => 1 ), 1928 array( 'lhs' => 105, 'rhs' => 2 ), 1929 array( 'lhs' => 105, 'rhs' => 3 ), 1930 array( 'lhs' => 119, 'rhs' => 2 ), 1963 array( 'lhs' => 118, 'rhs' => 0 ), 1964 array( 'lhs' => 119, 'rhs' => 3 ), 1965 array( 'lhs' => 119, 'rhs' => 3 ), 1931 1966 array( 'lhs' => 119, 'rhs' => 1 ), 1932 array( 'lhs' => 120, 'rhs' => 3 ), 1933 array( 'lhs' => 120, 'rhs' => 3 ), 1967 array( 'lhs' => 106, 'rhs' => 2 ), 1968 array( 'lhs' => 106, 'rhs' => 3 ), 1969 array( 'lhs' => 120, 'rhs' => 2 ), 1934 1970 array( 'lhs' => 120, 'rhs' => 1 ), 1935 array( 'lhs' => 120, 'rhs' => 3 ), 1936 array( 'lhs' => 120, 'rhs' => 3 ), 1937 array( 'lhs' => 120, 'rhs' => 1 ), 1938 array( 'lhs' => 120, 'rhs' => 1 ), 1939 array( 'lhs' => 94, 'rhs' => 1 ), 1940 array( 'lhs' => 94, 'rhs' => 0 ), 1971 array( 'lhs' => 121, 'rhs' => 3 ), 1972 array( 'lhs' => 121, 'rhs' => 3 ), 1973 array( 'lhs' => 121, 'rhs' => 1 ), 1974 array( 'lhs' => 121, 'rhs' => 3 ), 1975 array( 'lhs' => 121, 'rhs' => 3 ), 1976 array( 'lhs' => 121, 'rhs' => 1 ), 1977 array( 'lhs' => 121, 'rhs' => 1 ), 1978 array( 'lhs' => 95, 'rhs' => 1 ), 1979 array( 'lhs' => 95, 'rhs' => 0 ), 1941 1980 ); 1942 1981 … … 1957 1996 14 => 14, 1958 1997 15 => 15, 1959 18 => 15,1960 200 => 15,1961 1998 16 => 16, 1962 75 => 16, 1999 19 => 16, 2000 201 => 16, 1963 2001 17 => 17, 1964 103 => 17, 1965 105 => 17, 1966 106 => 17, 1967 127 => 17, 1968 165 => 17, 1969 19 => 19, 1970 20 => 19, 1971 46 => 19, 1972 68 => 19, 1973 69 => 19, 1974 76 => 19, 1975 77 => 19, 1976 82 => 19, 1977 102 => 19, 1978 107 => 19, 1979 108 => 19, 1980 113 => 19, 1981 115 => 19, 1982 116 => 19, 1983 123 => 19, 1984 138 => 19, 1985 164 => 19, 1986 166 => 19, 1987 182 => 19, 1988 187 => 19, 1989 199 => 19, 1990 21 => 21, 1991 22 => 21, 1992 23 => 23, 2002 76 => 17, 2003 18 => 18, 2004 104 => 18, 2005 106 => 18, 2006 107 => 18, 2007 128 => 18, 2008 166 => 18, 2009 20 => 20, 2010 21 => 20, 2011 47 => 20, 2012 69 => 20, 2013 70 => 20, 2014 77 => 20, 2015 78 => 20, 2016 83 => 20, 2017 103 => 20, 2018 108 => 20, 2019 109 => 20, 2020 114 => 20, 2021 116 => 20, 2022 117 => 20, 2023 124 => 20, 2024 139 => 20, 2025 165 => 20, 2026 167 => 20, 2027 183 => 20, 2028 188 => 20, 2029 200 => 20, 2030 22 => 22, 2031 23 => 22, 1993 2032 24 => 24, 1994 2033 25 => 25, … … 1996 2035 27 => 27, 1997 2036 28 => 28, 1998 30 => 28,1999 2037 29 => 29, 2000 31 => 31, 2001 32 => 31, 2002 33 => 33, 2038 31 => 29, 2039 30 => 30, 2040 32 => 32, 2041 33 => 32, 2003 2042 34 => 34, 2004 2043 35 => 35, … … 2009 2048 40 => 40, 2010 2049 41 => 41, 2011 43 => 41,2012 2050 42 => 42, 2013 44 => 44, 2051 44 => 42, 2052 43 => 43, 2014 2053 45 => 45, 2015 4 7 => 47,2054 46 => 46, 2016 2055 48 => 48, 2017 2056 49 => 49, … … 2029 2068 61 => 61, 2030 2069 62 => 62, 2031 71 => 62,2032 154 => 62,2033 158 => 62,2034 162 => 62,2035 163 => 62,2036 2070 63 => 63, 2071 72 => 63, 2037 2072 155 => 63, 2038 161 => 63, 2073 159 => 63, 2074 163 => 63, 2075 164 => 63, 2039 2076 64 => 64, 2077 156 => 64, 2078 162 => 64, 2040 2079 65 => 65, 2041 66 => 6 5,2042 70 => 65,2043 67 => 67,2044 72 => 72,2080 66 => 66, 2081 67 => 66, 2082 71 => 66, 2083 68 => 68, 2045 2084 73 => 73, 2046 74 => 7 3,2047 7 8 => 78,2085 74 => 74, 2086 75 => 74, 2048 2087 79 => 79, 2049 80 => 79, 2050 81 => 79, 2051 83 => 83, 2052 120 => 83, 2088 80 => 80, 2089 81 => 80, 2090 82 => 80, 2053 2091 84 => 84, 2054 87 => 84, 2055 98 => 84, 2092 121 => 84, 2056 2093 85 => 85, 2094 88 => 85, 2095 99 => 85, 2057 2096 86 => 86, 2058 8 8 => 88,2097 87 => 87, 2059 2098 89 => 89, 2060 2099 90 => 90, 2061 95 => 90,2062 2100 91 => 91, 2063 9 4=> 91,2101 96 => 91, 2064 2102 92 => 92, 2065 9 7=> 92,2103 95 => 92, 2066 2104 93 => 93, 2067 96 => 93, 2068 99 => 99, 2105 98 => 93, 2106 94 => 94, 2107 97 => 94, 2069 2108 100 => 100, 2070 2109 101 => 101, 2071 10 4 => 104,2072 10 9 => 109,2110 102 => 102, 2111 105 => 105, 2073 2112 110 => 110, 2074 2113 111 => 111, 2075 2114 112 => 112, 2076 11 4 => 114,2077 11 7 => 117,2115 113 => 113, 2116 115 => 115, 2078 2117 118 => 118, 2079 2118 119 => 119, 2080 12 1 => 121,2119 120 => 120, 2081 2120 122 => 122, 2082 12 4 => 124,2121 123 => 123, 2083 2122 125 => 125, 2084 2123 126 => 126, 2085 128 => 128, 2086 184 => 128, 2124 127 => 127, 2087 2125 129 => 129, 2126 185 => 129, 2088 2127 130 => 130, 2089 2128 131 => 131, 2090 2129 132 => 132, 2091 2130 133 => 133, 2092 136 => 133,2093 2131 134 => 134, 2132 137 => 134, 2094 2133 135 => 135, 2095 13 7 => 137,2096 13 9 => 139,2134 136 => 136, 2135 138 => 138, 2097 2136 140 => 140, 2098 2137 141 => 141, … … 2109 2148 152 => 152, 2110 2149 153 => 153, 2111 15 6 => 156,2150 154 => 154, 2112 2151 157 => 157, 2113 15 9 => 159,2152 158 => 158, 2114 2153 160 => 160, 2115 16 7 => 167,2154 161 => 161, 2116 2155 168 => 168, 2117 2156 169 => 169, … … 2128 2167 180 => 180, 2129 2168 181 => 181, 2130 18 3 => 183,2131 18 5 => 185,2169 182 => 182, 2170 184 => 184, 2132 2171 186 => 186, 2133 18 8 => 188,2172 187 => 187, 2134 2173 189 => 189, 2135 2174 190 => 190, 2136 2175 191 => 191, 2137 2176 192 => 192, 2138 193 => 19 2,2139 19 5 => 192,2140 19 4 => 194,2141 19 6 => 196,2177 193 => 193, 2178 194 => 193, 2179 196 => 193, 2180 195 => 195, 2142 2181 197 => 197, 2143 2182 198 => 198, 2183 199 => 199, 2144 2184 ); 2145 #line 9 4"smarty_internal_templateparser.y"2185 #line 95 "smarty_internal_templateparser.y" 2146 2186 function yy_r0(){ 2147 2187 $this->_retvalue = $this->root_buffer->to_smarty_php(); 2148 2188 } 2149 #line 21 45 "smarty_internal_templateparser.php"2150 #line 10 2"smarty_internal_templateparser.y"2189 #line 2185 "smarty_internal_templateparser.php" 2190 #line 103 "smarty_internal_templateparser.y" 2151 2191 function yy_r1(){ 2152 2192 $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor); 2153 2193 } 2154 #line 21 50 "smarty_internal_templateparser.php"2155 #line 11 8"smarty_internal_templateparser.y"2194 #line 2190 "smarty_internal_templateparser.php" 2195 #line 119 "smarty_internal_templateparser.y" 2156 2196 function yy_r4(){ 2157 2197 if ($this->compiler->has_code) { … … 2164 2204 $this->block_nesting_level = count($this->compiler->_tag_stack); 2165 2205 } 2166 #line 2 162 "smarty_internal_templateparser.php"2167 #line 13 0"smarty_internal_templateparser.y"2206 #line 2202 "smarty_internal_templateparser.php" 2207 #line 131 "smarty_internal_templateparser.y" 2168 2208 function yy_r5(){ 2169 2209 $this->_retvalue = new _smarty_tag($this, ''); 2170 2210 } 2171 #line 2 167 "smarty_internal_templateparser.php"2172 #line 13 5"smarty_internal_templateparser.y"2211 #line 2207 "smarty_internal_templateparser.php" 2212 #line 136 "smarty_internal_templateparser.y" 2173 2213 function yy_r6(){ 2174 2214 $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); 2175 2215 } 2176 #line 2 172 "smarty_internal_templateparser.php"2177 #line 14 0"smarty_internal_templateparser.y"2216 #line 2212 "smarty_internal_templateparser.php" 2217 #line 141 "smarty_internal_templateparser.y" 2178 2218 function yy_r7(){ 2179 2219 if ($this->php_handling == Smarty::PHP_PASSTHRU) { … … 2190 2230 } 2191 2231 } 2192 #line 2 188 "smarty_internal_templateparser.php"2193 #line 15 6"smarty_internal_templateparser.y"2232 #line 2228 "smarty_internal_templateparser.php" 2233 #line 157 "smarty_internal_templateparser.y" 2194 2234 function yy_r8(){ 2195 2235 if ($this->is_xml) { … … 2209 2249 } 2210 2250 } 2211 #line 22 07 "smarty_internal_templateparser.php"2212 #line 17 5"smarty_internal_templateparser.y"2251 #line 2247 "smarty_internal_templateparser.php" 2252 #line 176 "smarty_internal_templateparser.y" 2213 2253 function yy_r9(){ 2214 2254 if ($this->php_handling == Smarty::PHP_PASSTHRU) { … … 2233 2273 } 2234 2274 } 2235 #line 22 31 "smarty_internal_templateparser.php"2236 #line 199"smarty_internal_templateparser.y"2275 #line 2271 "smarty_internal_templateparser.php" 2276 #line 200 "smarty_internal_templateparser.y" 2237 2277 function yy_r10(){ 2238 2278 if ($this->php_handling == Smarty::PHP_PASSTHRU) { … … 2254 2294 } 2255 2295 } 2256 #line 22 52 "smarty_internal_templateparser.php"2257 #line 2 19"smarty_internal_templateparser.y"2296 #line 2292 "smarty_internal_templateparser.php" 2297 #line 220 "smarty_internal_templateparser.y" 2258 2298 function yy_r11(){ 2259 if ($this-> lex->strip) {2260 $this->_retvalue = new _smarty_text($this, preg_replace('![\ $this->yystack[$this->yyidx + 0]->minor ]*[\r\n]+[\$this->yystack[$this->yyidx + 0]->minor]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)));2299 if ($this->strip) { 2300 $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor))); 2261 2301 } else { 2262 $this->_retvalue = new _smarty_text($this, self::escape_start_tag( $this->yystack[$this->yyidx + 0]->minor));2263 } 2264 } 2265 #line 2 261 "smarty_internal_templateparser.php"2266 #line 22 8"smarty_internal_templateparser.y"2302 $this->_retvalue = new _smarty_text($this, self::escape_start_tag(ö)); 2303 } 2304 } 2305 #line 2301 "smarty_internal_templateparser.php" 2306 #line 229 "smarty_internal_templateparser.y" 2267 2307 function yy_r12(){ 2268 2308 $this->compiler->tag_nocache = true; … … 2272 2312 $this->template->has_nocache_code = $save; 2273 2313 } 2274 #line 2 270 "smarty_internal_templateparser.php"2275 #line 23 7"smarty_internal_templateparser.y"2314 #line 2310 "smarty_internal_templateparser.php" 2315 #line 238 "smarty_internal_templateparser.y" 2276 2316 function yy_r13(){ 2277 if ($this-> lex->strip) {2317 if ($this->strip) { 2278 2318 $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor)); 2279 2319 } else { … … 2281 2321 } 2282 2322 } 2283 #line 2 279 "smarty_internal_templateparser.php"2284 #line 24 5"smarty_internal_templateparser.y"2323 #line 2319 "smarty_internal_templateparser.php" 2324 #line 247 "smarty_internal_templateparser.y" 2285 2325 function yy_r14(){ 2286 $this->_retvalue = new _smarty_linebreak($this, $this->yystack[$this->yyidx + 0]->minor); 2287 } 2288 #line 2284 "smarty_internal_templateparser.php" 2289 #line 250 "smarty_internal_templateparser.y" 2326 $this->strip = true; 2327 $this->_retvalue = new _smarty_text($this, ''); 2328 } 2329 #line 2325 "smarty_internal_templateparser.php" 2330 #line 252 "smarty_internal_templateparser.y" 2290 2331 function yy_r15(){ 2332 $this->strip = false; 2333 $this->_retvalue = new _smarty_text($this, ''); 2334 } 2335 #line 2331 "smarty_internal_templateparser.php" 2336 #line 258 "smarty_internal_templateparser.y" 2337 function yy_r16(){ 2291 2338 $this->_retvalue = ''; 2292 2339 } 2293 #line 2 289"smarty_internal_templateparser.php"2294 #line 2 54"smarty_internal_templateparser.y"2295 function yy_r1 6(){2340 #line 2336 "smarty_internal_templateparser.php" 2341 #line 262 "smarty_internal_templateparser.y" 2342 function yy_r17(){ 2296 2343 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; 2297 2344 } 2298 #line 2 294"smarty_internal_templateparser.php"2299 #line 2 58"smarty_internal_templateparser.y"2300 function yy_r1 7(){2345 #line 2341 "smarty_internal_templateparser.php" 2346 #line 266 "smarty_internal_templateparser.y" 2347 function yy_r18(){ 2301 2348 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; 2302 2349 } 2303 #line 2 299"smarty_internal_templateparser.php"2304 #line 2 66"smarty_internal_templateparser.y"2305 function yy_r 19(){2350 #line 2346 "smarty_internal_templateparser.php" 2351 #line 274 "smarty_internal_templateparser.y" 2352 function yy_r20(){ 2306 2353 $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; 2307 2354 } 2308 #line 23 04"smarty_internal_templateparser.php"2309 #line 2 74"smarty_internal_templateparser.y"2310 function yy_r2 1(){2355 #line 2351 "smarty_internal_templateparser.php" 2356 #line 282 "smarty_internal_templateparser.y" 2357 function yy_r22(){ 2311 2358 $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor); 2312 2359 } 2313 #line 23 09"smarty_internal_templateparser.php"2314 #line 2 82"smarty_internal_templateparser.y"2315 function yy_r2 3(){2360 #line 2356 "smarty_internal_templateparser.php" 2361 #line 290 "smarty_internal_templateparser.y" 2362 function yy_r24(){ 2316 2363 $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor); 2317 2364 } 2318 #line 23 14"smarty_internal_templateparser.php"2319 #line 2 86"smarty_internal_templateparser.y"2320 function yy_r2 4(){2365 #line 2361 "smarty_internal_templateparser.php" 2366 #line 294 "smarty_internal_templateparser.y" 2367 function yy_r25(){ 2321 2368 $this->_retvalue = '<<?php ?>%'; 2322 2369 } 2323 #line 23 19"smarty_internal_templateparser.php"2324 #line 29 0"smarty_internal_templateparser.y"2325 function yy_r2 5(){2370 #line 2366 "smarty_internal_templateparser.php" 2371 #line 298 "smarty_internal_templateparser.y" 2372 function yy_r26(){ 2326 2373 $this->_retvalue = '%<?php ?>>'; 2327 2374 } 2328 #line 23 24"smarty_internal_templateparser.php"2329 #line 30 0"smarty_internal_templateparser.y"2330 function yy_r2 6(){2375 #line 2371 "smarty_internal_templateparser.php" 2376 #line 307 "smarty_internal_templateparser.y" 2377 function yy_r27(){ 2331 2378 $this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor)); 2332 2379 } 2333 #line 23 29"smarty_internal_templateparser.php"2334 #line 3 04"smarty_internal_templateparser.y"2335 function yy_r2 7(){2380 #line 2376 "smarty_internal_templateparser.php" 2381 #line 311 "smarty_internal_templateparser.y" 2382 function yy_r28(){ 2336 2383 $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor, 'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor)); 2337 2384 } 2338 #line 23 34"smarty_internal_templateparser.php"2339 #line 3 08"smarty_internal_templateparser.y"2340 function yy_r2 8(){2385 #line 2381 "smarty_internal_templateparser.php" 2386 #line 315 "smarty_internal_templateparser.y" 2387 function yy_r29(){ 2341 2388 $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor)); 2342 2389 } 2343 #line 23 39"smarty_internal_templateparser.php"2344 #line 31 2"smarty_internal_templateparser.y"2345 function yy_r 29(){2390 #line 2386 "smarty_internal_templateparser.php" 2391 #line 319 "smarty_internal_templateparser.y" 2392 function yy_r30(){ 2346 2393 $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor,'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor)); 2347 2394 } 2348 #line 23 44"smarty_internal_templateparser.php"2349 #line 3 25"smarty_internal_templateparser.y"2350 function yy_r3 1(){2395 #line 2391 "smarty_internal_templateparser.php" 2396 #line 332 "smarty_internal_templateparser.y" 2397 function yy_r32(){ 2351 2398 $this->_retvalue = $this->compiler->compileTag('assign',array(array('value'=>$this->yystack[$this->yyidx + -1]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'"))); 2352 2399 } 2353 #line 23 49"smarty_internal_templateparser.php"2354 #line 3 33"smarty_internal_templateparser.y"2355 function yy_r3 3(){2400 #line 2396 "smarty_internal_templateparser.php" 2401 #line 340 "smarty_internal_templateparser.y" 2402 function yy_r34(){ 2356 2403 $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'")),$this->yystack[$this->yyidx + -1]->minor)); 2357 2404 } 2358 #line 2 354"smarty_internal_templateparser.php"2359 #line 3 37"smarty_internal_templateparser.y"2360 function yy_r3 4(){2405 #line 2401 "smarty_internal_templateparser.php" 2406 #line 344 "smarty_internal_templateparser.y" 2407 function yy_r35(){ 2361 2408 $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>$this->yystack[$this->yyidx + -4]->minor['var'])),$this->yystack[$this->yyidx + -1]->minor),array('smarty_internal_index'=>$this->yystack[$this->yyidx + -4]->minor['smarty_internal_index'])); 2362 2409 } 2363 #line 2 359"smarty_internal_templateparser.php"2364 #line 34 2"smarty_internal_templateparser.y"2365 function yy_r3 5(){2410 #line 2406 "smarty_internal_templateparser.php" 2411 #line 349 "smarty_internal_templateparser.y" 2412 function yy_r36(){ 2366 2413 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); 2367 2414 } 2368 #line 2 364"smarty_internal_templateparser.php"2369 #line 3 46"smarty_internal_templateparser.y"2370 function yy_r3 6(){2415 #line 2411 "smarty_internal_templateparser.php" 2416 #line 353 "smarty_internal_templateparser.y" 2417 function yy_r37(){ 2371 2418 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array()); 2372 2419 } 2373 #line 2 369"smarty_internal_templateparser.php"2374 #line 35 1"smarty_internal_templateparser.y"2375 function yy_r3 7(){2420 #line 2416 "smarty_internal_templateparser.php" 2421 #line 358 "smarty_internal_templateparser.y" 2422 function yy_r38(){ 2376 2423 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor)); 2377 2424 } 2378 #line 2 374"smarty_internal_templateparser.php"2379 #line 3 56"smarty_internal_templateparser.y"2380 function yy_r3 8(){2425 #line 2421 "smarty_internal_templateparser.php" 2426 #line 363 "smarty_internal_templateparser.y" 2427 function yy_r39(){ 2381 2428 $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo '; 2382 2429 $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>'; 2383 2430 } 2384 #line 2 380"smarty_internal_templateparser.php"2385 #line 36 2"smarty_internal_templateparser.y"2386 function yy_r 39(){2431 #line 2427 "smarty_internal_templateparser.php" 2432 #line 369 "smarty_internal_templateparser.y" 2433 function yy_r40(){ 2387 2434 $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'<?php echo '; 2388 2435 $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>'; 2389 2436 } 2390 #line 2 386"smarty_internal_templateparser.php"2391 #line 3 68"smarty_internal_templateparser.y"2392 function yy_r4 0(){2437 #line 2433 "smarty_internal_templateparser.php" 2438 #line 375 "smarty_internal_templateparser.y" 2439 function yy_r41(){ 2393 2440 $tag = trim(substr($this->yystack[$this->yyidx + -2]->minor,$this->lex->ldel_length)); 2394 2441 $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); 2395 2442 } 2396 #line 2 392"smarty_internal_templateparser.php"2397 #line 3 73"smarty_internal_templateparser.y"2398 function yy_r4 1(){2443 #line 2439 "smarty_internal_templateparser.php" 2444 #line 380 "smarty_internal_templateparser.y" 2445 function yy_r42(){ 2399 2446 $tag = trim(substr($this->yystack[$this->yyidx + -3]->minor,$this->lex->ldel_length)); 2400 2447 $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,$this->yystack[$this->yyidx + -1]->minor,array('if condition'=>$this->yystack[$this->yyidx + -2]->minor)); 2401 2448 } 2402 #line 2 398"smarty_internal_templateparser.php"2403 #line 3 78"smarty_internal_templateparser.y"2404 function yy_r4 2(){2449 #line 2445 "smarty_internal_templateparser.php" 2450 #line 385 "smarty_internal_templateparser.y" 2451 function yy_r43(){ 2405 2452 $tag = trim(substr($this->yystack[$this->yyidx + -2]->minor,$this->lex->ldel_length)); 2406 2453 $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); 2407 2454 } 2408 #line 24 04"smarty_internal_templateparser.php"2409 #line 3 89"smarty_internal_templateparser.y"2410 function yy_r4 4(){2455 #line 2451 "smarty_internal_templateparser.php" 2456 #line 396 "smarty_internal_templateparser.y" 2457 function yy_r45(){ 2411 2458 $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -10]->minor),array('ifexp'=>$this->yystack[$this->yyidx + -7]->minor),array('var'=>$this->yystack[$this->yyidx + -3]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),1); 2412 2459 } 2413 #line 24 09"smarty_internal_templateparser.php"2414 #line 393"smarty_internal_templateparser.y"2415 function yy_r4 5(){2460 #line 2456 "smarty_internal_templateparser.php" 2461 #line 400 "smarty_internal_templateparser.y" 2462 function yy_r46(){ 2416 2463 $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; 2417 2464 } 2418 #line 24 14"smarty_internal_templateparser.php"2419 #line 40 1"smarty_internal_templateparser.y"2420 function yy_r4 7(){2465 #line 2461 "smarty_internal_templateparser.php" 2466 #line 408 "smarty_internal_templateparser.y" 2467 function yy_r48(){ 2421 2468 $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -4]->minor),array('to'=>$this->yystack[$this->yyidx + -2]->minor))),0); 2422 2469 } 2423 #line 24 19"smarty_internal_templateparser.php"2424 #line 4 05"smarty_internal_templateparser.y"2425 function yy_r4 8(){2470 #line 2466 "smarty_internal_templateparser.php" 2471 #line 412 "smarty_internal_templateparser.y" 2472 function yy_r49(){ 2426 2473 $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -6]->minor),array('to'=>$this->yystack[$this->yyidx + -4]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),0); 2427 2474 } 2428 #line 24 24"smarty_internal_templateparser.php"2429 #line 41 0"smarty_internal_templateparser.y"2430 function yy_r 49(){2475 #line 2471 "smarty_internal_templateparser.php" 2476 #line 417 "smarty_internal_templateparser.y" 2477 function yy_r50(){ 2431 2478 $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor); 2432 2479 } 2433 #line 24 29"smarty_internal_templateparser.php"2434 #line 4 15"smarty_internal_templateparser.y"2435 function yy_r5 0(){2480 #line 2476 "smarty_internal_templateparser.php" 2481 #line 422 "smarty_internal_templateparser.y" 2482 function yy_r51(){ 2436 2483 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor)))); 2437 2484 } 2438 #line 24 34"smarty_internal_templateparser.php"2439 #line 4 19"smarty_internal_templateparser.y"2440 function yy_r5 1(){2485 #line 2481 "smarty_internal_templateparser.php" 2486 #line 426 "smarty_internal_templateparser.y" 2487 function yy_r52(){ 2441 2488 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor)))); 2442 2489 } 2443 #line 24 39"smarty_internal_templateparser.php"2444 #line 4 23"smarty_internal_templateparser.y"2445 function yy_r5 2(){2490 #line 2486 "smarty_internal_templateparser.php" 2491 #line 430 "smarty_internal_templateparser.y" 2492 function yy_r53(){ 2446 2493 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor)))); 2447 2494 } 2448 #line 24 44"smarty_internal_templateparser.php"2449 #line 4 27"smarty_internal_templateparser.y"2450 function yy_r5 3(){2495 #line 2491 "smarty_internal_templateparser.php" 2496 #line 434 "smarty_internal_templateparser.y" 2497 function yy_r54(){ 2451 2498 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor)))); 2452 2499 } 2453 #line 24 49"smarty_internal_templateparser.php"2454 #line 43 2"smarty_internal_templateparser.y"2455 function yy_r5 4(){2500 #line 2496 "smarty_internal_templateparser.php" 2501 #line 439 "smarty_internal_templateparser.y" 2502 function yy_r55(){ 2456 2503 $this->_retvalue = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array(array_merge(array($this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)))); 2457 2504 } 2458 #line 2 454"smarty_internal_templateparser.php"2459 #line 4 36"smarty_internal_templateparser.y"2460 function yy_r5 5(){2505 #line 2501 "smarty_internal_templateparser.php" 2506 #line 443 "smarty_internal_templateparser.y" 2507 function yy_r56(){ 2461 2508 $this->_retvalue = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array_merge(array(array_merge(array($this->yystack[$this->yyidx + -3]->minor),$this->yystack[$this->yyidx + -2]->minor)),$this->yystack[$this->yyidx + -1]->minor))); 2462 2509 } 2463 #line 2 459"smarty_internal_templateparser.php"2464 #line 44 1"smarty_internal_templateparser.y"2465 function yy_r5 6(){2510 #line 2506 "smarty_internal_templateparser.php" 2511 #line 448 "smarty_internal_templateparser.y" 2512 function yy_r57(){ 2466 2513 $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler); 2467 2514 } 2468 #line 2 464"smarty_internal_templateparser.php"2469 #line 4 47"smarty_internal_templateparser.y"2470 function yy_r5 7(){2515 #line 2511 "smarty_internal_templateparser.php" 2516 #line 454 "smarty_internal_templateparser.y" 2517 function yy_r58(){ 2471 2518 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array()); 2472 2519 } 2473 #line 2 469"smarty_internal_templateparser.php"2474 #line 45 1"smarty_internal_templateparser.y"2475 function yy_r5 8(){2520 #line 2516 "smarty_internal_templateparser.php" 2521 #line 458 "smarty_internal_templateparser.y" 2522 function yy_r59(){ 2476 2523 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor)); 2477 2524 } 2478 #line 2 474"smarty_internal_templateparser.php"2479 #line 4 56"smarty_internal_templateparser.y"2480 function yy_r 59(){2525 #line 2521 "smarty_internal_templateparser.php" 2526 #line 463 "smarty_internal_templateparser.y" 2527 function yy_r60(){ 2481 2528 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); 2482 2529 } 2483 #line 2 479"smarty_internal_templateparser.php"2484 #line 46 0"smarty_internal_templateparser.y"2485 function yy_r6 0(){2530 #line 2526 "smarty_internal_templateparser.php" 2531 #line 467 "smarty_internal_templateparser.y" 2532 function yy_r61(){ 2486 2533 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor, 'modifier_list'=>$this->yystack[$this->yyidx + -1]->minor)); 2487 2534 } 2488 #line 2 484"smarty_internal_templateparser.php"2489 #line 4 68"smarty_internal_templateparser.y"2490 function yy_r6 1(){2535 #line 2531 "smarty_internal_templateparser.php" 2536 #line 475 "smarty_internal_templateparser.y" 2537 function yy_r62(){ 2491 2538 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; 2492 2539 $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor; 2493 2540 } 2494 #line 2 490"smarty_internal_templateparser.php"2495 #line 4 74"smarty_internal_templateparser.y"2496 function yy_r6 2(){2541 #line 2537 "smarty_internal_templateparser.php" 2542 #line 481 "smarty_internal_templateparser.y" 2543 function yy_r63(){ 2497 2544 $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); 2498 2545 } 2499 #line 2 495"smarty_internal_templateparser.php"2500 #line 4 79"smarty_internal_templateparser.y"2501 function yy_r6 3(){2546 #line 2542 "smarty_internal_templateparser.php" 2547 #line 486 "smarty_internal_templateparser.y" 2548 function yy_r64(){ 2502 2549 $this->_retvalue = array(); 2503 2550 } 2504 #line 25 00"smarty_internal_templateparser.php"2505 #line 4 84"smarty_internal_templateparser.y"2506 function yy_r6 4(){2551 #line 2547 "smarty_internal_templateparser.php" 2552 #line 491 "smarty_internal_templateparser.y" 2553 function yy_r65(){ 2507 2554 if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { 2508 2555 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true'); … … 2515 2562 } 2516 2563 } 2517 #line 25 13"smarty_internal_templateparser.php"2518 #line 496"smarty_internal_templateparser.y"2519 function yy_r6 5(){2564 #line 2560 "smarty_internal_templateparser.php" 2565 #line 503 "smarty_internal_templateparser.y" 2566 function yy_r66(){ 2520 2567 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); 2521 2568 } 2522 #line 25 18"smarty_internal_templateparser.php"2523 #line 5 04"smarty_internal_templateparser.y"2524 function yy_r6 7(){2569 #line 2565 "smarty_internal_templateparser.php" 2570 #line 511 "smarty_internal_templateparser.y" 2571 function yy_r68(){ 2525 2572 $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; 2526 2573 } 2527 #line 25 23"smarty_internal_templateparser.php"2528 #line 5 29"smarty_internal_templateparser.y"2529 function yy_r7 2(){2574 #line 2570 "smarty_internal_templateparser.php" 2575 #line 536 "smarty_internal_templateparser.y" 2576 function yy_r73(){ 2530 2577 $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; 2531 2578 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; 2532 2579 } 2533 #line 25 29"smarty_internal_templateparser.php"2534 #line 5 34"smarty_internal_templateparser.y"2535 function yy_r7 3(){2580 #line 2576 "smarty_internal_templateparser.php" 2581 #line 541 "smarty_internal_templateparser.y" 2582 function yy_r74(){ 2536 2583 $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); 2537 2584 } 2538 #line 25 34"smarty_internal_templateparser.php"2539 #line 56 2"smarty_internal_templateparser.y"2540 function yy_r7 8(){2585 #line 2581 "smarty_internal_templateparser.php" 2586 #line 569 "smarty_internal_templateparser.y" 2587 function yy_r79(){ 2541 2588 $this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; 2542 2589 } 2543 #line 25 39"smarty_internal_templateparser.php"2544 #line 5 67"smarty_internal_templateparser.y"2545 function yy_r 79(){2590 #line 2586 "smarty_internal_templateparser.php" 2591 #line 574 "smarty_internal_templateparser.y" 2592 function yy_r80(){ 2546 2593 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; 2547 2594 } 2548 #line 25 44"smarty_internal_templateparser.php"2549 #line 5 86"smarty_internal_templateparser.y"2550 function yy_r8 3(){2595 #line 2591 "smarty_internal_templateparser.php" 2596 #line 593 "smarty_internal_templateparser.y" 2597 function yy_r84(){ 2551 2598 $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor)); 2552 2599 } 2553 #line 25 49"smarty_internal_templateparser.php"2554 #line 59 2"smarty_internal_templateparser.y"2555 function yy_r8 4(){2600 #line 2596 "smarty_internal_templateparser.php" 2601 #line 599 "smarty_internal_templateparser.y" 2602 function yy_r85(){ 2556 2603 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; 2557 2604 } 2558 #line 2 554"smarty_internal_templateparser.php"2559 #line 596"smarty_internal_templateparser.y"2560 function yy_r8 5(){2605 #line 2601 "smarty_internal_templateparser.php" 2606 #line 603 "smarty_internal_templateparser.y" 2607 function yy_r86(){ 2561 2608 $this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; 2562 2609 } 2563 #line 2 559"smarty_internal_templateparser.php"2564 #line 60 0"smarty_internal_templateparser.y"2565 function yy_r8 6(){2610 #line 2606 "smarty_internal_templateparser.php" 2611 #line 607 "smarty_internal_templateparser.y" 2612 function yy_r87(){ 2566 2613 $this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; 2567 2614 } 2568 #line 2 564"smarty_internal_templateparser.php"2569 #line 6 08"smarty_internal_templateparser.y"2570 function yy_r8 8(){2615 #line 2611 "smarty_internal_templateparser.php" 2616 #line 615 "smarty_internal_templateparser.y" 2617 function yy_r89(){ 2571 2618 $this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; 2572 2619 } 2573 #line 2 569"smarty_internal_templateparser.php"2574 #line 61 2"smarty_internal_templateparser.y"2575 function yy_r 89(){2620 #line 2616 "smarty_internal_templateparser.php" 2621 #line 619 "smarty_internal_templateparser.y" 2622 function yy_r90(){ 2576 2623 $this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; 2577 2624 } 2578 #line 2 574"smarty_internal_templateparser.php"2579 #line 6 16"smarty_internal_templateparser.y"2580 function yy_r9 0(){2625 #line 2621 "smarty_internal_templateparser.php" 2626 #line 623 "smarty_internal_templateparser.y" 2627 function yy_r91(){ 2581 2628 $this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; 2582 2629 } 2583 #line 2 579"smarty_internal_templateparser.php"2584 #line 62 0"smarty_internal_templateparser.y"2585 function yy_r9 1(){2630 #line 2626 "smarty_internal_templateparser.php" 2631 #line 627 "smarty_internal_templateparser.y" 2632 function yy_r92(){ 2586 2633 $this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; 2587 2634 } 2588 #line 2 584"smarty_internal_templateparser.php"2589 #line 6 24"smarty_internal_templateparser.y"2590 function yy_r9 2(){2635 #line 2631 "smarty_internal_templateparser.php" 2636 #line 631 "smarty_internal_templateparser.y" 2637 function yy_r93(){ 2591 2638 $this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; 2592 2639 } 2593 #line 2 589"smarty_internal_templateparser.php"2594 #line 6 28"smarty_internal_templateparser.y"2595 function yy_r9 3(){2640 #line 2636 "smarty_internal_templateparser.php" 2641 #line 635 "smarty_internal_templateparser.y" 2642 function yy_r94(){ 2596 2643 $this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; 2597 2644 } 2598 #line 2 594"smarty_internal_templateparser.php"2599 #line 65 2"smarty_internal_templateparser.y"2600 function yy_r 99(){2645 #line 2641 "smarty_internal_templateparser.php" 2646 #line 659 "smarty_internal_templateparser.y" 2647 function yy_r100(){ 2601 2648 $this->prefix_number++; 2602 2649 $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>'; 2603 2650 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number; 2604 2651 } 2605 #line 26 01"smarty_internal_templateparser.php"2606 #line 66 1"smarty_internal_templateparser.y"2607 function yy_r10 0(){2652 #line 2648 "smarty_internal_templateparser.php" 2653 #line 668 "smarty_internal_templateparser.y" 2654 function yy_r101(){ 2608 2655 $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? '. $this->compileVariable("'".$this->yystack[$this->yyidx + -2]->minor."'") . ' : '.$this->yystack[$this->yyidx + 0]->minor; 2609 2656 } 2610 #line 26 06"smarty_internal_templateparser.php"2611 #line 6 65"smarty_internal_templateparser.y"2612 function yy_r10 1(){2657 #line 2653 "smarty_internal_templateparser.php" 2658 #line 672 "smarty_internal_templateparser.y" 2659 function yy_r102(){ 2613 2660 $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; 2614 2661 } 2615 #line 26 11"smarty_internal_templateparser.php"2616 #line 68 0"smarty_internal_templateparser.y"2617 function yy_r10 4(){2662 #line 2658 "smarty_internal_templateparser.php" 2663 #line 687 "smarty_internal_templateparser.y" 2664 function yy_r105(){ 2618 2665 $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; 2619 2666 } 2620 #line 26 16"smarty_internal_templateparser.php"2621 #line 70 1"smarty_internal_templateparser.y"2622 function yy_r1 09(){2667 #line 2663 "smarty_internal_templateparser.php" 2668 #line 708 "smarty_internal_templateparser.y" 2669 function yy_r110(){ 2623 2670 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; 2624 2671 } 2625 #line 26 21"smarty_internal_templateparser.php"2626 #line 7 05"smarty_internal_templateparser.y"2627 function yy_r11 0(){2672 #line 2668 "smarty_internal_templateparser.php" 2673 #line 712 "smarty_internal_templateparser.y" 2674 function yy_r111(){ 2628 2675 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; 2629 2676 } 2630 #line 26 26"smarty_internal_templateparser.php"2631 #line 7 09"smarty_internal_templateparser.y"2632 function yy_r11 1(){2677 #line 2673 "smarty_internal_templateparser.php" 2678 #line 716 "smarty_internal_templateparser.y" 2679 function yy_r112(){ 2633 2680 $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; 2634 2681 } 2635 #line 26 31"smarty_internal_templateparser.php"2636 #line 7 14"smarty_internal_templateparser.y"2637 function yy_r11 2(){2682 #line 2678 "smarty_internal_templateparser.php" 2683 #line 721 "smarty_internal_templateparser.y" 2684 function yy_r113(){ 2638 2685 if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { 2639 2686 $this->_retvalue = 'true'; … … 2646 2693 } 2647 2694 } 2648 #line 26 44"smarty_internal_templateparser.php"2649 #line 73 2"smarty_internal_templateparser.y"2650 function yy_r11 4(){2695 #line 2691 "smarty_internal_templateparser.php" 2696 #line 739 "smarty_internal_templateparser.y" 2697 function yy_r115(){ 2651 2698 $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; 2652 2699 } 2653 #line 26 49"smarty_internal_templateparser.php"2654 #line 7 47"smarty_internal_templateparser.y"2655 function yy_r11 7(){2700 #line 2696 "smarty_internal_templateparser.php" 2701 #line 754 "smarty_internal_templateparser.y" 2702 function yy_r118(){ 2656 2703 if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->minor, $this->compiler)) { 2657 2704 if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) { … … 2664 2711 } 2665 2712 } 2666 #line 2 662"smarty_internal_templateparser.php"2667 #line 7 59"smarty_internal_templateparser.y"2668 function yy_r11 8(){2713 #line 2709 "smarty_internal_templateparser.php" 2714 #line 766 "smarty_internal_templateparser.y" 2715 function yy_r119(){ 2669 2716 if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') { 2670 2717 $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor; … … 2673 2720 } 2674 2721 } 2675 #line 2 671"smarty_internal_templateparser.php"2676 #line 7 68"smarty_internal_templateparser.y"2677 function yy_r1 19(){2722 #line 2718 "smarty_internal_templateparser.php" 2723 #line 775 "smarty_internal_templateparser.y" 2724 function yy_r120(){ 2678 2725 $this->prefix_number++; 2679 2726 $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>'; 2680 2727 $this->_retvalue = '$_tmp'.$this->prefix_number; 2681 2728 } 2682 #line 2 678"smarty_internal_templateparser.php"2683 #line 7 83"smarty_internal_templateparser.y"2684 function yy_r12 1(){2729 #line 2725 "smarty_internal_templateparser.php" 2730 #line 790 "smarty_internal_templateparser.y" 2731 function yy_r122(){ 2685 2732 if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { 2686 2733 $smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']); … … 2693 2740 } 2694 2741 } 2695 #line 2 691"smarty_internal_templateparser.php"2696 #line 796"smarty_internal_templateparser.y"2697 function yy_r12 2(){2742 #line 2738 "smarty_internal_templateparser.php" 2743 #line 803 "smarty_internal_templateparser.y" 2744 function yy_r123(){ 2698 2745 $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor; 2699 2746 } 2700 #line 2 696"smarty_internal_templateparser.php"2701 #line 8 06"smarty_internal_templateparser.y"2702 function yy_r12 4(){2747 #line 2743 "smarty_internal_templateparser.php" 2748 #line 813 "smarty_internal_templateparser.y" 2749 function yy_r125(){ 2703 2750 $this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; 2704 2751 } 2705 #line 27 01"smarty_internal_templateparser.php"2706 #line 81 0"smarty_internal_templateparser.y"2707 function yy_r12 5(){2752 #line 2748 "smarty_internal_templateparser.php" 2753 #line 817 "smarty_internal_templateparser.y" 2754 function yy_r126(){ 2708 2755 $this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; 2709 2756 } 2710 #line 27 06"smarty_internal_templateparser.php"2711 #line 8 14"smarty_internal_templateparser.y"2712 function yy_r12 6(){2757 #line 2753 "smarty_internal_templateparser.php" 2758 #line 821 "smarty_internal_templateparser.y" 2759 function yy_r127(){ 2713 2760 $this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); 2714 2761 } 2715 #line 27 11"smarty_internal_templateparser.php"2716 #line 8 27"smarty_internal_templateparser.y"2717 function yy_r12 8(){2762 #line 2758 "smarty_internal_templateparser.php" 2763 #line 834 "smarty_internal_templateparser.y" 2764 function yy_r129(){ 2718 2765 return; 2719 2766 } 2720 #line 27 16"smarty_internal_templateparser.php"2721 #line 8 33"smarty_internal_templateparser.y"2722 function yy_r1 29(){2767 #line 2763 "smarty_internal_templateparser.php" 2768 #line 840 "smarty_internal_templateparser.y" 2769 function yy_r130(){ 2723 2770 $this->_retvalue = '['.$this->compileVariable($this->yystack[$this->yyidx + 0]->minor).']'; 2724 2771 } 2725 #line 27 21"smarty_internal_templateparser.php"2726 #line 8 37"smarty_internal_templateparser.y"2727 function yy_r13 0(){2772 #line 2768 "smarty_internal_templateparser.php" 2773 #line 844 "smarty_internal_templateparser.y" 2774 function yy_r131(){ 2728 2775 $this->_retvalue = '['.$this->compileVariable($this->yystack[$this->yyidx + -2]->minor).'->'.$this->yystack[$this->yyidx + 0]->minor.']'; 2729 2776 } 2730 #line 27 26"smarty_internal_templateparser.php"2731 #line 84 1"smarty_internal_templateparser.y"2732 function yy_r13 1(){2777 #line 2773 "smarty_internal_templateparser.php" 2778 #line 848 "smarty_internal_templateparser.y" 2779 function yy_r132(){ 2733 2780 $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; 2734 2781 } 2735 #line 27 31"smarty_internal_templateparser.php"2736 #line 8 45"smarty_internal_templateparser.y"2737 function yy_r13 2(){2782 #line 2778 "smarty_internal_templateparser.php" 2783 #line 852 "smarty_internal_templateparser.y" 2784 function yy_r133(){ 2738 2785 $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; 2739 2786 } 2740 #line 27 36"smarty_internal_templateparser.php"2741 #line 8 49"smarty_internal_templateparser.y"2742 function yy_r13 3(){2787 #line 2783 "smarty_internal_templateparser.php" 2788 #line 856 "smarty_internal_templateparser.y" 2789 function yy_r134(){ 2743 2790 $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; 2744 2791 } 2745 #line 27 41"smarty_internal_templateparser.php"2746 #line 8 54"smarty_internal_templateparser.y"2747 function yy_r13 4(){2792 #line 2788 "smarty_internal_templateparser.php" 2793 #line 861 "smarty_internal_templateparser.y" 2794 function yy_r135(){ 2748 2795 $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; 2749 2796 } 2750 #line 27 46"smarty_internal_templateparser.php"2751 #line 8 58"smarty_internal_templateparser.y"2752 function yy_r13 5(){2797 #line 2793 "smarty_internal_templateparser.php" 2798 #line 865 "smarty_internal_templateparser.y" 2799 function yy_r136(){ 2753 2800 $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; 2754 2801 } 2755 #line 27 51"smarty_internal_templateparser.php"2756 #line 8 68"smarty_internal_templateparser.y"2757 function yy_r13 7(){2802 #line 2798 "smarty_internal_templateparser.php" 2803 #line 875 "smarty_internal_templateparser.y" 2804 function yy_r138(){ 2758 2805 $this->_retvalue = '[]'; 2759 2806 } 2760 #line 2 756"smarty_internal_templateparser.php"2761 #line 88 1"smarty_internal_templateparser.y"2762 function yy_r1 39(){2807 #line 2803 "smarty_internal_templateparser.php" 2808 #line 888 "smarty_internal_templateparser.y" 2809 function yy_r140(){ 2763 2810 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; 2764 2811 } 2765 #line 2 761"smarty_internal_templateparser.php"2766 #line 8 86"smarty_internal_templateparser.y"2767 function yy_r14 0(){2812 #line 2808 "smarty_internal_templateparser.php" 2813 #line 893 "smarty_internal_templateparser.y" 2814 function yy_r141(){ 2768 2815 $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; 2769 2816 } 2770 #line 2766 "smarty_internal_templateparser.php" 2771 #line 891 "smarty_internal_templateparser.y" 2772 function yy_r141(){ 2773 $this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; 2774 } 2775 #line 2771 "smarty_internal_templateparser.php" 2817 #line 2813 "smarty_internal_templateparser.php" 2776 2818 #line 898 "smarty_internal_templateparser.y" 2777 2819 function yy_r142(){ 2820 $this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; 2821 } 2822 #line 2818 "smarty_internal_templateparser.php" 2823 #line 905 "smarty_internal_templateparser.y" 2824 function yy_r143(){ 2778 2825 if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { 2779 2826 $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor; … … 2782 2829 } 2783 2830 } 2784 #line 2 780"smarty_internal_templateparser.php"2785 #line 9 07"smarty_internal_templateparser.y"2786 function yy_r14 3(){2831 #line 2827 "smarty_internal_templateparser.php" 2832 #line 914 "smarty_internal_templateparser.y" 2833 function yy_r144(){ 2787 2834 $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; 2788 2835 } 2789 #line 2 785"smarty_internal_templateparser.php"2790 #line 91 2"smarty_internal_templateparser.y"2791 function yy_r14 4(){2836 #line 2832 "smarty_internal_templateparser.php" 2837 #line 919 "smarty_internal_templateparser.y" 2838 function yy_r145(){ 2792 2839 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; 2793 2840 } 2794 #line 2 790"smarty_internal_templateparser.php"2795 #line 9 17"smarty_internal_templateparser.y"2796 function yy_r14 5(){2841 #line 2837 "smarty_internal_templateparser.php" 2842 #line 924 "smarty_internal_templateparser.y" 2843 function yy_r146(){ 2797 2844 if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '_') { 2798 2845 $this->compiler->trigger_template_error (self::Err1); … … 2800 2847 $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; 2801 2848 } 2802 #line 2798 "smarty_internal_templateparser.php" 2803 #line 924 "smarty_internal_templateparser.y" 2804 function yy_r146(){ 2805 if ($this->security) { 2806 $this->compiler->trigger_template_error (self::Err2); 2807 } 2808 $this->_retvalue = '->{'.$this->compileVariable($this->yystack[$this->yyidx + -1]->minor).$this->yystack[$this->yyidx + 0]->minor.'}'; 2809 } 2810 #line 2806 "smarty_internal_templateparser.php" 2849 #line 2845 "smarty_internal_templateparser.php" 2811 2850 #line 931 "smarty_internal_templateparser.y" 2812 2851 function yy_r147(){ … … 2814 2853 $this->compiler->trigger_template_error (self::Err2); 2815 2854 } 2816 $this->_retvalue = '->{'.$this-> yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';2817 } 2818 #line 28 14"smarty_internal_templateparser.php"2855 $this->_retvalue = '->{'.$this->compileVariable($this->yystack[$this->yyidx + -1]->minor).$this->yystack[$this->yyidx + 0]->minor.'}'; 2856 } 2857 #line 2853 "smarty_internal_templateparser.php" 2819 2858 #line 938 "smarty_internal_templateparser.y" 2820 2859 function yy_r148(){ … … 2822 2861 $this->compiler->trigger_template_error (self::Err2); 2823 2862 } 2863 $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; 2864 } 2865 #line 2861 "smarty_internal_templateparser.php" 2866 #line 945 "smarty_internal_templateparser.y" 2867 function yy_r149(){ 2868 if ($this->security) { 2869 $this->compiler->trigger_template_error (self::Err2); 2870 } 2824 2871 $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; 2825 2872 } 2826 #line 28 22"smarty_internal_templateparser.php"2827 #line 9 46"smarty_internal_templateparser.y"2828 function yy_r1 49(){2873 #line 2869 "smarty_internal_templateparser.php" 2874 #line 953 "smarty_internal_templateparser.y" 2875 function yy_r150(){ 2829 2876 $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; 2830 2877 } 2831 #line 28 27"smarty_internal_templateparser.php"2832 #line 9 54"smarty_internal_templateparser.y"2833 function yy_r15 0(){2878 #line 2874 "smarty_internal_templateparser.php" 2879 #line 961 "smarty_internal_templateparser.y" 2880 function yy_r151(){ 2834 2881 if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { 2835 2882 if (strcasecmp($this->yystack[$this->yyidx + -3]->minor,'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'array') === 0 || is_callable($this->yystack[$this->yyidx + -3]->minor)) { … … 2865 2912 } 2866 2913 } 2867 #line 2 863"smarty_internal_templateparser.php"2868 #line 99 2"smarty_internal_templateparser.y"2869 function yy_r15 1(){2914 #line 2910 "smarty_internal_templateparser.php" 2915 #line 999 "smarty_internal_templateparser.y" 2916 function yy_r152(){ 2870 2917 if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) == '_') { 2871 2918 $this->compiler->trigger_template_error (self::Err1); … … 2873 2920 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")"; 2874 2921 } 2875 #line 2 871"smarty_internal_templateparser.php"2876 #line 999"smarty_internal_templateparser.y"2877 function yy_r15 2(){2922 #line 2918 "smarty_internal_templateparser.php" 2923 #line 1006 "smarty_internal_templateparser.y" 2924 function yy_r153(){ 2878 2925 if ($this->security) { 2879 2926 $this->compiler->trigger_template_error (self::Err2); … … 2883 2930 $this->_retvalue = '$_tmp'.$this->prefix_number.'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')'; 2884 2931 } 2885 #line 2 881"smarty_internal_templateparser.php"2886 #line 101 0"smarty_internal_templateparser.y"2887 function yy_r15 3(){2932 #line 2928 "smarty_internal_templateparser.php" 2933 #line 1017 "smarty_internal_templateparser.y" 2934 function yy_r154(){ 2888 2935 $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor)); 2889 2936 } 2890 #line 2 886"smarty_internal_templateparser.php"2891 #line 10 27"smarty_internal_templateparser.y"2892 function yy_r15 6(){2937 #line 2933 "smarty_internal_templateparser.php" 2938 #line 1034 "smarty_internal_templateparser.y" 2939 function yy_r157(){ 2893 2940 $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor))); 2894 2941 } 2895 #line 2 891"smarty_internal_templateparser.php"2896 #line 103 1"smarty_internal_templateparser.y"2897 function yy_r15 7(){2942 #line 2938 "smarty_internal_templateparser.php" 2943 #line 1038 "smarty_internal_templateparser.y" 2944 function yy_r158(){ 2898 2945 $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)); 2899 2946 } 2900 #line 2 896"smarty_internal_templateparser.php"2901 #line 10 39"smarty_internal_templateparser.y"2902 function yy_r1 59(){2947 #line 2943 "smarty_internal_templateparser.php" 2948 #line 1046 "smarty_internal_templateparser.y" 2949 function yy_r160(){ 2903 2950 $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); 2904 2951 } 2905 #line 29 01"smarty_internal_templateparser.php"2906 #line 10 47"smarty_internal_templateparser.y"2907 function yy_r16 0(){2952 #line 2948 "smarty_internal_templateparser.php" 2953 #line 1054 "smarty_internal_templateparser.y" 2954 function yy_r161(){ 2908 2955 $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); 2909 2956 } 2910 #line 29 06"smarty_internal_templateparser.php"2911 #line 108 1"smarty_internal_templateparser.y"2912 function yy_r16 7(){2957 #line 2953 "smarty_internal_templateparser.php" 2958 #line 1088 "smarty_internal_templateparser.y" 2959 function yy_r168(){ 2913 2960 $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; 2914 2961 } 2915 #line 29 11"smarty_internal_templateparser.php"2916 #line 10 86"smarty_internal_templateparser.y"2917 function yy_r16 8(){2962 #line 2958 "smarty_internal_templateparser.php" 2963 #line 1093 "smarty_internal_templateparser.y" 2964 function yy_r169(){ 2918 2965 $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; 2919 2966 } 2920 #line 29 16"smarty_internal_templateparser.php"2921 #line 109 2"smarty_internal_templateparser.y"2922 function yy_r1 69(){2967 #line 2963 "smarty_internal_templateparser.php" 2968 #line 1099 "smarty_internal_templateparser.y" 2969 function yy_r170(){ 2923 2970 $this->_retvalue = '=='; 2924 2971 } 2925 #line 29 21"smarty_internal_templateparser.php"2926 #line 1 096"smarty_internal_templateparser.y"2927 function yy_r17 0(){2972 #line 2968 "smarty_internal_templateparser.php" 2973 #line 1103 "smarty_internal_templateparser.y" 2974 function yy_r171(){ 2928 2975 $this->_retvalue = '!='; 2929 2976 } 2930 #line 29 26"smarty_internal_templateparser.php"2931 #line 110 0"smarty_internal_templateparser.y"2932 function yy_r17 1(){2977 #line 2973 "smarty_internal_templateparser.php" 2978 #line 1107 "smarty_internal_templateparser.y" 2979 function yy_r172(){ 2933 2980 $this->_retvalue = '>'; 2934 2981 } 2935 #line 29 31"smarty_internal_templateparser.php"2936 #line 11 04"smarty_internal_templateparser.y"2937 function yy_r17 2(){2982 #line 2978 "smarty_internal_templateparser.php" 2983 #line 1111 "smarty_internal_templateparser.y" 2984 function yy_r173(){ 2938 2985 $this->_retvalue = '<'; 2939 2986 } 2940 #line 29 36"smarty_internal_templateparser.php"2941 #line 11 08"smarty_internal_templateparser.y"2942 function yy_r17 3(){2987 #line 2983 "smarty_internal_templateparser.php" 2988 #line 1115 "smarty_internal_templateparser.y" 2989 function yy_r174(){ 2943 2990 $this->_retvalue = '>='; 2944 2991 } 2945 #line 29 41"smarty_internal_templateparser.php"2946 #line 111 2"smarty_internal_templateparser.y"2947 function yy_r17 4(){2992 #line 2988 "smarty_internal_templateparser.php" 2993 #line 1119 "smarty_internal_templateparser.y" 2994 function yy_r175(){ 2948 2995 $this->_retvalue = '<='; 2949 2996 } 2950 #line 29 46"smarty_internal_templateparser.php"2951 #line 11 16"smarty_internal_templateparser.y"2952 function yy_r17 5(){2997 #line 2993 "smarty_internal_templateparser.php" 2998 #line 1123 "smarty_internal_templateparser.y" 2999 function yy_r176(){ 2953 3000 $this->_retvalue = '==='; 2954 3001 } 2955 #line 29 51"smarty_internal_templateparser.php"2956 #line 112 0"smarty_internal_templateparser.y"2957 function yy_r17 6(){3002 #line 2998 "smarty_internal_templateparser.php" 3003 #line 1127 "smarty_internal_templateparser.y" 3004 function yy_r177(){ 2958 3005 $this->_retvalue = '!=='; 2959 3006 } 2960 #line 2956"smarty_internal_templateparser.php"2961 #line 11 24"smarty_internal_templateparser.y"2962 function yy_r17 7(){3007 #line 3003 "smarty_internal_templateparser.php" 3008 #line 1131 "smarty_internal_templateparser.y" 3009 function yy_r178(){ 2963 3010 $this->_retvalue = '%'; 2964 3011 } 2965 #line 2961"smarty_internal_templateparser.php"2966 #line 11 28"smarty_internal_templateparser.y"2967 function yy_r17 8(){3012 #line 3008 "smarty_internal_templateparser.php" 3013 #line 1135 "smarty_internal_templateparser.y" 3014 function yy_r179(){ 2968 3015 $this->_retvalue = '&&'; 2969 3016 } 2970 #line 2966"smarty_internal_templateparser.php"2971 #line 113 2"smarty_internal_templateparser.y"2972 function yy_r1 79(){3017 #line 3013 "smarty_internal_templateparser.php" 3018 #line 1139 "smarty_internal_templateparser.y" 3019 function yy_r180(){ 2973 3020 $this->_retvalue = '||'; 2974 3021 } 2975 #line 2971 "smarty_internal_templateparser.php" 2976 #line 1136 "smarty_internal_templateparser.y" 2977 function yy_r180(){ 2978 $this->_retvalue = ' XOR '; 2979 } 2980 #line 2976 "smarty_internal_templateparser.php" 3022 #line 3018 "smarty_internal_templateparser.php" 2981 3023 #line 1143 "smarty_internal_templateparser.y" 2982 3024 function yy_r181(){ 3025 $this->_retvalue = ' XOR '; 3026 } 3027 #line 3023 "smarty_internal_templateparser.php" 3028 #line 1150 "smarty_internal_templateparser.y" 3029 function yy_r182(){ 2983 3030 $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; 2984 3031 } 2985 #line 2981"smarty_internal_templateparser.php"2986 #line 115 1"smarty_internal_templateparser.y"2987 function yy_r18 3(){3032 #line 3028 "smarty_internal_templateparser.php" 3033 #line 1158 "smarty_internal_templateparser.y" 3034 function yy_r184(){ 2988 3035 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; 2989 3036 } 2990 #line 2986"smarty_internal_templateparser.php"2991 #line 11 59"smarty_internal_templateparser.y"2992 function yy_r18 5(){3037 #line 3033 "smarty_internal_templateparser.php" 3038 #line 1166 "smarty_internal_templateparser.y" 3039 function yy_r186(){ 2993 3040 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; 2994 3041 } 2995 #line 2991"smarty_internal_templateparser.php"2996 #line 11 63"smarty_internal_templateparser.y"2997 function yy_r18 6(){3042 #line 3038 "smarty_internal_templateparser.php" 3043 #line 1170 "smarty_internal_templateparser.y" 3044 function yy_r187(){ 2998 3045 $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; 2999 3046 } 3000 #line 2996"smarty_internal_templateparser.php"3001 #line 11 75"smarty_internal_templateparser.y"3002 function yy_r18 8(){3047 #line 3043 "smarty_internal_templateparser.php" 3048 #line 1182 "smarty_internal_templateparser.y" 3049 function yy_r189(){ 3003 3050 $this->_retvalue = "''"; 3004 3051 } 3005 #line 30 01"smarty_internal_templateparser.php"3006 #line 11 79"smarty_internal_templateparser.y"3007 function yy_r1 89(){3052 #line 3048 "smarty_internal_templateparser.php" 3053 #line 1186 "smarty_internal_templateparser.y" 3054 function yy_r190(){ 3008 3055 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php(); 3009 3056 } 3010 #line 30 06"smarty_internal_templateparser.php"3011 #line 11 84"smarty_internal_templateparser.y"3012 function yy_r19 0(){3057 #line 3053 "smarty_internal_templateparser.php" 3058 #line 1191 "smarty_internal_templateparser.y" 3059 function yy_r191(){ 3013 3060 $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); 3014 3061 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; 3015 3062 } 3016 #line 30 12"smarty_internal_templateparser.php"3017 #line 11 89"smarty_internal_templateparser.y"3018 function yy_r19 1(){3063 #line 3059 "smarty_internal_templateparser.php" 3064 #line 1196 "smarty_internal_templateparser.y" 3065 function yy_r192(){ 3019 3066 $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); 3020 3067 } 3021 #line 30 17"smarty_internal_templateparser.php"3022 #line 1 193"smarty_internal_templateparser.y"3023 function yy_r19 2(){3068 #line 3064 "smarty_internal_templateparser.php" 3069 #line 1200 "smarty_internal_templateparser.y" 3070 function yy_r193(){ 3024 3071 $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor); 3025 3072 } 3026 #line 30 22"smarty_internal_templateparser.php"3027 #line 120 1"smarty_internal_templateparser.y"3028 function yy_r19 4(){3073 #line 3069 "smarty_internal_templateparser.php" 3074 #line 1208 "smarty_internal_templateparser.y" 3075 function yy_r195(){ 3029 3076 $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value'); 3030 3077 } 3031 #line 30 27"smarty_internal_templateparser.php"3032 #line 12 09"smarty_internal_templateparser.y"3033 function yy_r19 6(){3078 #line 3074 "smarty_internal_templateparser.php" 3079 #line 1216 "smarty_internal_templateparser.y" 3080 function yy_r197(){ 3034 3081 $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')'); 3035 3082 } 3036 #line 30 32"smarty_internal_templateparser.php"3037 #line 12 13"smarty_internal_templateparser.y"3038 function yy_r19 7(){3083 #line 3079 "smarty_internal_templateparser.php" 3084 #line 1220 "smarty_internal_templateparser.y" 3085 function yy_r198(){ 3039 3086 $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor); 3040 3087 } 3041 #line 30 37"smarty_internal_templateparser.php"3042 #line 12 17"smarty_internal_templateparser.y"3043 function yy_r19 8(){3088 #line 3084 "smarty_internal_templateparser.php" 3089 #line 1224 "smarty_internal_templateparser.y" 3090 function yy_r199(){ 3044 3091 $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); 3045 3092 } 3046 #line 30 42"smarty_internal_templateparser.php"3093 #line 3089 "smarty_internal_templateparser.php" 3047 3094 3048 3095 private $_retvalue; … … 3101 3148 function yy_syntax_error($yymajor, $TOKEN) 3102 3149 { 3103 #line 7 6"smarty_internal_templateparser.y"3150 #line 77 "smarty_internal_templateparser.y" 3104 3151 3105 3152 $this->internalError = true; 3106 3153 $this->yymajor = $yymajor; 3107 3154 $this->compiler->trigger_template_error(); 3108 #line 31 05"smarty_internal_templateparser.php"3155 #line 3152 "smarty_internal_templateparser.php" 3109 3156 } 3110 3157 … … 3117 3164 $stack = $this->yy_pop_parser_stack(); 3118 3165 } 3119 #line 6 8"smarty_internal_templateparser.y"3166 #line 69 "smarty_internal_templateparser.y" 3120 3167 3121 3168 $this->successful = !$this->internalError; … … 3123 3170 $this->retvalue = $this->_retvalue; 3124 3171 //echo $this->retvalue."\n\n"; 3125 #line 31 23"smarty_internal_templateparser.php"3172 #line 3170 "smarty_internal_templateparser.php" 3126 3173 } 3127 3174 -
vendors/smarty/current/sysplugins/smarty_resource.php
r5823 r6008 91 91 // intentionally left blank 92 92 } 93 94 93 94 95 95 /** 96 96 * modify resource_name according to resource handlers specifications … … 104 104 return get_class($this) . '#' . $smarty->joined_template_dir . '#' . $resource_name; 105 105 } 106 106 107 107 /** 108 108 * populate Compiled Object with compiled filepath … … 266 266 // try PHP include_path 267 267 if (($_filepath = Smarty_Internal_Get_Include_Path::getIncludePath($_filepath)) !== false) { 268 return $_filepath; 268 if ($this->fileExists($source, $_filepath)) { 269 return $_filepath; 270 } 269 271 } 270 272 } … … 350 352 return $smarty->_resource_handlers[$type]; 351 353 } 352 354 353 355 if (!isset(self::$resources['registered'])) { 354 356 self::$resources['registered'] = new Smarty_Internal_Resource_Registered(); … … 357 359 $smarty->_resource_handlers[$type] = self::$resources['registered']; 358 360 } 359 361 360 362 return $smarty->_resource_handlers[$type]; 361 363 } … … 376 378 return $smarty->_resource_handlers[$type] = self::$resources[$type]; 377 379 } 378 380 379 381 if (class_exists($_resource_class, false)) { 380 382 self::$resources[$type] = new $_resource_class(); … … 411 413 throw new SmartyException("Unkown resource type '{$type}'"); 412 414 } 413 415 414 416 /** 415 417 * extract resource_type and resource_name from template_resource and config_resource … … 435 437 } 436 438 } 437 438 439 440 439 441 /** 440 442 * modify resource_name according to resource handlers specifications … … 444 446 * @return string unique resource name 445 447 */ 446 448 447 449 /** 448 450 * modify template_resource according to resource handlers specifications 449 451 * 450 * @param string $smarty Smarty instance 452 * @param string $smarty Smarty instance 451 453 * @param string $template_resource template_resource to extracate resource handler and name of 452 454 * @return string unique resource name … … 459 461 return $resource->buildUniqueResourceName($smarty, $name); 460 462 } 461 463 462 464 /** 463 465 * initialize Source Object for given resource … … 476 478 $template_resource = $_template->template_resource; 477 479 } 478 480 479 481 // parse resource_name, load resource handler, identify unique resource name 480 482 self::parseResourceName($template_resource, $smarty->default_resource_type, $name, $type); … … 487 489 return self::$sources[$_cache_key]; 488 490 } 489 491 490 492 // create source 491 493 $source = new Smarty_Template_Source($resource, $smarty, $template_resource, $type, $name, $unique_resource_name); … … 508 510 $config_resource = $_config->config_resource; 509 511 $smarty = $_config->smarty; 510 512 511 513 // parse resource_name 512 514 self::parseResourceName($config_resource, $smarty->default_config_type, $name, $type); 513 515 514 516 // make sure configs are not loaded via anything smarty can't handle 515 517 if (isset($_incompatible_resources[$type])) { … … 520 522 $resource = Smarty_Resource::load($smarty, $type); 521 523 $unique_resource_name = $resource->buildUniqueResourceName($smarty, $name); 522 524 523 525 // check runtime cache 524 526 $_cache_key = 'config|' . $unique_resource_name; … … 526 528 return self::$sources[$_cache_key]; 527 529 } 528 530 529 531 // create source 530 532 $source = new Smarty_Config_Source($resource, $smarty, $config_resource, $type, $name, $unique_resource_name); 531 533 $resource->populate($source, null); 532 534 533 535 // runtime cache 534 536 self::$sources[$_cache_key] = $source; … … 595 597 */ 596 598 public $name = null; 597 599 598 600 /** 599 601 * Unique Resource Name -
vendors/smarty/current/sysplugins/smarty_security.php
r5765 r6008 50 50 public $trusted_dir = array(); 51 51 /** 52 * List of regular expressions (PCRE) that include trusted URIs 53 * 54 * @var array 55 */ 56 public $trusted_uri = array(); 57 /** 52 58 * This is an array of trusted static classes. 53 59 * … … 375 381 throw new SmartyException("directory '{$_filepath}' not allowed by security setting"); 376 382 } 377 383 384 /** 385 * Check if URI (e.g. {fetch} or {html_image}) is trusted 386 * 387 * To simplify things, isTrustedUri() resolves all input to "{$PROTOCOL}://{$HOSTNAME}". 388 * So "http://username:password@hello.world.example.org:8080/some-path?some=query-string" 389 * is reduced to "http://hello.world.example.org" prior to applying the patters from {@link $trusted_uri}. 390 * @param string $uri 391 * @return boolean true if URI is trusted 392 * @throws SmartyException if URI is not trusted 393 * @uses $trusted_uri for list of patterns to match against $uri 394 */ 395 public function isTrustedUri($uri) 396 { 397 $_uri = parse_url($uri); 398 if (!empty($_uri['scheme']) && !empty($_uri['host'])) { 399 $_uri = $_uri['scheme'] . '://' . $_uri['host']; 400 foreach ($this->trusted_uri as $pattern) { 401 if (preg_match($pattern, $_uri)) { 402 return true; 403 } 404 } 405 } 406 407 throw new SmartyException("URI '{$uri}' not allowed by security setting"); 408 } 409 378 410 /** 379 411 * Check if directory of file resource is trusted.
Note: See TracChangeset
for help on using the changeset viewer.
