3 * Smarty Internal Plugin Templateparser
5 * This is the template parser.
6 * It is generated from the internal.templateparser.y file
12 class TP_yyToken implements ArrayAccess
15 public $metadata = array();
17 function __construct($s, $m = array())
19 if ($s instanceof TP_yyToken) {
20 $this->string = $s->string;
21 $this->metadata = $s->metadata;
23 $this->string = (string) $s;
24 if ($m instanceof TP_yyToken) {
25 $this->metadata = $m->metadata;
26 } elseif (is_array($m)) {
34 return $this->_string;
37 function offsetExists($offset)
39 return isset($this->metadata[$offset]);
42 function offsetGet($offset)
44 return $this->metadata[$offset];
47 function offsetSet($offset, $value)
49 if ($offset === null) {
50 if (isset($value[0])) {
51 $x = ($value instanceof TP_yyToken) ?
52 $value->metadata : $value;
53 $this->metadata = array_merge($this->metadata, $x);
56 $offset = count($this->metadata);
58 if ($value === null) {
61 if ($value instanceof TP_yyToken) {
62 if ($value->metadata) {
63 $this->metadata[$offset] = $value->metadata;
66 $this->metadata[$offset] = $value;
70 function offsetUnset($offset)
72 unset($this->metadata[$offset]);
78 public $stateno; /* The state-number */
79 public $major; /* The major token value. This is the code
80 ** number for the token at this stack level */
81 public $minor; /* The user-supplied minor token value. This
82 ** is the value of the token */
86 #line 12 "smarty_internal_templateparser.y"
87 class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php"
89 #line 14 "smarty_internal_templateparser.y"
91 const Err1 = "Security error: Call to private object member not allowed";
92 const Err2 = "Security error: Call to dynamic object member not allowed";
93 // states whether the parse was successful or not
94 public $successful = true;
97 private $internalError = false;
99 function __construct($lex, $compiler) {
101 $this->compiler = $compiler;
102 $this->smarty = $this->compiler->smarty;
103 $this->template = $this->compiler->template;
104 $this->compiler->has_variable_string = false;
105 $this->compiler->prefix_code = array();
106 $this->prefix_number = 0;
107 $this->block_nesting_level = 0;
108 if ($this->security = isset($this->smarty->security_policy)) {
109 $this->php_handling = $this->smarty->security_policy->php_handling;
111 $this->php_handling = $this->smarty->php_handling;
113 $this->is_xml = false;
114 $this->asp_tags = (ini_get('asp_tags') != '0');
115 $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
118 public static function escape_start_tag($tag_text) {
119 $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, -1 , $count); //Escape tag
123 public static function escape_end_tag($tag_text) {
128 #line 121 "smarty_internal_templateparser.php"
132 const TP_COMMENT = 3;
133 const TP_PHPSTARTTAG = 4;
134 const TP_PHPENDTAG = 5;
135 const TP_ASPSTARTTAG = 6;
136 const TP_ASPENDTAG = 7;
137 const TP_FAKEPHPSTARTTAG = 8;
140 const TP_LINEBREAK = 11;
141 const TP_LITERALSTART = 12;
142 const TP_LITERALEND = 13;
143 const TP_LITERAL = 14;
146 const TP_DOLLAR = 17;
150 const TP_LDELIF = 21;
152 const TP_LDELFOR = 23;
153 const TP_SEMICOLON = 24;
154 const TP_INCDEC = 25;
157 const TP_LDELFOREACH = 28;
160 const TP_SMARTYBLOCKCHILD = 31;
161 const TP_LDELSLASH = 32;
162 const TP_INTEGER = 33;
165 const TP_CLOSEP = 36;
167 const TP_UNIMATH = 38;
168 const TP_ANDSYM = 39;
170 const TP_ISDIVBY = 41;
171 const TP_ISNOTDIVBY = 42;
172 const TP_ISEVEN = 43;
173 const TP_ISNOTEVEN = 44;
174 const TP_ISEVENBY = 45;
175 const TP_ISNOTEVENBY = 46;
177 const TP_ISNOTODD = 48;
178 const TP_ISODDBY = 49;
179 const TP_ISNOTODDBY = 50;
180 const TP_INSTANCEOF = 51;
183 const TP_TYPECAST = 54;
186 const TP_SINGLEQUOTESTRING = 57;
187 const TP_DOUBLECOLON = 58;
191 const TP_CLOSEB = 62;
192 const TP_EQUALS = 63;
193 const TP_NOTEQUALS = 64;
194 const TP_GREATERTHAN = 65;
195 const TP_LESSTHAN = 66;
196 const TP_GREATEREQUAL = 67;
197 const TP_LESSEQUAL = 68;
198 const TP_IDENTITY = 69;
199 const TP_NONEIDENTITY = 70;
205 const TP_BACKTICK = 76;
206 const TP_DOLLARID = 77;
207 const YY_NO_ACTION = 584;
208 const YY_ACCEPT_ACTION = 583;
209 const YY_ERROR_ACTION = 582;
211 const YY_SZ_ACTTAB = 2566;
212 static public $yy_action = array(
213 /* 0 */ 218, 272, 271, 275, 274, 278, 277, 276, 270, 262,
214 /* 10 */ 260, 264, 268, 196, 298, 285, 42, 22, 159, 265,
215 /* 20 */ 19, 29, 222, 374, 237, 29, 294, 29, 280, 149,
216 /* 30 */ 243, 19, 378, 225, 374, 244, 52, 47, 50, 45,
217 /* 40 */ 38, 37, 331, 332, 40, 39, 340, 337, 30, 25,
218 /* 50 */ 292, 299, 291, 290, 295, 190, 123, 342, 196, 279,
219 /* 60 */ 293, 135, 335, 322, 321, 308, 309, 310, 307, 306,
220 /* 70 */ 302, 303, 304, 305, 218, 242, 319, 175, 199, 133,
221 /* 80 */ 138, 19, 248, 72, 374, 124, 19, 288, 448, 374,
222 /* 90 */ 41, 14, 339, 311, 448, 29, 348, 329, 376, 320,
223 /* 100 */ 34, 583, 95, 273, 271, 275, 219, 3, 301, 3,
224 /* 110 */ 52, 47, 50, 45, 38, 37, 331, 332, 40, 39,
225 /* 120 */ 340, 337, 30, 25, 7, 231, 17, 108, 134, 167,
226 /* 130 */ 140, 35, 140, 143, 336, 192, 335, 322, 321, 308,
227 /* 140 */ 309, 310, 307, 306, 302, 303, 304, 305, 218, 334,
228 /* 150 */ 319, 193, 353, 10, 138, 3, 248, 55, 3, 119,
229 /* 160 */ 136, 36, 31, 371, 218, 19, 339, 311, 374, 29,
230 /* 170 */ 348, 329, 29, 320, 199, 27, 223, 258, 140, 372,
231 /* 180 */ 224, 140, 254, 220, 52, 47, 50, 45, 38, 37,
232 /* 190 */ 331, 332, 40, 39, 340, 337, 30, 25, 341, 179,
233 /* 200 */ 32, 159, 106, 323, 29, 194, 379, 342, 218, 288,
234 /* 210 */ 335, 322, 321, 308, 309, 310, 307, 306, 302, 303,
235 /* 220 */ 304, 305, 218, 366, 319, 199, 186, 218, 138, 190,
236 /* 230 */ 248, 72, 445, 124, 218, 266, 288, 364, 445, 123,
237 /* 240 */ 339, 311, 447, 29, 348, 329, 19, 320, 447, 374,
238 /* 250 */ 23, 3, 199, 16, 211, 29, 297, 170, 52, 47,
239 /* 260 */ 50, 45, 38, 37, 331, 332, 40, 39, 340, 337,
240 /* 270 */ 30, 25, 218, 172, 140, 183, 104, 46, 19, 189,
241 /* 280 */ 379, 374, 41, 288, 335, 322, 321, 308, 309, 310,
242 /* 290 */ 307, 306, 302, 303, 304, 305, 344, 188, 444, 199,
243 /* 300 */ 218, 235, 249, 216, 29, 191, 379, 342, 52, 47,
244 /* 310 */ 50, 45, 38, 37, 331, 332, 40, 39, 340, 337,
245 /* 320 */ 30, 25, 242, 19, 142, 43, 374, 130, 245, 28,
246 /* 330 */ 29, 159, 107, 346, 335, 322, 321, 308, 309, 310,
247 /* 340 */ 307, 306, 302, 303, 304, 305, 218, 347, 319, 27,
248 /* 350 */ 46, 257, 138, 198, 248, 62, 164, 119, 240, 218,
249 /* 360 */ 267, 252, 228, 126, 339, 311, 288, 205, 348, 329,
250 /* 370 */ 103, 320, 8, 261, 444, 357, 180, 376, 376, 29,
251 /* 380 */ 29, 29, 52, 47, 50, 45, 38, 37, 331, 332,
252 /* 390 */ 40, 39, 340, 337, 30, 25, 184, 349, 361, 365,
253 /* 400 */ 27, 284, 358, 29, 29, 29, 288, 29, 335, 322,
254 /* 410 */ 321, 308, 309, 310, 307, 306, 302, 303, 304, 305,
255 /* 420 */ 218, 319, 202, 221, 181, 138, 154, 248, 72, 171,
256 /* 430 */ 124, 313, 9, 162, 288, 289, 163, 339, 311, 288,
257 /* 440 */ 320, 348, 329, 288, 320, 376, 288, 281, 269, 370,
258 /* 450 */ 376, 214, 6, 29, 29, 29, 52, 47, 50, 45,
259 /* 460 */ 38, 37, 331, 332, 40, 39, 340, 337, 30, 25,
260 /* 470 */ 218, 178, 239, 283, 373, 19, 226, 238, 374, 29,
261 /* 480 */ 29, 288, 335, 322, 321, 308, 309, 310, 307, 306,
262 /* 490 */ 302, 303, 304, 305, 177, 205, 286, 202, 227, 377,
263 /* 500 */ 8, 166, 29, 376, 288, 29, 52, 47, 50, 45,
264 /* 510 */ 38, 37, 331, 332, 40, 39, 340, 337, 30, 25,
265 /* 520 */ 202, 218, 363, 375, 380, 315, 235, 296, 29, 29,
266 /* 530 */ 29, 29, 335, 322, 321, 308, 309, 310, 307, 306,
267 /* 540 */ 302, 303, 304, 305, 197, 369, 352, 19, 327, 218,
268 /* 550 */ 236, 29, 29, 165, 234, 156, 174, 52, 47, 50,
269 /* 560 */ 45, 38, 37, 331, 332, 40, 39, 340, 337, 30,
270 /* 570 */ 25, 26, 344, 5, 19, 314, 199, 212, 19, 199,
271 /* 580 */ 159, 241, 218, 335, 322, 321, 308, 309, 310, 307,
272 /* 590 */ 306, 302, 303, 304, 305, 218, 319, 300, 100, 46,
273 /* 600 */ 138, 19, 248, 76, 233, 124, 6, 218, 110, 351,
274 /* 610 */ 201, 338, 339, 311, 115, 168, 348, 329, 123, 320,
275 /* 620 */ 182, 338, 287, 234, 105, 288, 324, 338, 235, 240,
276 /* 630 */ 288, 52, 47, 50, 45, 38, 37, 331, 332, 40,
277 /* 640 */ 39, 340, 337, 30, 25, 218, 333, 144, 263, 33,
278 /* 650 */ 13, 342, 312, 156, 29, 355, 97, 335, 322, 321,
279 /* 660 */ 308, 309, 310, 307, 306, 302, 303, 304, 305, 338,
280 /* 670 */ 141, 32, 325, 121, 195, 131, 356, 229, 127, 2,
281 /* 680 */ 250, 52, 47, 50, 45, 38, 37, 331, 332, 40,
282 /* 690 */ 39, 340, 337, 30, 25, 318, 228, 11, 330, 94,
283 /* 700 */ 129, 282, 218, 253, 159, 29, 323, 335, 322, 321,
284 /* 710 */ 308, 309, 310, 307, 306, 302, 303, 304, 305, 218,
285 /* 720 */ 218, 319, 18, 101, 148, 122, 114, 248, 54, 44,
286 /* 730 */ 124, 202, 99, 158, 316, 367, 376, 339, 311, 338,
287 /* 740 */ 29, 348, 329, 376, 320, 338, 338, 354, 169, 368,
288 /* 750 */ 321, 321, 321, 321, 321, 52, 47, 50, 45, 38,
289 /* 760 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 218,
290 /* 770 */ 46, 321, 321, 321, 321, 321, 321, 321, 321, 321,
291 /* 780 */ 113, 335, 322, 321, 308, 309, 310, 307, 306, 302,
292 /* 790 */ 303, 304, 305, 338, 321, 321, 321, 321, 321, 321,
293 /* 800 */ 321, 321, 321, 321, 256, 52, 47, 50, 45, 38,
294 /* 810 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 218,
295 /* 820 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
296 /* 830 */ 321, 335, 322, 321, 308, 309, 310, 307, 306, 302,
297 /* 840 */ 303, 304, 305, 321, 321, 321, 321, 321, 321, 321,
298 /* 850 */ 321, 321, 321, 321, 321, 52, 47, 50, 45, 38,
299 /* 860 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 218,
300 /* 870 */ 12, 321, 321, 321, 321, 321, 321, 321, 321, 321,
301 /* 880 */ 382, 335, 322, 321, 308, 309, 310, 307, 306, 302,
302 /* 890 */ 303, 304, 305, 321, 321, 321, 321, 321, 321, 321,
303 /* 900 */ 321, 321, 321, 321, 321, 52, 47, 50, 45, 38,
304 /* 910 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 321,
305 /* 920 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
306 /* 930 */ 321, 335, 322, 321, 308, 309, 310, 307, 306, 302,
307 /* 940 */ 303, 304, 305, 218, 319, 321, 321, 321, 138, 321,
308 /* 950 */ 248, 61, 321, 124, 321, 98, 132, 321, 200, 321,
309 /* 960 */ 339, 311, 321, 321, 348, 329, 321, 320, 338, 338,
310 /* 970 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 52,
311 /* 980 */ 47, 50, 45, 38, 37, 331, 332, 40, 39, 340,
312 /* 990 */ 337, 30, 25, 218, 321, 321, 321, 321, 321, 321,
313 /* 1000 */ 321, 321, 321, 321, 321, 335, 322, 321, 308, 309,
314 /* 1010 */ 310, 307, 306, 302, 303, 304, 305, 321, 321, 321,
315 /* 1020 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 52,
316 /* 1030 */ 47, 50, 45, 38, 37, 331, 332, 40, 39, 340,
317 /* 1040 */ 337, 30, 25, 321, 321, 321, 321, 321, 321, 321,
318 /* 1050 */ 321, 321, 321, 321, 321, 335, 322, 321, 308, 309,
319 /* 1060 */ 310, 307, 306, 302, 303, 304, 305, 52, 47, 50,
320 /* 1070 */ 45, 38, 37, 331, 332, 40, 39, 340, 337, 30,
321 /* 1080 */ 25, 321, 321, 321, 321, 321, 321, 321, 321, 321,
322 /* 1090 */ 321, 321, 321, 335, 322, 321, 308, 309, 310, 307,
323 /* 1100 */ 306, 302, 303, 304, 305, 321, 321, 321, 321, 42,
324 /* 1110 */ 321, 139, 207, 321, 319, 222, 321, 237, 138, 321,
325 /* 1120 */ 248, 78, 149, 124, 321, 378, 225, 232, 321, 15,
326 /* 1130 */ 339, 311, 49, 321, 348, 329, 321, 320, 321, 321,
327 /* 1140 */ 321, 321, 321, 321, 321, 321, 321, 51, 48, 317,
328 /* 1150 */ 247, 328, 321, 319, 103, 1, 255, 145, 321, 248,
329 /* 1160 */ 321, 321, 124, 321, 42, 321, 139, 209, 321, 96,
330 /* 1170 */ 222, 321, 237, 348, 329, 321, 320, 149, 345, 321,
331 /* 1180 */ 378, 225, 232, 24, 15, 321, 321, 49, 321, 222,
332 /* 1190 */ 321, 237, 321, 321, 321, 321, 149, 321, 321, 378,
333 /* 1200 */ 225, 321, 51, 48, 317, 247, 328, 321, 319, 103,
334 /* 1210 */ 1, 321, 146, 321, 248, 321, 321, 124, 321, 42,
335 /* 1220 */ 161, 130, 209, 193, 96, 222, 321, 237, 348, 329,
336 /* 1230 */ 288, 320, 149, 36, 31, 378, 225, 232, 321, 21,
337 /* 1240 */ 321, 321, 49, 350, 20, 343, 199, 319, 218, 321,
338 /* 1250 */ 321, 155, 321, 248, 321, 321, 124, 51, 48, 317,
339 /* 1260 */ 247, 328, 321, 450, 103, 1, 321, 348, 329, 450,
340 /* 1270 */ 320, 321, 321, 321, 42, 321, 125, 209, 321, 96,
341 /* 1280 */ 222, 321, 237, 321, 321, 321, 321, 149, 345, 321,
342 /* 1290 */ 378, 225, 232, 24, 4, 321, 321, 49, 46, 222,
343 /* 1300 */ 321, 237, 321, 321, 321, 321, 149, 321, 321, 378,
344 /* 1310 */ 225, 321, 51, 48, 317, 247, 328, 321, 319, 103,
345 /* 1320 */ 1, 321, 151, 321, 248, 321, 321, 124, 321, 42,
346 /* 1330 */ 176, 139, 204, 193, 96, 222, 321, 237, 348, 329,
347 /* 1340 */ 288, 320, 149, 36, 31, 378, 225, 215, 321, 15,
348 /* 1350 */ 321, 321, 49, 362, 20, 343, 199, 319, 218, 321,
349 /* 1360 */ 321, 150, 321, 248, 321, 321, 124, 51, 48, 317,
350 /* 1370 */ 247, 328, 321, 259, 103, 1, 321, 348, 329, 29,
351 /* 1380 */ 320, 321, 321, 321, 42, 173, 128, 92, 193, 96,
352 /* 1390 */ 222, 321, 237, 321, 218, 288, 321, 149, 36, 31,
353 /* 1400 */ 378, 225, 232, 321, 15, 321, 321, 49, 46, 381,
354 /* 1410 */ 321, 199, 319, 230, 321, 29, 152, 321, 248, 321,
355 /* 1420 */ 321, 124, 51, 48, 317, 247, 328, 321, 3, 103,
356 /* 1430 */ 1, 321, 348, 329, 321, 320, 321, 321, 321, 42,
357 /* 1440 */ 185, 139, 208, 102, 96, 222, 321, 237, 321, 321,
358 /* 1450 */ 288, 140, 149, 36, 31, 378, 225, 232, 321, 15,
359 /* 1460 */ 321, 321, 49, 321, 321, 321, 199, 319, 321, 321,
360 /* 1470 */ 321, 147, 321, 248, 321, 321, 124, 51, 48, 317,
361 /* 1480 */ 247, 328, 321, 321, 103, 1, 321, 348, 329, 321,
362 /* 1490 */ 320, 321, 321, 321, 42, 187, 139, 203, 193, 96,
363 /* 1500 */ 222, 321, 237, 321, 321, 288, 321, 149, 36, 31,
364 /* 1510 */ 378, 225, 232, 321, 15, 321, 160, 49, 321, 193,
365 /* 1520 */ 321, 199, 321, 321, 321, 321, 288, 321, 321, 36,
366 /* 1530 */ 31, 321, 51, 48, 317, 247, 328, 321, 321, 103,
367 /* 1540 */ 1, 321, 199, 321, 321, 321, 321, 321, 321, 42,
368 /* 1550 */ 321, 139, 206, 218, 96, 222, 321, 237, 321, 321,
369 /* 1560 */ 321, 321, 149, 321, 321, 378, 225, 232, 450, 15,
370 /* 1570 */ 321, 321, 49, 321, 450, 321, 321, 321, 321, 321,
371 /* 1580 */ 321, 246, 321, 321, 321, 321, 321, 51, 48, 317,
372 /* 1590 */ 247, 328, 321, 321, 103, 1, 321, 321, 321, 321,
373 /* 1600 */ 321, 321, 321, 46, 42, 321, 137, 209, 321, 96,
374 /* 1610 */ 222, 321, 237, 321, 321, 321, 321, 149, 321, 321,
375 /* 1620 */ 378, 225, 232, 321, 15, 321, 321, 49, 321, 321,
376 /* 1630 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
377 /* 1640 */ 321, 321, 51, 48, 317, 247, 328, 321, 321, 103,
378 /* 1650 */ 1, 321, 321, 321, 321, 321, 321, 321, 321, 42,
379 /* 1660 */ 321, 130, 210, 321, 96, 222, 321, 237, 321, 321,
380 /* 1670 */ 321, 321, 149, 321, 321, 378, 225, 232, 321, 21,
381 /* 1680 */ 321, 321, 49, 321, 321, 321, 321, 321, 321, 321,
382 /* 1690 */ 321, 321, 321, 321, 321, 321, 321, 51, 48, 317,
383 /* 1700 */ 247, 328, 321, 321, 103, 321, 321, 321, 321, 321,
384 /* 1710 */ 321, 321, 321, 321, 42, 321, 130, 209, 321, 96,
385 /* 1720 */ 222, 321, 237, 321, 321, 321, 321, 149, 321, 321,
386 /* 1730 */ 378, 225, 232, 321, 21, 321, 321, 49, 321, 321,
387 /* 1740 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
388 /* 1750 */ 321, 321, 51, 48, 317, 247, 328, 321, 321, 103,
389 /* 1760 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 493,
390 /* 1770 */ 321, 321, 321, 321, 96, 493, 321, 493, 321, 493,
391 /* 1780 */ 493, 321, 493, 321, 321, 321, 321, 493, 3, 493,
392 /* 1790 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
393 /* 1800 */ 321, 321, 321, 319, 493, 321, 321, 117, 321, 248,
394 /* 1810 */ 82, 140, 124, 321, 321, 493, 321, 321, 321, 339,
395 /* 1820 */ 311, 321, 321, 348, 329, 321, 320, 321, 321, 493,
396 /* 1830 */ 321, 321, 321, 321, 321, 321, 319, 217, 360, 321,
397 /* 1840 */ 117, 321, 248, 82, 321, 124, 321, 321, 321, 321,
398 /* 1850 */ 321, 321, 339, 311, 321, 321, 348, 329, 319, 320,
399 /* 1860 */ 321, 321, 138, 321, 248, 90, 321, 124, 321, 321,
400 /* 1870 */ 321, 359, 321, 321, 339, 311, 321, 321, 348, 329,
401 /* 1880 */ 321, 320, 321, 321, 321, 321, 319, 321, 321, 321,
402 /* 1890 */ 138, 321, 248, 69, 321, 124, 321, 321, 321, 321,
403 /* 1900 */ 321, 321, 339, 311, 321, 321, 348, 329, 321, 320,
404 /* 1910 */ 321, 321, 319, 321, 321, 321, 138, 321, 248, 67,
405 /* 1920 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311,
406 /* 1930 */ 321, 321, 348, 329, 321, 320, 319, 321, 321, 321,
407 /* 1940 */ 138, 321, 248, 58, 321, 124, 321, 321, 321, 321,
408 /* 1950 */ 321, 321, 339, 311, 319, 321, 348, 329, 138, 320,
409 /* 1960 */ 248, 62, 321, 124, 321, 321, 321, 321, 321, 321,
410 /* 1970 */ 339, 311, 321, 321, 348, 329, 319, 320, 321, 321,
411 /* 1980 */ 138, 321, 248, 56, 321, 124, 321, 321, 321, 321,
412 /* 1990 */ 321, 321, 339, 311, 321, 321, 348, 329, 321, 320,
413 /* 2000 */ 321, 319, 321, 321, 321, 112, 321, 248, 71, 321,
414 /* 2010 */ 124, 321, 321, 321, 321, 321, 321, 339, 311, 319,
415 /* 2020 */ 321, 348, 329, 111, 320, 248, 81, 321, 124, 321,
416 /* 2030 */ 321, 321, 321, 321, 321, 339, 311, 319, 321, 348,
417 /* 2040 */ 329, 138, 320, 248, 74, 321, 124, 321, 321, 321,
418 /* 2050 */ 321, 321, 321, 339, 311, 321, 321, 348, 329, 319,
419 /* 2060 */ 320, 321, 321, 138, 321, 248, 91, 321, 124, 321,
420 /* 2070 */ 321, 321, 321, 321, 321, 339, 311, 321, 321, 348,
421 /* 2080 */ 329, 321, 320, 321, 319, 321, 321, 321, 138, 321,
422 /* 2090 */ 248, 64, 321, 124, 321, 321, 321, 321, 321, 321,
423 /* 2100 */ 339, 311, 319, 321, 348, 329, 138, 320, 248, 63,
424 /* 2110 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311,
425 /* 2120 */ 319, 321, 348, 329, 138, 320, 248, 83, 321, 124,
426 /* 2130 */ 321, 321, 321, 321, 321, 321, 339, 311, 321, 321,
427 /* 2140 */ 348, 329, 319, 320, 321, 321, 138, 321, 248, 79,
428 /* 2150 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311,
429 /* 2160 */ 321, 321, 348, 329, 321, 320, 321, 319, 321, 321,
430 /* 2170 */ 321, 138, 321, 248, 75, 321, 124, 321, 321, 321,
431 /* 2180 */ 321, 321, 321, 339, 311, 319, 321, 348, 329, 138,
432 /* 2190 */ 320, 248, 70, 321, 124, 321, 321, 321, 321, 321,
433 /* 2200 */ 321, 339, 311, 319, 321, 348, 329, 109, 320, 248,
434 /* 2210 */ 68, 321, 124, 321, 321, 321, 321, 321, 321, 339,
435 /* 2220 */ 311, 321, 321, 348, 329, 319, 320, 321, 321, 138,
436 /* 2230 */ 321, 248, 77, 321, 124, 321, 321, 321, 321, 321,
437 /* 2240 */ 321, 339, 311, 321, 321, 348, 329, 321, 320, 321,
438 /* 2250 */ 319, 321, 321, 321, 138, 321, 248, 73, 321, 124,
439 /* 2260 */ 321, 321, 321, 321, 321, 321, 339, 311, 319, 321,
440 /* 2270 */ 348, 329, 138, 320, 213, 65, 321, 124, 321, 321,
441 /* 2280 */ 321, 321, 321, 321, 339, 311, 319, 321, 348, 329,
442 /* 2290 */ 138, 320, 248, 86, 321, 124, 321, 321, 321, 321,
443 /* 2300 */ 321, 321, 339, 311, 321, 321, 348, 329, 319, 320,
444 /* 2310 */ 321, 321, 138, 321, 248, 88, 321, 124, 321, 321,
445 /* 2320 */ 321, 321, 321, 321, 339, 311, 321, 321, 348, 329,
446 /* 2330 */ 321, 320, 321, 319, 321, 321, 321, 93, 321, 120,
447 /* 2340 */ 59, 321, 116, 321, 321, 321, 321, 321, 321, 339,
448 /* 2350 */ 311, 319, 321, 348, 329, 138, 320, 248, 57, 321,
449 /* 2360 */ 124, 321, 321, 321, 321, 321, 321, 339, 311, 319,
450 /* 2370 */ 321, 348, 329, 138, 320, 248, 60, 321, 124, 321,
451 /* 2380 */ 321, 321, 321, 321, 321, 339, 311, 321, 321, 348,
452 /* 2390 */ 329, 319, 320, 321, 321, 138, 321, 248, 89, 321,
453 /* 2400 */ 124, 321, 321, 321, 321, 321, 321, 339, 311, 321,
454 /* 2410 */ 321, 348, 329, 321, 320, 321, 319, 321, 321, 321,
455 /* 2420 */ 138, 321, 248, 85, 321, 124, 321, 321, 321, 321,
456 /* 2430 */ 321, 321, 339, 311, 319, 321, 348, 329, 138, 320,
457 /* 2440 */ 248, 80, 321, 124, 321, 321, 321, 321, 321, 321,
458 /* 2450 */ 339, 311, 319, 321, 348, 329, 138, 320, 248, 84,
459 /* 2460 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311,
460 /* 2470 */ 321, 321, 348, 329, 319, 320, 321, 321, 138, 321,
461 /* 2480 */ 248, 66, 321, 124, 321, 321, 321, 321, 321, 321,
462 /* 2490 */ 339, 311, 321, 321, 348, 329, 321, 320, 321, 319,
463 /* 2500 */ 321, 321, 321, 138, 321, 248, 87, 321, 124, 321,
464 /* 2510 */ 321, 321, 321, 321, 321, 339, 311, 319, 321, 348,
465 /* 2520 */ 329, 93, 320, 118, 53, 321, 116, 321, 321, 321,
466 /* 2530 */ 321, 321, 321, 339, 311, 319, 321, 348, 329, 153,
467 /* 2540 */ 320, 248, 319, 321, 124, 321, 157, 321, 248, 321,
468 /* 2550 */ 321, 124, 326, 321, 321, 348, 329, 321, 320, 251,
469 /* 2560 */ 321, 321, 348, 329, 321, 320,
471 static public $yy_lookahead = array(
472 /* 0 */ 1, 81, 82, 83, 3, 4, 5, 6, 7, 8,
473 /* 10 */ 9, 10, 11, 12, 22, 16, 15, 19, 20, 16,
474 /* 20 */ 15, 22, 21, 18, 23, 22, 83, 22, 85, 28,
475 /* 30 */ 94, 15, 31, 32, 18, 30, 37, 38, 39, 40,
476 /* 40 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
477 /* 50 */ 4, 5, 6, 7, 8, 90, 58, 25, 12, 13,
478 /* 60 */ 14, 17, 63, 64, 65, 66, 67, 68, 69, 70,
479 /* 70 */ 71, 72, 73, 74, 1, 59, 82, 87, 113, 35,
480 /* 80 */ 86, 15, 88, 89, 18, 91, 15, 97, 16, 18,
481 /* 90 */ 19, 19, 98, 99, 22, 22, 102, 103, 108, 105,
482 /* 100 */ 27, 79, 80, 81, 82, 83, 112, 35, 76, 35,
483 /* 110 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
484 /* 120 */ 47, 48, 49, 50, 34, 59, 15, 84, 17, 18,
485 /* 130 */ 58, 15, 58, 17, 18, 114, 63, 64, 65, 66,
486 /* 140 */ 67, 68, 69, 70, 71, 72, 73, 74, 1, 33,
487 /* 150 */ 82, 90, 62, 30, 86, 35, 88, 89, 35, 91,
488 /* 160 */ 92, 100, 101, 16, 1, 15, 98, 99, 18, 22,
489 /* 170 */ 102, 103, 22, 105, 113, 34, 56, 36, 58, 16,
490 /* 180 */ 30, 58, 62, 20, 37, 38, 39, 40, 41, 42,
491 /* 190 */ 43, 44, 45, 46, 47, 48, 49, 50, 16, 87,
492 /* 200 */ 19, 20, 90, 107, 22, 109, 110, 25, 1, 97,
493 /* 210 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
494 /* 220 */ 73, 74, 1, 16, 82, 113, 87, 1, 86, 90,
495 /* 230 */ 88, 89, 16, 91, 1, 13, 97, 16, 22, 58,
496 /* 240 */ 98, 99, 16, 22, 102, 103, 15, 105, 22, 18,
497 /* 250 */ 19, 35, 113, 94, 112, 22, 25, 106, 37, 38,
498 /* 260 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
499 /* 270 */ 49, 50, 1, 87, 58, 106, 90, 51, 15, 109,
500 /* 280 */ 110, 18, 19, 97, 63, 64, 65, 66, 67, 68,
501 /* 290 */ 69, 70, 71, 72, 73, 74, 82, 114, 16, 113,
502 /* 300 */ 1, 91, 92, 93, 22, 109, 110, 25, 37, 38,
503 /* 310 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
504 /* 320 */ 49, 50, 59, 15, 17, 19, 18, 17, 18, 30,
505 /* 330 */ 22, 20, 118, 119, 63, 64, 65, 66, 67, 68,
506 /* 340 */ 69, 70, 71, 72, 73, 74, 1, 76, 82, 34,
507 /* 350 */ 51, 36, 86, 24, 88, 89, 87, 91, 92, 1,
508 /* 360 */ 36, 16, 56, 34, 98, 99, 97, 56, 102, 103,
509 /* 370 */ 60, 105, 61, 16, 16, 16, 106, 108, 108, 22,
510 /* 380 */ 22, 22, 37, 38, 39, 40, 41, 42, 43, 44,
511 /* 390 */ 45, 46, 47, 48, 49, 50, 87, 16, 16, 16,
512 /* 400 */ 34, 16, 36, 22, 22, 22, 97, 22, 63, 64,
513 /* 410 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
514 /* 420 */ 1, 82, 113, 88, 87, 86, 91, 88, 89, 87,
515 /* 430 */ 91, 18, 15, 87, 97, 16, 87, 98, 99, 97,
516 /* 440 */ 105, 102, 103, 97, 105, 108, 97, 16, 16, 16,
517 /* 450 */ 108, 112, 35, 22, 22, 22, 37, 38, 39, 40,
518 /* 460 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
519 /* 470 */ 1, 87, 59, 16, 16, 15, 17, 18, 18, 22,
520 /* 480 */ 22, 97, 63, 64, 65, 66, 67, 68, 69, 70,
521 /* 490 */ 71, 72, 73, 74, 87, 56, 16, 113, 29, 16,
522 /* 500 */ 61, 106, 22, 108, 97, 22, 37, 38, 39, 40,
523 /* 510 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
524 /* 520 */ 113, 1, 16, 16, 16, 16, 91, 92, 22, 22,
525 /* 530 */ 22, 22, 63, 64, 65, 66, 67, 68, 69, 70,
526 /* 540 */ 71, 72, 73, 74, 24, 16, 16, 15, 104, 1,
527 /* 550 */ 18, 22, 22, 90, 2, 111, 90, 37, 38, 39,
528 /* 560 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
529 /* 570 */ 50, 19, 82, 35, 15, 18, 113, 18, 15, 113,
530 /* 580 */ 20, 18, 1, 63, 64, 65, 66, 67, 68, 69,
531 /* 590 */ 70, 71, 72, 73, 74, 1, 82, 16, 95, 51,
532 /* 600 */ 86, 15, 88, 89, 18, 91, 35, 1, 95, 119,
533 /* 610 */ 16, 108, 98, 99, 95, 87, 102, 103, 58, 105,
534 /* 620 */ 87, 108, 16, 2, 22, 97, 18, 108, 91, 92,
535 /* 630 */ 97, 37, 38, 39, 40, 41, 42, 43, 44, 45,
536 /* 640 */ 46, 47, 48, 49, 50, 1, 104, 17, 16, 26,
537 /* 650 */ 52, 25, 33, 111, 22, 60, 95, 63, 64, 65,
538 /* 660 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 108,
539 /* 670 */ 17, 19, 18, 18, 18, 17, 60, 18, 17, 22,
540 /* 680 */ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
541 /* 690 */ 46, 47, 48, 49, 50, 33, 56, 2, 18, 18,
542 /* 700 */ 18, 97, 1, 62, 20, 22, 107, 63, 64, 65,
543 /* 710 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 1,
544 /* 720 */ 1, 82, 22, 106, 96, 86, 95, 88, 89, 2,
545 /* 730 */ 91, 113, 95, 95, 110, 16, 108, 98, 99, 108,
546 /* 740 */ 22, 102, 103, 108, 105, 108, 108, 111, 106, 115,
547 /* 750 */ 120, 120, 120, 120, 120, 37, 38, 39, 40, 41,
548 /* 760 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 1,
549 /* 770 */ 51, 120, 120, 120, 120, 120, 120, 120, 120, 120,
550 /* 780 */ 95, 63, 64, 65, 66, 67, 68, 69, 70, 71,
551 /* 790 */ 72, 73, 74, 108, 120, 120, 120, 120, 120, 120,
552 /* 800 */ 120, 120, 120, 120, 36, 37, 38, 39, 40, 41,
553 /* 810 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 1,
554 /* 820 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
555 /* 830 */ 120, 63, 64, 65, 66, 67, 68, 69, 70, 71,
556 /* 840 */ 72, 73, 74, 120, 120, 120, 120, 120, 120, 120,
557 /* 850 */ 120, 120, 120, 120, 120, 37, 38, 39, 40, 41,
558 /* 860 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 1,
559 /* 870 */ 2, 120, 120, 120, 120, 120, 120, 120, 120, 120,
560 /* 880 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
561 /* 890 */ 72, 73, 74, 120, 120, 120, 120, 120, 120, 120,
562 /* 900 */ 120, 120, 120, 120, 120, 37, 38, 39, 40, 41,
563 /* 910 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 120,
564 /* 920 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
565 /* 930 */ 120, 63, 64, 65, 66, 67, 68, 69, 70, 71,
566 /* 940 */ 72, 73, 74, 1, 82, 120, 120, 120, 86, 120,
567 /* 950 */ 88, 89, 120, 91, 120, 95, 95, 120, 16, 120,
568 /* 960 */ 98, 99, 120, 120, 102, 103, 120, 105, 108, 108,
569 /* 970 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 37,
570 /* 980 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
571 /* 990 */ 48, 49, 50, 1, 120, 120, 120, 120, 120, 120,
572 /* 1000 */ 120, 120, 120, 120, 120, 63, 64, 65, 66, 67,
573 /* 1010 */ 68, 69, 70, 71, 72, 73, 74, 120, 120, 120,
574 /* 1020 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 37,
575 /* 1030 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
576 /* 1040 */ 48, 49, 50, 120, 120, 120, 120, 120, 120, 120,
577 /* 1050 */ 120, 120, 120, 120, 120, 63, 64, 65, 66, 67,
578 /* 1060 */ 68, 69, 70, 71, 72, 73, 74, 37, 38, 39,
579 /* 1070 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
580 /* 1080 */ 50, 120, 120, 120, 120, 120, 120, 120, 120, 120,
581 /* 1090 */ 120, 120, 120, 63, 64, 65, 66, 67, 68, 69,
582 /* 1100 */ 70, 71, 72, 73, 74, 120, 120, 120, 120, 15,
583 /* 1110 */ 120, 17, 18, 120, 82, 21, 120, 23, 86, 120,
584 /* 1120 */ 88, 89, 28, 91, 120, 31, 32, 33, 120, 35,
585 /* 1130 */ 98, 99, 38, 120, 102, 103, 120, 105, 120, 120,
586 /* 1140 */ 120, 120, 120, 120, 120, 120, 120, 53, 54, 55,
587 /* 1150 */ 56, 57, 120, 82, 60, 61, 62, 86, 120, 88,
588 /* 1160 */ 120, 120, 91, 120, 15, 120, 17, 18, 120, 75,
589 /* 1170 */ 21, 120, 23, 102, 103, 120, 105, 28, 10, 120,
590 /* 1180 */ 31, 32, 33, 15, 35, 120, 120, 38, 120, 21,
591 /* 1190 */ 120, 23, 120, 120, 120, 120, 28, 120, 120, 31,
592 /* 1200 */ 32, 120, 53, 54, 55, 56, 57, 120, 82, 60,
593 /* 1210 */ 61, 120, 86, 120, 88, 120, 120, 91, 120, 15,
594 /* 1220 */ 87, 17, 18, 90, 75, 21, 120, 23, 102, 103,
595 /* 1230 */ 97, 105, 28, 100, 101, 31, 32, 33, 120, 35,
596 /* 1240 */ 120, 120, 38, 75, 76, 77, 113, 82, 1, 120,
597 /* 1250 */ 120, 86, 120, 88, 120, 120, 91, 53, 54, 55,
598 /* 1260 */ 56, 57, 120, 16, 60, 61, 120, 102, 103, 22,
599 /* 1270 */ 105, 120, 120, 120, 15, 120, 17, 18, 120, 75,
600 /* 1280 */ 21, 120, 23, 120, 120, 120, 120, 28, 10, 120,
601 /* 1290 */ 31, 32, 33, 15, 35, 120, 120, 38, 51, 21,
602 /* 1300 */ 120, 23, 120, 120, 120, 120, 28, 120, 120, 31,
603 /* 1310 */ 32, 120, 53, 54, 55, 56, 57, 120, 82, 60,
604 /* 1320 */ 61, 120, 86, 120, 88, 120, 120, 91, 120, 15,
605 /* 1330 */ 87, 17, 18, 90, 75, 21, 120, 23, 102, 103,
606 /* 1340 */ 97, 105, 28, 100, 101, 31, 32, 33, 120, 35,
607 /* 1350 */ 120, 120, 38, 75, 76, 77, 113, 82, 1, 120,
608 /* 1360 */ 120, 86, 120, 88, 120, 120, 91, 53, 54, 55,
609 /* 1370 */ 56, 57, 120, 16, 60, 61, 120, 102, 103, 22,
610 /* 1380 */ 105, 120, 120, 120, 15, 87, 17, 18, 90, 75,
611 /* 1390 */ 21, 120, 23, 120, 1, 97, 120, 28, 100, 101,
612 /* 1400 */ 31, 32, 33, 120, 35, 120, 120, 38, 51, 16,
613 /* 1410 */ 120, 113, 82, 20, 120, 22, 86, 120, 88, 120,
614 /* 1420 */ 120, 91, 53, 54, 55, 56, 57, 120, 35, 60,
615 /* 1430 */ 61, 120, 102, 103, 120, 105, 120, 120, 120, 15,
616 /* 1440 */ 87, 17, 18, 90, 75, 21, 120, 23, 120, 120,
617 /* 1450 */ 97, 58, 28, 100, 101, 31, 32, 33, 120, 35,
618 /* 1460 */ 120, 120, 38, 120, 120, 120, 113, 82, 120, 120,
619 /* 1470 */ 120, 86, 120, 88, 120, 120, 91, 53, 54, 55,
620 /* 1480 */ 56, 57, 120, 120, 60, 61, 120, 102, 103, 120,
621 /* 1490 */ 105, 120, 120, 120, 15, 87, 17, 18, 90, 75,
622 /* 1500 */ 21, 120, 23, 120, 120, 97, 120, 28, 100, 101,
623 /* 1510 */ 31, 32, 33, 120, 35, 120, 87, 38, 120, 90,
624 /* 1520 */ 120, 113, 120, 120, 120, 120, 97, 120, 120, 100,
625 /* 1530 */ 101, 120, 53, 54, 55, 56, 57, 120, 120, 60,
626 /* 1540 */ 61, 120, 113, 120, 120, 120, 120, 120, 120, 15,
627 /* 1550 */ 120, 17, 18, 1, 75, 21, 120, 23, 120, 120,
628 /* 1560 */ 120, 120, 28, 120, 120, 31, 32, 33, 16, 35,
629 /* 1570 */ 120, 120, 38, 120, 22, 120, 120, 120, 120, 120,
630 /* 1580 */ 120, 29, 120, 120, 120, 120, 120, 53, 54, 55,
631 /* 1590 */ 56, 57, 120, 120, 60, 61, 120, 120, 120, 120,
632 /* 1600 */ 120, 120, 120, 51, 15, 120, 17, 18, 120, 75,
633 /* 1610 */ 21, 120, 23, 120, 120, 120, 120, 28, 120, 120,
634 /* 1620 */ 31, 32, 33, 120, 35, 120, 120, 38, 120, 120,
635 /* 1630 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
636 /* 1640 */ 120, 120, 53, 54, 55, 56, 57, 120, 120, 60,
637 /* 1650 */ 61, 120, 120, 120, 120, 120, 120, 120, 120, 15,
638 /* 1660 */ 120, 17, 18, 120, 75, 21, 120, 23, 120, 120,
639 /* 1670 */ 120, 120, 28, 120, 120, 31, 32, 33, 120, 35,
640 /* 1680 */ 120, 120, 38, 120, 120, 120, 120, 120, 120, 120,
641 /* 1690 */ 120, 120, 120, 120, 120, 120, 120, 53, 54, 55,
642 /* 1700 */ 56, 57, 120, 120, 60, 120, 120, 120, 120, 120,
643 /* 1710 */ 120, 120, 120, 120, 15, 120, 17, 18, 120, 75,
644 /* 1720 */ 21, 120, 23, 120, 120, 120, 120, 28, 120, 120,
645 /* 1730 */ 31, 32, 33, 120, 35, 120, 120, 38, 120, 120,
646 /* 1740 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
647 /* 1750 */ 120, 120, 53, 54, 55, 56, 57, 120, 120, 60,
648 /* 1760 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 16,
649 /* 1770 */ 120, 120, 120, 120, 75, 22, 120, 24, 120, 26,
650 /* 1780 */ 27, 120, 29, 120, 120, 120, 120, 34, 35, 36,
651 /* 1790 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
652 /* 1800 */ 120, 120, 120, 82, 51, 120, 120, 86, 120, 88,
653 /* 1810 */ 89, 58, 91, 120, 120, 62, 120, 120, 120, 98,
654 /* 1820 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 76,
655 /* 1830 */ 120, 120, 120, 120, 120, 120, 82, 116, 117, 120,
656 /* 1840 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120,
657 /* 1850 */ 120, 120, 98, 99, 120, 120, 102, 103, 82, 105,
658 /* 1860 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120,
659 /* 1870 */ 120, 117, 120, 120, 98, 99, 120, 120, 102, 103,
660 /* 1880 */ 120, 105, 120, 120, 120, 120, 82, 120, 120, 120,
661 /* 1890 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120,
662 /* 1900 */ 120, 120, 98, 99, 120, 120, 102, 103, 120, 105,
663 /* 1910 */ 120, 120, 82, 120, 120, 120, 86, 120, 88, 89,
664 /* 1920 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99,
665 /* 1930 */ 120, 120, 102, 103, 120, 105, 82, 120, 120, 120,
666 /* 1940 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120,
667 /* 1950 */ 120, 120, 98, 99, 82, 120, 102, 103, 86, 105,
668 /* 1960 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120,
669 /* 1970 */ 98, 99, 120, 120, 102, 103, 82, 105, 120, 120,
670 /* 1980 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120,
671 /* 1990 */ 120, 120, 98, 99, 120, 120, 102, 103, 120, 105,
672 /* 2000 */ 120, 82, 120, 120, 120, 86, 120, 88, 89, 120,
673 /* 2010 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82,
674 /* 2020 */ 120, 102, 103, 86, 105, 88, 89, 120, 91, 120,
675 /* 2030 */ 120, 120, 120, 120, 120, 98, 99, 82, 120, 102,
676 /* 2040 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120,
677 /* 2050 */ 120, 120, 120, 98, 99, 120, 120, 102, 103, 82,
678 /* 2060 */ 105, 120, 120, 86, 120, 88, 89, 120, 91, 120,
679 /* 2070 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
680 /* 2080 */ 103, 120, 105, 120, 82, 120, 120, 120, 86, 120,
681 /* 2090 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120,
682 /* 2100 */ 98, 99, 82, 120, 102, 103, 86, 105, 88, 89,
683 /* 2110 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99,
684 /* 2120 */ 82, 120, 102, 103, 86, 105, 88, 89, 120, 91,
685 /* 2130 */ 120, 120, 120, 120, 120, 120, 98, 99, 120, 120,
686 /* 2140 */ 102, 103, 82, 105, 120, 120, 86, 120, 88, 89,
687 /* 2150 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99,
688 /* 2160 */ 120, 120, 102, 103, 120, 105, 120, 82, 120, 120,
689 /* 2170 */ 120, 86, 120, 88, 89, 120, 91, 120, 120, 120,
690 /* 2180 */ 120, 120, 120, 98, 99, 82, 120, 102, 103, 86,
691 /* 2190 */ 105, 88, 89, 120, 91, 120, 120, 120, 120, 120,
692 /* 2200 */ 120, 98, 99, 82, 120, 102, 103, 86, 105, 88,
693 /* 2210 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98,
694 /* 2220 */ 99, 120, 120, 102, 103, 82, 105, 120, 120, 86,
695 /* 2230 */ 120, 88, 89, 120, 91, 120, 120, 120, 120, 120,
696 /* 2240 */ 120, 98, 99, 120, 120, 102, 103, 120, 105, 120,
697 /* 2250 */ 82, 120, 120, 120, 86, 120, 88, 89, 120, 91,
698 /* 2260 */ 120, 120, 120, 120, 120, 120, 98, 99, 82, 120,
699 /* 2270 */ 102, 103, 86, 105, 88, 89, 120, 91, 120, 120,
700 /* 2280 */ 120, 120, 120, 120, 98, 99, 82, 120, 102, 103,
701 /* 2290 */ 86, 105, 88, 89, 120, 91, 120, 120, 120, 120,
702 /* 2300 */ 120, 120, 98, 99, 120, 120, 102, 103, 82, 105,
703 /* 2310 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120,
704 /* 2320 */ 120, 120, 120, 120, 98, 99, 120, 120, 102, 103,
705 /* 2330 */ 120, 105, 120, 82, 120, 120, 120, 86, 120, 88,
706 /* 2340 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98,
707 /* 2350 */ 99, 82, 120, 102, 103, 86, 105, 88, 89, 120,
708 /* 2360 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82,
709 /* 2370 */ 120, 102, 103, 86, 105, 88, 89, 120, 91, 120,
710 /* 2380 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
711 /* 2390 */ 103, 82, 105, 120, 120, 86, 120, 88, 89, 120,
712 /* 2400 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120,
713 /* 2410 */ 120, 102, 103, 120, 105, 120, 82, 120, 120, 120,
714 /* 2420 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120,
715 /* 2430 */ 120, 120, 98, 99, 82, 120, 102, 103, 86, 105,
716 /* 2440 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120,
717 /* 2450 */ 98, 99, 82, 120, 102, 103, 86, 105, 88, 89,
718 /* 2460 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99,
719 /* 2470 */ 120, 120, 102, 103, 82, 105, 120, 120, 86, 120,
720 /* 2480 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120,
721 /* 2490 */ 98, 99, 120, 120, 102, 103, 120, 105, 120, 82,
722 /* 2500 */ 120, 120, 120, 86, 120, 88, 89, 120, 91, 120,
723 /* 2510 */ 120, 120, 120, 120, 120, 98, 99, 82, 120, 102,
724 /* 2520 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120,
725 /* 2530 */ 120, 120, 120, 98, 99, 82, 120, 102, 103, 86,
726 /* 2540 */ 105, 88, 82, 120, 91, 120, 86, 120, 88, 120,
727 /* 2550 */ 120, 91, 99, 120, 120, 102, 103, 120, 105, 99,
728 /* 2560 */ 120, 120, 102, 103, 120, 105,
730 const YY_SHIFT_USE_DFLT = -9;
731 const YY_SHIFT_MAX = 250;
732 static public $yy_shift_ofst = array(
733 /* 0 */ 1, 1424, 1259, 1149, 1259, 1149, 1149, 1424, 1094, 1149,
734 /* 10 */ 1149, 1479, 1149, 1589, 1534, 1149, 1149, 1149, 1314, 1149,
735 /* 20 */ 1149, 1149, 1149, 1149, 1369, 1149, 1149, 1149, 1149, 1314,
736 /* 30 */ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
737 /* 40 */ 1149, 1149, 1369, 1149, 1204, 1204, 1644, 1699, 1699, 1699,
738 /* 50 */ 1699, 1699, 1699, 147, 221, -1, 73, 718, 718, 718,
739 /* 60 */ 768, 818, 644, 594, 345, 271, 419, 942, 469, 520,
740 /* 70 */ 868, 992, 992, 992, 992, 992, 992, 992, 992, 992,
741 /* 80 */ 992, 992, 992, 992, 992, 992, 992, 992, 992, 992,
742 /* 90 */ 1030, 1030, 1393, 1357, 233, 1, 1278, 150, 5, 308,
743 /* 100 */ 308, 311, 358, 310, 233, 44, 233, 1168, 46, 1552,
744 /* 110 */ 263, 1247, 226, 231, 71, 16, -2, 299, 182, 181,
745 /* 120 */ 282, 163, 719, 459, 560, 532, 44, 460, 559, 581,
746 /* 130 */ 460, 460, 460, 44, 563, 460, 632, 586, 548, 532,
747 /* 140 */ 459, 460, 460, 460, 460, 701, 701, 701, 683, 700,
748 /* 150 */ 701, 701, 701, 701, 684, 701, 684, -9, 66, 111,
749 /* 160 */ 3, 357, 359, 382, 381, 606, 439, 417, 509, 439,
750 /* 170 */ 439, 530, 508, 458, 207, 431, 480, 507, 506, 483,
751 /* 180 */ 439, 457, 432, 439, 529, 433, 385, 383, 727, 684,
752 /* 190 */ 701, 684, 727, 701, 684, 538, 222, -8, -8, -9,
753 /* 200 */ -9, -9, -9, 1753, 72, 116, 216, 120, 123, 74,
754 /* 210 */ 74, 141, 552, 32, 315, 306, 329, 90, 413, 366,
755 /* 220 */ 682, 616, 657, 659, 658, 655, 656, 661, 662, 641,
756 /* 230 */ 681, 680, 640, 695, 654, 652, 621, 602, 571, 557,
757 /* 240 */ 324, 538, 608, 307, 630, 595, 653, 619, 626, 623,
760 const YY_REDUCE_USE_DFLT = -81;
761 const YY_REDUCE_MAX = 202;
762 static public $yy_reduce_ofst = array(
763 /* 0 */ 22, 1721, 68, 339, 266, -6, 142, 1754, 862, 2020,
764 /* 10 */ 514, 1977, 1776, 2103, 1919, 1872, 1804, 1830, 2121, 2392,
765 /* 20 */ 2186, 2287, 2269, 2168, 2435, 2143, 639, 1955, 2085, 1937,
766 /* 30 */ 1032, 2060, 2038, 1894, 1854, 2002, 2352, 2417, 2370, 2334,
767 /* 40 */ 2204, 2226, 2251, 2309, 2460, 2453, 1071, 1126, 1275, 1385,
768 /* 50 */ 1330, 1236, 1165, 1353, 1408, 1243, 1429, 1298, 1133, 1353,
769 /* 60 */ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
770 /* 70 */ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
771 /* 80 */ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
772 /* 90 */ 61, 61, 186, 139, 112, -80, 214, -10, 342, 337,
773 /* 100 */ 269, 96, 309, 335, 384, 210, 407, 490, -57, -35,
774 /* 110 */ 270, -35, -35, 628, 270, 270, 170, -35, 528, 170,
775 /* 120 */ 528, 466, -35, 444, 170, 513, 435, 561, 519, 463,
776 /* 130 */ 519, 637, 395, 537, 861, 631, 533, 519, -35, 519,
777 /* 140 */ 542, 860, 685, 638, 503, -35, -35, -35, 346, 349,
778 /* 150 */ -35, -35, -35, -35, 170, -35, 196, -35, 635, 636,
779 /* 160 */ 604, 604, 604, 604, 604, 618, 599, 642, 604, 599,
780 /* 170 */ 599, 604, 604, 604, 618, 604, 604, 604, 604, 604,
781 /* 180 */ 599, 604, 604, 599, 604, 604, 604, 604, 634, 624,
782 /* 190 */ 618, 624, 634, 618, 624, 617, 43, -64, 159, 21,
783 /* 200 */ 169, 151, 183,
785 static public $yyExpectedTokens = array(
786 /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ),
787 /* 1 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
788 /* 2 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
789 /* 3 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
790 /* 4 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
791 /* 5 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
792 /* 6 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
793 /* 7 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
794 /* 8 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 62, 75, ),
795 /* 9 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
796 /* 10 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
797 /* 11 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
798 /* 12 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
799 /* 13 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
800 /* 14 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
801 /* 15 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
802 /* 16 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
803 /* 17 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
804 /* 18 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
805 /* 19 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
806 /* 20 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
807 /* 21 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
808 /* 22 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
809 /* 23 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
810 /* 24 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
811 /* 25 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
812 /* 26 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
813 /* 27 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
814 /* 28 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
815 /* 29 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
816 /* 30 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
817 /* 31 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
818 /* 32 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
819 /* 33 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
820 /* 34 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
821 /* 35 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
822 /* 36 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
823 /* 37 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
824 /* 38 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
825 /* 39 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
826 /* 40 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
827 /* 41 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
828 /* 42 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
829 /* 43 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
830 /* 44 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
831 /* 45 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
832 /* 46 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
833 /* 47 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
834 /* 48 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
835 /* 49 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
836 /* 50 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
837 /* 51 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
838 /* 52 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
839 /* 53 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
840 /* 54 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
841 /* 55 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
842 /* 56 */ array(1, 22, 27, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
843 /* 57 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
844 /* 58 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
845 /* 59 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
846 /* 60 */ array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
847 /* 61 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
848 /* 62 */ array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
849 /* 63 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
850 /* 64 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
851 /* 65 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, ),
852 /* 66 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
853 /* 67 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
854 /* 68 */ array(1, 29, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
855 /* 69 */ array(1, 24, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
856 /* 70 */ array(1, 2, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
857 /* 71 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
858 /* 72 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
859 /* 73 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
860 /* 74 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
861 /* 75 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
862 /* 76 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
863 /* 77 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
864 /* 78 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
865 /* 79 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
866 /* 80 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
867 /* 81 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
868 /* 82 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
869 /* 83 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
870 /* 84 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
871 /* 85 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
872 /* 86 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
873 /* 87 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
874 /* 88 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
875 /* 89 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
876 /* 90 */ array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
877 /* 91 */ array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
878 /* 92 */ array(1, 16, 20, 22, 35, 58, ),
879 /* 93 */ array(1, 16, 22, 51, ),
880 /* 94 */ array(1, 22, ),
881 /* 95 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ),
882 /* 96 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ),
883 /* 97 */ array(15, 18, 22, 30, ),
884 /* 98 */ array(15, 18, 22, 30, ),
885 /* 99 */ array(15, 18, 22, ),
886 /* 100 */ array(15, 18, 22, ),
887 /* 101 */ array(20, 56, 61, ),
888 /* 102 */ array(1, 16, 22, ),
889 /* 103 */ array(17, 18, 60, ),
890 /* 104 */ array(1, 22, ),
891 /* 105 */ array(17, 35, ),
892 /* 106 */ array(1, 22, ),
893 /* 107 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ),
894 /* 108 */ array(4, 5, 6, 7, 8, 12, 13, 14, ),
895 /* 109 */ array(1, 16, 22, 29, 51, ),
896 /* 110 */ array(15, 18, 19, 59, ),
897 /* 111 */ array(1, 16, 22, 51, ),
898 /* 112 */ array(1, 16, 22, 51, ),
899 /* 113 */ array(15, 18, 19, 25, ),
900 /* 114 */ array(15, 18, 19, ),
901 /* 115 */ array(15, 18, 59, ),
902 /* 116 */ array(19, 20, 58, ),
903 /* 117 */ array(1, 30, 51, ),
904 /* 118 */ array(16, 22, 25, ),
905 /* 119 */ array(19, 20, 58, ),
906 /* 120 */ array(16, 22, 25, ),
907 /* 121 */ array(1, 16, 20, ),
908 /* 122 */ array(1, 16, 51, ),
909 /* 123 */ array(17, 18, ),
910 /* 124 */ array(20, 58, ),
911 /* 125 */ array(15, 18, ),
912 /* 126 */ array(17, 35, ),
913 /* 127 */ array(15, 18, ),
914 /* 128 */ array(15, 18, ),
915 /* 129 */ array(1, 16, ),
916 /* 130 */ array(15, 18, ),
917 /* 131 */ array(15, 18, ),
918 /* 132 */ array(15, 18, ),
919 /* 133 */ array(17, 35, ),
920 /* 134 */ array(15, 18, ),
921 /* 135 */ array(15, 18, ),
922 /* 136 */ array(16, 22, ),
923 /* 137 */ array(15, 18, ),
924 /* 138 */ array(1, 51, ),
925 /* 139 */ array(15, 18, ),
926 /* 140 */ array(17, 18, ),
927 /* 141 */ array(15, 18, ),
928 /* 142 */ array(15, 18, ),
929 /* 143 */ array(15, 18, ),
930 /* 144 */ array(15, 18, ),
931 /* 145 */ array(1, ),
932 /* 146 */ array(1, ),
933 /* 147 */ array(1, ),
934 /* 148 */ array(22, ),
935 /* 149 */ array(22, ),
936 /* 150 */ array(1, ),
937 /* 151 */ array(1, ),
938 /* 152 */ array(1, ),
939 /* 153 */ array(1, ),
940 /* 154 */ array(20, ),
941 /* 155 */ array(1, ),
942 /* 156 */ array(20, ),
944 /* 158 */ array(15, 18, 59, ),
945 /* 159 */ array(15, 17, 18, ),
946 /* 160 */ array(16, 22, ),
947 /* 161 */ array(16, 22, ),
948 /* 162 */ array(16, 22, ),
949 /* 163 */ array(16, 22, ),
950 /* 164 */ array(16, 22, ),
951 /* 165 */ array(1, 16, ),
952 /* 166 */ array(56, 61, ),
953 /* 167 */ array(15, 35, ),
954 /* 168 */ array(16, 22, ),
955 /* 169 */ array(56, 61, ),
956 /* 170 */ array(56, 61, ),
957 /* 171 */ array(16, 22, ),
958 /* 172 */ array(16, 22, ),
959 /* 173 */ array(16, 22, ),
960 /* 174 */ array(1, 16, ),
961 /* 175 */ array(16, 22, ),
962 /* 176 */ array(16, 22, ),
963 /* 177 */ array(16, 22, ),
964 /* 178 */ array(16, 22, ),
965 /* 179 */ array(16, 22, ),
966 /* 180 */ array(56, 61, ),
967 /* 181 */ array(16, 22, ),
968 /* 182 */ array(16, 22, ),
969 /* 183 */ array(56, 61, ),
970 /* 184 */ array(16, 22, ),
971 /* 185 */ array(16, 22, ),
972 /* 186 */ array(16, 22, ),
973 /* 187 */ array(16, 22, ),
974 /* 188 */ array(2, ),
975 /* 189 */ array(20, ),
976 /* 190 */ array(1, ),
977 /* 191 */ array(20, ),
978 /* 192 */ array(2, ),
979 /* 193 */ array(1, ),
980 /* 194 */ array(20, ),
981 /* 195 */ array(35, ),
982 /* 196 */ array(13, ),
983 /* 197 */ array(22, ),
984 /* 198 */ array(22, ),
989 /* 203 */ array(16, 22, 24, 26, 27, 29, 34, 35, 36, 51, 58, 62, 76, ),
990 /* 204 */ array(16, 19, 22, 35, 58, ),
991 /* 205 */ array(15, 17, 18, 33, ),
992 /* 206 */ array(16, 22, 35, 58, ),
993 /* 207 */ array(35, 56, 58, 62, ),
994 /* 208 */ array(30, 35, 58, ),
995 /* 209 */ array(35, 58, ),
996 /* 210 */ array(35, 58, ),
997 /* 211 */ array(34, 36, ),
998 /* 212 */ array(2, 19, ),
999 /* 213 */ array(25, 76, ),
1000 /* 214 */ array(34, 36, ),
1001 /* 215 */ array(19, 56, ),
1002 /* 216 */ array(24, 34, ),
1003 /* 217 */ array(34, 62, ),
1004 /* 218 */ array(18, 59, ),
1005 /* 219 */ array(34, 36, ),
1006 /* 220 */ array(18, ),
1007 /* 221 */ array(60, ),
1008 /* 222 */ array(22, ),
1009 /* 223 */ array(18, ),
1010 /* 224 */ array(17, ),
1011 /* 225 */ array(18, ),
1012 /* 226 */ array(18, ),
1013 /* 227 */ array(17, ),
1014 /* 228 */ array(33, ),
1015 /* 229 */ array(62, ),
1016 /* 230 */ array(18, ),
1017 /* 231 */ array(18, ),
1018 /* 232 */ array(56, ),
1019 /* 233 */ array(2, ),
1020 /* 234 */ array(18, ),
1021 /* 235 */ array(19, ),
1022 /* 236 */ array(2, ),
1023 /* 237 */ array(22, ),
1024 /* 238 */ array(35, ),
1025 /* 239 */ array(18, ),
1026 /* 240 */ array(36, ),
1027 /* 241 */ array(35, ),
1028 /* 242 */ array(18, ),
1029 /* 243 */ array(17, ),
1030 /* 244 */ array(17, ),
1031 /* 245 */ array(60, ),
1032 /* 246 */ array(17, ),
1033 /* 247 */ array(33, ),
1034 /* 248 */ array(25, ),
1035 /* 249 */ array(26, ),
1036 /* 250 */ array(52, ),
1170 static public $yy_default = array(
1171 /* 0 */ 386, 565, 582, 536, 582, 536, 536, 582, 582, 582,
1172 /* 10 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
1173 /* 20 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
1174 /* 30 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
1175 /* 40 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
1176 /* 50 */ 582, 582, 582, 582, 582, 582, 444, 444, 444, 444,
1177 /* 60 */ 582, 582, 582, 582, 582, 582, 582, 582, 449, 582,
1178 /* 70 */ 582, 446, 535, 428, 534, 566, 567, 478, 477, 468,
1179 /* 80 */ 465, 449, 568, 455, 469, 474, 473, 470, 454, 451,
1180 /* 90 */ 482, 481, 493, 457, 444, 383, 582, 444, 444, 444,
1181 /* 100 */ 444, 548, 464, 582, 444, 582, 444, 582, 582, 457,
1182 /* 110 */ 509, 457, 457, 582, 509, 509, 502, 457, 483, 502,
1183 /* 120 */ 483, 582, 457, 582, 502, 582, 582, 582, 582, 582,
1184 /* 130 */ 582, 582, 509, 582, 582, 582, 582, 582, 457, 582,
1185 /* 140 */ 582, 582, 582, 582, 582, 480, 461, 484, 444, 444,
1186 /* 150 */ 486, 485, 462, 467, 502, 460, 545, 543, 510, 582,
1187 /* 160 */ 582, 582, 582, 582, 582, 582, 527, 509, 582, 526,
1188 /* 170 */ 529, 582, 582, 582, 582, 582, 582, 582, 582, 582,
1189 /* 180 */ 507, 582, 582, 528, 582, 582, 582, 582, 537, 523,
1190 /* 190 */ 501, 546, 538, 464, 549, 509, 401, 581, 581, 542,
1191 /* 200 */ 509, 509, 542, 459, 493, 582, 493, 493, 493, 493,
1192 /* 210 */ 479, 582, 521, 483, 582, 489, 582, 582, 582, 582,
1193 /* 220 */ 582, 582, 582, 582, 582, 582, 582, 582, 491, 582,
1194 /* 230 */ 582, 582, 489, 521, 582, 582, 521, 582, 547, 582,
1195 /* 240 */ 582, 521, 582, 582, 582, 582, 582, 582, 483, 452,
1196 /* 250 */ 495, 544, 514, 516, 515, 518, 495, 531, 532, 409,
1197 /* 260 */ 395, 431, 394, 425, 396, 430, 398, 456, 397, 426,
1198 /* 270 */ 393, 387, 385, 384, 388, 389, 392, 391, 390, 399,
1199 /* 280 */ 400, 435, 442, 436, 410, 423, 424, 441, 443, 522,
1200 /* 290 */ 408, 407, 404, 403, 402, 405, 453, 429, 580, 406,
1201 /* 300 */ 440, 573, 558, 559, 560, 561, 557, 556, 553, 554,
1202 /* 310 */ 555, 463, 492, 540, 539, 411, 525, 488, 490, 500,
1203 /* 320 */ 504, 552, 551, 508, 503, 459, 466, 499, 496, 497,
1204 /* 330 */ 511, 471, 472, 498, 513, 550, 512, 476, 519, 458,
1205 /* 340 */ 475, 576, 487, 575, 578, 579, 572, 574, 494, 434,
1206 /* 350 */ 570, 571, 433, 562, 530, 505, 506, 427, 533, 564,
1207 /* 360 */ 563, 432, 569, 421, 415, 416, 439, 414, 541, 412,
1208 /* 370 */ 413, 577, 438, 417, 521, 422, 520, 420, 437, 524,
1209 /* 380 */ 418, 419, 517,
1211 const YYNOCODE = 121;
1212 const YYSTACKDEPTH = 100;
1213 const YYNSTATE = 383;
1214 const YYNRULE = 199;
1215 const YYERRORSYMBOL = 78;
1216 const YYERRSYMDT = 'yy0';
1217 const YYFALLBACK = 0;
1218 static public $yyFallback = array(
1220 static function Trace($TraceFILE, $zTracePrompt)
1224 } elseif (!$zTracePrompt) {
1227 self::$yyTraceFILE = $TraceFILE;
1228 self::$yyTracePrompt = $zTracePrompt;
1231 static function PrintTrace()
1233 self::$yyTraceFILE = fopen('php://output', 'w');
1234 self::$yyTracePrompt = '<br>';
1237 static public $yyTraceFILE;
1238 static public $yyTracePrompt;
1239 public $yyidx; /* Index of top element in stack */
1240 public $yyerrcnt; /* Shifts left before out of the error */
1241 public $yystack = array(); /* The parser's stack */
1243 public $yyTokenName = array(
1244 '$', 'VERT', 'COLON', 'COMMENT',
1245 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG', 'ASPENDTAG',
1246 'FAKEPHPSTARTTAG', 'XMLTAG', 'OTHER', 'LINEBREAK',
1247 'LITERALSTART', 'LITERALEND', 'LITERAL', 'LDEL',
1248 'RDEL', 'DOLLAR', 'ID', 'EQUAL',
1249 'PTR', 'LDELIF', 'SPACE', 'LDELFOR',
1250 'SEMICOLON', 'INCDEC', 'TO', 'STEP',
1251 'LDELFOREACH', 'AS', 'APTR', 'SMARTYBLOCKCHILD',
1252 'LDELSLASH', 'INTEGER', 'COMMA', 'OPENP',
1253 'CLOSEP', 'MATH', 'UNIMATH', 'ANDSYM',
1254 'ISIN', 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN',
1255 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', 'ISODD',
1256 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF',
1257 'QMARK', 'NOT', 'TYPECAST', 'HEX',
1258 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT',
1259 'HATCH', 'OPENB', 'CLOSEB', 'EQUALS',
1260 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL',
1261 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD',
1262 'LAND', 'LOR', 'LXOR', 'QUOTE',
1263 'BACKTICK', 'DOLLARID', 'error', 'start',
1264 'template', 'template_element', 'smartytag', 'literal',
1265 'literal_elements', 'literal_element', 'value', 'attributes',
1266 'variable', 'expr', 'modifierlist', 'varindexed',
1267 'statement', 'statements', 'optspace', 'varvar',
1268 'foraction', 'attribute', 'ternary', 'array',
1269 'ifcond', 'lop', 'function', 'doublequoted_with_quotes',
1270 'static_class_access', 'object', 'arrayindex', 'indexdef',
1271 'varvarele', 'objectchain', 'objectelement', 'method',
1272 'params', 'modifier', 'modparameters', 'modparameter',
1273 'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent',
1276 static public $yyRuleName = array(
1277 /* 0 */ "start ::= template",
1278 /* 1 */ "template ::= template_element",
1279 /* 2 */ "template ::= template template_element",
1280 /* 3 */ "template ::=",
1281 /* 4 */ "template_element ::= smartytag",
1282 /* 5 */ "template_element ::= COMMENT",
1283 /* 6 */ "template_element ::= literal",
1284 /* 7 */ "template_element ::= PHPSTARTTAG",
1285 /* 8 */ "template_element ::= PHPENDTAG",
1286 /* 9 */ "template_element ::= ASPSTARTTAG",
1287 /* 10 */ "template_element ::= ASPENDTAG",
1288 /* 11 */ "template_element ::= FAKEPHPSTARTTAG",
1289 /* 12 */ "template_element ::= XMLTAG",
1290 /* 13 */ "template_element ::= OTHER",
1291 /* 14 */ "template_element ::= LINEBREAK",
1292 /* 15 */ "literal ::= LITERALSTART LITERALEND",
1293 /* 16 */ "literal ::= LITERALSTART literal_elements LITERALEND",
1294 /* 17 */ "literal_elements ::= literal_elements literal_element",
1295 /* 18 */ "literal_elements ::=",
1296 /* 19 */ "literal_element ::= literal",
1297 /* 20 */ "literal_element ::= LITERAL",
1298 /* 21 */ "literal_element ::= PHPSTARTTAG",
1299 /* 22 */ "literal_element ::= FAKEPHPSTARTTAG",
1300 /* 23 */ "literal_element ::= PHPENDTAG",
1301 /* 24 */ "literal_element ::= ASPSTARTTAG",
1302 /* 25 */ "literal_element ::= ASPENDTAG",
1303 /* 26 */ "smartytag ::= LDEL value RDEL",
1304 /* 27 */ "smartytag ::= LDEL value attributes RDEL",
1305 /* 28 */ "smartytag ::= LDEL variable attributes RDEL",
1306 /* 29 */ "smartytag ::= LDEL expr modifierlist attributes RDEL",
1307 /* 30 */ "smartytag ::= LDEL expr attributes RDEL",
1308 /* 31 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL",
1309 /* 32 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL",
1310 /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL",
1311 /* 34 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL",
1312 /* 35 */ "smartytag ::= LDEL ID attributes RDEL",
1313 /* 36 */ "smartytag ::= LDEL ID RDEL",
1314 /* 37 */ "smartytag ::= LDEL ID PTR ID attributes RDEL",
1315 /* 38 */ "smartytag ::= LDEL ID modifierlist attributes RDEL",
1316 /* 39 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL",
1317 /* 40 */ "smartytag ::= LDELIF SPACE expr RDEL",
1318 /* 41 */ "smartytag ::= LDELIF SPACE expr attributes RDEL",
1319 /* 42 */ "smartytag ::= LDELIF SPACE statement RDEL",
1320 /* 43 */ "smartytag ::= LDELIF SPACE statement attributes RDEL",
1321 /* 44 */ "smartytag ::= LDELFOR SPACE statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes RDEL",
1322 /* 45 */ "foraction ::= EQUAL expr",
1323 /* 46 */ "foraction ::= INCDEC",
1324 /* 47 */ "smartytag ::= LDELFOR SPACE statement TO expr attributes RDEL",
1325 /* 48 */ "smartytag ::= LDELFOR SPACE statement TO expr STEP expr attributes RDEL",
1326 /* 49 */ "smartytag ::= LDELFOREACH attributes RDEL",
1327 /* 50 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes RDEL",
1328 /* 51 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
1329 /* 52 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes RDEL",
1330 /* 53 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
1331 /* 54 */ "smartytag ::= SMARTYBLOCKCHILD",
1332 /* 55 */ "smartytag ::= LDELSLASH ID RDEL",
1333 /* 56 */ "smartytag ::= LDELSLASH ID modifierlist RDEL",
1334 /* 57 */ "smartytag ::= LDELSLASH ID PTR ID RDEL",
1335 /* 58 */ "smartytag ::= LDELSLASH ID PTR ID modifierlist RDEL",
1336 /* 59 */ "attributes ::= attributes attribute",
1337 /* 60 */ "attributes ::= attribute",
1338 /* 61 */ "attributes ::=",
1339 /* 62 */ "attribute ::= SPACE ID EQUAL ID",
1340 /* 63 */ "attribute ::= SPACE ID EQUAL expr",
1341 /* 64 */ "attribute ::= SPACE ID EQUAL value",
1342 /* 65 */ "attribute ::= SPACE ID",
1343 /* 66 */ "attribute ::= SPACE expr",
1344 /* 67 */ "attribute ::= SPACE value",
1345 /* 68 */ "attribute ::= SPACE INTEGER EQUAL expr",
1346 /* 69 */ "statements ::= statement",
1347 /* 70 */ "statements ::= statements COMMA statement",
1348 /* 71 */ "statement ::= DOLLAR varvar EQUAL expr",
1349 /* 72 */ "statement ::= varindexed EQUAL expr",
1350 /* 73 */ "statement ::= OPENP statement CLOSEP",
1351 /* 74 */ "expr ::= value",
1352 /* 75 */ "expr ::= ternary",
1353 /* 76 */ "expr ::= DOLLAR ID COLON ID",
1354 /* 77 */ "expr ::= expr MATH value",
1355 /* 78 */ "expr ::= expr UNIMATH value",
1356 /* 79 */ "expr ::= expr ANDSYM value",
1357 /* 80 */ "expr ::= array",
1358 /* 81 */ "expr ::= expr modifierlist",
1359 /* 82 */ "expr ::= expr ifcond expr",
1360 /* 83 */ "expr ::= expr ISIN array",
1361 /* 84 */ "expr ::= expr ISIN value",
1362 /* 85 */ "expr ::= expr lop expr",
1363 /* 86 */ "expr ::= expr ISDIVBY expr",
1364 /* 87 */ "expr ::= expr ISNOTDIVBY expr",
1365 /* 88 */ "expr ::= expr ISEVEN",
1366 /* 89 */ "expr ::= expr ISNOTEVEN",
1367 /* 90 */ "expr ::= expr ISEVENBY expr",
1368 /* 91 */ "expr ::= expr ISNOTEVENBY expr",
1369 /* 92 */ "expr ::= expr ISODD",
1370 /* 93 */ "expr ::= expr ISNOTODD",
1371 /* 94 */ "expr ::= expr ISODDBY expr",
1372 /* 95 */ "expr ::= expr ISNOTODDBY expr",
1373 /* 96 */ "expr ::= value INSTANCEOF ID",
1374 /* 97 */ "expr ::= value INSTANCEOF value",
1375 /* 98 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
1376 /* 99 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
1377 /* 100 */ "value ::= variable",
1378 /* 101 */ "value ::= UNIMATH value",
1379 /* 102 */ "value ::= NOT value",
1380 /* 103 */ "value ::= TYPECAST value",
1381 /* 104 */ "value ::= variable INCDEC",
1382 /* 105 */ "value ::= HEX",
1383 /* 106 */ "value ::= INTEGER",
1384 /* 107 */ "value ::= INTEGER DOT INTEGER",
1385 /* 108 */ "value ::= INTEGER DOT",
1386 /* 109 */ "value ::= DOT INTEGER",
1387 /* 110 */ "value ::= ID",
1388 /* 111 */ "value ::= function",
1389 /* 112 */ "value ::= OPENP expr CLOSEP",
1390 /* 113 */ "value ::= SINGLEQUOTESTRING",
1391 /* 114 */ "value ::= doublequoted_with_quotes",
1392 /* 115 */ "value ::= ID DOUBLECOLON static_class_access",
1393 /* 116 */ "value ::= varindexed DOUBLECOLON static_class_access",
1394 /* 117 */ "value ::= smartytag",
1395 /* 118 */ "value ::= value modifierlist",
1396 /* 119 */ "variable ::= varindexed",
1397 /* 120 */ "variable ::= DOLLAR varvar AT ID",
1398 /* 121 */ "variable ::= object",
1399 /* 122 */ "variable ::= HATCH ID HATCH",
1400 /* 123 */ "variable ::= HATCH variable HATCH",
1401 /* 124 */ "varindexed ::= DOLLAR varvar arrayindex",
1402 /* 125 */ "arrayindex ::= arrayindex indexdef",
1403 /* 126 */ "arrayindex ::=",
1404 /* 127 */ "indexdef ::= DOT DOLLAR varvar",
1405 /* 128 */ "indexdef ::= DOT DOLLAR varvar AT ID",
1406 /* 129 */ "indexdef ::= DOT ID",
1407 /* 130 */ "indexdef ::= DOT INTEGER",
1408 /* 131 */ "indexdef ::= DOT LDEL expr RDEL",
1409 /* 132 */ "indexdef ::= OPENB ID CLOSEB",
1410 /* 133 */ "indexdef ::= OPENB ID DOT ID CLOSEB",
1411 /* 134 */ "indexdef ::= OPENB expr CLOSEB",
1412 /* 135 */ "indexdef ::= OPENB CLOSEB",
1413 /* 136 */ "varvar ::= varvarele",
1414 /* 137 */ "varvar ::= varvar varvarele",
1415 /* 138 */ "varvarele ::= ID",
1416 /* 139 */ "varvarele ::= LDEL expr RDEL",
1417 /* 140 */ "object ::= varindexed objectchain",
1418 /* 141 */ "objectchain ::= objectelement",
1419 /* 142 */ "objectchain ::= objectchain objectelement",
1420 /* 143 */ "objectelement ::= PTR ID arrayindex",
1421 /* 144 */ "objectelement ::= PTR DOLLAR varvar arrayindex",
1422 /* 145 */ "objectelement ::= PTR LDEL expr RDEL arrayindex",
1423 /* 146 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
1424 /* 147 */ "objectelement ::= PTR method",
1425 /* 148 */ "function ::= ID OPENP params CLOSEP",
1426 /* 149 */ "method ::= ID OPENP params CLOSEP",
1427 /* 150 */ "method ::= DOLLAR ID OPENP params CLOSEP",
1428 /* 151 */ "params ::= params COMMA expr",
1429 /* 152 */ "params ::= expr",
1430 /* 153 */ "params ::=",
1431 /* 154 */ "modifierlist ::= modifierlist modifier modparameters",
1432 /* 155 */ "modifierlist ::= modifier modparameters",
1433 /* 156 */ "modifier ::= VERT AT ID",
1434 /* 157 */ "modifier ::= VERT ID",
1435 /* 158 */ "modparameters ::= modparameters modparameter",
1436 /* 159 */ "modparameters ::=",
1437 /* 160 */ "modparameter ::= COLON value",
1438 /* 161 */ "modparameter ::= COLON array",
1439 /* 162 */ "static_class_access ::= method",
1440 /* 163 */ "static_class_access ::= method objectchain",
1441 /* 164 */ "static_class_access ::= ID",
1442 /* 165 */ "static_class_access ::= DOLLAR ID arrayindex",
1443 /* 166 */ "static_class_access ::= DOLLAR ID arrayindex objectchain",
1444 /* 167 */ "ifcond ::= EQUALS",
1445 /* 168 */ "ifcond ::= NOTEQUALS",
1446 /* 169 */ "ifcond ::= GREATERTHAN",
1447 /* 170 */ "ifcond ::= LESSTHAN",
1448 /* 171 */ "ifcond ::= GREATEREQUAL",
1449 /* 172 */ "ifcond ::= LESSEQUAL",
1450 /* 173 */ "ifcond ::= IDENTITY",
1451 /* 174 */ "ifcond ::= NONEIDENTITY",
1452 /* 175 */ "ifcond ::= MOD",
1453 /* 176 */ "lop ::= LAND",
1454 /* 177 */ "lop ::= LOR",
1455 /* 178 */ "lop ::= LXOR",
1456 /* 179 */ "array ::= OPENB arrayelements CLOSEB",
1457 /* 180 */ "arrayelements ::= arrayelement",
1458 /* 181 */ "arrayelements ::= arrayelements COMMA arrayelement",
1459 /* 182 */ "arrayelements ::=",
1460 /* 183 */ "arrayelement ::= value APTR expr",
1461 /* 184 */ "arrayelement ::= ID APTR expr",
1462 /* 185 */ "arrayelement ::= expr",
1463 /* 186 */ "doublequoted_with_quotes ::= QUOTE QUOTE",
1464 /* 187 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
1465 /* 188 */ "doublequoted ::= doublequoted doublequotedcontent",
1466 /* 189 */ "doublequoted ::= doublequotedcontent",
1467 /* 190 */ "doublequotedcontent ::= BACKTICK variable BACKTICK",
1468 /* 191 */ "doublequotedcontent ::= BACKTICK expr BACKTICK",
1469 /* 192 */ "doublequotedcontent ::= DOLLARID",
1470 /* 193 */ "doublequotedcontent ::= LDEL variable RDEL",
1471 /* 194 */ "doublequotedcontent ::= LDEL expr RDEL",
1472 /* 195 */ "doublequotedcontent ::= smartytag",
1473 /* 196 */ "doublequotedcontent ::= OTHER",
1474 /* 197 */ "optspace ::= SPACE",
1475 /* 198 */ "optspace ::=",
1478 function tokenName($tokenType)
1480 if ($tokenType === 0) {
1481 return 'End of Input';
1483 if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
1484 return $this->yyTokenName[$tokenType];
1490 static function yy_destructor($yymajor, $yypminor)
1493 default: break; /* If no destructor action specified: do nothing */
1497 function yy_pop_parser_stack()
1499 if (!count($this->yystack)) {
1502 $yytos = array_pop($this->yystack);
1503 if (self::$yyTraceFILE && $this->yyidx >= 0) {
1504 fwrite(self::$yyTraceFILE,
1505 self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
1508 $yymajor = $yytos->major;
1509 self::yy_destructor($yymajor, $yytos->minor);
1514 function __destruct()
1516 while ($this->yystack !== Array()) {
1517 $this->yy_pop_parser_stack();
1519 if (is_resource(self::$yyTraceFILE)) {
1520 fclose(self::$yyTraceFILE);
1524 function yy_get_expected_tokens($token)
1526 $state = $this->yystack[$this->yyidx]->stateno;
1527 $expected = self::$yyExpectedTokens[$state];
1528 if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1531 $stack = $this->yystack;
1532 $yyidx = $this->yyidx;
1534 $yyact = $this->yy_find_shift_action($token);
1535 if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1539 if ($done++ == 100) {
1540 $this->yyidx = $yyidx;
1541 $this->yystack = $stack;
1542 // too much recursion prevents proper detection
1544 return array_unique($expected);
1546 $yyruleno = $yyact - self::YYNSTATE;
1547 $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
1548 $nextstate = $this->yy_find_reduce_action(
1549 $this->yystack[$this->yyidx]->stateno,
1550 self::$yyRuleInfo[$yyruleno]['lhs']);
1551 if (isset(self::$yyExpectedTokens[$nextstate])) {
1552 $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
1553 if (in_array($token,
1554 self::$yyExpectedTokens[$nextstate], true)) {
1555 $this->yyidx = $yyidx;
1556 $this->yystack = $stack;
1557 return array_unique($expected);
1560 if ($nextstate < self::YYNSTATE) {
1561 // we need to shift a non-terminal
1563 $x = new TP_yyStackEntry;
1564 $x->stateno = $nextstate;
1565 $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
1566 $this->yystack[$this->yyidx] = $x;
1568 } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1569 $this->yyidx = $yyidx;
1570 $this->yystack = $stack;
1571 // the last token was just ignored, we can't accept
1572 // by ignoring input, this is in essence ignoring a
1574 return array_unique($expected);
1575 } elseif ($nextstate === self::YY_NO_ACTION) {
1576 $this->yyidx = $yyidx;
1577 $this->yystack = $stack;
1578 // input accepted, but not shifted (I guess)
1581 $yyact = $nextstate;
1587 $this->yyidx = $yyidx;
1588 $this->yystack = $stack;
1589 return array_unique($expected);
1592 function yy_is_expected_token($token)
1595 return true; // 0 is not part of this
1597 $state = $this->yystack[$this->yyidx]->stateno;
1598 if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1601 $stack = $this->yystack;
1602 $yyidx = $this->yyidx;
1604 $yyact = $this->yy_find_shift_action($token);
1605 if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1609 if ($done++ == 100) {
1610 $this->yyidx = $yyidx;
1611 $this->yystack = $stack;
1612 // too much recursion prevents proper detection
1616 $yyruleno = $yyact - self::YYNSTATE;
1617 $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
1618 $nextstate = $this->yy_find_reduce_action(
1619 $this->yystack[$this->yyidx]->stateno,
1620 self::$yyRuleInfo[$yyruleno]['lhs']);
1621 if (isset(self::$yyExpectedTokens[$nextstate]) &&
1622 in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
1623 $this->yyidx = $yyidx;
1624 $this->yystack = $stack;
1627 if ($nextstate < self::YYNSTATE) {
1628 // we need to shift a non-terminal
1630 $x = new TP_yyStackEntry;
1631 $x->stateno = $nextstate;
1632 $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
1633 $this->yystack[$this->yyidx] = $x;
1635 } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1636 $this->yyidx = $yyidx;
1637 $this->yystack = $stack;
1639 // end of input: this is valid
1642 // the last token was just ignored, we can't accept
1643 // by ignoring input, this is in essence ignoring a
1646 } elseif ($nextstate === self::YY_NO_ACTION) {
1647 $this->yyidx = $yyidx;
1648 $this->yystack = $stack;
1649 // input accepted, but not shifted (I guess)
1652 $yyact = $nextstate;
1658 $this->yyidx = $yyidx;
1659 $this->yystack = $stack;
1663 function yy_find_shift_action($iLookAhead)
1665 $stateno = $this->yystack[$this->yyidx]->stateno;
1667 /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
1668 if (!isset(self::$yy_shift_ofst[$stateno])) {
1670 return self::$yy_default[$stateno];
1672 $i = self::$yy_shift_ofst[$stateno];
1673 if ($i === self::YY_SHIFT_USE_DFLT) {
1674 return self::$yy_default[$stateno];
1676 if ($iLookAhead == self::YYNOCODE) {
1677 return self::YY_NO_ACTION;
1680 if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
1681 self::$yy_lookahead[$i] != $iLookAhead) {
1682 if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
1683 && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
1684 if (self::$yyTraceFILE) {
1685 fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
1686 $this->yyTokenName[$iLookAhead] . " => " .
1687 $this->yyTokenName[$iFallback] . "\n");
1689 return $this->yy_find_shift_action($iFallback);
1691 return self::$yy_default[$stateno];
1693 return self::$yy_action[$i];
1697 function yy_find_reduce_action($stateno, $iLookAhead)
1699 /* $stateno = $this->yystack[$this->yyidx]->stateno; */
1701 if (!isset(self::$yy_reduce_ofst[$stateno])) {
1702 return self::$yy_default[$stateno];
1704 $i = self::$yy_reduce_ofst[$stateno];
1705 if ($i == self::YY_REDUCE_USE_DFLT) {
1706 return self::$yy_default[$stateno];
1708 if ($iLookAhead == self::YYNOCODE) {
1709 return self::YY_NO_ACTION;
1712 if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
1713 self::$yy_lookahead[$i] != $iLookAhead) {
1714 return self::$yy_default[$stateno];
1716 return self::$yy_action[$i];
1720 function yy_shift($yyNewState, $yyMajor, $yypMinor)
1723 if ($this->yyidx >= self::YYSTACKDEPTH) {
1725 if (self::$yyTraceFILE) {
1726 fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
1728 while ($this->yyidx >= 0) {
1729 $this->yy_pop_parser_stack();
1731 #line 73 "smarty_internal_templateparser.y"
1733 $this->internalError = true;
1734 $this->compiler->trigger_template_error("Stack overflow in template parser");
1735 #line 1731 "smarty_internal_templateparser.php"
1738 $yytos = new TP_yyStackEntry;
1739 $yytos->stateno = $yyNewState;
1740 $yytos->major = $yyMajor;
1741 $yytos->minor = $yypMinor;
1742 array_push($this->yystack, $yytos);
1743 if (self::$yyTraceFILE && $this->yyidx > 0) {
1744 fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
1746 fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
1747 for($i = 1; $i <= $this->yyidx; $i++) {
1748 fprintf(self::$yyTraceFILE, " %s",
1749 $this->yyTokenName[$this->yystack[$i]->major]);
1751 fwrite(self::$yyTraceFILE,"\n");
1755 static public $yyRuleInfo = array(
1756 array( 'lhs' => 79, 'rhs' => 1 ),
1757 array( 'lhs' => 80, 'rhs' => 1 ),
1758 array( 'lhs' => 80, 'rhs' => 2 ),
1759 array( 'lhs' => 80, 'rhs' => 0 ),
1760 array( 'lhs' => 81, 'rhs' => 1 ),
1761 array( 'lhs' => 81, 'rhs' => 1 ),
1762 array( 'lhs' => 81, 'rhs' => 1 ),
1763 array( 'lhs' => 81, 'rhs' => 1 ),
1764 array( 'lhs' => 81, 'rhs' => 1 ),
1765 array( 'lhs' => 81, 'rhs' => 1 ),
1766 array( 'lhs' => 81, 'rhs' => 1 ),
1767 array( 'lhs' => 81, 'rhs' => 1 ),
1768 array( 'lhs' => 81, 'rhs' => 1 ),
1769 array( 'lhs' => 81, 'rhs' => 1 ),
1770 array( 'lhs' => 81, 'rhs' => 1 ),
1771 array( 'lhs' => 83, 'rhs' => 2 ),
1772 array( 'lhs' => 83, 'rhs' => 3 ),
1773 array( 'lhs' => 84, 'rhs' => 2 ),
1774 array( 'lhs' => 84, 'rhs' => 0 ),
1775 array( 'lhs' => 85, 'rhs' => 1 ),
1776 array( 'lhs' => 85, 'rhs' => 1 ),
1777 array( 'lhs' => 85, 'rhs' => 1 ),
1778 array( 'lhs' => 85, 'rhs' => 1 ),
1779 array( 'lhs' => 85, 'rhs' => 1 ),
1780 array( 'lhs' => 85, 'rhs' => 1 ),
1781 array( 'lhs' => 85, 'rhs' => 1 ),
1782 array( 'lhs' => 82, 'rhs' => 3 ),
1783 array( 'lhs' => 82, 'rhs' => 4 ),
1784 array( 'lhs' => 82, 'rhs' => 4 ),
1785 array( 'lhs' => 82, 'rhs' => 5 ),
1786 array( 'lhs' => 82, 'rhs' => 4 ),
1787 array( 'lhs' => 82, 'rhs' => 6 ),
1788 array( 'lhs' => 82, 'rhs' => 6 ),
1789 array( 'lhs' => 82, 'rhs' => 7 ),
1790 array( 'lhs' => 82, 'rhs' => 6 ),
1791 array( 'lhs' => 82, 'rhs' => 4 ),
1792 array( 'lhs' => 82, 'rhs' => 3 ),
1793 array( 'lhs' => 82, 'rhs' => 6 ),
1794 array( 'lhs' => 82, 'rhs' => 5 ),
1795 array( 'lhs' => 82, 'rhs' => 7 ),
1796 array( 'lhs' => 82, 'rhs' => 4 ),
1797 array( 'lhs' => 82, 'rhs' => 5 ),
1798 array( 'lhs' => 82, 'rhs' => 4 ),
1799 array( 'lhs' => 82, 'rhs' => 5 ),
1800 array( 'lhs' => 82, 'rhs' => 13 ),
1801 array( 'lhs' => 96, 'rhs' => 2 ),
1802 array( 'lhs' => 96, 'rhs' => 1 ),
1803 array( 'lhs' => 82, 'rhs' => 7 ),
1804 array( 'lhs' => 82, 'rhs' => 9 ),
1805 array( 'lhs' => 82, 'rhs' => 3 ),
1806 array( 'lhs' => 82, 'rhs' => 8 ),
1807 array( 'lhs' => 82, 'rhs' => 11 ),
1808 array( 'lhs' => 82, 'rhs' => 8 ),
1809 array( 'lhs' => 82, 'rhs' => 11 ),
1810 array( 'lhs' => 82, 'rhs' => 1 ),
1811 array( 'lhs' => 82, 'rhs' => 3 ),
1812 array( 'lhs' => 82, 'rhs' => 4 ),
1813 array( 'lhs' => 82, 'rhs' => 5 ),
1814 array( 'lhs' => 82, 'rhs' => 6 ),
1815 array( 'lhs' => 87, 'rhs' => 2 ),
1816 array( 'lhs' => 87, 'rhs' => 1 ),
1817 array( 'lhs' => 87, 'rhs' => 0 ),
1818 array( 'lhs' => 97, 'rhs' => 4 ),
1819 array( 'lhs' => 97, 'rhs' => 4 ),
1820 array( 'lhs' => 97, 'rhs' => 4 ),
1821 array( 'lhs' => 97, 'rhs' => 2 ),
1822 array( 'lhs' => 97, 'rhs' => 2 ),
1823 array( 'lhs' => 97, 'rhs' => 2 ),
1824 array( 'lhs' => 97, 'rhs' => 4 ),
1825 array( 'lhs' => 93, 'rhs' => 1 ),
1826 array( 'lhs' => 93, 'rhs' => 3 ),
1827 array( 'lhs' => 92, 'rhs' => 4 ),
1828 array( 'lhs' => 92, 'rhs' => 3 ),
1829 array( 'lhs' => 92, 'rhs' => 3 ),
1830 array( 'lhs' => 89, 'rhs' => 1 ),
1831 array( 'lhs' => 89, 'rhs' => 1 ),
1832 array( 'lhs' => 89, 'rhs' => 4 ),
1833 array( 'lhs' => 89, 'rhs' => 3 ),
1834 array( 'lhs' => 89, 'rhs' => 3 ),
1835 array( 'lhs' => 89, 'rhs' => 3 ),
1836 array( 'lhs' => 89, 'rhs' => 1 ),
1837 array( 'lhs' => 89, 'rhs' => 2 ),
1838 array( 'lhs' => 89, 'rhs' => 3 ),
1839 array( 'lhs' => 89, 'rhs' => 3 ),
1840 array( 'lhs' => 89, 'rhs' => 3 ),
1841 array( 'lhs' => 89, 'rhs' => 3 ),
1842 array( 'lhs' => 89, 'rhs' => 3 ),
1843 array( 'lhs' => 89, 'rhs' => 3 ),
1844 array( 'lhs' => 89, 'rhs' => 2 ),
1845 array( 'lhs' => 89, 'rhs' => 2 ),
1846 array( 'lhs' => 89, 'rhs' => 3 ),
1847 array( 'lhs' => 89, 'rhs' => 3 ),
1848 array( 'lhs' => 89, 'rhs' => 2 ),
1849 array( 'lhs' => 89, 'rhs' => 2 ),
1850 array( 'lhs' => 89, 'rhs' => 3 ),
1851 array( 'lhs' => 89, 'rhs' => 3 ),
1852 array( 'lhs' => 89, 'rhs' => 3 ),
1853 array( 'lhs' => 89, 'rhs' => 3 ),
1854 array( 'lhs' => 98, 'rhs' => 8 ),
1855 array( 'lhs' => 98, 'rhs' => 7 ),
1856 array( 'lhs' => 86, 'rhs' => 1 ),
1857 array( 'lhs' => 86, 'rhs' => 2 ),
1858 array( 'lhs' => 86, 'rhs' => 2 ),
1859 array( 'lhs' => 86, 'rhs' => 2 ),
1860 array( 'lhs' => 86, 'rhs' => 2 ),
1861 array( 'lhs' => 86, 'rhs' => 1 ),
1862 array( 'lhs' => 86, 'rhs' => 1 ),
1863 array( 'lhs' => 86, 'rhs' => 3 ),
1864 array( 'lhs' => 86, 'rhs' => 2 ),
1865 array( 'lhs' => 86, 'rhs' => 2 ),
1866 array( 'lhs' => 86, 'rhs' => 1 ),
1867 array( 'lhs' => 86, 'rhs' => 1 ),
1868 array( 'lhs' => 86, 'rhs' => 3 ),
1869 array( 'lhs' => 86, 'rhs' => 1 ),
1870 array( 'lhs' => 86, 'rhs' => 1 ),
1871 array( 'lhs' => 86, 'rhs' => 3 ),
1872 array( 'lhs' => 86, 'rhs' => 3 ),
1873 array( 'lhs' => 86, 'rhs' => 1 ),
1874 array( 'lhs' => 86, 'rhs' => 2 ),
1875 array( 'lhs' => 88, 'rhs' => 1 ),
1876 array( 'lhs' => 88, 'rhs' => 4 ),
1877 array( 'lhs' => 88, 'rhs' => 1 ),
1878 array( 'lhs' => 88, 'rhs' => 3 ),
1879 array( 'lhs' => 88, 'rhs' => 3 ),
1880 array( 'lhs' => 91, 'rhs' => 3 ),
1881 array( 'lhs' => 106, 'rhs' => 2 ),
1882 array( 'lhs' => 106, 'rhs' => 0 ),
1883 array( 'lhs' => 107, 'rhs' => 3 ),
1884 array( 'lhs' => 107, 'rhs' => 5 ),
1885 array( 'lhs' => 107, 'rhs' => 2 ),
1886 array( 'lhs' => 107, 'rhs' => 2 ),
1887 array( 'lhs' => 107, 'rhs' => 4 ),
1888 array( 'lhs' => 107, 'rhs' => 3 ),
1889 array( 'lhs' => 107, 'rhs' => 5 ),
1890 array( 'lhs' => 107, 'rhs' => 3 ),
1891 array( 'lhs' => 107, 'rhs' => 2 ),
1892 array( 'lhs' => 95, 'rhs' => 1 ),
1893 array( 'lhs' => 95, 'rhs' => 2 ),
1894 array( 'lhs' => 108, 'rhs' => 1 ),
1895 array( 'lhs' => 108, 'rhs' => 3 ),
1896 array( 'lhs' => 105, 'rhs' => 2 ),
1897 array( 'lhs' => 109, 'rhs' => 1 ),
1898 array( 'lhs' => 109, 'rhs' => 2 ),
1899 array( 'lhs' => 110, 'rhs' => 3 ),
1900 array( 'lhs' => 110, 'rhs' => 4 ),
1901 array( 'lhs' => 110, 'rhs' => 5 ),
1902 array( 'lhs' => 110, 'rhs' => 6 ),
1903 array( 'lhs' => 110, 'rhs' => 2 ),
1904 array( 'lhs' => 102, 'rhs' => 4 ),
1905 array( 'lhs' => 111, 'rhs' => 4 ),
1906 array( 'lhs' => 111, 'rhs' => 5 ),
1907 array( 'lhs' => 112, 'rhs' => 3 ),
1908 array( 'lhs' => 112, 'rhs' => 1 ),
1909 array( 'lhs' => 112, 'rhs' => 0 ),
1910 array( 'lhs' => 90, 'rhs' => 3 ),
1911 array( 'lhs' => 90, 'rhs' => 2 ),
1912 array( 'lhs' => 113, 'rhs' => 3 ),
1913 array( 'lhs' => 113, 'rhs' => 2 ),
1914 array( 'lhs' => 114, 'rhs' => 2 ),
1915 array( 'lhs' => 114, 'rhs' => 0 ),
1916 array( 'lhs' => 115, 'rhs' => 2 ),
1917 array( 'lhs' => 115, 'rhs' => 2 ),
1918 array( 'lhs' => 104, 'rhs' => 1 ),
1919 array( 'lhs' => 104, 'rhs' => 2 ),
1920 array( 'lhs' => 104, 'rhs' => 1 ),
1921 array( 'lhs' => 104, 'rhs' => 3 ),
1922 array( 'lhs' => 104, 'rhs' => 4 ),
1923 array( 'lhs' => 100, 'rhs' => 1 ),
1924 array( 'lhs' => 100, 'rhs' => 1 ),
1925 array( 'lhs' => 100, 'rhs' => 1 ),
1926 array( 'lhs' => 100, 'rhs' => 1 ),
1927 array( 'lhs' => 100, 'rhs' => 1 ),
1928 array( 'lhs' => 100, 'rhs' => 1 ),
1929 array( 'lhs' => 100, 'rhs' => 1 ),
1930 array( 'lhs' => 100, 'rhs' => 1 ),
1931 array( 'lhs' => 100, 'rhs' => 1 ),
1932 array( 'lhs' => 101, 'rhs' => 1 ),
1933 array( 'lhs' => 101, 'rhs' => 1 ),
1934 array( 'lhs' => 101, 'rhs' => 1 ),
1935 array( 'lhs' => 99, 'rhs' => 3 ),
1936 array( 'lhs' => 116, 'rhs' => 1 ),
1937 array( 'lhs' => 116, 'rhs' => 3 ),
1938 array( 'lhs' => 116, 'rhs' => 0 ),
1939 array( 'lhs' => 117, 'rhs' => 3 ),
1940 array( 'lhs' => 117, 'rhs' => 3 ),
1941 array( 'lhs' => 117, 'rhs' => 1 ),
1942 array( 'lhs' => 103, 'rhs' => 2 ),
1943 array( 'lhs' => 103, 'rhs' => 3 ),
1944 array( 'lhs' => 118, 'rhs' => 2 ),
1945 array( 'lhs' => 118, 'rhs' => 1 ),
1946 array( 'lhs' => 119, 'rhs' => 3 ),
1947 array( 'lhs' => 119, 'rhs' => 3 ),
1948 array( 'lhs' => 119, 'rhs' => 1 ),
1949 array( 'lhs' => 119, 'rhs' => 3 ),
1950 array( 'lhs' => 119, 'rhs' => 3 ),
1951 array( 'lhs' => 119, 'rhs' => 1 ),
1952 array( 'lhs' => 119, 'rhs' => 1 ),
1953 array( 'lhs' => 94, 'rhs' => 1 ),
1954 array( 'lhs' => 94, 'rhs' => 0 ),
1957 static public $yyReduceMap = array(
2157 #line 84 "smarty_internal_templateparser.y"
2158 function yy_r0(){ $this->_retvalue = $this->root_buffer->to_smarty_php(); }
2159 #line 2155 "smarty_internal_templateparser.php"
2160 #line 90 "smarty_internal_templateparser.y"
2161 function yy_r1(){ $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor); }
2162 #line 2158 "smarty_internal_templateparser.php"
2163 #line 102 "smarty_internal_templateparser.y"
2165 if ($this->compiler->has_code) {
2166 $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array();
2167 $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true));
2169 $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
2171 $this->compiler->has_variable_string = false;
2172 $this->block_nesting_level = count($this->compiler->_tag_stack);
2174 #line 2170 "smarty_internal_templateparser.php"
2175 #line 114 "smarty_internal_templateparser.y"
2176 function yy_r5(){ $this->_retvalue = new _smarty_tag($this, ''); }
2177 #line 2173 "smarty_internal_templateparser.php"
2178 #line 117 "smarty_internal_templateparser.y"
2179 function yy_r6(){ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); }
2180 #line 2176 "smarty_internal_templateparser.php"
2181 #line 120 "smarty_internal_templateparser.y"
2183 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2184 $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
2185 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2186 $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
2187 }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2188 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<?php', true));
2189 }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2190 $this->_retvalue = new _smarty_text($this, '');
2193 #line 2189 "smarty_internal_templateparser.php"
2194 #line 132 "smarty_internal_templateparser.y"
2195 function yy_r8(){if ($this->is_xml) {
2196 $this->compiler->tag_nocache = true;
2197 $this->is_xml = true;
2198 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '?>';?>", $this->compiler, true));
2199 }elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
2200 $this->_retvalue = new _smarty_text($this, '?<?php ?>>');
2201 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2202 $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
2203 }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2204 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true));
2205 }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2206 $this->_retvalue = new _smarty_text($this, '');
2209 #line 2205 "smarty_internal_templateparser.php"
2210 #line 148 "smarty_internal_templateparser.y"
2212 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2213 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2214 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2215 $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
2216 }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2217 if ($this->asp_tags) {
2218 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true));
2220 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2222 }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2223 if ($this->asp_tags) {
2224 $this->_retvalue = new _smarty_text($this, '');
2226 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2230 #line 2226 "smarty_internal_templateparser.php"
2231 #line 169 "smarty_internal_templateparser.y"
2233 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2234 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2235 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2236 $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
2237 }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2238 if ($this->asp_tags) {
2239 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true));
2241 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2243 }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2244 if ($this->asp_tags) {
2245 $this->_retvalue = new _smarty_text($this, '');
2247 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2251 #line 2247 "smarty_internal_templateparser.php"
2252 #line 189 "smarty_internal_templateparser.y"
2253 function yy_r11(){if ($this->lex->strip) {
2254 $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)));
2256 $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
2259 #line 2255 "smarty_internal_templateparser.php"
2260 #line 197 "smarty_internal_templateparser.y"
2261 function yy_r12(){ $this->compiler->tag_nocache = true; $this->is_xml = true; $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true)); }
2262 #line 2258 "smarty_internal_templateparser.php"
2263 #line 200 "smarty_internal_templateparser.y"
2264 function yy_r13(){if ($this->lex->strip) {
2265 $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
2267 $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
2270 #line 2266 "smarty_internal_templateparser.php"
2271 #line 206 "smarty_internal_templateparser.y"
2273 $this->_retvalue = new _smarty_linebreak($this, $this->yystack[$this->yyidx + 0]->minor);
2275 #line 2271 "smarty_internal_templateparser.php"
2276 #line 211 "smarty_internal_templateparser.y"
2277 function yy_r15(){ $this->_retvalue = ''; }
2278 #line 2274 "smarty_internal_templateparser.php"
2279 #line 212 "smarty_internal_templateparser.y"
2280 function yy_r16(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
2281 #line 2277 "smarty_internal_templateparser.php"
2282 #line 214 "smarty_internal_templateparser.y"
2283 function yy_r17(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2284 #line 2280 "smarty_internal_templateparser.php"
2285 #line 217 "smarty_internal_templateparser.y"
2286 function yy_r19(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2287 #line 2283 "smarty_internal_templateparser.php"
2288 #line 219 "smarty_internal_templateparser.y"
2289 function yy_r21(){ $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor); }
2290 #line 2286 "smarty_internal_templateparser.php"
2291 #line 221 "smarty_internal_templateparser.y"
2292 function yy_r23(){ $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor); }
2293 #line 2289 "smarty_internal_templateparser.php"
2294 #line 222 "smarty_internal_templateparser.y"
2295 function yy_r24(){ $this->_retvalue = '<<?php ?>%'; }
2296 #line 2292 "smarty_internal_templateparser.php"
2297 #line 223 "smarty_internal_templateparser.y"
2298 function yy_r25(){ $this->_retvalue = '%<?php ?>>'; }
2299 #line 2295 "smarty_internal_templateparser.php"
2300 #line 231 "smarty_internal_templateparser.y"
2301 function yy_r26(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor)); }
2302 #line 2298 "smarty_internal_templateparser.php"
2303 #line 232 "smarty_internal_templateparser.y"
2304 function yy_r27(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor)); }
2305 #line 2301 "smarty_internal_templateparser.php"
2306 #line 234 "smarty_internal_templateparser.y"
2307 function yy_r29(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor,'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor)); }
2308 #line 2304 "smarty_internal_templateparser.php"
2309 #line 242 "smarty_internal_templateparser.y"
2310 function yy_r31(){ $this->_retvalue = $this->compiler->compileTag('assign',array(array('value'=>$this->yystack[$this->yyidx + -1]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'"))); }
2311 #line 2307 "smarty_internal_templateparser.php"
2312 #line 244 "smarty_internal_templateparser.y"
2313 function yy_r33(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'")),$this->yystack[$this->yyidx + -1]->minor)); }
2314 #line 2310 "smarty_internal_templateparser.php"
2315 #line 245 "smarty_internal_templateparser.y"
2316 function yy_r34(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>$this->yystack[$this->yyidx + -4]->minor['var'])),$this->yystack[$this->yyidx + -1]->minor),array('smarty_internal_index'=>$this->yystack[$this->yyidx + -4]->minor['smarty_internal_index'])); }
2317 #line 2313 "smarty_internal_templateparser.php"
2318 #line 247 "smarty_internal_templateparser.y"
2319 function yy_r35(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); }
2320 #line 2316 "smarty_internal_templateparser.php"
2321 #line 248 "smarty_internal_templateparser.y"
2322 function yy_r36(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array()); }
2323 #line 2319 "smarty_internal_templateparser.php"
2324 #line 250 "smarty_internal_templateparser.y"
2325 function yy_r37(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor)); }
2326 #line 2322 "smarty_internal_templateparser.php"
2327 #line 252 "smarty_internal_templateparser.y"
2328 function yy_r38(){ $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
2329 $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
2331 #line 2327 "smarty_internal_templateparser.php"
2332 #line 256 "smarty_internal_templateparser.y"
2333 function yy_r39(){ $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 ';
2334 $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
2336 #line 2332 "smarty_internal_templateparser.php"
2337 #line 260 "smarty_internal_templateparser.y"
2338 function yy_r40(){ $tag = trim(substr($this->yystack[$this->yyidx + -3]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); }
2339 #line 2335 "smarty_internal_templateparser.php"
2340 #line 261 "smarty_internal_templateparser.y"
2341 function yy_r41(){ $tag = trim(substr($this->yystack[$this->yyidx + -4]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,$this->yystack[$this->yyidx + -1]->minor,array('if condition'=>$this->yystack[$this->yyidx + -2]->minor)); }
2342 #line 2338 "smarty_internal_templateparser.php"
2343 #line 265 "smarty_internal_templateparser.y"
2345 $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); }
2346 #line 2342 "smarty_internal_templateparser.php"
2347 #line 268 "smarty_internal_templateparser.y"
2348 function yy_r45(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; }
2349 #line 2345 "smarty_internal_templateparser.php"
2350 #line 269 "smarty_internal_templateparser.y"
2351 function yy_r46(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2352 #line 2348 "smarty_internal_templateparser.php"
2353 #line 270 "smarty_internal_templateparser.y"
2354 function yy_r47(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -4]->minor),array('to'=>$this->yystack[$this->yyidx + -2]->minor))),0); }
2355 #line 2351 "smarty_internal_templateparser.php"
2356 #line 271 "smarty_internal_templateparser.y"
2357 function yy_r48(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -6]->minor),array('to'=>$this->yystack[$this->yyidx + -4]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),0); }
2358 #line 2354 "smarty_internal_templateparser.php"
2359 #line 273 "smarty_internal_templateparser.y"
2360 function yy_r49(){ $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor); }
2361 #line 2357 "smarty_internal_templateparser.php"
2362 #line 275 "smarty_internal_templateparser.y"
2364 $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)))); }
2365 #line 2361 "smarty_internal_templateparser.php"
2366 #line 277 "smarty_internal_templateparser.y"
2368 $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)))); }
2369 #line 2365 "smarty_internal_templateparser.php"
2370 #line 279 "smarty_internal_templateparser.y"
2372 $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)))); }
2373 #line 2369 "smarty_internal_templateparser.php"
2374 #line 281 "smarty_internal_templateparser.y"
2376 $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)))); }
2377 #line 2373 "smarty_internal_templateparser.php"
2378 #line 285 "smarty_internal_templateparser.y"
2379 function yy_r54(){ $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler); }
2380 #line 2376 "smarty_internal_templateparser.php"
2381 #line 289 "smarty_internal_templateparser.y"
2382 function yy_r55(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array()); }
2383 #line 2379 "smarty_internal_templateparser.php"
2384 #line 291 "smarty_internal_templateparser.y"
2385 function yy_r56(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));
2387 #line 2383 "smarty_internal_templateparser.php"
2388 #line 294 "smarty_internal_templateparser.y"
2389 function yy_r57(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); }
2390 #line 2386 "smarty_internal_templateparser.php"
2391 #line 295 "smarty_internal_templateparser.y"
2392 function yy_r58(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor, 'modifier_list'=>$this->yystack[$this->yyidx + -1]->minor)); }
2393 #line 2389 "smarty_internal_templateparser.php"
2394 #line 301 "smarty_internal_templateparser.y"
2395 function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor; }
2396 #line 2392 "smarty_internal_templateparser.php"
2397 #line 303 "smarty_internal_templateparser.y"
2398 function yy_r60(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
2399 #line 2395 "smarty_internal_templateparser.php"
2400 #line 305 "smarty_internal_templateparser.y"
2401 function yy_r61(){ $this->_retvalue = array(); }
2402 #line 2398 "smarty_internal_templateparser.php"
2403 #line 308 "smarty_internal_templateparser.y"
2404 function yy_r62(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2405 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true');
2406 } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2407 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'false');
2408 } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2409 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'null');
2411 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'"); }
2412 #line 2408 "smarty_internal_templateparser.php"
2413 #line 316 "smarty_internal_templateparser.y"
2414 function yy_r63(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); }
2415 #line 2411 "smarty_internal_templateparser.php"
2416 #line 318 "smarty_internal_templateparser.y"
2417 function yy_r65(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; }
2418 #line 2414 "smarty_internal_templateparser.php"
2419 #line 321 "smarty_internal_templateparser.y"
2420 function yy_r68(){$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); }
2421 #line 2417 "smarty_internal_templateparser.php"
2422 #line 328 "smarty_internal_templateparser.y"
2423 function yy_r70(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; }
2424 #line 2420 "smarty_internal_templateparser.php"
2425 #line 330 "smarty_internal_templateparser.y"
2426 function yy_r71(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); }
2427 #line 2423 "smarty_internal_templateparser.php"
2428 #line 332 "smarty_internal_templateparser.y"
2429 function yy_r73(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
2430 #line 2426 "smarty_internal_templateparser.php"
2431 #line 343 "smarty_internal_templateparser.y"
2432 function yy_r76(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; }
2433 #line 2429 "smarty_internal_templateparser.php"
2434 #line 345 "smarty_internal_templateparser.y"
2435 function yy_r77(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; }
2436 #line 2432 "smarty_internal_templateparser.php"
2437 #line 351 "smarty_internal_templateparser.y"
2438 function yy_r80(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2439 #line 2435 "smarty_internal_templateparser.php"
2440 #line 354 "smarty_internal_templateparser.y"
2441 function yy_r81(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor)); }
2442 #line 2438 "smarty_internal_templateparser.php"
2443 #line 358 "smarty_internal_templateparser.y"
2444 function yy_r82(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2445 #line 2441 "smarty_internal_templateparser.php"
2446 #line 359 "smarty_internal_templateparser.y"
2447 function yy_r83(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; }
2448 #line 2444 "smarty_internal_templateparser.php"
2449 #line 360 "smarty_internal_templateparser.y"
2450 function yy_r84(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; }
2451 #line 2447 "smarty_internal_templateparser.php"
2452 #line 362 "smarty_internal_templateparser.y"
2453 function yy_r86(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; }
2454 #line 2450 "smarty_internal_templateparser.php"
2455 #line 363 "smarty_internal_templateparser.y"
2456 function yy_r87(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; }
2457 #line 2453 "smarty_internal_templateparser.php"
2458 #line 364 "smarty_internal_templateparser.y"
2459 function yy_r88(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; }
2460 #line 2456 "smarty_internal_templateparser.php"
2461 #line 365 "smarty_internal_templateparser.y"
2462 function yy_r89(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; }
2463 #line 2459 "smarty_internal_templateparser.php"
2464 #line 366 "smarty_internal_templateparser.y"
2465 function yy_r90(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; }
2466 #line 2462 "smarty_internal_templateparser.php"
2467 #line 367 "smarty_internal_templateparser.y"
2468 function yy_r91(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; }
2469 #line 2465 "smarty_internal_templateparser.php"
2470 #line 373 "smarty_internal_templateparser.y"
2471 function yy_r97(){$this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>'; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number; }
2472 #line 2468 "smarty_internal_templateparser.php"
2473 #line 379 "smarty_internal_templateparser.y"
2474 function yy_r98(){ $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? $_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'\')->value : '.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + -2]->minor', null, true, false)->nocache; }
2475 #line 2471 "smarty_internal_templateparser.php"
2476 #line 380 "smarty_internal_templateparser.y"
2477 function yy_r99(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; }
2478 #line 2474 "smarty_internal_templateparser.php"
2479 #line 387 "smarty_internal_templateparser.y"
2480 function yy_r102(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; }
2481 #line 2477 "smarty_internal_templateparser.php"
2482 #line 393 "smarty_internal_templateparser.y"
2483 function yy_r107(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; }
2484 #line 2480 "smarty_internal_templateparser.php"
2485 #line 394 "smarty_internal_templateparser.y"
2486 function yy_r108(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; }
2487 #line 2483 "smarty_internal_templateparser.php"
2488 #line 395 "smarty_internal_templateparser.y"
2489 function yy_r109(){ $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; }
2490 #line 2486 "smarty_internal_templateparser.php"
2491 #line 397 "smarty_internal_templateparser.y"
2492 function yy_r110(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2493 $this->_retvalue = 'true';
2494 } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2495 $this->_retvalue = 'false';
2496 } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2497 $this->_retvalue = 'null';
2499 $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; }
2500 #line 2496 "smarty_internal_templateparser.php"
2501 #line 408 "smarty_internal_templateparser.y"
2502 function yy_r112(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; }
2503 #line 2499 "smarty_internal_templateparser.php"
2504 #line 414 "smarty_internal_templateparser.y"
2505 function yy_r115(){if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->minor, $this->compiler)) {
2506 if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) {
2507 $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor].'::'.$this->yystack[$this->yyidx + 0]->minor;
2509 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor;
2512 $this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting");
2515 #line 2511 "smarty_internal_templateparser.php"
2516 #line 424 "smarty_internal_templateparser.y"
2517 function yy_r116(){ if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;} else {
2518 $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index'].'::'.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor['var'],"'"), null, true, false)->nocache;} }
2519 #line 2515 "smarty_internal_templateparser.php"
2520 #line 427 "smarty_internal_templateparser.y"
2521 function yy_r117(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; }
2522 #line 2518 "smarty_internal_templateparser.php"
2523 #line 437 "smarty_internal_templateparser.y"
2524 function yy_r119(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
2525 $smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
2526 $this->_retvalue = $smarty_var;
2528 // used for array reset,next,prev,end,current
2529 $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
2530 $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2531 if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + 0]->minor['var']])) {
2532 $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + 0]->minor['var'] .']->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2534 $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor['var'] .')->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2536 $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"), null, true, false)->nocache;
2539 #line 2535 "smarty_internal_templateparser.php"
2540 #line 453 "smarty_internal_templateparser.y"
2541 function yy_r120(){if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + -2]->minor])) {
2542 $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor;
2544 $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor;
2546 $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; }
2547 #line 2543 "smarty_internal_templateparser.php"
2548 #line 462 "smarty_internal_templateparser.y"
2549 function yy_r122(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; }
2550 #line 2546 "smarty_internal_templateparser.php"
2551 #line 463 "smarty_internal_templateparser.y"
2552 function yy_r123(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; }
2553 #line 2549 "smarty_internal_templateparser.php"
2554 #line 466 "smarty_internal_templateparser.y"
2555 function yy_r124(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); }
2556 #line 2552 "smarty_internal_templateparser.php"
2557 #line 472 "smarty_internal_templateparser.y"
2558 function yy_r125(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2559 #line 2555 "smarty_internal_templateparser.php"
2560 #line 474 "smarty_internal_templateparser.y"
2561 function yy_r126(){return; }
2562 #line 2558 "smarty_internal_templateparser.php"
2563 #line 478 "smarty_internal_templateparser.y"
2564 function yy_r127(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor .')->value]'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + 0]->minor', null, true, false)->nocache; }
2565 #line 2561 "smarty_internal_templateparser.php"
2566 #line 479 "smarty_internal_templateparser.y"
2567 function yy_r128(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor.']'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; }
2568 #line 2564 "smarty_internal_templateparser.php"
2569 #line 480 "smarty_internal_templateparser.y"
2570 function yy_r129(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; }
2571 #line 2567 "smarty_internal_templateparser.php"
2572 #line 481 "smarty_internal_templateparser.y"
2573 function yy_r130(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; }
2574 #line 2570 "smarty_internal_templateparser.php"
2575 #line 482 "smarty_internal_templateparser.y"
2576 function yy_r131(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; }
2577 #line 2573 "smarty_internal_templateparser.php"
2578 #line 484 "smarty_internal_templateparser.y"
2579 function yy_r132(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; }
2580 #line 2576 "smarty_internal_templateparser.php"
2581 #line 485 "smarty_internal_templateparser.y"
2582 function yy_r133(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; }
2583 #line 2579 "smarty_internal_templateparser.php"
2584 #line 489 "smarty_internal_templateparser.y"
2585 function yy_r135(){$this->_retvalue = '[]'; }
2586 #line 2582 "smarty_internal_templateparser.php"
2587 #line 497 "smarty_internal_templateparser.y"
2588 function yy_r137(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; }
2589 #line 2585 "smarty_internal_templateparser.php"
2590 #line 499 "smarty_internal_templateparser.y"
2591 function yy_r138(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; }
2592 #line 2588 "smarty_internal_templateparser.php"
2593 #line 501 "smarty_internal_templateparser.y"
2594 function yy_r139(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; }
2595 #line 2591 "smarty_internal_templateparser.php"
2596 #line 506 "smarty_internal_templateparser.y"
2597 function yy_r140(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;} else {
2598 $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"), null, true, false)->nocache;} }
2599 #line 2595 "smarty_internal_templateparser.php"
2600 #line 509 "smarty_internal_templateparser.y"
2601 function yy_r141(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2602 #line 2598 "smarty_internal_templateparser.php"
2603 #line 511 "smarty_internal_templateparser.y"
2604 function yy_r142(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2605 #line 2601 "smarty_internal_templateparser.php"
2606 #line 513 "smarty_internal_templateparser.y"
2607 function yy_r143(){if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '_') {
2608 $this->compiler->trigger_template_error (self::Err1);
2610 $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2612 #line 2608 "smarty_internal_templateparser.php"
2613 #line 518 "smarty_internal_templateparser.y"
2614 function yy_r144(){if ($this->security) {
2615 $this->compiler->trigger_template_error (self::Err2);
2617 $this->_retvalue = '->{$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor .')->value'.$this->yystack[$this->yyidx + 0]->minor.'}'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor,"'"), null, true, false)->nocache;
2619 #line 2615 "smarty_internal_templateparser.php"
2620 #line 523 "smarty_internal_templateparser.y"
2621 function yy_r145(){if ($this->security) {
2622 $this->compiler->trigger_template_error (self::Err2);
2624 $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
2626 #line 2622 "smarty_internal_templateparser.php"
2627 #line 528 "smarty_internal_templateparser.y"
2628 function yy_r146(){if ($this->security) {
2629 $this->compiler->trigger_template_error (self::Err2);
2631 $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
2633 #line 2629 "smarty_internal_templateparser.php"
2634 #line 534 "smarty_internal_templateparser.y"
2635 function yy_r147(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; }
2636 #line 2632 "smarty_internal_templateparser.php"
2637 #line 540 "smarty_internal_templateparser.y"
2638 function yy_r148(){if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) {
2639 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)) {
2640 $func_name = strtolower($this->yystack[$this->yyidx + -3]->minor);
2641 if ($func_name == 'isset') {
2642 if (count($this->yystack[$this->yyidx + -1]->minor) == 0) {
2643 $this->compiler->trigger_template_error ('Illegal number of paramer in "isset()"');
2645 $isset_par=str_replace("')->value","',null,true,false)->value",implode(',',$this->yystack[$this->yyidx + -1]->minor));
2646 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $isset_par .")";
2647 } elseif (in_array($func_name,array('empty','reset','current','end','prev','next'))){
2648 if (count($this->yystack[$this->yyidx + -1]->minor) != 1) {
2649 $this->compiler->trigger_template_error ('Illegal number of paramer in "empty()"');
2651 if ($func_name == 'empty') {
2652 $this->_retvalue = $func_name.'('.str_replace("')->value","',null,true,false)->value",$this->yystack[$this->yyidx + -1]->minor[0]).')';
2654 $this->_retvalue = $func_name.'('.$this->yystack[$this->yyidx + -1]->minor[0].')';
2657 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
2660 $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\"");
2664 #line 2660 "smarty_internal_templateparser.php"
2665 #line 570 "smarty_internal_templateparser.y"
2666 function yy_r149(){if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) == '_') {
2667 $this->compiler->trigger_template_error (self::Err1);
2669 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
2671 #line 2667 "smarty_internal_templateparser.php"
2672 #line 575 "smarty_internal_templateparser.y"
2673 function yy_r150(){if ($this->security) {
2674 $this->compiler->trigger_template_error (self::Err2);
2676 $this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = '$_tmp'.$this->prefix_number.'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')';
2678 #line 2674 "smarty_internal_templateparser.php"
2679 #line 583 "smarty_internal_templateparser.y"
2680 function yy_r151(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor)); }
2681 #line 2677 "smarty_internal_templateparser.php"
2682 #line 592 "smarty_internal_templateparser.y"
2683 function yy_r154(){$this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor))); }
2684 #line 2680 "smarty_internal_templateparser.php"
2685 #line 593 "smarty_internal_templateparser.y"
2686 function yy_r155(){$this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)); }
2687 #line 2683 "smarty_internal_templateparser.php"
2688 #line 596 "smarty_internal_templateparser.y"
2689 function yy_r157(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
2690 #line 2686 "smarty_internal_templateparser.php"
2691 #line 601 "smarty_internal_templateparser.y"
2692 function yy_r158(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); }
2693 #line 2689 "smarty_internal_templateparser.php"
2694 #line 603 "smarty_internal_templateparser.y"
2695 function yy_r159(){$this->_retvalue = array(); }
2696 #line 2692 "smarty_internal_templateparser.php"
2697 #line 605 "smarty_internal_templateparser.y"
2698 function yy_r160(){$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
2699 #line 2695 "smarty_internal_templateparser.php"
2700 #line 615 "smarty_internal_templateparser.y"
2701 function yy_r165(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2702 #line 2698 "smarty_internal_templateparser.php"
2703 #line 617 "smarty_internal_templateparser.y"
2704 function yy_r166(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2705 #line 2701 "smarty_internal_templateparser.php"
2706 #line 626 "smarty_internal_templateparser.y"
2707 function yy_r167(){$this->_retvalue = '=='; }
2708 #line 2704 "smarty_internal_templateparser.php"
2709 #line 627 "smarty_internal_templateparser.y"
2710 function yy_r168(){$this->_retvalue = '!='; }
2711 #line 2707 "smarty_internal_templateparser.php"
2712 #line 628 "smarty_internal_templateparser.y"
2713 function yy_r169(){$this->_retvalue = '>'; }
2714 #line 2710 "smarty_internal_templateparser.php"
2715 #line 629 "smarty_internal_templateparser.y"
2716 function yy_r170(){$this->_retvalue = '<'; }
2717 #line 2713 "smarty_internal_templateparser.php"
2718 #line 630 "smarty_internal_templateparser.y"
2719 function yy_r171(){$this->_retvalue = '>='; }
2720 #line 2716 "smarty_internal_templateparser.php"
2721 #line 631 "smarty_internal_templateparser.y"
2722 function yy_r172(){$this->_retvalue = '<='; }
2723 #line 2719 "smarty_internal_templateparser.php"
2724 #line 632 "smarty_internal_templateparser.y"
2725 function yy_r173(){$this->_retvalue = '==='; }
2726 #line 2722 "smarty_internal_templateparser.php"
2727 #line 633 "smarty_internal_templateparser.y"
2728 function yy_r174(){$this->_retvalue = '!=='; }
2729 #line 2725 "smarty_internal_templateparser.php"
2730 #line 634 "smarty_internal_templateparser.y"
2731 function yy_r175(){$this->_retvalue = '%'; }
2732 #line 2728 "smarty_internal_templateparser.php"
2733 #line 636 "smarty_internal_templateparser.y"
2734 function yy_r176(){$this->_retvalue = '&&'; }
2735 #line 2731 "smarty_internal_templateparser.php"
2736 #line 637 "smarty_internal_templateparser.y"
2737 function yy_r177(){$this->_retvalue = '||'; }
2738 #line 2734 "smarty_internal_templateparser.php"
2739 #line 638 "smarty_internal_templateparser.y"
2740 function yy_r178(){$this->_retvalue = ' XOR '; }
2741 #line 2737 "smarty_internal_templateparser.php"
2742 #line 643 "smarty_internal_templateparser.y"
2743 function yy_r179(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; }
2744 #line 2740 "smarty_internal_templateparser.php"
2745 #line 645 "smarty_internal_templateparser.y"
2746 function yy_r181(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; }
2747 #line 2743 "smarty_internal_templateparser.php"
2748 #line 646 "smarty_internal_templateparser.y"
2749 function yy_r182(){ return; }
2750 #line 2746 "smarty_internal_templateparser.php"
2751 #line 647 "smarty_internal_templateparser.y"
2752 function yy_r183(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; }
2753 #line 2749 "smarty_internal_templateparser.php"
2754 #line 648 "smarty_internal_templateparser.y"
2755 function yy_r184(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; }
2756 #line 2752 "smarty_internal_templateparser.php"
2757 #line 655 "smarty_internal_templateparser.y"
2758 function yy_r186(){ $this->_retvalue = "''"; }
2759 #line 2755 "smarty_internal_templateparser.php"
2760 #line 656 "smarty_internal_templateparser.y"
2761 function yy_r187(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php(); }
2762 #line 2758 "smarty_internal_templateparser.php"
2763 #line 658 "smarty_internal_templateparser.y"
2764 function yy_r188(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
2765 #line 2761 "smarty_internal_templateparser.php"
2766 #line 659 "smarty_internal_templateparser.y"
2767 function yy_r189(){ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); }
2768 #line 2764 "smarty_internal_templateparser.php"
2769 #line 661 "smarty_internal_templateparser.y"
2770 function yy_r190(){ $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor); }
2771 #line 2767 "smarty_internal_templateparser.php"
2772 #line 663 "smarty_internal_templateparser.y"
2773 function yy_r192(){if (isset($this->compiler->local_var["'".substr($this->yystack[$this->yyidx + 0]->minor,1)."'"])) {
2774 $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value');
2776 $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->getVariable(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')->value');
2778 $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"), null, true, false)->nocache;
2780 #line 2776 "smarty_internal_templateparser.php"
2781 #line 671 "smarty_internal_templateparser.y"
2782 function yy_r194(){ $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')'); }
2783 #line 2779 "smarty_internal_templateparser.php"
2784 #line 672 "smarty_internal_templateparser.y"
2786 $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
2788 #line 2784 "smarty_internal_templateparser.php"
2789 #line 675 "smarty_internal_templateparser.y"
2790 function yy_r196(){ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); }
2791 #line 2787 "smarty_internal_templateparser.php"
2792 #line 682 "smarty_internal_templateparser.y"
2793 function yy_r198(){$this->_retvalue = ''; }
2794 #line 2790 "smarty_internal_templateparser.php"
2798 function yy_reduce($yyruleno)
2800 $yymsp = $this->yystack[$this->yyidx];
2801 if (self::$yyTraceFILE && $yyruleno >= 0
2802 && $yyruleno < count(self::$yyRuleName)) {
2803 fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
2804 self::$yyTracePrompt, $yyruleno,
2805 self::$yyRuleName[$yyruleno]);
2808 $this->_retvalue = $yy_lefthand_side = null;
2809 if (array_key_exists($yyruleno, self::$yyReduceMap)) {
2811 $this->_retvalue = null;
2812 $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
2813 $yy_lefthand_side = $this->_retvalue;
2815 $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
2816 $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
2817 $this->yyidx -= $yysize;
2818 for($i = $yysize; $i; $i--) {
2819 // pop all of the right-hand side parameters
2820 array_pop($this->yystack);
2822 $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
2823 if ($yyact < self::YYNSTATE) {
2824 if (!self::$yyTraceFILE && $yysize) {
2826 $x = new TP_yyStackEntry;
2827 $x->stateno = $yyact;
2828 $x->major = $yygoto;
2829 $x->minor = $yy_lefthand_side;
2830 $this->yystack[$this->yyidx] = $x;
2832 $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
2834 } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
2839 function yy_parse_failed()
2841 if (self::$yyTraceFILE) {
2842 fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
2844 while ($this->yyidx >= 0) {
2845 $this->yy_pop_parser_stack();
2849 function yy_syntax_error($yymajor, $TOKEN)
2851 #line 66 "smarty_internal_templateparser.y"
2853 $this->internalError = true;
2854 $this->yymajor = $yymajor;
2855 $this->compiler->trigger_template_error();
2856 #line 2853 "smarty_internal_templateparser.php"
2859 function yy_accept()
2861 if (self::$yyTraceFILE) {
2862 fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
2864 while ($this->yyidx >= 0) {
2865 $stack = $this->yy_pop_parser_stack();
2867 #line 58 "smarty_internal_templateparser.y"
2869 $this->successful = !$this->internalError;
2870 $this->internalError = false;
2871 $this->retvalue = $this->_retvalue;
2872 //echo $this->retvalue."\n\n";
2873 #line 2871 "smarty_internal_templateparser.php"
2876 function doParse($yymajor, $yytokenvalue)
2878 $yyerrorhit = 0; /* True if yymajor has invoked an error */
2880 if ($this->yyidx === null || $this->yyidx < 0) {
2882 $this->yyerrcnt = -1;
2883 $x = new TP_yyStackEntry;
2886 $this->yystack = array();
2887 array_push($this->yystack, $x);
2889 $yyendofinput = ($yymajor==0);
2891 if (self::$yyTraceFILE) {
2892 fprintf(self::$yyTraceFILE, "%sInput %s\n",
2893 self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
2897 $yyact = $this->yy_find_shift_action($yymajor);
2898 if ($yymajor < self::YYERRORSYMBOL &&
2899 !$this->yy_is_expected_token($yymajor)) {
2900 // force a syntax error
2901 $yyact = self::YY_ERROR_ACTION;
2903 if ($yyact < self::YYNSTATE) {
2904 $this->yy_shift($yyact, $yymajor, $yytokenvalue);
2906 if ($yyendofinput && $this->yyidx >= 0) {
2909 $yymajor = self::YYNOCODE;
2911 } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
2912 $this->yy_reduce($yyact - self::YYNSTATE);
2913 } elseif ($yyact == self::YY_ERROR_ACTION) {
2914 if (self::$yyTraceFILE) {
2915 fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
2916 self::$yyTracePrompt);
2918 if (self::YYERRORSYMBOL) {
2919 if ($this->yyerrcnt < 0) {
2920 $this->yy_syntax_error($yymajor, $yytokenvalue);
2922 $yymx = $this->yystack[$this->yyidx]->major;
2923 if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
2924 if (self::$yyTraceFILE) {
2925 fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
2926 self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
2928 $this->yy_destructor($yymajor, $yytokenvalue);
2929 $yymajor = self::YYNOCODE;
2931 while ($this->yyidx >= 0 &&
2932 $yymx != self::YYERRORSYMBOL &&
2933 ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
2935 $this->yy_pop_parser_stack();
2937 if ($this->yyidx < 0 || $yymajor==0) {
2938 $this->yy_destructor($yymajor, $yytokenvalue);
2939 $this->yy_parse_failed();
2940 $yymajor = self::YYNOCODE;
2941 } elseif ($yymx != self::YYERRORSYMBOL) {
2943 $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
2946 $this->yyerrcnt = 3;
2949 if ($this->yyerrcnt <= 0) {
2950 $this->yy_syntax_error($yymajor, $yytokenvalue);
2952 $this->yyerrcnt = 3;
2953 $this->yy_destructor($yymajor, $yytokenvalue);
2954 if ($yyendofinput) {
2955 $this->yy_parse_failed();
2957 $yymajor = self::YYNOCODE;
2961 $yymajor = self::YYNOCODE;
2963 } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);