smarty_internal_templateparser.php 164 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546
  1. <?php
  2. /**
  3. * Smarty Internal Plugin Templateparser
  4. * This is the template parser.
  5. * It is generated from the internal.templateparser.y file
  6. *
  7. * @package Smarty
  8. * @subpackage Compiler
  9. * @author Uwe Tews
  10. */
  11. class TP_yyToken implements ArrayAccess
  12. {
  13. public $string = '';
  14. public $metadata = array();
  15. public function __construct($s, $m = array())
  16. {
  17. if ($s instanceof TP_yyToken) {
  18. $this->string = $s->string;
  19. $this->metadata = $s->metadata;
  20. } else {
  21. $this->string = (string) $s;
  22. if ($m instanceof TP_yyToken) {
  23. $this->metadata = $m->metadata;
  24. } elseif (is_array($m)) {
  25. $this->metadata = $m;
  26. }
  27. }
  28. }
  29. public function __toString()
  30. {
  31. return $this->_string;
  32. }
  33. public function offsetExists($offset)
  34. {
  35. return isset($this->metadata[$offset]);
  36. }
  37. public function offsetGet($offset)
  38. {
  39. return $this->metadata[$offset];
  40. }
  41. public function offsetSet($offset, $value)
  42. {
  43. if ($offset === null) {
  44. if (isset($value[0])) {
  45. $x = ($value instanceof TP_yyToken) ?
  46. $value->metadata : $value;
  47. $this->metadata = array_merge($this->metadata, $x);
  48. return;
  49. }
  50. $offset = count($this->metadata);
  51. }
  52. if ($value === null) {
  53. return;
  54. }
  55. if ($value instanceof TP_yyToken) {
  56. if ($value->metadata) {
  57. $this->metadata[$offset] = $value->metadata;
  58. }
  59. } elseif ($value) {
  60. $this->metadata[$offset] = $value;
  61. }
  62. }
  63. public function offsetUnset($offset)
  64. {
  65. unset($this->metadata[$offset]);
  66. }
  67. }
  68. class TP_yyStackEntry
  69. {
  70. public $stateno; /* The state-number */
  71. public $major; /* The major token value. This is the code
  72. ** number for the token at this stack level */
  73. public $minor; /* The user-supplied minor token value. This
  74. ** is the value of the token */
  75. }
  76. ;
  77. #line 13 "smarty_internal_templateparser.y"
  78. class Smarty_Internal_Templateparser #line 80 "smarty_internal_templateparser.php"
  79. {
  80. #line 15 "smarty_internal_templateparser.y"
  81. const Err1 = "Security error: Call to private object member not allowed";
  82. const Err2 = "Security error: Call to dynamic object member not allowed";
  83. const Err3 = "PHP in template not allowed. Use SmartyBC to enable it";
  84. // states whether the parse was successful or not
  85. public $successful = true;
  86. public $retvalue = 0;
  87. public static $prefix_number = 0;
  88. private $lex;
  89. private $internalError = false;
  90. private $strip = false;
  91. function __construct($lex, $compiler)
  92. {
  93. $this->lex = $lex;
  94. $this->compiler = $compiler;
  95. $this->smarty = $this->compiler->smarty;
  96. $this->template = $this->compiler->template;
  97. $this->compiler->has_variable_string = false;
  98. $this->compiler->prefix_code = array();
  99. $this->block_nesting_level = 0;
  100. if ($this->security = isset($this->smarty->security_policy)) {
  101. $this->php_handling = $this->smarty->security_policy->php_handling;
  102. } else {
  103. $this->php_handling = $this->smarty->php_handling;
  104. }
  105. $this->is_xml = false;
  106. $this->asp_tags = (ini_get('asp_tags') != '0');
  107. $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
  108. }
  109. public static function escape_start_tag($tag_text)
  110. {
  111. $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, - 1, $count); //Escape tag
  112. return $tag;
  113. }
  114. public static function escape_end_tag($tag_text)
  115. {
  116. return '?<?php ?>>';
  117. }
  118. public function compileVariable($variable)
  119. {
  120. if (strpos($variable, '(') == 0) {
  121. // not a variable variable
  122. $var = trim($variable, '\'');
  123. $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable($var, null, true, false)->nocache;
  124. $this->template->properties['variables'][$var] = $this->compiler->tag_nocache | $this->compiler->nocache;
  125. }
  126. // return '(isset($_smarty_tpl->tpl_vars['. $variable .'])?$_smarty_tpl->tpl_vars['. $variable .']->value:$_smarty_tpl->getVariable('. $variable .')->value)';
  127. return '$_smarty_tpl->tpl_vars[' . $variable . ']->value';
  128. }
  129. #line 133 "smarty_internal_templateparser.php"
  130. const TP_VERT = 1;
  131. const TP_COLON = 2;
  132. const TP_RDEL = 3;
  133. const TP_COMMENT = 4;
  134. const TP_PHPSTARTTAG = 5;
  135. const TP_PHPENDTAG = 6;
  136. const TP_ASPSTARTTAG = 7;
  137. const TP_ASPENDTAG = 8;
  138. const TP_FAKEPHPSTARTTAG = 9;
  139. const TP_XMLTAG = 10;
  140. const TP_TEXT = 11;
  141. const TP_STRIPON = 12;
  142. const TP_STRIPOFF = 13;
  143. const TP_BLOCKSOURCE = 14;
  144. const TP_LITERALSTART = 15;
  145. const TP_LITERALEND = 16;
  146. const TP_LITERAL = 17;
  147. const TP_LDEL = 18;
  148. const TP_DOLLAR = 19;
  149. const TP_ID = 20;
  150. const TP_EQUAL = 21;
  151. const TP_PTR = 22;
  152. const TP_LDELIF = 23;
  153. const TP_LDELFOR = 24;
  154. const TP_SEMICOLON = 25;
  155. const TP_INCDEC = 26;
  156. const TP_TO = 27;
  157. const TP_STEP = 28;
  158. const TP_LDELFOREACH = 29;
  159. const TP_SPACE = 30;
  160. const TP_AS = 31;
  161. const TP_APTR = 32;
  162. const TP_LDELSETFILTER = 33;
  163. const TP_SMARTYBLOCKCHILDPARENT = 34;
  164. const TP_LDELSLASH = 35;
  165. const TP_ATTR = 36;
  166. const TP_INTEGER = 37;
  167. const TP_COMMA = 38;
  168. const TP_OPENP = 39;
  169. const TP_CLOSEP = 40;
  170. const TP_MATH = 41;
  171. const TP_UNIMATH = 42;
  172. const TP_ANDSYM = 43;
  173. const TP_ISIN = 44;
  174. const TP_ISDIVBY = 45;
  175. const TP_ISNOTDIVBY = 46;
  176. const TP_ISEVEN = 47;
  177. const TP_ISNOTEVEN = 48;
  178. const TP_ISEVENBY = 49;
  179. const TP_ISNOTEVENBY = 50;
  180. const TP_ISODD = 51;
  181. const TP_ISNOTODD = 52;
  182. const TP_ISODDBY = 53;
  183. const TP_ISNOTODDBY = 54;
  184. const TP_INSTANCEOF = 55;
  185. const TP_QMARK = 56;
  186. const TP_NOT = 57;
  187. const TP_TYPECAST = 58;
  188. const TP_HEX = 59;
  189. const TP_DOT = 60;
  190. const TP_SINGLEQUOTESTRING = 61;
  191. const TP_DOUBLECOLON = 62;
  192. const TP_AT = 63;
  193. const TP_HATCH = 64;
  194. const TP_OPENB = 65;
  195. const TP_CLOSEB = 66;
  196. const TP_EQUALS = 67;
  197. const TP_NOTEQUALS = 68;
  198. const TP_GREATERTHAN = 69;
  199. const TP_LESSTHAN = 70;
  200. const TP_GREATEREQUAL = 71;
  201. const TP_LESSEQUAL = 72;
  202. const TP_IDENTITY = 73;
  203. const TP_NONEIDENTITY = 74;
  204. const TP_MOD = 75;
  205. const TP_LAND = 76;
  206. const TP_LOR = 77;
  207. const TP_LXOR = 78;
  208. const TP_QUOTE = 79;
  209. const TP_BACKTICK = 80;
  210. const TP_DOLLARID = 81;
  211. const YY_NO_ACTION = 570;
  212. const YY_ACCEPT_ACTION = 569;
  213. const YY_ERROR_ACTION = 568;
  214. const YY_SZ_ACTTAB = 2407;
  215. static public $yy_action = array(
  216. /* 0 */
  217. 219, 309, 305, 301, 302, 303, 304, 310, 311, 317,
  218. /* 10 */
  219. 318, 319, 201, 30, 273, 9, 33, 238, 280, 15,
  220. /* 20 */
  221. 5, 108, 235, 234, 220, 7, 126, 42, 30, 30,
  222. /* 30 */
  223. 259, 211, 256, 495, 15, 15, 10, 33, 495, 280,
  224. /* 40 */
  225. 46, 47, 51, 45, 24, 14, 352, 353, 39, 37,
  226. /* 50 */
  227. 278, 359, 12, 25, 219, 219, 326, 434, 219, 192,
  228. /* 60 */
  229. 434, 569, 95, 263, 227, 306, 360, 361, 358, 357,
  230. /* 70 */
  231. 354, 355, 356, 342, 341, 328, 329, 330, 292, 219,
  232. /* 80 */
  233. 202, 322, 242, 30, 434, 231, 207, 434, 143, 15,
  234. /* 90 */
  235. 434, 35, 158, 434, 46, 47, 51, 45, 24, 14,
  236. /* 100 */
  237. 352, 353, 39, 37, 278, 359, 12, 25, 219, 48,
  238. /* 110 */
  239. 32, 219, 48, 391, 196, 2, 31, 138, 321, 4,
  240. /* 120 */
  241. 360, 361, 358, 357, 354, 355, 356, 342, 341, 328,
  242. /* 130 */
  243. 329, 330, 127, 48, 290, 349, 251, 30, 145, 140,
  244. /* 140 */
  245. 30, 207, 264, 15, 200, 322, 15, 334, 46, 47,
  246. /* 150 */
  247. 51, 45, 24, 14, 352, 353, 39, 37, 278, 359,
  248. /* 160 */
  249. 12, 25, 219, 289, 219, 48, 431, 297, 219, 33,
  250. /* 170 */
  251. 396, 280, 18, 191, 360, 361, 358, 357, 354, 355,
  252. /* 180 */
  253. 356, 342, 341, 328, 329, 330, 300, 285, 286, 287,
  254. /* 190 */
  255. 299, 206, 219, 431, 428, 194, 201, 315, 314, 431,
  256. /* 200 */
  257. 207, 281, 46, 47, 51, 45, 24, 14, 352, 353,
  258. /* 210 */
  259. 39, 37, 278, 359, 12, 25, 219, 33, 48, 280,
  260. /* 220 */
  261. 34, 30, 48, 197, 322, 276, 158, 15, 360, 361,
  262. /* 230 */
  263. 358, 357, 354, 355, 356, 342, 341, 328, 329, 330,
  264. /* 240 */
  265. 230, 338, 16, 289, 103, 179, 244, 219, 295, 2,
  266. /* 250 */
  267. 41, 33, 265, 280, 283, 148, 46, 47, 51, 45,
  268. /* 260 */
  269. 24, 14, 352, 353, 39, 37, 278, 359, 12, 25,
  270. /* 270 */
  271. 219, 207, 145, 43, 132, 189, 109, 333, 307, 227,
  272. /* 280 */
  273. 306, 190, 360, 361, 358, 357, 354, 355, 356, 342,
  274. /* 290 */
  275. 341, 328, 329, 330, 20, 22, 248, 339, 219, 99,
  276. /* 300 */
  277. 174, 48, 324, 33, 346, 280, 18, 288, 207, 283,
  278. /* 310 */
  279. 46, 47, 51, 45, 24, 14, 352, 353, 39, 37,
  280. /* 320 */
  281. 278, 359, 12, 25, 219, 289, 207, 30, 41, 110,
  282. /* 330 */
  283. 275, 2, 41, 15, 272, 266, 360, 361, 358, 357,
  284. /* 340 */
  285. 354, 355, 356, 342, 341, 328, 329, 330, 242, 40,
  286. /* 350 */
  287. 236, 347, 104, 177, 145, 219, 44, 316, 148, 135,
  288. /* 360 */
  289. 228, 27, 283, 269, 46, 47, 51, 45, 24, 14,
  290. /* 370 */
  291. 352, 353, 39, 37, 278, 359, 12, 25, 219, 207,
  292. /* 380 */
  293. 208, 33, 7, 280, 245, 239, 136, 173, 241, 279,
  294. /* 390 */
  295. 360, 361, 358, 357, 354, 355, 356, 342, 341, 328,
  296. /* 400 */
  297. 329, 330, 29, 158, 106, 13, 122, 171, 181, 6,
  298. /* 410 */
  299. 33, 15, 226, 33, 219, 237, 283, 283, 46, 47,
  300. /* 420 */
  301. 51, 45, 24, 14, 352, 353, 39, 37, 278, 359,
  302. /* 430 */
  303. 12, 25, 219, 205, 205, 252, 313, 238, 312, 235,
  304. /* 440 */
  305. 232, 195, 97, 127, 360, 361, 358, 357, 354, 355,
  306. /* 450 */
  307. 356, 342, 341, 328, 329, 330, 28, 320, 230, 105,
  308. /* 460 */
  309. 182, 164, 176, 33, 279, 254, 282, 186, 207, 283,
  310. /* 470 */
  311. 283, 253, 46, 47, 51, 45, 24, 14, 352, 353,
  312. /* 480 */
  313. 39, 37, 278, 359, 12, 25, 219, 205, 260, 107,
  314. /* 490 */
  315. 235, 262, 33, 193, 214, 332, 166, 198, 360, 361,
  316. /* 500 */
  317. 358, 357, 354, 355, 356, 342, 341, 328, 329, 330,
  318. /* 510 */
  319. 137, 175, 167, 291, 308, 344, 185, 261, 267, 161,
  320. /* 520 */
  321. 283, 283, 128, 337, 124, 283, 46, 47, 51, 45,
  322. /* 530 */
  323. 24, 14, 352, 353, 39, 37, 278, 359, 12, 25,
  324. /* 540 */
  325. 219, 38, 205, 203, 141, 169, 257, 134, 35, 130,
  326. /* 550 */
  327. 156, 114, 360, 361, 358, 357, 354, 355, 356, 342,
  328. /* 560 */
  329. 341, 328, 329, 330, 320, 158, 320, 241, 36, 293,
  330. /* 570 */
  331. 298, 94, 21, 26, 284, 219, 292, 168, 271, 162,
  332. /* 580 */
  333. 46, 47, 51, 45, 24, 14, 352, 353, 39, 37,
  334. /* 590 */
  335. 278, 359, 12, 25, 219, 279, 229, 205, 44, 281,
  336. /* 600 */
  337. 187, 17, 270, 331, 98, 127, 360, 361, 358, 357,
  338. /* 610 */
  339. 354, 355, 356, 342, 341, 328, 329, 330, 199, 320,
  340. /* 620 */
  341. 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
  342. /* 630 */
  343. 331, 331, 331, 331, 46, 47, 51, 45, 24, 14,
  344. /* 640 */
  345. 352, 353, 39, 37, 278, 359, 12, 25, 219, 331,
  346. /* 650 */
  347. 268, 331, 331, 331, 331, 331, 331, 331, 125, 115,
  348. /* 660 */
  349. 360, 361, 358, 357, 354, 355, 356, 342, 341, 328,
  350. /* 670 */
  351. 329, 330, 279, 331, 320, 331, 331, 331, 331, 331,
  352. /* 680 */
  353. 331, 331, 331, 331, 331, 331, 331, 331, 46, 47,
  354. /* 690 */
  355. 51, 45, 24, 14, 352, 353, 39, 37, 278, 359,
  356. /* 700 */
  357. 12, 25, 219, 331, 204, 331, 331, 331, 331, 331,
  358. /* 710 */
  359. 331, 159, 100, 116, 360, 361, 358, 357, 354, 355,
  360. /* 720 */
  361. 356, 342, 341, 328, 329, 330, 320, 320, 320, 331,
  362. /* 730 */
  363. 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
  364. /* 740 */
  365. 331, 331, 46, 47, 51, 45, 24, 14, 352, 353,
  366. /* 750 */
  367. 39, 37, 278, 359, 12, 25, 219, 331, 331, 331,
  368. /* 760 */
  369. 331, 331, 331, 331, 331, 102, 117, 331, 360, 361,
  370. /* 770 */
  371. 358, 357, 354, 355, 356, 342, 341, 328, 329, 330,
  372. /* 780 */
  373. 320, 320, 331, 331, 331, 331, 331, 331, 331, 331,
  374. /* 790 */
  375. 331, 331, 331, 331, 331, 331, 46, 47, 51, 45,
  376. /* 800 */
  377. 24, 14, 352, 353, 39, 37, 278, 359, 12, 25,
  378. /* 810 */
  379. 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
  380. /* 820 */
  381. 158, 331, 360, 361, 358, 357, 354, 355, 356, 342,
  382. /* 830 */
  383. 341, 328, 329, 330, 331, 331, 331, 331, 46, 47,
  384. /* 840 */
  385. 51, 45, 24, 14, 352, 353, 39, 37, 278, 359,
  386. /* 850 */
  387. 12, 25, 331, 331, 331, 331, 331, 331, 211, 331,
  388. /* 860 */
  389. 331, 331, 331, 10, 360, 361, 358, 357, 354, 355,
  390. /* 870 */
  391. 356, 342, 341, 328, 329, 330, 331, 331, 331, 331,
  392. /* 880 */
  393. 331, 331, 331, 9, 142, 212, 331, 331, 5, 108,
  394. /* 890 */
  395. 331, 246, 331, 331, 126, 157, 183, 331, 259, 123,
  396. /* 900 */
  397. 256, 331, 250, 331, 23, 283, 331, 52, 277, 331,
  398. /* 910 */
  399. 331, 255, 350, 348, 331, 345, 331, 279, 180, 178,
  400. /* 920 */
  401. 331, 331, 49, 50, 296, 240, 351, 283, 283, 106,
  402. /* 930 */
  403. 1, 274, 331, 147, 331, 331, 331, 331, 331, 279,
  404. /* 940 */
  405. 279, 9, 144, 92, 96, 233, 5, 108, 331, 345,
  406. /* 950 */
  407. 331, 331, 126, 331, 331, 246, 259, 323, 256, 146,
  408. /* 960 */
  409. 250, 331, 23, 123, 184, 52, 331, 331, 331, 331,
  410. /* 970 */
  411. 246, 331, 343, 283, 153, 255, 350, 348, 123, 345,
  412. /* 980 */
  413. 49, 50, 296, 240, 351, 279, 331, 106, 1, 331,
  414. /* 990 */
  415. 255, 350, 348, 331, 345, 33, 331, 280, 331, 9,
  416. /* 1000 */
  417. 142, 224, 96, 331, 5, 108, 331, 30, 331, 247,
  418. /* 1010 */
  419. 126, 246, 331, 15, 259, 149, 256, 331, 250, 123,
  420. /* 1020 */
  421. 23, 331, 331, 52, 331, 331, 331, 331, 331, 331,
  422. /* 1030 */
  423. 331, 255, 350, 348, 331, 345, 331, 331, 49, 50,
  424. /* 1040 */
  425. 296, 240, 351, 331, 331, 106, 1, 331, 331, 331,
  426. /* 1050 */
  427. 331, 331, 33, 331, 280, 331, 331, 9, 135, 224,
  428. /* 1060 */
  429. 96, 331, 5, 108, 30, 246, 258, 331, 126, 151,
  430. /* 1070 */
  431. 15, 246, 259, 123, 256, 154, 250, 331, 11, 123,
  432. /* 1080 */
  433. 331, 52, 331, 331, 331, 255, 350, 348, 331, 345,
  434. /* 1090 */
  435. 331, 255, 350, 348, 331, 345, 49, 50, 296, 240,
  436. /* 1100 */
  437. 351, 331, 331, 106, 1, 331, 331, 331, 331, 331,
  438. /* 1110 */
  439. 331, 331, 331, 331, 331, 9, 142, 210, 96, 331,
  440. /* 1120 */
  441. 5, 108, 331, 331, 331, 331, 126, 246, 331, 331,
  442. /* 1130 */
  443. 259, 155, 256, 331, 216, 123, 23, 331, 331, 52,
  444. /* 1140 */
  445. 331, 331, 331, 331, 331, 331, 331, 255, 350, 348,
  446. /* 1150 */
  447. 331, 345, 331, 331, 49, 50, 296, 240, 351, 331,
  448. /* 1160 */
  449. 331, 106, 1, 331, 331, 331, 331, 331, 331, 331,
  450. /* 1170 */
  451. 331, 331, 331, 9, 131, 224, 96, 331, 5, 108,
  452. /* 1180 */
  453. 331, 331, 331, 331, 126, 246, 331, 331, 259, 152,
  454. /* 1190 */
  455. 256, 331, 250, 123, 3, 331, 331, 52, 331, 331,
  456. /* 1200 */
  457. 331, 331, 331, 331, 331, 255, 350, 348, 331, 345,
  458. /* 1210 */
  459. 331, 331, 49, 50, 296, 240, 351, 331, 331, 106,
  460. /* 1220 */
  461. 1, 331, 331, 331, 331, 331, 331, 331, 331, 331,
  462. /* 1230 */
  463. 331, 9, 142, 213, 96, 331, 5, 108, 331, 331,
  464. /* 1240 */
  465. 331, 331, 126, 246, 331, 331, 259, 150, 256, 331,
  466. /* 1250 */
  467. 250, 123, 23, 331, 331, 52, 331, 331, 331, 331,
  468. /* 1260 */
  469. 331, 331, 331, 255, 350, 348, 331, 345, 331, 331,
  470. /* 1270 */
  471. 49, 50, 296, 240, 351, 331, 331, 106, 1, 331,
  472. /* 1280 */
  473. 219, 331, 401, 331, 331, 331, 331, 331, 331, 9,
  474. /* 1290 */
  475. 142, 209, 96, 331, 5, 108, 331, 331, 331, 331,
  476. /* 1300 */
  477. 126, 249, 331, 331, 259, 331, 256, 331, 250, 30,
  478. /* 1310 */
  479. 23, 190, 163, 52, 331, 15, 331, 331, 2, 331,
  480. /* 1320 */
  481. 331, 283, 331, 331, 20, 22, 331, 331, 49, 50,
  482. /* 1330 */
  483. 296, 240, 351, 331, 331, 106, 1, 331, 207, 331,
  484. /* 1340 */
  485. 331, 145, 331, 331, 331, 432, 331, 9, 139, 224,
  486. /* 1350 */
  487. 96, 331, 5, 108, 331, 331, 331, 331, 126, 331,
  488. /* 1360 */
  489. 331, 331, 259, 243, 256, 331, 250, 331, 23, 190,
  490. /* 1370 */
  491. 188, 52, 432, 331, 331, 331, 331, 331, 432, 283,
  492. /* 1380 */
  493. 331, 2, 20, 22, 331, 331, 49, 50, 296, 240,
  494. /* 1390 */
  495. 351, 331, 331, 106, 1, 331, 207, 331, 331, 331,
  496. /* 1400 */
  497. 331, 331, 331, 331, 145, 9, 135, 224, 96, 331,
  498. /* 1410 */
  499. 5, 108, 331, 331, 331, 331, 126, 331, 331, 331,
  500. /* 1420 */
  501. 259, 331, 256, 331, 250, 331, 11, 101, 160, 52,
  502. /* 1430 */
  503. 331, 331, 331, 331, 331, 331, 331, 283, 331, 331,
  504. /* 1440 */
  505. 20, 22, 331, 331, 49, 50, 296, 240, 351, 331,
  506. /* 1450 */
  507. 331, 106, 331, 331, 207, 331, 331, 331, 331, 331,
  508. /* 1460 */
  509. 331, 331, 331, 9, 135, 225, 96, 331, 5, 108,
  510. /* 1470 */
  511. 331, 331, 331, 331, 126, 331, 331, 331, 259, 331,
  512. /* 1480 */
  513. 256, 331, 250, 331, 11, 331, 477, 52, 331, 331,
  514. /* 1490 */
  515. 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
  516. /* 1500 */
  517. 331, 331, 49, 50, 296, 240, 351, 331, 477, 106,
  518. /* 1510 */
  519. 477, 477, 331, 477, 477, 331, 331, 331, 331, 477,
  520. /* 1520 */
  521. 331, 477, 2, 477, 96, 331, 331, 331, 331, 331,
  522. /* 1530 */
  523. 331, 331, 331, 331, 331, 246, 331, 331, 477, 120,
  524. /* 1540 */
  525. 331, 331, 84, 123, 331, 145, 331, 331, 331, 477,
  526. /* 1550 */
  527. 331, 294, 327, 331, 331, 255, 350, 348, 331, 345,
  528. /* 1560 */
  529. 331, 331, 331, 477, 331, 331, 331, 246, 331, 218,
  530. /* 1570 */
  531. 362, 120, 331, 331, 84, 123, 331, 331, 331, 331,
  532. /* 1580 */
  533. 331, 331, 331, 294, 327, 331, 331, 255, 350, 348,
  534. /* 1590 */
  535. 246, 345, 331, 331, 129, 331, 331, 61, 119, 232,
  536. /* 1600 */
  537. 331, 246, 335, 331, 331, 129, 294, 327, 80, 123,
  538. /* 1610 */
  539. 255, 350, 348, 331, 345, 331, 331, 294, 327, 331,
  540. /* 1620 */
  541. 331, 255, 350, 348, 331, 345, 246, 331, 331, 331,
  542. /* 1630 */
  543. 129, 331, 215, 80, 123, 331, 331, 331, 331, 331,
  544. /* 1640 */
  545. 331, 331, 294, 327, 331, 331, 255, 350, 348, 331,
  546. /* 1650 */
  547. 345, 331, 331, 331, 246, 190, 170, 221, 129, 331,
  548. /* 1660 */
  549. 331, 55, 119, 133, 331, 283, 331, 331, 20, 22,
  550. /* 1670 */
  551. 294, 327, 331, 331, 255, 350, 348, 246, 345, 331,
  552. /* 1680 */
  553. 331, 129, 207, 331, 80, 123, 331, 331, 331, 331,
  554. /* 1690 */
  555. 331, 331, 331, 294, 327, 331, 246, 255, 350, 348,
  556. /* 1700 */
  557. 129, 345, 331, 89, 123, 331, 331, 331, 223, 331,
  558. /* 1710 */
  559. 331, 331, 294, 327, 331, 331, 255, 350, 348, 246,
  560. /* 1720 */
  561. 345, 331, 331, 129, 331, 331, 70, 123, 331, 331,
  562. /* 1730 */
  563. 246, 331, 331, 331, 111, 294, 327, 67, 123, 255,
  564. /* 1740 */
  565. 350, 348, 331, 345, 331, 331, 294, 327, 331, 246,
  566. /* 1750 */
  567. 255, 350, 348, 129, 345, 331, 86, 123, 331, 331,
  568. /* 1760 */
  569. 331, 331, 331, 331, 331, 294, 327, 331, 246, 255,
  570. /* 1770 */
  571. 350, 348, 129, 345, 331, 90, 123, 331, 331, 331,
  572. /* 1780 */
  573. 331, 331, 331, 331, 294, 327, 331, 246, 255, 350,
  574. /* 1790 */
  575. 348, 129, 345, 331, 77, 123, 331, 331, 331, 331,
  576. /* 1800 */
  577. 331, 331, 331, 294, 327, 331, 246, 255, 350, 348,
  578. /* 1810 */
  579. 129, 345, 331, 74, 123, 331, 331, 246, 331, 331,
  580. /* 1820 */
  581. 331, 129, 294, 327, 66, 123, 255, 350, 348, 331,
  582. /* 1830 */
  583. 345, 331, 331, 294, 327, 331, 246, 222, 350, 348,
  584. /* 1840 */
  585. 129, 345, 331, 69, 123, 331, 331, 331, 331, 331,
  586. /* 1850 */
  587. 331, 331, 294, 327, 331, 246, 255, 350, 348, 129,
  588. /* 1860 */
  589. 345, 331, 78, 123, 331, 331, 331, 331, 331, 331,
  590. /* 1870 */
  591. 331, 294, 327, 331, 246, 255, 350, 348, 129, 345,
  592. /* 1880 */
  593. 331, 60, 123, 331, 331, 331, 331, 331, 331, 331,
  594. /* 1890 */
  595. 294, 327, 331, 246, 255, 350, 348, 129, 345, 331,
  596. /* 1900 */
  597. 53, 123, 331, 331, 246, 331, 331, 331, 129, 294,
  598. /* 1910 */
  599. 327, 65, 123, 255, 350, 348, 331, 345, 331, 331,
  600. /* 1920 */
  601. 294, 327, 336, 331, 255, 350, 348, 331, 345, 8,
  602. /* 1930 */
  603. 331, 331, 331, 331, 5, 108, 331, 331, 331, 331,
  604. /* 1940 */
  605. 126, 331, 331, 246, 259, 331, 256, 129, 331, 331,
  606. /* 1950 */
  607. 72, 123, 331, 331, 331, 331, 331, 331, 331, 294,
  608. /* 1960 */
  609. 327, 331, 246, 255, 350, 348, 129, 345, 331, 85,
  610. /* 1970 */
  611. 123, 331, 331, 331, 331, 331, 331, 331, 294, 327,
  612. /* 1980 */
  613. 331, 246, 255, 350, 348, 129, 345, 331, 81, 123,
  614. /* 1990 */
  615. 331, 19, 340, 331, 331, 331, 331, 294, 327, 331,
  616. /* 2000 */
  617. 246, 255, 350, 348, 113, 345, 331, 82, 123, 331,
  618. /* 2010 */
  619. 331, 246, 331, 331, 331, 93, 294, 327, 54, 121,
  620. /* 2020 */
  621. 255, 350, 348, 331, 345, 331, 331, 294, 327, 331,
  622. /* 2030 */
  623. 246, 217, 350, 348, 129, 345, 331, 58, 123, 331,
  624. /* 2040 */
  625. 331, 331, 331, 331, 331, 331, 294, 327, 331, 336,
  626. /* 2050 */
  627. 255, 350, 348, 331, 345, 331, 8, 331, 331, 331,
  628. /* 2060 */
  629. 331, 5, 108, 331, 331, 331, 331, 126, 246, 331,
  630. /* 2070 */
  631. 331, 259, 129, 256, 331, 88, 123, 331, 331, 246,
  632. /* 2080 */
  633. 331, 331, 331, 129, 294, 327, 56, 123, 255, 350,
  634. /* 2090 */
  635. 348, 331, 345, 331, 331, 294, 327, 331, 331, 255,
  636. /* 2100 */
  637. 350, 348, 331, 345, 246, 331, 331, 331, 129, 331,
  638. /* 2110 */
  639. 331, 68, 123, 331, 331, 331, 331, 325, 19, 340,
  640. /* 2120 */
  641. 294, 327, 331, 331, 255, 350, 348, 331, 345, 331,
  642. /* 2130 */
  643. 331, 331, 331, 246, 331, 331, 331, 118, 331, 331,
  644. /* 2140 */
  645. 59, 123, 331, 331, 331, 331, 190, 172, 331, 294,
  646. /* 2150 */
  647. 327, 331, 331, 255, 350, 348, 283, 345, 246, 20,
  648. /* 2160 */
  649. 22, 331, 93, 331, 331, 57, 121, 331, 331, 331,
  650. /* 2170 */
  651. 331, 331, 331, 207, 294, 327, 331, 246, 255, 350,
  652. /* 2180 */
  653. 348, 129, 345, 331, 64, 123, 331, 331, 246, 331,
  654. /* 2190 */
  655. 331, 331, 129, 294, 327, 63, 123, 255, 350, 348,
  656. /* 2200 */
  657. 331, 345, 331, 331, 294, 327, 331, 246, 255, 350,
  658. /* 2210 */
  659. 348, 129, 345, 331, 73, 123, 331, 331, 331, 331,
  660. /* 2220 */
  661. 190, 165, 331, 294, 327, 331, 331, 255, 350, 348,
  662. /* 2230 */
  663. 283, 345, 331, 20, 22, 331, 246, 331, 331, 331,
  664. /* 2240 */
  665. 129, 331, 331, 87, 123, 331, 331, 207, 331, 331,
  666. /* 2250 */
  667. 331, 331, 294, 327, 331, 331, 255, 350, 348, 331,
  668. /* 2260 */
  669. 345, 246, 331, 331, 331, 129, 331, 331, 75, 123,
  670. /* 2270 */
  671. 331, 331, 246, 331, 331, 331, 129, 294, 327, 61,
  672. /* 2280 */
  673. 123, 255, 350, 348, 331, 345, 331, 331, 294, 327,
  674. /* 2290 */
  675. 331, 246, 255, 350, 348, 129, 345, 331, 71, 123,
  676. /* 2300 */
  677. 331, 331, 246, 331, 331, 331, 129, 294, 327, 83,
  678. /* 2310 */
  679. 123, 255, 350, 348, 331, 345, 331, 331, 294, 327,
  680. /* 2320 */
  681. 331, 331, 255, 350, 348, 331, 345, 246, 331, 331,
  682. /* 2330 */
  683. 331, 112, 331, 331, 76, 123, 331, 331, 331, 331,
  684. /* 2340 */
  685. 331, 331, 331, 294, 327, 331, 331, 255, 350, 348,
  686. /* 2350 */
  687. 331, 345, 246, 331, 331, 331, 129, 331, 331, 91,
  688. /* 2360 */
  689. 123, 331, 331, 246, 331, 331, 331, 129, 294, 327,
  690. /* 2370 */
  691. 62, 123, 255, 350, 348, 331, 345, 331, 331, 294,
  692. /* 2380 */
  693. 327, 331, 246, 255, 350, 348, 129, 345, 331, 79,
  694. /* 2390 */
  695. 123, 331, 331, 331, 331, 331, 331, 331, 294, 327,
  696. /* 2400 */
  697. 331, 331, 255, 350, 348, 331, 345,
  698. );
  699. static public $yy_lookahead = array(
  700. /* 0 */
  701. 1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
  702. /* 10 */
  703. 13, 14, 15, 30, 66, 18, 18, 2, 20, 36,
  704. /* 20 */
  705. 23, 24, 94, 95, 96, 39, 29, 28, 30, 30,
  706. /* 30 */
  707. 33, 60, 35, 60, 36, 36, 65, 18, 65, 20,
  708. /* 40 */
  709. 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
  710. /* 50 */
  711. 51, 52, 53, 54, 1, 1, 3, 3, 1, 91,
  712. /* 60 */
  713. 3, 83, 84, 85, 86, 87, 67, 68, 69, 70,
  714. /* 70 */
  715. 71, 72, 73, 74, 75, 76, 77, 78, 112, 1,
  716. /* 80 */
  717. 114, 115, 63, 30, 30, 31, 118, 30, 19, 36,
  718. /* 90 */
  719. 36, 21, 22, 36, 41, 42, 43, 44, 45, 46,
  720. /* 100 */
  721. 47, 48, 49, 50, 51, 52, 53, 54, 1, 55,
  722. /* 110 */
  723. 32, 1, 55, 3, 91, 39, 18, 19, 20, 38,
  724. /* 120 */
  725. 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
  726. /* 130 */
  727. 77, 78, 62, 55, 20, 37, 60, 30, 62, 20,
  728. /* 140 */
  729. 30, 118, 66, 36, 114, 115, 36, 66, 41, 42,
  730. /* 150 */
  731. 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
  732. /* 160 */
  733. 53, 54, 1, 26, 1, 55, 3, 37, 1, 18,
  734. /* 170 */
  735. 3, 20, 21, 91, 67, 68, 69, 70, 71, 72,
  736. /* 180 */
  737. 73, 74, 75, 76, 77, 78, 5, 6, 7, 8,
  738. /* 190 */
  739. 9, 20, 1, 30, 3, 100, 15, 16, 17, 36,
  740. /* 200 */
  741. 118, 119, 41, 42, 43, 44, 45, 46, 47, 48,
  742. /* 210 */
  743. 49, 50, 51, 52, 53, 54, 1, 18, 55, 20,
  744. /* 220 */
  745. 21, 30, 55, 114, 115, 26, 22, 36, 67, 68,
  746. /* 230 */
  747. 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
  748. /* 240 */
  749. 86, 80, 32, 26, 91, 92, 31, 1, 109, 39,
  750. /* 250 */
  751. 38, 18, 40, 20, 101, 116, 41, 42, 43, 44,
  752. /* 260 */
  753. 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
  754. /* 270 */
  755. 1, 118, 62, 18, 19, 20, 122, 123, 85, 86,
  756. /* 280 */
  757. 87, 91, 67, 68, 69, 70, 71, 72, 73, 74,
  758. /* 290 */
  759. 75, 76, 77, 78, 104, 105, 63, 80, 1, 91,
  760. /* 300 */
  761. 92, 55, 3, 18, 115, 20, 21, 20, 118, 101,
  762. /* 310 */
  763. 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
  764. /* 320 */
  765. 51, 52, 53, 54, 1, 26, 118, 30, 38, 88,
  766. /* 330 */
  767. 40, 39, 38, 36, 40, 66, 67, 68, 69, 70,
  768. /* 340 */
  769. 71, 72, 73, 74, 75, 76, 77, 78, 63, 21,
  770. /* 350 */
  771. 63, 109, 91, 92, 62, 1, 2, 16, 116, 19,
  772. /* 360 */
  773. 20, 18, 101, 40, 41, 42, 43, 44, 45, 46,
  774. /* 370 */
  775. 47, 48, 49, 50, 51, 52, 53, 54, 1, 118,
  776. /* 380 */
  777. 3, 18, 39, 20, 19, 20, 19, 111, 60, 113,
  778. /* 390 */
  779. 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
  780. /* 400 */
  781. 77, 78, 21, 22, 64, 30, 39, 92, 92, 39,
  782. /* 410 */
  783. 18, 36, 20, 18, 1, 20, 101, 101, 41, 42,
  784. /* 420 */
  785. 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
  786. /* 430 */
  787. 53, 54, 1, 118, 118, 22, 87, 2, 89, 94,
  788. /* 440 */
  789. 95, 91, 98, 62, 67, 68, 69, 70, 71, 72,
  790. /* 450 */
  791. 73, 74, 75, 76, 77, 78, 21, 113, 86, 111,
  792. /* 460 */
  793. 92, 92, 111, 18, 113, 20, 20, 111, 118, 101,
  794. /* 470 */
  795. 101, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  796. /* 480 */
  797. 49, 50, 51, 52, 53, 54, 1, 118, 3, 100,
  798. /* 490 */
  799. 94, 95, 18, 100, 20, 123, 111, 25, 67, 68,
  800. /* 500 */
  801. 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
  802. /* 510 */
  803. 38, 92, 92, 20, 3, 3, 92, 20, 40, 64,
  804. /* 520 */
  805. 101, 101, 19, 3, 19, 101, 41, 42, 43, 44,
  806. /* 530 */
  807. 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
  808. /* 540 */
  809. 1, 2, 118, 20, 19, 64, 20, 19, 21, 98,
  810. /* 550 */
  811. 20, 98, 67, 68, 69, 70, 71, 72, 73, 74,
  812. /* 560 */
  813. 75, 76, 77, 78, 113, 22, 113, 60, 27, 20,
  814. /* 570 */
  815. 37, 20, 56, 2, 101, 1, 112, 111, 116, 111,
  816. /* 580 */
  817. 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
  818. /* 590 */
  819. 51, 52, 53, 54, 1, 113, 97, 118, 2, 119,
  820. /* 600 */
  821. 111, 97, 30, 124, 98, 62, 67, 68, 69, 70,
  822. /* 610 */
  823. 71, 72, 73, 74, 75, 76, 77, 78, 25, 113,
  824. /* 620 */
  825. 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
  826. /* 630 */
  827. 124, 124, 124, 124, 41, 42, 43, 44, 45, 46,
  828. /* 640 */
  829. 47, 48, 49, 50, 51, 52, 53, 54, 1, 124,
  830. /* 650 */
  831. 3, 124, 124, 124, 124, 124, 124, 124, 99, 98,
  832. /* 660 */
  833. 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
  834. /* 670 */
  835. 77, 78, 113, 124, 113, 124, 124, 124, 124, 124,
  836. /* 680 */
  837. 124, 124, 124, 124, 124, 124, 124, 124, 41, 42,
  838. /* 690 */
  839. 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
  840. /* 700 */
  841. 53, 54, 1, 124, 3, 124, 124, 124, 124, 124,
  842. /* 710 */
  843. 124, 98, 98, 98, 67, 68, 69, 70, 71, 72,
  844. /* 720 */
  845. 73, 74, 75, 76, 77, 78, 113, 113, 113, 124,
  846. /* 730 */
  847. 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
  848. /* 740 */
  849. 124, 124, 41, 42, 43, 44, 45, 46, 47, 48,
  850. /* 750 */
  851. 49, 50, 51, 52, 53, 54, 1, 124, 124, 124,
  852. /* 760 */
  853. 124, 124, 124, 124, 124, 98, 98, 124, 67, 68,
  854. /* 770 */
  855. 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
  856. /* 780 */
  857. 113, 113, 124, 124, 124, 124, 124, 124, 124, 124,
  858. /* 790 */
  859. 124, 124, 124, 124, 124, 124, 41, 42, 43, 44,
  860. /* 800 */
  861. 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
  862. /* 810 */
  863. 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
  864. /* 820 */
  865. 22, 124, 67, 68, 69, 70, 71, 72, 73, 74,
  866. /* 830 */
  867. 75, 76, 77, 78, 124, 124, 124, 124, 41, 42,
  868. /* 840 */
  869. 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
  870. /* 850 */
  871. 53, 54, 124, 124, 124, 124, 124, 124, 60, 124,
  872. /* 860 */
  873. 124, 124, 124, 65, 67, 68, 69, 70, 71, 72,
  874. /* 870 */
  875. 73, 74, 75, 76, 77, 78, 124, 124, 124, 124,
  876. /* 880 */
  877. 124, 124, 124, 18, 19, 20, 124, 124, 23, 24,
  878. /* 890 */
  879. 124, 86, 124, 124, 29, 90, 92, 124, 33, 94,
  880. /* 900 */
  881. 35, 124, 37, 124, 39, 101, 124, 42, 103, 124,
  882. /* 910 */
  883. 124, 106, 107, 108, 124, 110, 124, 113, 92, 92,
  884. /* 920 */
  885. 124, 124, 57, 58, 59, 60, 61, 101, 101, 64,
  886. /* 930 */
  887. 65, 66, 124, 94, 124, 124, 124, 124, 124, 113,
  888. /* 940 */
  889. 113, 18, 19, 20, 79, 106, 23, 24, 124, 110,
  890. /* 950 */
  891. 124, 124, 29, 124, 124, 86, 33, 34, 35, 90,
  892. /* 960 */
  893. 37, 124, 39, 94, 92, 42, 124, 124, 124, 124,
  894. /* 970 */
  895. 86, 124, 103, 101, 90, 106, 107, 108, 94, 110,
  896. /* 980 */
  897. 57, 58, 59, 60, 61, 113, 124, 64, 65, 124,
  898. /* 990 */
  899. 106, 107, 108, 124, 110, 18, 124, 20, 124, 18,
  900. /* 1000 */
  901. 19, 20, 79, 124, 23, 24, 124, 30, 124, 32,
  902. /* 1010 */
  903. 29, 86, 124, 36, 33, 90, 35, 124, 37, 94,
  904. /* 1020 */
  905. 39, 124, 124, 42, 124, 124, 124, 124, 124, 124,
  906. /* 1030 */
  907. 124, 106, 107, 108, 124, 110, 124, 124, 57, 58,
  908. /* 1040 */
  909. 59, 60, 61, 124, 124, 64, 65, 124, 124, 124,
  910. /* 1050 */
  911. 124, 124, 18, 124, 20, 124, 124, 18, 19, 20,
  912. /* 1060 */
  913. 79, 124, 23, 24, 30, 86, 32, 124, 29, 90,
  914. /* 1070 */
  915. 36, 86, 33, 94, 35, 90, 37, 124, 39, 94,
  916. /* 1080 */
  917. 124, 42, 124, 124, 124, 106, 107, 108, 124, 110,
  918. /* 1090 */
  919. 124, 106, 107, 108, 124, 110, 57, 58, 59, 60,
  920. /* 1100 */
  921. 61, 124, 124, 64, 65, 124, 124, 124, 124, 124,
  922. /* 1110 */
  923. 124, 124, 124, 124, 124, 18, 19, 20, 79, 124,
  924. /* 1120 */
  925. 23, 24, 124, 124, 124, 124, 29, 86, 124, 124,
  926. /* 1130 */
  927. 33, 90, 35, 124, 37, 94, 39, 124, 124, 42,
  928. /* 1140 */
  929. 124, 124, 124, 124, 124, 124, 124, 106, 107, 108,
  930. /* 1150 */
  931. 124, 110, 124, 124, 57, 58, 59, 60, 61, 124,
  932. /* 1160 */
  933. 124, 64, 65, 124, 124, 124, 124, 124, 124, 124,
  934. /* 1170 */
  935. 124, 124, 124, 18, 19, 20, 79, 124, 23, 24,
  936. /* 1180 */
  937. 124, 124, 124, 124, 29, 86, 124, 124, 33, 90,
  938. /* 1190 */
  939. 35, 124, 37, 94, 39, 124, 124, 42, 124, 124,
  940. /* 1200 */
  941. 124, 124, 124, 124, 124, 106, 107, 108, 124, 110,
  942. /* 1210 */
  943. 124, 124, 57, 58, 59, 60, 61, 124, 124, 64,
  944. /* 1220 */
  945. 65, 124, 124, 124, 124, 124, 124, 124, 124, 124,
  946. /* 1230 */
  947. 124, 18, 19, 20, 79, 124, 23, 24, 124, 124,
  948. /* 1240 */
  949. 124, 124, 29, 86, 124, 124, 33, 90, 35, 124,
  950. /* 1250 */
  951. 37, 94, 39, 124, 124, 42, 124, 124, 124, 124,
  952. /* 1260 */
  953. 124, 124, 124, 106, 107, 108, 124, 110, 124, 124,
  954. /* 1270 */
  955. 57, 58, 59, 60, 61, 124, 124, 64, 65, 124,
  956. /* 1280 */
  957. 1, 124, 3, 124, 124, 124, 124, 124, 124, 18,
  958. /* 1290 */
  959. 19, 20, 79, 124, 23, 24, 124, 124, 124, 124,
  960. /* 1300 */
  961. 29, 22, 124, 124, 33, 124, 35, 124, 37, 30,
  962. /* 1310 */
  963. 39, 91, 92, 42, 124, 36, 124, 124, 39, 124,
  964. /* 1320 */
  965. 124, 101, 124, 124, 104, 105, 124, 124, 57, 58,
  966. /* 1330 */
  967. 59, 60, 61, 124, 124, 64, 65, 124, 118, 124,
  968. /* 1340 */
  969. 124, 62, 124, 124, 124, 3, 124, 18, 19, 20,
  970. /* 1350 */
  971. 79, 124, 23, 24, 124, 124, 124, 124, 29, 124,
  972. /* 1360 */
  973. 124, 124, 33, 21, 35, 124, 37, 124, 39, 91,
  974. /* 1370 */
  975. 92, 42, 30, 124, 124, 124, 124, 124, 36, 101,
  976. /* 1380 */
  977. 124, 39, 104, 105, 124, 124, 57, 58, 59, 60,
  978. /* 1390 */
  979. 61, 124, 124, 64, 65, 124, 118, 124, 124, 124,
  980. /* 1400 */
  981. 124, 124, 124, 124, 62, 18, 19, 20, 79, 124,
  982. /* 1410 */
  983. 23, 24, 124, 124, 124, 124, 29, 124, 124, 124,
  984. /* 1420 */
  985. 33, 124, 35, 124, 37, 124, 39, 91, 92, 42,
  986. /* 1430 */
  987. 124, 124, 124, 124, 124, 124, 124, 101, 124, 124,
  988. /* 1440 */
  989. 104, 105, 124, 124, 57, 58, 59, 60, 61, 124,
  990. /* 1450 */
  991. 124, 64, 124, 124, 118, 124, 124, 124, 124, 124,
  992. /* 1460 */
  993. 124, 124, 124, 18, 19, 20, 79, 124, 23, 24,
  994. /* 1470 */
  995. 124, 124, 124, 124, 29, 124, 124, 124, 33, 124,
  996. /* 1480 */
  997. 35, 124, 37, 124, 39, 124, 3, 42, 124, 124,
  998. /* 1490 */
  999. 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
  1000. /* 1500 */
  1001. 124, 124, 57, 58, 59, 60, 61, 124, 25, 64,
  1002. /* 1510 */
  1003. 27, 28, 124, 30, 31, 124, 124, 124, 124, 36,
  1004. /* 1520 */
  1005. 124, 38, 39, 40, 79, 124, 124, 124, 124, 124,
  1006. /* 1530 */
  1007. 124, 124, 124, 124, 124, 86, 124, 124, 55, 90,
  1008. /* 1540 */
  1009. 124, 124, 93, 94, 124, 62, 124, 124, 124, 66,
  1010. /* 1550 */
  1011. 124, 102, 103, 124, 124, 106, 107, 108, 124, 110,
  1012. /* 1560 */
  1013. 124, 124, 124, 80, 124, 124, 124, 86, 124, 120,
  1014. /* 1570 */
  1015. 121, 90, 124, 124, 93, 94, 124, 124, 124, 124,
  1016. /* 1580 */
  1017. 124, 124, 124, 102, 103, 124, 124, 106, 107, 108,
  1018. /* 1590 */
  1019. 86, 110, 124, 124, 90, 124, 124, 93, 94, 95,
  1020. /* 1600 */
  1021. 124, 86, 121, 124, 124, 90, 102, 103, 93, 94,
  1022. /* 1610 */
  1023. 106, 107, 108, 124, 110, 124, 124, 102, 103, 124,
  1024. /* 1620 */
  1025. 124, 106, 107, 108, 124, 110, 86, 124, 124, 124,
  1026. /* 1630 */
  1027. 90, 124, 117, 93, 94, 124, 124, 124, 124, 124,
  1028. /* 1640 */
  1029. 124, 124, 102, 103, 124, 124, 106, 107, 108, 124,
  1030. /* 1650 */
  1031. 110, 124, 124, 124, 86, 91, 92, 117, 90, 124,
  1032. /* 1660 */
  1033. 124, 93, 94, 95, 124, 101, 124, 124, 104, 105,
  1034. /* 1670 */
  1035. 102, 103, 124, 124, 106, 107, 108, 86, 110, 124,
  1036. /* 1680 */
  1037. 124, 90, 118, 124, 93, 94, 124, 124, 124, 124,
  1038. /* 1690 */
  1039. 124, 124, 124, 102, 103, 124, 86, 106, 107, 108,
  1040. /* 1700 */
  1041. 90, 110, 124, 93, 94, 124, 124, 124, 117, 124,
  1042. /* 1710 */
  1043. 124, 124, 102, 103, 124, 124, 106, 107, 108, 86,
  1044. /* 1720 */
  1045. 110, 124, 124, 90, 124, 124, 93, 94, 124, 124,
  1046. /* 1730 */
  1047. 86, 124, 124, 124, 90, 102, 103, 93, 94, 106,
  1048. /* 1740 */
  1049. 107, 108, 124, 110, 124, 124, 102, 103, 124, 86,
  1050. /* 1750 */
  1051. 106, 107, 108, 90, 110, 124, 93, 94, 124, 124,
  1052. /* 1760 */
  1053. 124, 124, 124, 124, 124, 102, 103, 124, 86, 106,
  1054. /* 1770 */
  1055. 107, 108, 90, 110, 124, 93, 94, 124, 124, 124,
  1056. /* 1780 */
  1057. 124, 124, 124, 124, 102, 103, 124, 86, 106, 107,
  1058. /* 1790 */
  1059. 108, 90, 110, 124, 93, 94, 124, 124, 124, 124,
  1060. /* 1800 */
  1061. 124, 124, 124, 102, 103, 124, 86, 106, 107, 108,
  1062. /* 1810 */
  1063. 90, 110, 124, 93, 94, 124, 124, 86, 124, 124,
  1064. /* 1820 */
  1065. 124, 90, 102, 103, 93, 94, 106, 107, 108, 124,
  1066. /* 1830 */
  1067. 110, 124, 124, 102, 103, 124, 86, 106, 107, 108,
  1068. /* 1840 */
  1069. 90, 110, 124, 93, 94, 124, 124, 124, 124, 124,
  1070. /* 1850 */
  1071. 124, 124, 102, 103, 124, 86, 106, 107, 108, 90,
  1072. /* 1860 */
  1073. 110, 124, 93, 94, 124, 124, 124, 124, 124, 124,
  1074. /* 1870 */
  1075. 124, 102, 103, 124, 86, 106, 107, 108, 90, 110,
  1076. /* 1880 */
  1077. 124, 93, 94, 124, 124, 124, 124, 124, 124, 124,
  1078. /* 1890 */
  1079. 102, 103, 124, 86, 106, 107, 108, 90, 110, 124,
  1080. /* 1900 */
  1081. 93, 94, 124, 124, 86, 124, 124, 124, 90, 102,
  1082. /* 1910 */
  1083. 103, 93, 94, 106, 107, 108, 124, 110, 124, 124,
  1084. /* 1920 */
  1085. 102, 103, 11, 124, 106, 107, 108, 124, 110, 18,
  1086. /* 1930 */
  1087. 124, 124, 124, 124, 23, 24, 124, 124, 124, 124,
  1088. /* 1940 */
  1089. 29, 124, 124, 86, 33, 124, 35, 90, 124, 124,
  1090. /* 1950 */
  1091. 93, 94, 124, 124, 124, 124, 124, 124, 124, 102,
  1092. /* 1960 */
  1093. 103, 124, 86, 106, 107, 108, 90, 110, 124, 93,
  1094. /* 1970 */
  1095. 94, 124, 124, 124, 124, 124, 124, 124, 102, 103,
  1096. /* 1980 */
  1097. 124, 86, 106, 107, 108, 90, 110, 124, 93, 94,
  1098. /* 1990 */
  1099. 79, 80, 81, 124, 124, 124, 124, 102, 103, 124,
  1100. /* 2000 */
  1101. 86, 106, 107, 108, 90, 110, 124, 93, 94, 124,
  1102. /* 2010 */
  1103. 124, 86, 124, 124, 124, 90, 102, 103, 93, 94,
  1104. /* 2020 */
  1105. 106, 107, 108, 124, 110, 124, 124, 102, 103, 124,
  1106. /* 2030 */
  1107. 86, 106, 107, 108, 90, 110, 124, 93, 94, 124,
  1108. /* 2040 */
  1109. 124, 124, 124, 124, 124, 124, 102, 103, 124, 11,
  1110. /* 2050 */
  1111. 106, 107, 108, 124, 110, 124, 18, 124, 124, 124,
  1112. /* 2060 */
  1113. 124, 23, 24, 124, 124, 124, 124, 29, 86, 124,
  1114. /* 2070 */
  1115. 124, 33, 90, 35, 124, 93, 94, 124, 124, 86,
  1116. /* 2080 */
  1117. 124, 124, 124, 90, 102, 103, 93, 94, 106, 107,
  1118. /* 2090 */
  1119. 108, 124, 110, 124, 124, 102, 103, 124, 124, 106,
  1120. /* 2100 */
  1121. 107, 108, 124, 110, 86, 124, 124, 124, 90, 124,
  1122. /* 2110 */
  1123. 124, 93, 94, 124, 124, 124, 124, 79, 80, 81,
  1124. /* 2120 */
  1125. 102, 103, 124, 124, 106, 107, 108, 124, 110, 124,
  1126. /* 2130 */
  1127. 124, 124, 124, 86, 124, 124, 124, 90, 124, 124,
  1128. /* 2140 */
  1129. 93, 94, 124, 124, 124, 124, 91, 92, 124, 102,
  1130. /* 2150 */
  1131. 103, 124, 124, 106, 107, 108, 101, 110, 86, 104,
  1132. /* 2160 */
  1133. 105, 124, 90, 124, 124, 93, 94, 124, 124, 124,
  1134. /* 2170 */
  1135. 124, 124, 124, 118, 102, 103, 124, 86, 106, 107,
  1136. /* 2180 */
  1137. 108, 90, 110, 124, 93, 94, 124, 124, 86, 124,
  1138. /* 2190 */
  1139. 124, 124, 90, 102, 103, 93, 94, 106, 107, 108,
  1140. /* 2200 */
  1141. 124, 110, 124, 124, 102, 103, 124, 86, 106, 107,
  1142. /* 2210 */
  1143. 108, 90, 110, 124, 93, 94, 124, 124, 124, 124,
  1144. /* 2220 */
  1145. 91, 92, 124, 102, 103, 124, 124, 106, 107, 108,
  1146. /* 2230 */
  1147. 101, 110, 124, 104, 105, 124, 86, 124, 124, 124,
  1148. /* 2240 */
  1149. 90, 124, 124, 93, 94, 124, 124, 118, 124, 124,
  1150. /* 2250 */
  1151. 124, 124, 102, 103, 124, 124, 106, 107, 108, 124,
  1152. /* 2260 */
  1153. 110, 86, 124, 124, 124, 90, 124, 124, 93, 94,
  1154. /* 2270 */
  1155. 124, 124, 86, 124, 124, 124, 90, 102, 103, 93,
  1156. /* 2280 */
  1157. 94, 106, 107, 108, 124, 110, 124, 124, 102, 103,
  1158. /* 2290 */
  1159. 124, 86, 106, 107, 108, 90, 110, 124, 93, 94,
  1160. /* 2300 */
  1161. 124, 124, 86, 124, 124, 124, 90, 102, 103, 93,
  1162. /* 2310 */
  1163. 94, 106, 107, 108, 124, 110, 124, 124, 102, 103,
  1164. /* 2320 */
  1165. 124, 124, 106, 107, 108, 124, 110, 86, 124, 124,
  1166. /* 2330 */
  1167. 124, 90, 124, 124, 93, 94, 124, 124, 124, 124,
  1168. /* 2340 */
  1169. 124, 124, 124, 102, 103, 124, 124, 106, 107, 108,
  1170. /* 2350 */
  1171. 124, 110, 86, 124, 124, 124, 90, 124, 124, 93,
  1172. /* 2360 */
  1173. 94, 124, 124, 86, 124, 124, 124, 90, 102, 103,
  1174. /* 2370 */
  1175. 93, 94, 106, 107, 108, 124, 110, 124, 124, 102,
  1176. /* 2380 */
  1177. 103, 124, 86, 106, 107, 108, 90, 110, 124, 93,
  1178. /* 2390 */
  1179. 94, 124, 124, 124, 124, 124, 124, 124, 102, 103,
  1180. /* 2400 */
  1181. 124, 124, 106, 107, 108, 124, 110,
  1182. );
  1183. const YY_SHIFT_USE_DFLT = - 53;
  1184. const YY_SHIFT_MAX = 259;
  1185. static public $yy_shift_ofst = array(
  1186. /* 0 */
  1187. - 3, 1213, 981, 1155, 1213, 1155, 981, 981, 923, 923,
  1188. /* 10 */
  1189. 865, 981, 981, 1097, 981, 981, 981, 981, 981, 981,
  1190. /* 20 */
  1191. 981, 1329, 981, 981, 981, 981, 1271, 981, 981, 981,
  1192. /* 30 */
  1193. 1097, 981, 981, 981, 981, 981, 981, 981, 981, 981,
  1194. /* 40 */
  1195. 981, 981, 981, 981, 1039, 1039, 1387, 1387, 1445, 1387,
  1196. /* 50 */
  1197. 1387, 1387, 1387, - 1, 53, 107, 107, 107, 107, 107,
  1198. /* 60 */
  1199. 485, 431, 593, 647, 701, 323, 161, 215, 377, 269,
  1200. /* 70 */
  1201. 539, 755, 755, 755, 755, 755, 755, 755, 755, 755,
  1202. /* 80 */
  1203. 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
  1204. /* 90 */
  1205. 797, 797, 1279, 110, 297, - 3, 2038, 977, 1034, 191,
  1206. /* 100 */
  1207. - 2, 191, - 2, 297, 297, 798, 340, 354, 367, 1911,
  1208. /* 110 */
  1209. 181, 54, 57, 163, 199, 285, 19, 151, 167, 70,
  1210. /* 120 */
  1211. 78, 381, 367, 543, 363, - 17, 375, 365, 363, 246,
  1212. /* 130 */
  1213. 363, 395, 392, - 17, 363, 363, 363, 367, 363, 445,
  1214. /* 140 */
  1215. 413, 363, 395, 363, 474, 365, 574, 204, 204, 574,
  1216. /* 150 */
  1217. 574, 574, 574, 574, 574, 574, 574, - 53, 255, 233,
  1218. /* 160 */
  1219. - 17, - 27, - 29, - 17, - 17, - 17, - 29, - 17, - 29, - 27,
  1220. /* 170 */
  1221. - 17, - 17, - 17, - 29, - 17, - 17, - 29, - 17, - 17, - 17,
  1222. /* 180 */
  1223. - 17, - 17, - 17, - 17, - 17, - 17, - 29, - 29, - 17, 343,
  1224. /* 190 */
  1225. 574, 574, 574, 596, 596, 574, 574, 204, 572, 572,
  1226. /* 200 */
  1227. 204, 341, 204, 370, - 53, - 53, - 53, - 53, - 53, 1483,
  1228. /* 210 */
  1229. 1342, 98, 76, 210, 435, 212, 328, 299, 81, 287,
  1230. /* 220 */
  1231. 472, 294, 217, 290, 292, 292, 370, 511, 455, 505,
  1232. /* 230 */
  1233. 520, 528, 478, 481, 541, 527, 446, 15, 114, - 14,
  1234. /* 240 */
  1235. 533, 130, 493, 497, 503, 523, 512, 525, 549, 551,
  1236. /* 250 */
  1237. 507, 526, 530, 516, 571, 137, 119, - 52, 69, 171,
  1238. );
  1239. const YY_REDUCE_USE_DFLT = - 73;
  1240. const YY_REDUCE_MAX = 208;
  1241. static public $yy_reduce_ofst = array(
  1242. /* 0 */
  1243. - 22, 1449, 1540, 1504, 1481, 1568, 1515, 1591, 1925, 2072,
  1244. /* 10 */
  1245. 1750, 1818, 1895, 1644, 1663, 1914, 2205, 2277, 1876, 1731,
  1246. /* 20 */
  1247. 1857, 1633, 1701, 2186, 2150, 2296, 2266, 2091, 2047, 1993,
  1248. /* 30 */
  1249. 2241, 2102, 1720, 1788, 1982, 1769, 1807, 1610, 1682, 2175,
  1250. /* 40 */
  1251. 2216, 2121, 1944, 2018, 805, 869, 884, 979, 925, 985,
  1252. /* 50 */
  1253. 1041, 1157, 1099, 1220, 1336, 2129, 1278, 1336, 1564, 2055,
  1254. /* 60 */
  1255. 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
  1256. /* 70 */
  1257. 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
  1258. /* 80 */
  1259. 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
  1260. /* 90 */
  1261. 190, 190, 261, 208, 153, 193, 154, 827, 826, 369,
  1262. /* 100 */
  1263. 804, 315, 872, 316, 424, - 34, 839, 82, - 72, 372,
  1264. /* 110 */
  1265. 349, - 32, - 32, - 32, 559, 351, 351, 351, - 32, 30,
  1266. /* 120 */
  1267. - 32, 30, 345, 30, 453, 420, 368, 242, 344, - 32,
  1268. /* 130 */
  1269. 276, 561, 451, 419, 506, 615, 668, 396, 613, 615,
  1270. /* 140 */
  1271. 350, 614, 615, 667, 615, 139, - 32, 30, 109, - 32,
  1272. /* 150 */
  1273. - 32, - 32, - 32, - 32, - 32, - 32, 23, - 32, 462, 482,
  1274. /* 160 */
  1275. 473, 466, 464, 473, 473, 473, 464, 473, 464, 468,
  1276. /* 170 */
  1277. 473, 473, 473, 464, 473, 473, 464, 473, 473, 473,
  1278. /* 180 */
  1279. 473, 473, 473, 473, 473, 473, 464, 464, 473, 489,
  1280. /* 190 */
  1281. 479, 479, 479, 480, 480, 479, 479, 189, 504, 499,
  1282. /* 200 */
  1283. 189, 241, 189, 348, 356, 393, 389, 95, 385,
  1284. );
  1285. static public $yyExpectedTokens = array(
  1286. /* 0 */
  1287. array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23, 24, 29, 33, 35,),
  1288. /* 1 */
  1289. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1290. /* 2 */
  1291. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1292. /* 3 */
  1293. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1294. /* 4 */
  1295. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1296. /* 5 */
  1297. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1298. /* 6 */
  1299. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1300. /* 7 */
  1301. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1302. /* 8 */
  1303. array(18, 19, 20, 23, 24, 29, 33, 34, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1304. /* 9 */
  1305. array(18, 19, 20, 23, 24, 29, 33, 34, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1306. /* 10 */
  1307. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 66, 79,),
  1308. /* 11 */
  1309. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1310. /* 12 */
  1311. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1312. /* 13 */
  1313. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1314. /* 14 */
  1315. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1316. /* 15 */
  1317. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1318. /* 16 */
  1319. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1320. /* 17 */
  1321. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1322. /* 18 */
  1323. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1324. /* 19 */
  1325. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1326. /* 20 */
  1327. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1328. /* 21 */
  1329. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1330. /* 22 */
  1331. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1332. /* 23 */
  1333. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1334. /* 24 */
  1335. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1336. /* 25 */
  1337. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1338. /* 26 */
  1339. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1340. /* 27 */
  1341. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1342. /* 28 */
  1343. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1344. /* 29 */
  1345. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1346. /* 30 */
  1347. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1348. /* 31 */
  1349. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1350. /* 32 */
  1351. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1352. /* 33 */
  1353. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1354. /* 34 */
  1355. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1356. /* 35 */
  1357. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1358. /* 36 */
  1359. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1360. /* 37 */
  1361. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1362. /* 38 */
  1363. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1364. /* 39 */
  1365. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1366. /* 40 */
  1367. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1368. /* 41 */
  1369. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1370. /* 42 */
  1371. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1372. /* 43 */
  1373. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1374. /* 44 */
  1375. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1376. /* 45 */
  1377. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
  1378. /* 46 */
  1379. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
  1380. /* 47 */
  1381. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
  1382. /* 48 */
  1383. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
  1384. /* 49 */
  1385. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
  1386. /* 50 */
  1387. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
  1388. /* 51 */
  1389. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
  1390. /* 52 */
  1391. array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
  1392. /* 53 */
  1393. array(1, 28, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1394. /* 54 */
  1395. array(1, 3, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1396. /* 55 */
  1397. array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1398. /* 56 */
  1399. array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1400. /* 57 */
  1401. array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1402. /* 58 */
  1403. array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1404. /* 59 */
  1405. array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1406. /* 60 */
  1407. array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1408. /* 61 */
  1409. array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1410. /* 62 */
  1411. array(1, 25, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1412. /* 63 */
  1413. array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1414. /* 64 */
  1415. array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1416. /* 65 */
  1417. array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1418. /* 66 */
  1419. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80,),
  1420. /* 67 */
  1421. array(1, 31, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1422. /* 68 */
  1423. array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1424. /* 69 */
  1425. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1426. /* 70 */
  1427. array(1, 2, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1428. /* 71 */
  1429. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1430. /* 72 */
  1431. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1432. /* 73 */
  1433. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1434. /* 74 */
  1435. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1436. /* 75 */
  1437. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1438. /* 76 */
  1439. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1440. /* 77 */
  1441. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1442. /* 78 */
  1443. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1444. /* 79 */
  1445. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1446. /* 80 */
  1447. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1448. /* 81 */
  1449. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1450. /* 82 */
  1451. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1452. /* 83 */
  1453. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1454. /* 84 */
  1455. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1456. /* 85 */
  1457. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1458. /* 86 */
  1459. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1460. /* 87 */
  1461. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1462. /* 88 */
  1463. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1464. /* 89 */
  1465. array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1466. /* 90 */
  1467. array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1468. /* 91 */
  1469. array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
  1470. /* 92 */
  1471. array(1, 3, 22, 30, 36, 39, 62,),
  1472. /* 93 */
  1473. array(1, 3, 30, 36, 55,),
  1474. /* 94 */
  1475. array(1, 30, 36,),
  1476. /* 95 */
  1477. array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23, 24, 29, 33, 35,),
  1478. /* 96 */
  1479. array(11, 18, 23, 24, 29, 33, 35, 79, 80, 81,),
  1480. /* 97 */
  1481. array(18, 20, 30, 32, 36,),
  1482. /* 98 */
  1483. array(18, 20, 30, 32, 36,),
  1484. /* 99 */
  1485. array(1, 3, 30, 36,),
  1486. /* 100 */
  1487. array(18, 20, 30, 36,),
  1488. /* 101 */
  1489. array(1, 3, 30, 36,),
  1490. /* 102 */
  1491. array(18, 20, 30, 36,),
  1492. /* 103 */
  1493. array(1, 30, 36,),
  1494. /* 104 */
  1495. array(1, 30, 36,),
  1496. /* 105 */
  1497. array(22, 60, 65,),
  1498. /* 106 */
  1499. array(19, 20, 64,),
  1500. /* 107 */
  1501. array(1, 2,),
  1502. /* 108 */
  1503. array(19, 39,),
  1504. /* 109 */
  1505. array(11, 18, 23, 24, 29, 33, 35, 79, 80, 81,),
  1506. /* 110 */
  1507. array(5, 6, 7, 8, 9, 15, 16, 17,),
  1508. /* 111 */
  1509. array(1, 3, 30, 31, 36, 55,),
  1510. /* 112 */
  1511. array(1, 3, 30, 36, 55,),
  1512. /* 113 */
  1513. array(1, 3, 30, 36, 55,),
  1514. /* 114 */
  1515. array(18, 20, 21, 26,),
  1516. /* 115 */
  1517. array(18, 20, 21, 63,),
  1518. /* 116 */
  1519. array(18, 20, 63,),
  1520. /* 117 */
  1521. array(18, 20, 21,),
  1522. /* 118 */
  1523. array(1, 3, 55,),
  1524. /* 119 */
  1525. array(21, 22, 62,),
  1526. /* 120 */
  1527. array(1, 32, 55,),
  1528. /* 121 */
  1529. array(21, 22, 62,),
  1530. /* 122 */
  1531. array(19, 39,),
  1532. /* 123 */
  1533. array(22, 62,),
  1534. /* 124 */
  1535. array(18, 20,),
  1536. /* 125 */
  1537. array(30, 36,),
  1538. /* 126 */
  1539. array(30, 36,),
  1540. /* 127 */
  1541. array(19, 20,),
  1542. /* 128 */
  1543. array(18, 20,),
  1544. /* 129 */
  1545. array(1, 55,),
  1546. /* 130 */
  1547. array(18, 20,),
  1548. /* 131 */
  1549. array(18, 20,),
  1550. /* 132 */
  1551. array(18, 20,),
  1552. /* 133 */
  1553. array(30, 36,),
  1554. /* 134 */
  1555. array(18, 20,),
  1556. /* 135 */
  1557. array(18, 20,),
  1558. /* 136 */
  1559. array(18, 20,),
  1560. /* 137 */
  1561. array(19, 39,),
  1562. /* 138 */
  1563. array(18, 20,),
  1564. /* 139 */
  1565. array(18, 20,),
  1566. /* 140 */
  1567. array(1, 22,),
  1568. /* 141 */
  1569. array(18, 20,),
  1570. /* 142 */
  1571. array(18, 20,),
  1572. /* 143 */
  1573. array(18, 20,),
  1574. /* 144 */
  1575. array(18, 20,),
  1576. /* 145 */
  1577. array(19, 20,),
  1578. /* 146 */
  1579. array(1,),
  1580. /* 147 */
  1581. array(22,),
  1582. /* 148 */
  1583. array(22,),
  1584. /* 149 */
  1585. array(1,),
  1586. /* 150 */
  1587. array(1,),
  1588. /* 151 */
  1589. array(1,),
  1590. /* 152 */
  1591. array(1,),
  1592. /* 153 */
  1593. array(1,),
  1594. /* 154 */
  1595. array(1,),
  1596. /* 155 */
  1597. array(1,),
  1598. /* 156 */
  1599. array(1,),
  1600. /* 157 */
  1601. array(),
  1602. /* 158 */
  1603. array(18, 19, 20,),
  1604. /* 159 */
  1605. array(18, 20, 63,),
  1606. /* 160 */
  1607. array(30, 36,),
  1608. /* 161 */
  1609. array(60, 65,),
  1610. /* 162 */
  1611. array(60, 65,),
  1612. /* 163 */
  1613. array(30, 36,),
  1614. /* 164 */
  1615. array(30, 36,),
  1616. /* 165 */
  1617. array(30, 36,),
  1618. /* 166 */
  1619. array(60, 65,),
  1620. /* 167 */
  1621. array(30, 36,),
  1622. /* 168 */
  1623. array(60, 65,),
  1624. /* 169 */
  1625. array(60, 65,),
  1626. /* 170 */
  1627. array(30, 36,),
  1628. /* 171 */
  1629. array(30, 36,),
  1630. /* 172 */
  1631. array(30, 36,),
  1632. /* 173 */
  1633. array(60, 65,),
  1634. /* 174 */
  1635. array(30, 36,),
  1636. /* 175 */
  1637. array(30, 36,),
  1638. /* 176 */
  1639. array(60, 65,),
  1640. /* 177 */
  1641. array(30, 36,),
  1642. /* 178 */
  1643. array(30, 36,),
  1644. /* 179 */
  1645. array(30, 36,),
  1646. /* 180 */
  1647. array(30, 36,),
  1648. /* 181 */
  1649. array(30, 36,),
  1650. /* 182 */
  1651. array(30, 36,),
  1652. /* 183 */
  1653. array(30, 36,),
  1654. /* 184 */
  1655. array(30, 36,),
  1656. /* 185 */
  1657. array(30, 36,),
  1658. /* 186 */
  1659. array(60, 65,),
  1660. /* 187 */
  1661. array(60, 65,),
  1662. /* 188 */
  1663. array(30, 36,),
  1664. /* 189 */
  1665. array(18, 39,),
  1666. /* 190 */
  1667. array(1,),
  1668. /* 191 */
  1669. array(1,),
  1670. /* 192 */
  1671. array(1,),
  1672. /* 193 */
  1673. array(2,),
  1674. /* 194 */
  1675. array(2,),
  1676. /* 195 */
  1677. array(1,),
  1678. /* 196 */
  1679. array(1,),
  1680. /* 197 */
  1681. array(22,),
  1682. /* 198 */
  1683. array(30,),
  1684. /* 199 */
  1685. array(30,),
  1686. /* 200 */
  1687. array(22,),
  1688. /* 201 */
  1689. array(16,),
  1690. /* 202 */
  1691. array(22,),
  1692. /* 203 */
  1693. array(39,),
  1694. /* 204 */
  1695. array(),
  1696. /* 205 */
  1697. array(),
  1698. /* 206 */
  1699. array(),
  1700. /* 207 */
  1701. array(),
  1702. /* 208 */
  1703. array(),
  1704. /* 209 */
  1705. array(3, 25, 27, 28, 30, 31, 36, 38, 39, 40, 55, 62, 66, 80,),
  1706. /* 210 */
  1707. array(3, 21, 30, 36, 39, 62,),
  1708. /* 211 */
  1709. array(18, 19, 20, 37,),
  1710. /* 212 */
  1711. array(39, 60, 62, 66,),
  1712. /* 213 */
  1713. array(32, 39, 62,),
  1714. /* 214 */
  1715. array(2, 21,),
  1716. /* 215 */
  1717. array(38, 40,),
  1718. /* 216 */
  1719. array(21, 60,),
  1720. /* 217 */
  1721. array(3, 26,),
  1722. /* 218 */
  1723. array(38, 66,),
  1724. /* 219 */
  1725. array(20, 63,),
  1726. /* 220 */
  1727. array(25, 38,),
  1728. /* 221 */
  1729. array(38, 40,),
  1730. /* 222 */
  1731. array(26, 80,),
  1732. /* 223 */
  1733. array(38, 40,),
  1734. /* 224 */
  1735. array(39, 62,),
  1736. /* 225 */
  1737. array(39, 62,),
  1738. /* 226 */
  1739. array(39,),
  1740. /* 227 */
  1741. array(3,),
  1742. /* 228 */
  1743. array(64,),
  1744. /* 229 */
  1745. array(19,),
  1746. /* 230 */
  1747. array(3,),
  1748. /* 231 */
  1749. array(19,),
  1750. /* 232 */
  1751. array(40,),
  1752. /* 233 */
  1753. array(64,),
  1754. /* 234 */
  1755. array(27,),
  1756. /* 235 */
  1757. array(21,),
  1758. /* 236 */
  1759. array(20,),
  1760. /* 237 */
  1761. array(2,),
  1762. /* 238 */
  1763. array(20,),
  1764. /* 239 */
  1765. array(39,),
  1766. /* 240 */
  1767. array(37,),
  1768. /* 241 */
  1769. array(37,),
  1770. /* 242 */
  1771. array(20,),
  1772. /* 243 */
  1773. array(20,),
  1774. /* 244 */
  1775. array(19,),
  1776. /* 245 */
  1777. array(20,),
  1778. /* 246 */
  1779. array(3,),
  1780. /* 247 */
  1781. array(19,),
  1782. /* 248 */
  1783. array(20,),
  1784. /* 249 */
  1785. array(20,),
  1786. /* 250 */
  1787. array(60,),
  1788. /* 251 */
  1789. array(20,),
  1790. /* 252 */
  1791. array(20,),
  1792. /* 253 */
  1793. array(56,),
  1794. /* 254 */
  1795. array(2,),
  1796. /* 255 */
  1797. array(26,),
  1798. /* 256 */
  1799. array(20,),
  1800. /* 257 */
  1801. array(66,),
  1802. /* 258 */
  1803. array(19,),
  1804. /* 259 */
  1805. array(20,),
  1806. /* 260 */
  1807. array(),
  1808. /* 261 */
  1809. array(),
  1810. /* 262 */
  1811. array(),
  1812. /* 263 */
  1813. array(),
  1814. /* 264 */
  1815. array(),
  1816. /* 265 */
  1817. array(),
  1818. /* 266 */
  1819. array(),
  1820. /* 267 */
  1821. array(),
  1822. /* 268 */
  1823. array(),
  1824. /* 269 */
  1825. array(),
  1826. /* 270 */
  1827. array(),
  1828. /* 271 */
  1829. array(),
  1830. /* 272 */
  1831. array(),
  1832. /* 273 */
  1833. array(),
  1834. /* 274 */
  1835. array(),
  1836. /* 275 */
  1837. array(),
  1838. /* 276 */
  1839. array(),
  1840. /* 277 */
  1841. array(),
  1842. /* 278 */
  1843. array(),
  1844. /* 279 */
  1845. array(),
  1846. /* 280 */
  1847. array(),
  1848. /* 281 */
  1849. array(),
  1850. /* 282 */
  1851. array(),
  1852. /* 283 */
  1853. array(),
  1854. /* 284 */
  1855. array(),
  1856. /* 285 */
  1857. array(),
  1858. /* 286 */
  1859. array(),
  1860. /* 287 */
  1861. array(),
  1862. /* 288 */
  1863. array(),
  1864. /* 289 */
  1865. array(),
  1866. /* 290 */
  1867. array(),
  1868. /* 291 */
  1869. array(),
  1870. /* 292 */
  1871. array(),
  1872. /* 293 */
  1873. array(),
  1874. /* 294 */
  1875. array(),
  1876. /* 295 */
  1877. array(),
  1878. /* 296 */
  1879. array(),
  1880. /* 297 */
  1881. array(),
  1882. /* 298 */
  1883. array(),
  1884. /* 299 */
  1885. array(),
  1886. /* 300 */
  1887. array(),
  1888. /* 301 */
  1889. array(),
  1890. /* 302 */
  1891. array(),
  1892. /* 303 */
  1893. array(),
  1894. /* 304 */
  1895. array(),
  1896. /* 305 */
  1897. array(),
  1898. /* 306 */
  1899. array(),
  1900. /* 307 */
  1901. array(),
  1902. /* 308 */
  1903. array(),
  1904. /* 309 */
  1905. array(),
  1906. /* 310 */
  1907. array(),
  1908. /* 311 */
  1909. array(),
  1910. /* 312 */
  1911. array(),
  1912. /* 313 */
  1913. array(),
  1914. /* 314 */
  1915. array(),
  1916. /* 315 */
  1917. array(),
  1918. /* 316 */
  1919. array(),
  1920. /* 317 */
  1921. array(),
  1922. /* 318 */
  1923. array(),
  1924. /* 319 */
  1925. array(),
  1926. /* 320 */
  1927. array(),
  1928. /* 321 */
  1929. array(),
  1930. /* 322 */
  1931. array(),
  1932. /* 323 */
  1933. array(),
  1934. /* 324 */
  1935. array(),
  1936. /* 325 */
  1937. array(),
  1938. /* 326 */
  1939. array(),
  1940. /* 327 */
  1941. array(),
  1942. /* 328 */
  1943. array(),
  1944. /* 329 */
  1945. array(),
  1946. /* 330 */
  1947. array(),
  1948. /* 331 */
  1949. array(),
  1950. /* 332 */
  1951. array(),
  1952. /* 333 */
  1953. array(),
  1954. /* 334 */
  1955. array(),
  1956. /* 335 */
  1957. array(),
  1958. /* 336 */
  1959. array(),
  1960. /* 337 */
  1961. array(),
  1962. /* 338 */
  1963. array(),
  1964. /* 339 */
  1965. array(),
  1966. /* 340 */
  1967. array(),
  1968. /* 341 */
  1969. array(),
  1970. /* 342 */
  1971. array(),
  1972. /* 343 */
  1973. array(),
  1974. /* 344 */
  1975. array(),
  1976. /* 345 */
  1977. array(),
  1978. /* 346 */
  1979. array(),
  1980. /* 347 */
  1981. array(),
  1982. /* 348 */
  1983. array(),
  1984. /* 349 */
  1985. array(),
  1986. /* 350 */
  1987. array(),
  1988. /* 351 */
  1989. array(),
  1990. /* 352 */
  1991. array(),
  1992. /* 353 */
  1993. array(),
  1994. /* 354 */
  1995. array(),
  1996. /* 355 */
  1997. array(),
  1998. /* 356 */
  1999. array(),
  2000. /* 357 */
  2001. array(),
  2002. /* 358 */
  2003. array(),
  2004. /* 359 */
  2005. array(),
  2006. /* 360 */
  2007. array(),
  2008. /* 361 */
  2009. array(),
  2010. /* 362 */
  2011. array(),
  2012. );
  2013. static public $yy_default = array(
  2014. /* 0 */
  2015. 366, 551, 522, 568, 568, 568, 522, 522, 568, 568,
  2016. /* 10 */
  2017. 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
  2018. /* 20 */
  2019. 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
  2020. /* 30 */
  2021. 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
  2022. /* 40 */
  2023. 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
  2024. /* 50 */
  2025. 568, 568, 568, 428, 568, 405, 428, 428, 428, 397,
  2026. /* 60 */
  2027. 568, 568, 568, 568, 568, 568, 568, 433, 568, 568,
  2028. /* 70 */
  2029. 568, 553, 449, 520, 552, 457, 433, 452, 439, 462,
  2030. /* 80 */
  2031. 521, 461, 430, 435, 554, 438, 454, 453, 410, 458,
  2032. /* 90 */
  2033. 466, 465, 477, 441, 428, 363, 568, 428, 428, 485,
  2034. /* 100 */
  2035. 428, 448, 428, 428, 428, 534, 568, 419, 568, 568,
  2036. /* 110 */
  2037. 568, 441, 441, 441, 568, 495, 495, 495, 441, 486,
  2038. /* 120 */
  2039. 441, 486, 568, 486, 568, 428, 428, 568, 568, 441,
  2040. /* 130 */
  2041. 495, 568, 568, 407, 568, 568, 568, 568, 568, 568,
  2042. /* 140 */
  2043. 422, 568, 568, 568, 568, 568, 451, 486, 531, 464,
  2044. /* 150 */
  2045. 446, 445, 468, 444, 469, 470, 424, 529, 568, 496,
  2046. /* 160 */
  2047. 395, 489, 492, 412, 392, 406, 514, 409, 490, 491,
  2048. /* 170 */
  2049. 413, 394, 398, 513, 393, 408, 493, 400, 417, 402,
  2050. /* 180 */
  2051. 415, 404, 414, 418, 416, 403, 515, 512, 399, 495,
  2052. /* 190 */
  2053. 448, 420, 485, 523, 524, 423, 425, 532, 567, 567,
  2054. /* 200 */
  2055. 509, 383, 535, 495, 495, 528, 528, 528, 495, 443,
  2056. /* 210 */
  2057. 477, 568, 477, 477, 507, 568, 473, 467, 568, 568,
  2058. /* 220 */
  2059. 568, 568, 467, 568, 477, 463, 507, 568, 568, 568,
  2060. /* 230 */
  2061. 568, 568, 568, 568, 436, 568, 568, 507, 568, 533,
  2062. /* 240 */
  2063. 568, 475, 568, 568, 568, 568, 568, 568, 568, 568,
  2064. /* 250 */
  2065. 473, 568, 568, 479, 507, 467, 568, 568, 568, 568,
  2066. /* 260 */
  2067. 508, 429, 437, 364, 501, 519, 503, 440, 500, 479,
  2068. /* 270 */
  2069. 566, 516, 517, 502, 504, 518, 411, 530, 459, 506,
  2070. /* 280 */
  2071. 507, 527, 525, 427, 426, 388, 389, 390, 526, 471,
  2072. /* 290 */
  2073. 443, 487, 494, 497, 442, 482, 472, 474, 476, 387,
  2074. /* 300 */
  2075. 386, 371, 372, 373, 374, 370, 369, 365, 367, 368,
  2076. /* 310 */
  2077. 375, 376, 382, 384, 385, 381, 380, 377, 378, 379,
  2078. /* 320 */
  2079. 505, 498, 510, 421, 562, 555, 563, 447, 545, 546,
  2080. /* 330 */
  2081. 547, 556, 557, 558, 548, 550, 565, 564, 560, 559,
  2082. /* 340 */
  2083. 561, 544, 543, 450, 484, 488, 511, 483, 481, 499,
  2084. /* 350 */
  2085. 478, 480, 455, 456, 540, 541, 542, 539, 538, 460,
  2086. /* 360 */
  2087. 536, 537, 549,
  2088. );
  2089. const YYNOCODE = 125;
  2090. const YYSTACKDEPTH = 500;
  2091. const YYNSTATE = 363;
  2092. const YYNRULE = 205;
  2093. const YYERRORSYMBOL = 82;
  2094. const YYERRSYMDT = 'yy0';
  2095. const YYFALLBACK = 0;
  2096. public static $yyFallback = array();
  2097. public function Trace($TraceFILE, $zTracePrompt)
  2098. {
  2099. if (!$TraceFILE) {
  2100. $zTracePrompt = 0;
  2101. } elseif (!$zTracePrompt) {
  2102. $TraceFILE = 0;
  2103. }
  2104. $this->yyTraceFILE = $TraceFILE;
  2105. $this->yyTracePrompt = $zTracePrompt;
  2106. }
  2107. public function PrintTrace()
  2108. {
  2109. $this->yyTraceFILE = fopen('php://output', 'w');
  2110. $this->yyTracePrompt = '<br>';
  2111. }
  2112. public $yyTraceFILE;
  2113. public $yyTracePrompt;
  2114. public $yyidx; /* Index of top element in stack */
  2115. public $yyerrcnt; /* Shifts left before out of the error */
  2116. public $yystack = array(); /* The parser's stack */
  2117. public $yyTokenName = array(
  2118. '$', 'VERT', 'COLON', 'RDEL',
  2119. 'COMMENT', 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG',
  2120. 'ASPENDTAG', 'FAKEPHPSTARTTAG', 'XMLTAG', 'TEXT',
  2121. 'STRIPON', 'STRIPOFF', 'BLOCKSOURCE', 'LITERALSTART',
  2122. 'LITERALEND', 'LITERAL', 'LDEL', 'DOLLAR',
  2123. 'ID', 'EQUAL', 'PTR', 'LDELIF',
  2124. 'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO',
  2125. 'STEP', 'LDELFOREACH', 'SPACE', 'AS',
  2126. 'APTR', 'LDELSETFILTER', 'SMARTYBLOCKCHILDPARENT', 'LDELSLASH',
  2127. 'ATTR', 'INTEGER', 'COMMA', 'OPENP',
  2128. 'CLOSEP', 'MATH', 'UNIMATH', 'ANDSYM',
  2129. 'ISIN', 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN',
  2130. 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', 'ISODD',
  2131. 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF',
  2132. 'QMARK', 'NOT', 'TYPECAST', 'HEX',
  2133. 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT',
  2134. 'HATCH', 'OPENB', 'CLOSEB', 'EQUALS',
  2135. 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL',
  2136. 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD',
  2137. 'LAND', 'LOR', 'LXOR', 'QUOTE',
  2138. 'BACKTICK', 'DOLLARID', 'error', 'start',
  2139. 'template', 'template_element', 'smartytag', 'literal',
  2140. 'literal_elements', 'literal_element', 'value', 'modifierlist',
  2141. 'attributes', 'expr', 'varindexed', 'statement',
  2142. 'statements', 'optspace', 'varvar', 'foraction',
  2143. 'modparameters', 'attribute', 'ternary', 'array',
  2144. 'ifcond', 'lop', 'variable', 'function',
  2145. 'doublequoted_with_quotes', 'static_class_access', 'object', 'arrayindex',
  2146. 'indexdef', 'varvarele', 'objectchain', 'objectelement',
  2147. 'method', 'params', 'modifier', 'modparameter',
  2148. 'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent',
  2149. );
  2150. public static $yyRuleName = array(
  2151. /* 0 */
  2152. "start ::= template",
  2153. /* 1 */
  2154. "template ::= template_element",
  2155. /* 2 */
  2156. "template ::= template template_element",
  2157. /* 3 */
  2158. "template ::=",
  2159. /* 4 */
  2160. "template_element ::= smartytag RDEL",
  2161. /* 5 */
  2162. "template_element ::= COMMENT",
  2163. /* 6 */
  2164. "template_element ::= literal",
  2165. /* 7 */
  2166. "template_element ::= PHPSTARTTAG",
  2167. /* 8 */
  2168. "template_element ::= PHPENDTAG",
  2169. /* 9 */
  2170. "template_element ::= ASPSTARTTAG",
  2171. /* 10 */
  2172. "template_element ::= ASPENDTAG",
  2173. /* 11 */
  2174. "template_element ::= FAKEPHPSTARTTAG",
  2175. /* 12 */
  2176. "template_element ::= XMLTAG",
  2177. /* 13 */
  2178. "template_element ::= TEXT",
  2179. /* 14 */
  2180. "template_element ::= STRIPON",
  2181. /* 15 */
  2182. "template_element ::= STRIPOFF",
  2183. /* 16 */
  2184. "template_element ::= BLOCKSOURCE",
  2185. /* 17 */
  2186. "literal ::= LITERALSTART LITERALEND",
  2187. /* 18 */
  2188. "literal ::= LITERALSTART literal_elements LITERALEND",
  2189. /* 19 */
  2190. "literal_elements ::= literal_elements literal_element",
  2191. /* 20 */
  2192. "literal_elements ::=",
  2193. /* 21 */
  2194. "literal_element ::= literal",
  2195. /* 22 */
  2196. "literal_element ::= LITERAL",
  2197. /* 23 */
  2198. "literal_element ::= PHPSTARTTAG",
  2199. /* 24 */
  2200. "literal_element ::= FAKEPHPSTARTTAG",
  2201. /* 25 */
  2202. "literal_element ::= PHPENDTAG",
  2203. /* 26 */
  2204. "literal_element ::= ASPSTARTTAG",
  2205. /* 27 */
  2206. "literal_element ::= ASPENDTAG",
  2207. /* 28 */
  2208. "smartytag ::= LDEL value",
  2209. /* 29 */
  2210. "smartytag ::= LDEL value modifierlist attributes",
  2211. /* 30 */
  2212. "smartytag ::= LDEL value attributes",
  2213. /* 31 */
  2214. "smartytag ::= LDEL expr modifierlist attributes",
  2215. /* 32 */
  2216. "smartytag ::= LDEL expr attributes",
  2217. /* 33 */
  2218. "smartytag ::= LDEL DOLLAR ID EQUAL value",
  2219. /* 34 */
  2220. "smartytag ::= LDEL DOLLAR ID EQUAL expr",
  2221. /* 35 */
  2222. "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes",
  2223. /* 36 */
  2224. "smartytag ::= LDEL varindexed EQUAL expr attributes",
  2225. /* 37 */
  2226. "smartytag ::= LDEL ID attributes",
  2227. /* 38 */
  2228. "smartytag ::= LDEL ID",
  2229. /* 39 */
  2230. "smartytag ::= LDEL ID PTR ID attributes",
  2231. /* 40 */
  2232. "smartytag ::= LDEL ID modifierlist attributes",
  2233. /* 41 */
  2234. "smartytag ::= LDEL ID PTR ID modifierlist attributes",
  2235. /* 42 */
  2236. "smartytag ::= LDELIF expr",
  2237. /* 43 */
  2238. "smartytag ::= LDELIF expr attributes",
  2239. /* 44 */
  2240. "smartytag ::= LDELIF statement",
  2241. /* 45 */
  2242. "smartytag ::= LDELIF statement attributes",
  2243. /* 46 */
  2244. "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes",
  2245. /* 47 */
  2246. "foraction ::= EQUAL expr",
  2247. /* 48 */
  2248. "foraction ::= INCDEC",
  2249. /* 49 */
  2250. "smartytag ::= LDELFOR statement TO expr attributes",
  2251. /* 50 */
  2252. "smartytag ::= LDELFOR statement TO expr STEP expr attributes",
  2253. /* 51 */
  2254. "smartytag ::= LDELFOREACH attributes",
  2255. /* 52 */
  2256. "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes",
  2257. /* 53 */
  2258. "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes",
  2259. /* 54 */
  2260. "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes",
  2261. /* 55 */
  2262. "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes",
  2263. /* 56 */
  2264. "smartytag ::= LDELSETFILTER ID modparameters",
  2265. /* 57 */
  2266. "smartytag ::= LDELSETFILTER ID modparameters modifierlist",
  2267. /* 58 */
  2268. "smartytag ::= LDEL SMARTYBLOCKCHILDPARENT",
  2269. /* 59 */
  2270. "smartytag ::= LDELSLASH ID",
  2271. /* 60 */
  2272. "smartytag ::= LDELSLASH ID modifierlist",
  2273. /* 61 */
  2274. "smartytag ::= LDELSLASH ID PTR ID",
  2275. /* 62 */
  2276. "smartytag ::= LDELSLASH ID PTR ID modifierlist",
  2277. /* 63 */
  2278. "attributes ::= attributes attribute",
  2279. /* 64 */
  2280. "attributes ::= attribute",
  2281. /* 65 */
  2282. "attributes ::=",
  2283. /* 66 */
  2284. "attribute ::= SPACE ID EQUAL ID",
  2285. /* 67 */
  2286. "attribute ::= ATTR expr",
  2287. /* 68 */
  2288. "attribute ::= ATTR value",
  2289. /* 69 */
  2290. "attribute ::= SPACE ID",
  2291. /* 70 */
  2292. "attribute ::= SPACE expr",
  2293. /* 71 */
  2294. "attribute ::= SPACE value",
  2295. /* 72 */
  2296. "attribute ::= SPACE INTEGER EQUAL expr",
  2297. /* 73 */
  2298. "statements ::= statement",
  2299. /* 74 */
  2300. "statements ::= statements COMMA statement",
  2301. /* 75 */
  2302. "statement ::= DOLLAR varvar EQUAL expr",
  2303. /* 76 */
  2304. "statement ::= varindexed EQUAL expr",
  2305. /* 77 */
  2306. "statement ::= OPENP statement CLOSEP",
  2307. /* 78 */
  2308. "expr ::= value",
  2309. /* 79 */
  2310. "expr ::= ternary",
  2311. /* 80 */
  2312. "expr ::= DOLLAR ID COLON ID",
  2313. /* 81 */
  2314. "expr ::= expr MATH value",
  2315. /* 82 */
  2316. "expr ::= expr UNIMATH value",
  2317. /* 83 */
  2318. "expr ::= expr ANDSYM value",
  2319. /* 84 */
  2320. "expr ::= array",
  2321. /* 85 */
  2322. "expr ::= expr modifierlist",
  2323. /* 86 */
  2324. "expr ::= expr ifcond expr",
  2325. /* 87 */
  2326. "expr ::= expr ISIN array",
  2327. /* 88 */
  2328. "expr ::= expr ISIN value",
  2329. /* 89 */
  2330. "expr ::= expr lop expr",
  2331. /* 90 */
  2332. "expr ::= expr ISDIVBY expr",
  2333. /* 91 */
  2334. "expr ::= expr ISNOTDIVBY expr",
  2335. /* 92 */
  2336. "expr ::= expr ISEVEN",
  2337. /* 93 */
  2338. "expr ::= expr ISNOTEVEN",
  2339. /* 94 */
  2340. "expr ::= expr ISEVENBY expr",
  2341. /* 95 */
  2342. "expr ::= expr ISNOTEVENBY expr",
  2343. /* 96 */
  2344. "expr ::= expr ISODD",
  2345. /* 97 */
  2346. "expr ::= expr ISNOTODD",
  2347. /* 98 */
  2348. "expr ::= expr ISODDBY expr",
  2349. /* 99 */
  2350. "expr ::= expr ISNOTODDBY expr",
  2351. /* 100 */
  2352. "expr ::= value INSTANCEOF ID",
  2353. /* 101 */
  2354. "expr ::= value INSTANCEOF value",
  2355. /* 102 */
  2356. "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
  2357. /* 103 */
  2358. "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
  2359. /* 104 */
  2360. "value ::= variable",
  2361. /* 105 */
  2362. "value ::= UNIMATH value",
  2363. /* 106 */
  2364. "value ::= NOT value",
  2365. /* 107 */
  2366. "value ::= TYPECAST value",
  2367. /* 108 */
  2368. "value ::= variable INCDEC",
  2369. /* 109 */
  2370. "value ::= HEX",
  2371. /* 110 */
  2372. "value ::= INTEGER",
  2373. /* 111 */
  2374. "value ::= INTEGER DOT INTEGER",
  2375. /* 112 */
  2376. "value ::= INTEGER DOT",
  2377. /* 113 */
  2378. "value ::= DOT INTEGER",
  2379. /* 114 */
  2380. "value ::= ID",
  2381. /* 115 */
  2382. "value ::= function",
  2383. /* 116 */
  2384. "value ::= OPENP expr CLOSEP",
  2385. /* 117 */
  2386. "value ::= SINGLEQUOTESTRING",
  2387. /* 118 */
  2388. "value ::= doublequoted_with_quotes",
  2389. /* 119 */
  2390. "value ::= ID DOUBLECOLON static_class_access",
  2391. /* 120 */
  2392. "value ::= varindexed DOUBLECOLON static_class_access",
  2393. /* 121 */
  2394. "value ::= smartytag RDEL",
  2395. /* 122 */
  2396. "value ::= value modifierlist",
  2397. /* 123 */
  2398. "variable ::= varindexed",
  2399. /* 124 */
  2400. "variable ::= DOLLAR varvar AT ID",
  2401. /* 125 */
  2402. "variable ::= object",
  2403. /* 126 */
  2404. "variable ::= HATCH ID HATCH",
  2405. /* 127 */
  2406. "variable ::= HATCH ID HATCH arrayindex",
  2407. /* 128 */
  2408. "variable ::= HATCH variable HATCH",
  2409. /* 129 */
  2410. "variable ::= HATCH variable HATCH arrayindex",
  2411. /* 130 */
  2412. "varindexed ::= DOLLAR varvar arrayindex",
  2413. /* 131 */
  2414. "arrayindex ::= arrayindex indexdef",
  2415. /* 132 */
  2416. "arrayindex ::=",
  2417. /* 133 */
  2418. "indexdef ::= DOT DOLLAR varvar",
  2419. /* 134 */
  2420. "indexdef ::= DOT DOLLAR varvar AT ID",
  2421. /* 135 */
  2422. "indexdef ::= DOT ID",
  2423. /* 136 */
  2424. "indexdef ::= DOT INTEGER",
  2425. /* 137 */
  2426. "indexdef ::= DOT LDEL expr RDEL",
  2427. /* 138 */
  2428. "indexdef ::= OPENB ID CLOSEB",
  2429. /* 139 */
  2430. "indexdef ::= OPENB ID DOT ID CLOSEB",
  2431. /* 140 */
  2432. "indexdef ::= OPENB expr CLOSEB",
  2433. /* 141 */
  2434. "indexdef ::= OPENB CLOSEB",
  2435. /* 142 */
  2436. "varvar ::= varvarele",
  2437. /* 143 */
  2438. "varvar ::= varvar varvarele",
  2439. /* 144 */
  2440. "varvarele ::= ID",
  2441. /* 145 */
  2442. "varvarele ::= LDEL expr RDEL",
  2443. /* 146 */
  2444. "object ::= varindexed objectchain",
  2445. /* 147 */
  2446. "objectchain ::= objectelement",
  2447. /* 148 */
  2448. "objectchain ::= objectchain objectelement",
  2449. /* 149 */
  2450. "objectelement ::= PTR ID arrayindex",
  2451. /* 150 */
  2452. "objectelement ::= PTR DOLLAR varvar arrayindex",
  2453. /* 151 */
  2454. "objectelement ::= PTR LDEL expr RDEL arrayindex",
  2455. /* 152 */
  2456. "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
  2457. /* 153 */
  2458. "objectelement ::= PTR method",
  2459. /* 154 */
  2460. "function ::= ID OPENP params CLOSEP",
  2461. /* 155 */
  2462. "method ::= ID OPENP params CLOSEP",
  2463. /* 156 */
  2464. "method ::= DOLLAR ID OPENP params CLOSEP",
  2465. /* 157 */
  2466. "params ::= params COMMA expr",
  2467. /* 158 */
  2468. "params ::= expr",
  2469. /* 159 */
  2470. "params ::=",
  2471. /* 160 */
  2472. "modifierlist ::= modifierlist modifier modparameters",
  2473. /* 161 */
  2474. "modifierlist ::= modifier modparameters",
  2475. /* 162 */
  2476. "modifier ::= VERT AT ID",
  2477. /* 163 */
  2478. "modifier ::= VERT ID",
  2479. /* 164 */
  2480. "modparameters ::= modparameters modparameter",
  2481. /* 165 */
  2482. "modparameters ::=",
  2483. /* 166 */
  2484. "modparameter ::= COLON value",
  2485. /* 167 */
  2486. "modparameter ::= COLON array",
  2487. /* 168 */
  2488. "static_class_access ::= method",
  2489. /* 169 */
  2490. "static_class_access ::= method objectchain",
  2491. /* 170 */
  2492. "static_class_access ::= ID",
  2493. /* 171 */
  2494. "static_class_access ::= DOLLAR ID arrayindex",
  2495. /* 172 */
  2496. "static_class_access ::= DOLLAR ID arrayindex objectchain",
  2497. /* 173 */
  2498. "ifcond ::= EQUALS",
  2499. /* 174 */
  2500. "ifcond ::= NOTEQUALS",
  2501. /* 175 */
  2502. "ifcond ::= GREATERTHAN",
  2503. /* 176 */
  2504. "ifcond ::= LESSTHAN",
  2505. /* 177 */
  2506. "ifcond ::= GREATEREQUAL",
  2507. /* 178 */
  2508. "ifcond ::= LESSEQUAL",
  2509. /* 179 */
  2510. "ifcond ::= IDENTITY",
  2511. /* 180 */
  2512. "ifcond ::= NONEIDENTITY",
  2513. /* 181 */
  2514. "ifcond ::= MOD",
  2515. /* 182 */
  2516. "lop ::= LAND",
  2517. /* 183 */
  2518. "lop ::= LOR",
  2519. /* 184 */
  2520. "lop ::= LXOR",
  2521. /* 185 */
  2522. "array ::= OPENB arrayelements CLOSEB",
  2523. /* 186 */
  2524. "arrayelements ::= arrayelement",
  2525. /* 187 */
  2526. "arrayelements ::= arrayelements COMMA arrayelement",
  2527. /* 188 */
  2528. "arrayelements ::=",
  2529. /* 189 */
  2530. "arrayelement ::= value APTR expr",
  2531. /* 190 */
  2532. "arrayelement ::= ID APTR expr",
  2533. /* 191 */
  2534. "arrayelement ::= expr",
  2535. /* 192 */
  2536. "doublequoted_with_quotes ::= QUOTE QUOTE",
  2537. /* 193 */
  2538. "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
  2539. /* 194 */
  2540. "doublequoted ::= doublequoted doublequotedcontent",
  2541. /* 195 */
  2542. "doublequoted ::= doublequotedcontent",
  2543. /* 196 */
  2544. "doublequotedcontent ::= BACKTICK variable BACKTICK",
  2545. /* 197 */
  2546. "doublequotedcontent ::= BACKTICK expr BACKTICK",
  2547. /* 198 */
  2548. "doublequotedcontent ::= DOLLARID",
  2549. /* 199 */
  2550. "doublequotedcontent ::= LDEL variable RDEL",
  2551. /* 200 */
  2552. "doublequotedcontent ::= LDEL expr RDEL",
  2553. /* 201 */
  2554. "doublequotedcontent ::= smartytag RDEL",
  2555. /* 202 */
  2556. "doublequotedcontent ::= TEXT",
  2557. /* 203 */
  2558. "optspace ::= SPACE",
  2559. /* 204 */
  2560. "optspace ::=",
  2561. );
  2562. public function tokenName($tokenType)
  2563. {
  2564. if ($tokenType === 0) {
  2565. return 'End of Input';
  2566. }
  2567. if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
  2568. return $this->yyTokenName[$tokenType];
  2569. } else {
  2570. return "Unknown";
  2571. }
  2572. }
  2573. public static function yy_destructor($yymajor, $yypminor)
  2574. {
  2575. switch ($yymajor) {
  2576. default:
  2577. break; /* If no destructor action specified: do nothing */
  2578. }
  2579. }
  2580. public function yy_pop_parser_stack()
  2581. {
  2582. if (!count($this->yystack)) {
  2583. return;
  2584. }
  2585. $yytos = array_pop($this->yystack);
  2586. if ($this->yyTraceFILE && $this->yyidx >= 0) {
  2587. fwrite($this->yyTraceFILE,
  2588. $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
  2589. "\n");
  2590. }
  2591. $yymajor = $yytos->major;
  2592. self::yy_destructor($yymajor, $yytos->minor);
  2593. $this->yyidx --;
  2594. return $yymajor;
  2595. }
  2596. public function __destruct()
  2597. {
  2598. while ($this->yystack !== Array()) {
  2599. $this->yy_pop_parser_stack();
  2600. }
  2601. if (is_resource($this->yyTraceFILE)) {
  2602. fclose($this->yyTraceFILE);
  2603. }
  2604. }
  2605. public function yy_get_expected_tokens($token)
  2606. {
  2607. $state = $this->yystack[$this->yyidx]->stateno;
  2608. $expected = self::$yyExpectedTokens[$state];
  2609. if (in_array($token, self::$yyExpectedTokens[$state], true)) {
  2610. return $expected;
  2611. }
  2612. $stack = $this->yystack;
  2613. $yyidx = $this->yyidx;
  2614. do {
  2615. $yyact = $this->yy_find_shift_action($token);
  2616. if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
  2617. // reduce action
  2618. $done = 0;
  2619. do {
  2620. if ($done ++ == 100) {
  2621. $this->yyidx = $yyidx;
  2622. $this->yystack = $stack;
  2623. // too much recursion prevents proper detection
  2624. // so give up
  2625. return array_unique($expected);
  2626. }
  2627. $yyruleno = $yyact - self::YYNSTATE;
  2628. $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
  2629. $nextstate = $this->yy_find_reduce_action(
  2630. $this->yystack[$this->yyidx]->stateno,
  2631. self::$yyRuleInfo[$yyruleno]['lhs']);
  2632. if (isset(self::$yyExpectedTokens[$nextstate])) {
  2633. $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
  2634. if (in_array($token,
  2635. self::$yyExpectedTokens[$nextstate], true)) {
  2636. $this->yyidx = $yyidx;
  2637. $this->yystack = $stack;
  2638. return array_unique($expected);
  2639. }
  2640. }
  2641. if ($nextstate < self::YYNSTATE) {
  2642. // we need to shift a non-terminal
  2643. $this->yyidx ++;
  2644. $x = new TP_yyStackEntry;
  2645. $x->stateno = $nextstate;
  2646. $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
  2647. $this->yystack[$this->yyidx] = $x;
  2648. continue 2;
  2649. } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
  2650. $this->yyidx = $yyidx;
  2651. $this->yystack = $stack;
  2652. // the last token was just ignored, we can't accept
  2653. // by ignoring input, this is in essence ignoring a
  2654. // syntax error!
  2655. return array_unique($expected);
  2656. } elseif ($nextstate === self::YY_NO_ACTION) {
  2657. $this->yyidx = $yyidx;
  2658. $this->yystack = $stack;
  2659. // input accepted, but not shifted (I guess)
  2660. return $expected;
  2661. } else {
  2662. $yyact = $nextstate;
  2663. }
  2664. } while (true);
  2665. }
  2666. break;
  2667. } while (true);
  2668. $this->yyidx = $yyidx;
  2669. $this->yystack = $stack;
  2670. return array_unique($expected);
  2671. }
  2672. public function yy_is_expected_token($token)
  2673. {
  2674. if ($token === 0) {
  2675. return true; // 0 is not part of this
  2676. }
  2677. $state = $this->yystack[$this->yyidx]->stateno;
  2678. if (in_array($token, self::$yyExpectedTokens[$state], true)) {
  2679. return true;
  2680. }
  2681. $stack = $this->yystack;
  2682. $yyidx = $this->yyidx;
  2683. do {
  2684. $yyact = $this->yy_find_shift_action($token);
  2685. if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
  2686. // reduce action
  2687. $done = 0;
  2688. do {
  2689. if ($done ++ == 100) {
  2690. $this->yyidx = $yyidx;
  2691. $this->yystack = $stack;
  2692. // too much recursion prevents proper detection
  2693. // so give up
  2694. return true;
  2695. }
  2696. $yyruleno = $yyact - self::YYNSTATE;
  2697. $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
  2698. $nextstate = $this->yy_find_reduce_action(
  2699. $this->yystack[$this->yyidx]->stateno,
  2700. self::$yyRuleInfo[$yyruleno]['lhs']);
  2701. if (isset(self::$yyExpectedTokens[$nextstate]) &&
  2702. in_array($token, self::$yyExpectedTokens[$nextstate], true)
  2703. ) {
  2704. $this->yyidx = $yyidx;
  2705. $this->yystack = $stack;
  2706. return true;
  2707. }
  2708. if ($nextstate < self::YYNSTATE) {
  2709. // we need to shift a non-terminal
  2710. $this->yyidx ++;
  2711. $x = new TP_yyStackEntry;
  2712. $x->stateno = $nextstate;
  2713. $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
  2714. $this->yystack[$this->yyidx] = $x;
  2715. continue 2;
  2716. } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
  2717. $this->yyidx = $yyidx;
  2718. $this->yystack = $stack;
  2719. if (!$token) {
  2720. // end of input: this is valid
  2721. return true;
  2722. }
  2723. // the last token was just ignored, we can't accept
  2724. // by ignoring input, this is in essence ignoring a
  2725. // syntax error!
  2726. return false;
  2727. } elseif ($nextstate === self::YY_NO_ACTION) {
  2728. $this->yyidx = $yyidx;
  2729. $this->yystack = $stack;
  2730. // input accepted, but not shifted (I guess)
  2731. return true;
  2732. } else {
  2733. $yyact = $nextstate;
  2734. }
  2735. } while (true);
  2736. }
  2737. break;
  2738. } while (true);
  2739. $this->yyidx = $yyidx;
  2740. $this->yystack = $stack;
  2741. return true;
  2742. }
  2743. public function yy_find_shift_action($iLookAhead)
  2744. {
  2745. $stateno = $this->yystack[$this->yyidx]->stateno;
  2746. /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
  2747. if (!isset(self::$yy_shift_ofst[$stateno])) {
  2748. // no shift actions
  2749. return self::$yy_default[$stateno];
  2750. }
  2751. $i = self::$yy_shift_ofst[$stateno];
  2752. if ($i === self::YY_SHIFT_USE_DFLT) {
  2753. return self::$yy_default[$stateno];
  2754. }
  2755. if ($iLookAhead == self::YYNOCODE) {
  2756. return self::YY_NO_ACTION;
  2757. }
  2758. $i += $iLookAhead;
  2759. if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
  2760. self::$yy_lookahead[$i] != $iLookAhead
  2761. ) {
  2762. if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
  2763. && ($iFallback = self::$yyFallback[$iLookAhead]) != 0
  2764. ) {
  2765. if ($this->yyTraceFILE) {
  2766. fwrite($this->yyTraceFILE, $this->yyTracePrompt . "FALLBACK " .
  2767. $this->yyTokenName[$iLookAhead] . " => " .
  2768. $this->yyTokenName[$iFallback] . "\n");
  2769. }
  2770. return $this->yy_find_shift_action($iFallback);
  2771. }
  2772. return self::$yy_default[$stateno];
  2773. } else {
  2774. return self::$yy_action[$i];
  2775. }
  2776. }
  2777. public function yy_find_reduce_action($stateno, $iLookAhead)
  2778. {
  2779. /* $stateno = $this->yystack[$this->yyidx]->stateno; */
  2780. if (!isset(self::$yy_reduce_ofst[$stateno])) {
  2781. return self::$yy_default[$stateno];
  2782. }
  2783. $i = self::$yy_reduce_ofst[$stateno];
  2784. if ($i == self::YY_REDUCE_USE_DFLT) {
  2785. return self::$yy_default[$stateno];
  2786. }
  2787. if ($iLookAhead == self::YYNOCODE) {
  2788. return self::YY_NO_ACTION;
  2789. }
  2790. $i += $iLookAhead;
  2791. if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
  2792. self::$yy_lookahead[$i] != $iLookAhead
  2793. ) {
  2794. return self::$yy_default[$stateno];
  2795. } else {
  2796. return self::$yy_action[$i];
  2797. }
  2798. }
  2799. public function yy_shift($yyNewState, $yyMajor, $yypMinor)
  2800. {
  2801. $this->yyidx ++;
  2802. if ($this->yyidx >= self::YYSTACKDEPTH) {
  2803. $this->yyidx --;
  2804. if ($this->yyTraceFILE) {
  2805. fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
  2806. }
  2807. while ($this->yyidx >= 0) {
  2808. $this->yy_pop_parser_stack();
  2809. }
  2810. #line 85 "smarty_internal_templateparser.y"
  2811. $this->internalError = true;
  2812. $this->compiler->trigger_template_error("Stack overflow in template parser");
  2813. #line 1707 "smarty_internal_templateparser.php"
  2814. return;
  2815. }
  2816. $yytos = new TP_yyStackEntry;
  2817. $yytos->stateno = $yyNewState;
  2818. $yytos->major = $yyMajor;
  2819. $yytos->minor = $yypMinor;
  2820. array_push($this->yystack, $yytos);
  2821. if ($this->yyTraceFILE && $this->yyidx > 0) {
  2822. fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt,
  2823. $yyNewState);
  2824. fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
  2825. for ($i = 1; $i <= $this->yyidx; $i ++) {
  2826. fprintf($this->yyTraceFILE, " %s",
  2827. $this->yyTokenName[$this->yystack[$i]->major]);
  2828. }
  2829. fwrite($this->yyTraceFILE, "\n");
  2830. }
  2831. }
  2832. public static $yyRuleInfo = array(
  2833. array('lhs' => 83, 'rhs' => 1),
  2834. array('lhs' => 84, 'rhs' => 1),
  2835. array('lhs' => 84, 'rhs' => 2),
  2836. array('lhs' => 84, 'rhs' => 0),
  2837. array('lhs' => 85, 'rhs' => 2),
  2838. array('lhs' => 85, 'rhs' => 1),
  2839. array('lhs' => 85, 'rhs' => 1),
  2840. array('lhs' => 85, 'rhs' => 1),
  2841. array('lhs' => 85, 'rhs' => 1),
  2842. array('lhs' => 85, 'rhs' => 1),
  2843. array('lhs' => 85, 'rhs' => 1),
  2844. array('lhs' => 85, 'rhs' => 1),
  2845. array('lhs' => 85, 'rhs' => 1),
  2846. array('lhs' => 85, 'rhs' => 1),
  2847. array('lhs' => 85, 'rhs' => 1),
  2848. array('lhs' => 85, 'rhs' => 1),
  2849. array('lhs' => 85, 'rhs' => 1),
  2850. array('lhs' => 87, 'rhs' => 2),
  2851. array('lhs' => 87, 'rhs' => 3),
  2852. array('lhs' => 88, 'rhs' => 2),
  2853. array('lhs' => 88, 'rhs' => 0),
  2854. array('lhs' => 89, 'rhs' => 1),
  2855. array('lhs' => 89, 'rhs' => 1),
  2856. array('lhs' => 89, 'rhs' => 1),
  2857. array('lhs' => 89, 'rhs' => 1),
  2858. array('lhs' => 89, 'rhs' => 1),
  2859. array('lhs' => 89, 'rhs' => 1),
  2860. array('lhs' => 89, 'rhs' => 1),
  2861. array('lhs' => 86, 'rhs' => 2),
  2862. array('lhs' => 86, 'rhs' => 4),
  2863. array('lhs' => 86, 'rhs' => 3),
  2864. array('lhs' => 86, 'rhs' => 4),
  2865. array('lhs' => 86, 'rhs' => 3),
  2866. array('lhs' => 86, 'rhs' => 5),
  2867. array('lhs' => 86, 'rhs' => 5),
  2868. array('lhs' => 86, 'rhs' => 6),
  2869. array('lhs' => 86, 'rhs' => 5),
  2870. array('lhs' => 86, 'rhs' => 3),
  2871. array('lhs' => 86, 'rhs' => 2),
  2872. array('lhs' => 86, 'rhs' => 5),
  2873. array('lhs' => 86, 'rhs' => 4),
  2874. array('lhs' => 86, 'rhs' => 6),
  2875. array('lhs' => 86, 'rhs' => 2),
  2876. array('lhs' => 86, 'rhs' => 3),
  2877. array('lhs' => 86, 'rhs' => 2),
  2878. array('lhs' => 86, 'rhs' => 3),
  2879. array('lhs' => 86, 'rhs' => 11),
  2880. array('lhs' => 99, 'rhs' => 2),
  2881. array('lhs' => 99, 'rhs' => 1),
  2882. array('lhs' => 86, 'rhs' => 5),
  2883. array('lhs' => 86, 'rhs' => 7),
  2884. array('lhs' => 86, 'rhs' => 2),
  2885. array('lhs' => 86, 'rhs' => 7),
  2886. array('lhs' => 86, 'rhs' => 10),
  2887. array('lhs' => 86, 'rhs' => 7),
  2888. array('lhs' => 86, 'rhs' => 10),
  2889. array('lhs' => 86, 'rhs' => 3),
  2890. array('lhs' => 86, 'rhs' => 4),
  2891. array('lhs' => 86, 'rhs' => 2),
  2892. array('lhs' => 86, 'rhs' => 2),
  2893. array('lhs' => 86, 'rhs' => 3),
  2894. array('lhs' => 86, 'rhs' => 4),
  2895. array('lhs' => 86, 'rhs' => 5),
  2896. array('lhs' => 92, 'rhs' => 2),
  2897. array('lhs' => 92, 'rhs' => 1),
  2898. array('lhs' => 92, 'rhs' => 0),
  2899. array('lhs' => 101, 'rhs' => 4),
  2900. array('lhs' => 101, 'rhs' => 2),
  2901. array('lhs' => 101, 'rhs' => 2),
  2902. array('lhs' => 101, 'rhs' => 2),
  2903. array('lhs' => 101, 'rhs' => 2),
  2904. array('lhs' => 101, 'rhs' => 2),
  2905. array('lhs' => 101, 'rhs' => 4),
  2906. array('lhs' => 96, 'rhs' => 1),
  2907. array('lhs' => 96, 'rhs' => 3),
  2908. array('lhs' => 95, 'rhs' => 4),
  2909. array('lhs' => 95, 'rhs' => 3),
  2910. array('lhs' => 95, 'rhs' => 3),
  2911. array('lhs' => 93, 'rhs' => 1),
  2912. array('lhs' => 93, 'rhs' => 1),
  2913. array('lhs' => 93, 'rhs' => 4),
  2914. array('lhs' => 93, 'rhs' => 3),
  2915. array('lhs' => 93, 'rhs' => 3),
  2916. array('lhs' => 93, 'rhs' => 3),
  2917. array('lhs' => 93, 'rhs' => 1),
  2918. array('lhs' => 93, 'rhs' => 2),
  2919. array('lhs' => 93, 'rhs' => 3),
  2920. array('lhs' => 93, 'rhs' => 3),
  2921. array('lhs' => 93, 'rhs' => 3),
  2922. array('lhs' => 93, 'rhs' => 3),
  2923. array('lhs' => 93, 'rhs' => 3),
  2924. array('lhs' => 93, 'rhs' => 3),
  2925. array('lhs' => 93, 'rhs' => 2),
  2926. array('lhs' => 93, 'rhs' => 2),
  2927. array('lhs' => 93, 'rhs' => 3),
  2928. array('lhs' => 93, 'rhs' => 3),
  2929. array('lhs' => 93, 'rhs' => 2),
  2930. array('lhs' => 93, 'rhs' => 2),
  2931. array('lhs' => 93, 'rhs' => 3),
  2932. array('lhs' => 93, 'rhs' => 3),
  2933. array('lhs' => 93, 'rhs' => 3),
  2934. array('lhs' => 93, 'rhs' => 3),
  2935. array('lhs' => 102, 'rhs' => 8),
  2936. array('lhs' => 102, 'rhs' => 7),
  2937. array('lhs' => 90, 'rhs' => 1),
  2938. array('lhs' => 90, 'rhs' => 2),
  2939. array('lhs' => 90, 'rhs' => 2),
  2940. array('lhs' => 90, 'rhs' => 2),
  2941. array('lhs' => 90, 'rhs' => 2),
  2942. array('lhs' => 90, 'rhs' => 1),
  2943. array('lhs' => 90, 'rhs' => 1),
  2944. array('lhs' => 90, 'rhs' => 3),
  2945. array('lhs' => 90, 'rhs' => 2),
  2946. array('lhs' => 90, 'rhs' => 2),
  2947. array('lhs' => 90, 'rhs' => 1),
  2948. array('lhs' => 90, 'rhs' => 1),
  2949. array('lhs' => 90, 'rhs' => 3),
  2950. array('lhs' => 90, 'rhs' => 1),
  2951. array('lhs' => 90, 'rhs' => 1),
  2952. array('lhs' => 90, 'rhs' => 3),
  2953. array('lhs' => 90, 'rhs' => 3),
  2954. array('lhs' => 90, 'rhs' => 2),
  2955. array('lhs' => 90, 'rhs' => 2),
  2956. array('lhs' => 106, 'rhs' => 1),
  2957. array('lhs' => 106, 'rhs' => 4),
  2958. array('lhs' => 106, 'rhs' => 1),
  2959. array('lhs' => 106, 'rhs' => 3),
  2960. array('lhs' => 106, 'rhs' => 4),
  2961. array('lhs' => 106, 'rhs' => 3),
  2962. array('lhs' => 106, 'rhs' => 4),
  2963. array('lhs' => 94, 'rhs' => 3),
  2964. array('lhs' => 111, 'rhs' => 2),
  2965. array('lhs' => 111, 'rhs' => 0),
  2966. array('lhs' => 112, 'rhs' => 3),
  2967. array('lhs' => 112, 'rhs' => 5),
  2968. array('lhs' => 112, 'rhs' => 2),
  2969. array('lhs' => 112, 'rhs' => 2),
  2970. array('lhs' => 112, 'rhs' => 4),
  2971. array('lhs' => 112, 'rhs' => 3),
  2972. array('lhs' => 112, 'rhs' => 5),
  2973. array('lhs' => 112, 'rhs' => 3),
  2974. array('lhs' => 112, 'rhs' => 2),
  2975. array('lhs' => 98, 'rhs' => 1),
  2976. array('lhs' => 98, 'rhs' => 2),
  2977. array('lhs' => 113, 'rhs' => 1),
  2978. array('lhs' => 113, 'rhs' => 3),
  2979. array('lhs' => 110, 'rhs' => 2),
  2980. array('lhs' => 114, 'rhs' => 1),
  2981. array('lhs' => 114, 'rhs' => 2),
  2982. array('lhs' => 115, 'rhs' => 3),
  2983. array('lhs' => 115, 'rhs' => 4),
  2984. array('lhs' => 115, 'rhs' => 5),
  2985. array('lhs' => 115, 'rhs' => 6),
  2986. array('lhs' => 115, 'rhs' => 2),
  2987. array('lhs' => 107, 'rhs' => 4),
  2988. array('lhs' => 116, 'rhs' => 4),
  2989. array('lhs' => 116, 'rhs' => 5),
  2990. array('lhs' => 117, 'rhs' => 3),
  2991. array('lhs' => 117, 'rhs' => 1),
  2992. array('lhs' => 117, 'rhs' => 0),
  2993. array('lhs' => 91, 'rhs' => 3),
  2994. array('lhs' => 91, 'rhs' => 2),
  2995. array('lhs' => 118, 'rhs' => 3),
  2996. array('lhs' => 118, 'rhs' => 2),
  2997. array('lhs' => 100, 'rhs' => 2),
  2998. array('lhs' => 100, 'rhs' => 0),
  2999. array('lhs' => 119, 'rhs' => 2),
  3000. array('lhs' => 119, 'rhs' => 2),
  3001. array('lhs' => 109, 'rhs' => 1),
  3002. array('lhs' => 109, 'rhs' => 2),
  3003. array('lhs' => 109, 'rhs' => 1),
  3004. array('lhs' => 109, 'rhs' => 3),
  3005. array('lhs' => 109, 'rhs' => 4),
  3006. array('lhs' => 104, 'rhs' => 1),
  3007. array('lhs' => 104, 'rhs' => 1),
  3008. array('lhs' => 104, 'rhs' => 1),
  3009. array('lhs' => 104, 'rhs' => 1),
  3010. array('lhs' => 104, 'rhs' => 1),
  3011. array('lhs' => 104, 'rhs' => 1),
  3012. array('lhs' => 104, 'rhs' => 1),
  3013. array('lhs' => 104, 'rhs' => 1),
  3014. array('lhs' => 104, 'rhs' => 1),
  3015. array('lhs' => 105, 'rhs' => 1),
  3016. array('lhs' => 105, 'rhs' => 1),
  3017. array('lhs' => 105, 'rhs' => 1),
  3018. array('lhs' => 103, 'rhs' => 3),
  3019. array('lhs' => 120, 'rhs' => 1),
  3020. array('lhs' => 120, 'rhs' => 3),
  3021. array('lhs' => 120, 'rhs' => 0),
  3022. array('lhs' => 121, 'rhs' => 3),
  3023. array('lhs' => 121, 'rhs' => 3),
  3024. array('lhs' => 121, 'rhs' => 1),
  3025. array('lhs' => 108, 'rhs' => 2),
  3026. array('lhs' => 108, 'rhs' => 3),
  3027. array('lhs' => 122, 'rhs' => 2),
  3028. array('lhs' => 122, 'rhs' => 1),
  3029. array('lhs' => 123, 'rhs' => 3),
  3030. array('lhs' => 123, 'rhs' => 3),
  3031. array('lhs' => 123, 'rhs' => 1),
  3032. array('lhs' => 123, 'rhs' => 3),
  3033. array('lhs' => 123, 'rhs' => 3),
  3034. array('lhs' => 123, 'rhs' => 2),
  3035. array('lhs' => 123, 'rhs' => 1),
  3036. array('lhs' => 97, 'rhs' => 1),
  3037. array('lhs' => 97, 'rhs' => 0),
  3038. );
  3039. public static $yyReduceMap = array(
  3040. 0 => 0,
  3041. 1 => 1,
  3042. 2 => 1,
  3043. 4 => 4,
  3044. 5 => 5,
  3045. 6 => 6,
  3046. 7 => 7,
  3047. 8 => 8,
  3048. 9 => 9,
  3049. 10 => 10,
  3050. 11 => 11,
  3051. 12 => 12,
  3052. 13 => 13,
  3053. 14 => 14,
  3054. 15 => 15,
  3055. 16 => 16,
  3056. 17 => 17,
  3057. 20 => 17,
  3058. 204 => 17,
  3059. 18 => 18,
  3060. 77 => 18,
  3061. 19 => 19,
  3062. 105 => 19,
  3063. 107 => 19,
  3064. 108 => 19,
  3065. 131 => 19,
  3066. 169 => 19,
  3067. 21 => 21,
  3068. 22 => 21,
  3069. 48 => 21,
  3070. 70 => 21,
  3071. 71 => 21,
  3072. 78 => 21,
  3073. 79 => 21,
  3074. 84 => 21,
  3075. 104 => 21,
  3076. 109 => 21,
  3077. 110 => 21,
  3078. 115 => 21,
  3079. 117 => 21,
  3080. 118 => 21,
  3081. 125 => 21,
  3082. 142 => 21,
  3083. 168 => 21,
  3084. 170 => 21,
  3085. 186 => 21,
  3086. 191 => 21,
  3087. 203 => 21,
  3088. 23 => 23,
  3089. 24 => 23,
  3090. 25 => 25,
  3091. 26 => 26,
  3092. 27 => 27,
  3093. 28 => 28,
  3094. 29 => 29,
  3095. 30 => 30,
  3096. 32 => 30,
  3097. 31 => 31,
  3098. 33 => 33,
  3099. 34 => 33,
  3100. 35 => 35,
  3101. 36 => 36,
  3102. 37 => 37,
  3103. 38 => 38,
  3104. 39 => 39,
  3105. 40 => 40,
  3106. 41 => 41,
  3107. 42 => 42,
  3108. 43 => 43,
  3109. 45 => 43,
  3110. 44 => 44,
  3111. 46 => 46,
  3112. 47 => 47,
  3113. 49 => 49,
  3114. 50 => 50,
  3115. 51 => 51,
  3116. 52 => 52,
  3117. 54 => 52,
  3118. 53 => 53,
  3119. 55 => 53,
  3120. 56 => 56,
  3121. 57 => 57,
  3122. 58 => 58,
  3123. 59 => 59,
  3124. 60 => 60,
  3125. 61 => 61,
  3126. 62 => 62,
  3127. 63 => 63,
  3128. 64 => 64,
  3129. 73 => 64,
  3130. 158 => 64,
  3131. 162 => 64,
  3132. 166 => 64,
  3133. 167 => 64,
  3134. 65 => 65,
  3135. 159 => 65,
  3136. 165 => 65,
  3137. 66 => 66,
  3138. 67 => 67,
  3139. 68 => 67,
  3140. 69 => 69,
  3141. 72 => 72,
  3142. 74 => 74,
  3143. 75 => 75,
  3144. 76 => 75,
  3145. 80 => 80,
  3146. 81 => 81,
  3147. 82 => 81,
  3148. 83 => 81,
  3149. 85 => 85,
  3150. 122 => 85,
  3151. 86 => 86,
  3152. 89 => 86,
  3153. 100 => 86,
  3154. 87 => 87,
  3155. 88 => 88,
  3156. 90 => 90,
  3157. 91 => 91,
  3158. 92 => 92,
  3159. 97 => 92,
  3160. 93 => 93,
  3161. 96 => 93,
  3162. 94 => 94,
  3163. 99 => 94,
  3164. 95 => 95,
  3165. 98 => 95,
  3166. 101 => 101,
  3167. 102 => 102,
  3168. 103 => 103,
  3169. 106 => 106,
  3170. 111 => 111,
  3171. 112 => 112,
  3172. 113 => 113,
  3173. 114 => 114,
  3174. 116 => 116,
  3175. 119 => 119,
  3176. 120 => 120,
  3177. 121 => 121,
  3178. 123 => 123,
  3179. 124 => 124,
  3180. 126 => 126,
  3181. 127 => 127,
  3182. 128 => 128,
  3183. 129 => 129,
  3184. 130 => 130,
  3185. 132 => 132,
  3186. 188 => 132,
  3187. 133 => 133,
  3188. 134 => 134,
  3189. 135 => 135,
  3190. 136 => 136,
  3191. 137 => 137,
  3192. 140 => 137,
  3193. 138 => 138,
  3194. 139 => 139,
  3195. 141 => 141,
  3196. 143 => 143,
  3197. 144 => 144,
  3198. 145 => 145,
  3199. 146 => 146,
  3200. 147 => 147,
  3201. 148 => 148,
  3202. 149 => 149,
  3203. 150 => 150,
  3204. 151 => 151,
  3205. 152 => 152,
  3206. 153 => 153,
  3207. 154 => 154,
  3208. 155 => 155,
  3209. 156 => 156,
  3210. 157 => 157,
  3211. 160 => 160,
  3212. 161 => 161,
  3213. 163 => 163,
  3214. 164 => 164,
  3215. 171 => 171,
  3216. 172 => 172,
  3217. 173 => 173,
  3218. 174 => 174,
  3219. 175 => 175,
  3220. 176 => 176,
  3221. 177 => 177,
  3222. 178 => 178,
  3223. 179 => 179,
  3224. 180 => 180,
  3225. 181 => 181,
  3226. 182 => 182,
  3227. 183 => 183,
  3228. 184 => 184,
  3229. 185 => 185,
  3230. 187 => 187,
  3231. 189 => 189,
  3232. 190 => 190,
  3233. 192 => 192,
  3234. 193 => 193,
  3235. 194 => 194,
  3236. 195 => 195,
  3237. 196 => 196,
  3238. 197 => 196,
  3239. 199 => 196,
  3240. 198 => 198,
  3241. 200 => 200,
  3242. 201 => 201,
  3243. 202 => 202,
  3244. );
  3245. #line 96 "smarty_internal_templateparser.y"
  3246. function yy_r0()
  3247. {
  3248. $this->_retvalue = $this->root_buffer->to_smarty_php();
  3249. }
  3250. #line 2146 "smarty_internal_templateparser.php"
  3251. #line 104 "smarty_internal_templateparser.y"
  3252. function yy_r1()
  3253. {
  3254. if ($this->yystack[$this->yyidx + 0]->minor != null) {
  3255. $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor);
  3256. }
  3257. }
  3258. #line 2153 "smarty_internal_templateparser.php"
  3259. #line 124 "smarty_internal_templateparser.y"
  3260. function yy_r4()
  3261. {
  3262. if ($this->compiler->has_code) {
  3263. $tmp = '';
  3264. foreach ($this->compiler->prefix_code as $code) {
  3265. $tmp .= $code;
  3266. }
  3267. $this->compiler->prefix_code = array();
  3268. $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp . $this->yystack[$this->yyidx + - 1]->minor, true));
  3269. } else {
  3270. $this->_retvalue = null;
  3271. }
  3272. $this->compiler->has_variable_string = false;
  3273. $this->block_nesting_level = count($this->compiler->_tag_stack);
  3274. }
  3275. #line 2165 "smarty_internal_templateparser.php"
  3276. #line 136 "smarty_internal_templateparser.y"
  3277. function yy_r5()
  3278. {
  3279. $this->_retvalue = null;
  3280. }
  3281. #line 2170 "smarty_internal_templateparser.php"
  3282. #line 141 "smarty_internal_templateparser.y"
  3283. function yy_r6()
  3284. {
  3285. $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
  3286. }
  3287. #line 2175 "smarty_internal_templateparser.php"
  3288. #line 146 "smarty_internal_templateparser.y"
  3289. function yy_r7()
  3290. {
  3291. if ($this->php_handling == Smarty::PHP_PASSTHRU) {
  3292. $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
  3293. } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
  3294. $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
  3295. } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
  3296. if (!($this->smarty instanceof SmartyBC)) {
  3297. $this->compiler->trigger_template_error(self::Err3);
  3298. }
  3299. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<?php', true));
  3300. } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
  3301. $this->_retvalue = null;
  3302. }
  3303. }
  3304. #line 2191 "smarty_internal_templateparser.php"
  3305. #line 162 "smarty_internal_templateparser.y"
  3306. function yy_r8()
  3307. {
  3308. if ($this->is_xml) {
  3309. $this->compiler->tag_nocache = true;
  3310. $this->is_xml = false;
  3311. $save = $this->template->has_nocache_code;
  3312. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '?>';?>\n", $this->compiler, true));
  3313. $this->template->has_nocache_code = $save;
  3314. } elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
  3315. $this->_retvalue = new _smarty_text($this, '?<?php ?>>');
  3316. } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
  3317. $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
  3318. } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
  3319. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true));
  3320. } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
  3321. $this->_retvalue = null;
  3322. }
  3323. }
  3324. #line 2210 "smarty_internal_templateparser.php"
  3325. #line 181 "smarty_internal_templateparser.y"
  3326. function yy_r9()
  3327. {
  3328. if ($this->php_handling == Smarty::PHP_PASSTHRU) {
  3329. $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
  3330. } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
  3331. $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
  3332. } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
  3333. if ($this->asp_tags) {
  3334. if (!($this->smarty instanceof SmartyBC)) {
  3335. $this->compiler->trigger_template_error(self::Err3);
  3336. }
  3337. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true));
  3338. } else {
  3339. $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
  3340. }
  3341. } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
  3342. if ($this->asp_tags) {
  3343. $this->_retvalue = null;
  3344. } else {
  3345. $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
  3346. }
  3347. }
  3348. }
  3349. #line 2234 "smarty_internal_templateparser.php"
  3350. #line 205 "smarty_internal_templateparser.y"
  3351. function yy_r10()
  3352. {
  3353. if ($this->php_handling == Smarty::PHP_PASSTHRU) {
  3354. $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
  3355. } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
  3356. $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
  3357. } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
  3358. if ($this->asp_tags) {
  3359. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true));
  3360. } else {
  3361. $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
  3362. }
  3363. } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
  3364. if ($this->asp_tags) {
  3365. $this->_retvalue = null;
  3366. } else {
  3367. $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
  3368. }
  3369. }
  3370. }
  3371. #line 2255 "smarty_internal_templateparser.php"
  3372. #line 225 "smarty_internal_templateparser.y"
  3373. function yy_r11()
  3374. {
  3375. if ($this->strip) {
  3376. $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)));
  3377. } else {
  3378. $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
  3379. }
  3380. }
  3381. #line 2264 "smarty_internal_templateparser.php"
  3382. #line 234 "smarty_internal_templateparser.y"
  3383. function yy_r12()
  3384. {
  3385. $this->compiler->tag_nocache = true;
  3386. $this->is_xml = true;
  3387. $save = $this->template->has_nocache_code;
  3388. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true));
  3389. $this->template->has_nocache_code = $save;
  3390. }
  3391. #line 2273 "smarty_internal_templateparser.php"
  3392. #line 243 "smarty_internal_templateparser.y"
  3393. function yy_r13()
  3394. {
  3395. if ($this->strip) {
  3396. $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
  3397. } else {
  3398. $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
  3399. }
  3400. }
  3401. #line 2282 "smarty_internal_templateparser.php"
  3402. #line 252 "smarty_internal_templateparser.y"
  3403. function yy_r14()
  3404. {
  3405. $this->strip = true;
  3406. }
  3407. #line 2287 "smarty_internal_templateparser.php"
  3408. #line 256 "smarty_internal_templateparser.y"
  3409. function yy_r15()
  3410. {
  3411. $this->strip = false;
  3412. }
  3413. #line 2292 "smarty_internal_templateparser.php"
  3414. #line 260 "smarty_internal_templateparser.y"
  3415. function yy_r16()
  3416. {
  3417. if ($this->strip) {
  3418. SMARTY_INTERNAL_COMPILE_BLOCK::blockSource($this->compiler, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
  3419. } else {
  3420. SMARTY_INTERNAL_COMPILE_BLOCK::blockSource($this->compiler, $this->yystack[$this->yyidx + 0]->minor);
  3421. }
  3422. }
  3423. #line 2301 "smarty_internal_templateparser.php"
  3424. #line 269 "smarty_internal_templateparser.y"
  3425. function yy_r17()
  3426. {
  3427. $this->_retvalue = '';
  3428. }
  3429. #line 2306 "smarty_internal_templateparser.php"
  3430. #line 273 "smarty_internal_templateparser.y"
  3431. function yy_r18()
  3432. {
  3433. $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
  3434. }
  3435. #line 2311 "smarty_internal_templateparser.php"
  3436. #line 277 "smarty_internal_templateparser.y"
  3437. function yy_r19()
  3438. {
  3439. $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
  3440. }
  3441. #line 2316 "smarty_internal_templateparser.php"
  3442. #line 285 "smarty_internal_templateparser.y"
  3443. function yy_r21()
  3444. {
  3445. $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
  3446. }
  3447. #line 2321 "smarty_internal_templateparser.php"
  3448. #line 293 "smarty_internal_templateparser.y"
  3449. function yy_r23()
  3450. {
  3451. $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor);
  3452. }
  3453. #line 2326 "smarty_internal_templateparser.php"
  3454. #line 301 "smarty_internal_templateparser.y"
  3455. function yy_r25()
  3456. {
  3457. $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor);
  3458. }
  3459. #line 2331 "smarty_internal_templateparser.php"
  3460. #line 305 "smarty_internal_templateparser.y"
  3461. function yy_r26()
  3462. {
  3463. $this->_retvalue = '<<?php ?>%';
  3464. }
  3465. #line 2336 "smarty_internal_templateparser.php"
  3466. #line 309 "smarty_internal_templateparser.y"
  3467. function yy_r27()
  3468. {
  3469. $this->_retvalue = '%<?php ?>>';
  3470. }
  3471. #line 2341 "smarty_internal_templateparser.php"
  3472. #line 318 "smarty_internal_templateparser.y"
  3473. function yy_r28()
  3474. {
  3475. $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(), array('value' => $this->yystack[$this->yyidx + 0]->minor));
  3476. }
  3477. #line 2346 "smarty_internal_templateparser.php"
  3478. #line 322 "smarty_internal_templateparser.y"
  3479. function yy_r29()
  3480. {
  3481. $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor));
  3482. }
  3483. #line 2351 "smarty_internal_templateparser.php"
  3484. #line 326 "smarty_internal_templateparser.y"
  3485. function yy_r30()
  3486. {
  3487. $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 1]->minor));
  3488. }
  3489. #line 2356 "smarty_internal_templateparser.php"
  3490. #line 330 "smarty_internal_templateparser.y"
  3491. function yy_r31()
  3492. {
  3493. $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor));
  3494. }
  3495. #line 2361 "smarty_internal_templateparser.php"
  3496. #line 343 "smarty_internal_templateparser.y"
  3497. function yy_r33()
  3498. {
  3499. $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[$this->yyidx + 0]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 2]->minor . "'")));
  3500. }
  3501. #line 2366 "smarty_internal_templateparser.php"
  3502. #line 351 "smarty_internal_templateparser.y"
  3503. function yy_r35()
  3504. {
  3505. $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 3]->minor . "'")), $this->yystack[$this->yyidx + 0]->minor));
  3506. }
  3507. #line 2371 "smarty_internal_templateparser.php"
  3508. #line 355 "smarty_internal_templateparser.y"
  3509. function yy_r36()
  3510. {
  3511. $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => $this->yystack[$this->yyidx + - 3]->minor['var'])), $this->yystack[$this->yyidx + 0]->minor), array('smarty_internal_index' => $this->yystack[$this->yyidx + - 3]->minor['smarty_internal_index']));
  3512. }
  3513. #line 2376 "smarty_internal_templateparser.php"
  3514. #line 360 "smarty_internal_templateparser.y"
  3515. function yy_r37()
  3516. {
  3517. $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor);
  3518. }
  3519. #line 2381 "smarty_internal_templateparser.php"
  3520. #line 364 "smarty_internal_templateparser.y"
  3521. function yy_r38()
  3522. {
  3523. $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor, array());
  3524. }
  3525. #line 2386 "smarty_internal_templateparser.php"
  3526. #line 369 "smarty_internal_templateparser.y"
  3527. function yy_r39()
  3528. {
  3529. $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 1]->minor));
  3530. }
  3531. #line 2391 "smarty_internal_templateparser.php"
  3532. #line 374 "smarty_internal_templateparser.y"
  3533. function yy_r40()
  3534. {
  3535. $this->_retvalue = '<?php ob_start();?>' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor, $this->yystack[$this->yyidx + 0]->minor) . '<?php echo ';
  3536. $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . '?>';
  3537. }
  3538. #line 2397 "smarty_internal_templateparser.php"
  3539. #line 380 "smarty_internal_templateparser.y"
  3540. function yy_r41()
  3541. {
  3542. $this->_retvalue = '<?php ob_start();?>' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 4]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 2]->minor)) . '<?php echo ';
  3543. $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . '?>';
  3544. }
  3545. #line 2403 "smarty_internal_templateparser.php"
  3546. #line 386 "smarty_internal_templateparser.y"
  3547. function yy_r42()
  3548. {
  3549. $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
  3550. $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor));
  3551. }
  3552. #line 2409 "smarty_internal_templateparser.php"
  3553. #line 391 "smarty_internal_templateparser.y"
  3554. function yy_r43()
  3555. {
  3556. $tag = trim(substr($this->yystack[$this->yyidx + - 2]->minor, $this->lex->ldel_length));
  3557. $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, $this->yystack[$this->yyidx + 0]->minor, array('if condition' => $this->yystack[$this->yyidx + - 1]->minor));
  3558. }
  3559. #line 2415 "smarty_internal_templateparser.php"
  3560. #line 396 "smarty_internal_templateparser.y"
  3561. function yy_r44()
  3562. {
  3563. $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
  3564. $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor));
  3565. }
  3566. #line 2421 "smarty_internal_templateparser.php"
  3567. #line 407 "smarty_internal_templateparser.y"
  3568. function yy_r46()
  3569. {
  3570. $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 9]->minor), array('ifexp' => $this->yystack[$this->yyidx + - 6]->minor), array('var' => $this->yystack[$this->yyidx + - 2]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 1);
  3571. }
  3572. #line 2426 "smarty_internal_templateparser.php"
  3573. #line 411 "smarty_internal_templateparser.y"
  3574. function yy_r47()
  3575. {
  3576. $this->_retvalue = '=' . $this->yystack[$this->yyidx + 0]->minor;
  3577. }
  3578. #line 2431 "smarty_internal_templateparser.php"
  3579. #line 419 "smarty_internal_templateparser.y"
  3580. function yy_r49()
  3581. {
  3582. $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 3]->minor), array('to' => $this->yystack[$this->yyidx + - 1]->minor))), 0);
  3583. }
  3584. #line 2436 "smarty_internal_templateparser.php"
  3585. #line 423 "smarty_internal_templateparser.y"
  3586. function yy_r50()
  3587. {
  3588. $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 5]->minor), array('to' => $this->yystack[$this->yyidx + - 3]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 0);
  3589. }
  3590. #line 2441 "smarty_internal_templateparser.php"
  3591. #line 428 "smarty_internal_templateparser.y"
  3592. function yy_r51()
  3593. {
  3594. $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[$this->yyidx + 0]->minor);
  3595. }
  3596. #line 2446 "smarty_internal_templateparser.php"
  3597. #line 433 "smarty_internal_templateparser.y"
  3598. function yy_r52()
  3599. {
  3600. $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 4]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor))));
  3601. }
  3602. #line 2451 "smarty_internal_templateparser.php"
  3603. #line 437 "smarty_internal_templateparser.y"
  3604. function yy_r53()
  3605. {
  3606. $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 7]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor), array('key' => $this->yystack[$this->yyidx + - 4]->minor))));
  3607. }
  3608. #line 2456 "smarty_internal_templateparser.php"
  3609. #line 450 "smarty_internal_templateparser.y"
  3610. function yy_r56()
  3611. {
  3612. $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array(array_merge(array($this->yystack[$this->yyidx + - 1]->minor), $this->yystack[$this->yyidx + 0]->minor))));
  3613. }
  3614. #line 2461 "smarty_internal_templateparser.php"
  3615. #line 454 "smarty_internal_templateparser.y"
  3616. function yy_r57()
  3617. {
  3618. $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array_merge(array(array_merge(array($this->yystack[$this->yyidx + - 2]->minor), $this->yystack[$this->yyidx + - 1]->minor)), $this->yystack[$this->yyidx + 0]->minor)));
  3619. }
  3620. #line 2466 "smarty_internal_templateparser.php"
  3621. #line 459 "smarty_internal_templateparser.y"
  3622. function yy_r58()
  3623. {
  3624. $j = strrpos($this->yystack[$this->yyidx + 0]->minor, '.');
  3625. if ($this->yystack[$this->yyidx + 0]->minor[$j + 1] == 'c') {
  3626. // {$smarty.block.child}
  3627. $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
  3628. } else {
  3629. // {$smarty.block.parent}
  3630. $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileParentBlock($this->compiler);
  3631. }
  3632. }
  3633. #line 2478 "smarty_internal_templateparser.php"
  3634. #line 472 "smarty_internal_templateparser.y"
  3635. function yy_r59()
  3636. {
  3637. $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor . 'close', array());
  3638. }
  3639. #line 2483 "smarty_internal_templateparser.php"
  3640. #line 476 "smarty_internal_templateparser.y"
  3641. function yy_r60()
  3642. {
  3643. $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor . 'close', array(), array('modifier_list' => $this->yystack[$this->yyidx + 0]->minor));
  3644. }
  3645. #line 2488 "smarty_internal_templateparser.php"
  3646. #line 481 "smarty_internal_templateparser.y"
  3647. function yy_r61()
  3648. {
  3649. $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + 0]->minor));
  3650. }
  3651. #line 2493 "smarty_internal_templateparser.php"
  3652. #line 485 "smarty_internal_templateparser.y"
  3653. function yy_r62()
  3654. {
  3655. $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + - 1]->minor, 'modifier_list' => $this->yystack[$this->yyidx + 0]->minor));
  3656. }
  3657. #line 2498 "smarty_internal_templateparser.php"
  3658. #line 493 "smarty_internal_templateparser.y"
  3659. function yy_r63()
  3660. {
  3661. $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
  3662. $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;
  3663. }
  3664. #line 2504 "smarty_internal_templateparser.php"
  3665. #line 499 "smarty_internal_templateparser.y"
  3666. function yy_r64()
  3667. {
  3668. $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
  3669. }
  3670. #line 2509 "smarty_internal_templateparser.php"
  3671. #line 504 "smarty_internal_templateparser.y"
  3672. function yy_r65()
  3673. {
  3674. $this->_retvalue = array();
  3675. }
  3676. #line 2514 "smarty_internal_templateparser.php"
  3677. #line 509 "smarty_internal_templateparser.y"
  3678. function yy_r66()
  3679. {
  3680. if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  3681. $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'true');
  3682. } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  3683. $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'false');
  3684. } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  3685. $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'null');
  3686. } else {
  3687. $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => "'" . $this->yystack[$this->yyidx + 0]->minor . "'");
  3688. }
  3689. }
  3690. #line 2527 "smarty_internal_templateparser.php"
  3691. #line 521 "smarty_internal_templateparser.y"
  3692. function yy_r67()
  3693. {
  3694. $this->_retvalue = array(trim($this->yystack[$this->yyidx + - 1]->minor, " =\n\r\t") => $this->yystack[$this->yyidx + 0]->minor);
  3695. }
  3696. #line 2532 "smarty_internal_templateparser.php"
  3697. #line 529 "smarty_internal_templateparser.y"
  3698. function yy_r69()
  3699. {
  3700. $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'";
  3701. }
  3702. #line 2537 "smarty_internal_templateparser.php"
  3703. #line 541 "smarty_internal_templateparser.y"
  3704. function yy_r72()
  3705. {
  3706. $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor);
  3707. }
  3708. #line 2542 "smarty_internal_templateparser.php"
  3709. #line 554 "smarty_internal_templateparser.y"
  3710. function yy_r74()
  3711. {
  3712. $this->yystack[$this->yyidx + - 2]->minor[] = $this->yystack[$this->yyidx + 0]->minor;
  3713. $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor;
  3714. }
  3715. #line 2548 "smarty_internal_templateparser.php"
  3716. #line 559 "smarty_internal_templateparser.y"
  3717. function yy_r75()
  3718. {
  3719. $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 2]->minor, 'value' => $this->yystack[$this->yyidx + 0]->minor);
  3720. }
  3721. #line 2553 "smarty_internal_templateparser.php"
  3722. #line 587 "smarty_internal_templateparser.y"
  3723. function yy_r80()
  3724. {
  3725. $this->_retvalue = '$_smarty_tpl->getStreamVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '://' . $this->yystack[$this->yyidx + 0]->minor . '\')';
  3726. }
  3727. #line 2558 "smarty_internal_templateparser.php"
  3728. #line 592 "smarty_internal_templateparser.y"
  3729. function yy_r81()
  3730. {
  3731. $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . trim($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor;
  3732. }
  3733. #line 2563 "smarty_internal_templateparser.php"
  3734. #line 611 "smarty_internal_templateparser.y"
  3735. function yy_r85()
  3736. {
  3737. $this->_retvalue = $this->compiler->compileTag('private_modifier', array(), array('value' => $this->yystack[$this->yyidx + - 1]->minor, 'modifierlist' => $this->yystack[$this->yyidx + 0]->minor));
  3738. }
  3739. #line 2568 "smarty_internal_templateparser.php"
  3740. #line 617 "smarty_internal_templateparser.y"
  3741. function yy_r86()
  3742. {
  3743. $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
  3744. }
  3745. #line 2573 "smarty_internal_templateparser.php"
  3746. #line 621 "smarty_internal_templateparser.y"
  3747. function yy_r87()
  3748. {
  3749. $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor . ')';
  3750. }
  3751. #line 2578 "smarty_internal_templateparser.php"
  3752. #line 625 "smarty_internal_templateparser.y"
  3753. function yy_r88()
  3754. {
  3755. $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',(array)' . $this->yystack[$this->yyidx + 0]->minor . ')';
  3756. }
  3757. #line 2583 "smarty_internal_templateparser.php"
  3758. #line 633 "smarty_internal_templateparser.y"
  3759. function yy_r90()
  3760. {
  3761. $this->_retvalue = '!(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')';
  3762. }
  3763. #line 2588 "smarty_internal_templateparser.php"
  3764. #line 637 "smarty_internal_templateparser.y"
  3765. function yy_r91()
  3766. {
  3767. $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')';
  3768. }
  3769. #line 2593 "smarty_internal_templateparser.php"
  3770. #line 641 "smarty_internal_templateparser.y"
  3771. function yy_r92()
  3772. {
  3773. $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')';
  3774. }
  3775. #line 2598 "smarty_internal_templateparser.php"
  3776. #line 645 "smarty_internal_templateparser.y"
  3777. function yy_r93()
  3778. {
  3779. $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')';
  3780. }
  3781. #line 2603 "smarty_internal_templateparser.php"
  3782. #line 649 "smarty_internal_templateparser.y"
  3783. function yy_r94()
  3784. {
  3785. $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')';
  3786. }
  3787. #line 2608 "smarty_internal_templateparser.php"
  3788. #line 653 "smarty_internal_templateparser.y"
  3789. function yy_r95()
  3790. {
  3791. $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')';
  3792. }
  3793. #line 2613 "smarty_internal_templateparser.php"
  3794. #line 677 "smarty_internal_templateparser.y"
  3795. function yy_r101()
  3796. {
  3797. self::$prefix_number ++;
  3798. $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . $this->yystack[$this->yyidx + 0]->minor . ';?>';
  3799. $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . '$_tmp' . self::$prefix_number;
  3800. }
  3801. #line 2620 "smarty_internal_templateparser.php"
  3802. #line 686 "smarty_internal_templateparser.y"
  3803. function yy_r102()
  3804. {
  3805. $this->_retvalue = $this->yystack[$this->yyidx + - 6]->minor . ' ? ' . $this->compileVariable("'" . $this->yystack[$this->yyidx + - 2]->minor . "'") . ' : ' . $this->yystack[$this->yyidx + 0]->minor;
  3806. }
  3807. #line 2625 "smarty_internal_templateparser.php"
  3808. #line 690 "smarty_internal_templateparser.y"
  3809. function yy_r103()
  3810. {
  3811. $this->_retvalue = $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->yystack[$this->yyidx + - 2]->minor . ' : ' . $this->yystack[$this->yyidx + 0]->minor;
  3812. }
  3813. #line 2630 "smarty_internal_templateparser.php"
  3814. #line 705 "smarty_internal_templateparser.y"
  3815. function yy_r106()
  3816. {
  3817. $this->_retvalue = '!' . $this->yystack[$this->yyidx + 0]->minor;
  3818. }
  3819. #line 2635 "smarty_internal_templateparser.php"
  3820. #line 726 "smarty_internal_templateparser.y"
  3821. function yy_r111()
  3822. {
  3823. $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
  3824. }
  3825. #line 2640 "smarty_internal_templateparser.php"
  3826. #line 730 "smarty_internal_templateparser.y"
  3827. function yy_r112()
  3828. {
  3829. $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.';
  3830. }
  3831. #line 2645 "smarty_internal_templateparser.php"
  3832. #line 734 "smarty_internal_templateparser.y"
  3833. function yy_r113()
  3834. {
  3835. $this->_retvalue = '.' . $this->yystack[$this->yyidx + 0]->minor;
  3836. }
  3837. #line 2650 "smarty_internal_templateparser.php"
  3838. #line 739 "smarty_internal_templateparser.y"
  3839. function yy_r114()
  3840. {
  3841. if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  3842. $this->_retvalue = 'true';
  3843. } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  3844. $this->_retvalue = 'false';
  3845. } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  3846. $this->_retvalue = 'null';
  3847. } else {
  3848. $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'";
  3849. }
  3850. }
  3851. #line 2663 "smarty_internal_templateparser.php"
  3852. #line 757 "smarty_internal_templateparser.y"
  3853. function yy_r116()
  3854. {
  3855. $this->_retvalue = "(" . $this->yystack[$this->yyidx + - 1]->minor . ")";
  3856. }
  3857. #line 2668 "smarty_internal_templateparser.php"
  3858. #line 772 "smarty_internal_templateparser.y"
  3859. function yy_r119()
  3860. {
  3861. 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)) {
  3862. if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor])) {
  3863. $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor] . '::' . $this->yystack[$this->yyidx + 0]->minor;
  3864. } else {
  3865. $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '::' . $this->yystack[$this->yyidx + 0]->minor;
  3866. }
  3867. } else {
  3868. $this->compiler->trigger_template_error("static class '" . $this->yystack[$this->yyidx + - 2]->minor . "' is undefined or not allowed by security setting");
  3869. }
  3870. }
  3871. #line 2681 "smarty_internal_templateparser.php"
  3872. #line 784 "smarty_internal_templateparser.y"
  3873. function yy_r120()
  3874. {
  3875. if ($this->yystack[$this->yyidx + - 2]->minor['var'] == '\'smarty\'') {
  3876. $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index']) . '::' . $this->yystack[$this->yyidx + 0]->minor;
  3877. } else {
  3878. $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + - 2]->minor['var']) . $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index'] . '::' . $this->yystack[$this->yyidx + 0]->minor;
  3879. }
  3880. }
  3881. #line 2690 "smarty_internal_templateparser.php"
  3882. #line 793 "smarty_internal_templateparser.y"
  3883. function yy_r121()
  3884. {
  3885. self::$prefix_number ++;
  3886. $this->compiler->prefix_code[] = '<?php ob_start();?>' . $this->yystack[$this->yyidx + - 1]->minor . '<?php $_tmp' . self::$prefix_number . '=ob_get_clean();?>';
  3887. $this->_retvalue = '$_tmp' . self::$prefix_number;
  3888. }
  3889. #line 2697 "smarty_internal_templateparser.php"
  3890. #line 808 "smarty_internal_templateparser.y"
  3891. function yy_r123()
  3892. {
  3893. if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
  3894. $smarty_var = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
  3895. $this->_retvalue = $smarty_var;
  3896. } else {
  3897. // used for array reset,next,prev,end,current
  3898. $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
  3899. $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
  3900. $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']) . $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
  3901. }
  3902. }
  3903. #line 2710 "smarty_internal_templateparser.php"
  3904. #line 821 "smarty_internal_templateparser.y"
  3905. function yy_r124()
  3906. {
  3907. $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[$this->yyidx + - 2]->minor . ']->' . $this->yystack[$this->yyidx + 0]->minor;
  3908. }
  3909. #line 2715 "smarty_internal_templateparser.php"
  3910. #line 831 "smarty_internal_templateparser.y"
  3911. function yy_r126()
  3912. {
  3913. $this->_retvalue = '$_smarty_tpl->getConfigVariable(\'' . $this->yystack[$this->yyidx + - 1]->minor . '\')';
  3914. }
  3915. #line 2720 "smarty_internal_templateparser.php"
  3916. #line 835 "smarty_internal_templateparser.y"
  3917. function yy_r127()
  3918. {
  3919. $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '\')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' :null)';
  3920. }
  3921. #line 2725 "smarty_internal_templateparser.php"
  3922. #line 839 "smarty_internal_templateparser.y"
  3923. function yy_r128()
  3924. {
  3925. $this->_retvalue = '$_smarty_tpl->getConfigVariable(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
  3926. }
  3927. #line 2730 "smarty_internal_templateparser.php"
  3928. #line 843 "smarty_internal_templateparser.y"
  3929. function yy_r129()
  3930. {
  3931. $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable(' . $this->yystack[$this->yyidx + - 2]->minor . ')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' : null)';
  3932. }
  3933. #line 2735 "smarty_internal_templateparser.php"
  3934. #line 847 "smarty_internal_templateparser.y"
  3935. function yy_r130()
  3936. {
  3937. $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 1]->minor, 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor);
  3938. }
  3939. #line 2740 "smarty_internal_templateparser.php"
  3940. #line 860 "smarty_internal_templateparser.y"
  3941. function yy_r132()
  3942. {
  3943. return;
  3944. }
  3945. #line 2745 "smarty_internal_templateparser.php"
  3946. #line 866 "smarty_internal_templateparser.y"
  3947. function yy_r133()
  3948. {
  3949. $this->_retvalue = '[' . $this->compileVariable($this->yystack[$this->yyidx + 0]->minor) . ']';
  3950. }
  3951. #line 2750 "smarty_internal_templateparser.php"
  3952. #line 870 "smarty_internal_templateparser.y"
  3953. function yy_r134()
  3954. {
  3955. $this->_retvalue = '[' . $this->compileVariable($this->yystack[$this->yyidx + - 2]->minor) . '->' . $this->yystack[$this->yyidx + 0]->minor . ']';
  3956. }
  3957. #line 2755 "smarty_internal_templateparser.php"
  3958. #line 874 "smarty_internal_templateparser.y"
  3959. function yy_r135()
  3960. {
  3961. $this->_retvalue = "['" . $this->yystack[$this->yyidx + 0]->minor . "']";
  3962. }
  3963. #line 2760 "smarty_internal_templateparser.php"
  3964. #line 878 "smarty_internal_templateparser.y"
  3965. function yy_r136()
  3966. {
  3967. $this->_retvalue = "[" . $this->yystack[$this->yyidx + 0]->minor . "]";
  3968. }
  3969. #line 2765 "smarty_internal_templateparser.php"
  3970. #line 882 "smarty_internal_templateparser.y"
  3971. function yy_r137()
  3972. {
  3973. $this->_retvalue = "[" . $this->yystack[$this->yyidx + - 1]->minor . "]";
  3974. }
  3975. #line 2770 "smarty_internal_templateparser.php"
  3976. #line 887 "smarty_internal_templateparser.y"
  3977. function yy_r138()
  3978. {
  3979. $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\'][\'index\']') . ']';
  3980. }
  3981. #line 2775 "smarty_internal_templateparser.php"
  3982. #line 891 "smarty_internal_templateparser.y"
  3983. function yy_r139()
  3984. {
  3985. $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 3]->minor . '\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\']') . ']';
  3986. }
  3987. #line 2780 "smarty_internal_templateparser.php"
  3988. #line 901 "smarty_internal_templateparser.y"
  3989. function yy_r141()
  3990. {
  3991. $this->_retvalue = '[]';
  3992. }
  3993. #line 2785 "smarty_internal_templateparser.php"
  3994. #line 914 "smarty_internal_templateparser.y"
  3995. function yy_r143()
  3996. {
  3997. $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
  3998. }
  3999. #line 2790 "smarty_internal_templateparser.php"
  4000. #line 919 "smarty_internal_templateparser.y"
  4001. function yy_r144()
  4002. {
  4003. $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\'';
  4004. }
  4005. #line 2795 "smarty_internal_templateparser.php"
  4006. #line 924 "smarty_internal_templateparser.y"
  4007. function yy_r145()
  4008. {
  4009. $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
  4010. }
  4011. #line 2800 "smarty_internal_templateparser.php"
  4012. #line 931 "smarty_internal_templateparser.y"
  4013. function yy_r146()
  4014. {
  4015. if ($this->yystack[$this->yyidx + - 1]->minor['var'] == '\'smarty\'') {
  4016. $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index']) . $this->yystack[$this->yyidx + 0]->minor;
  4017. } else {
  4018. $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + - 1]->minor['var']) . $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index'] . $this->yystack[$this->yyidx + 0]->minor;
  4019. }
  4020. }
  4021. #line 2809 "smarty_internal_templateparser.php"
  4022. #line 940 "smarty_internal_templateparser.y"
  4023. function yy_r147()
  4024. {
  4025. $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
  4026. }
  4027. #line 2814 "smarty_internal_templateparser.php"
  4028. #line 945 "smarty_internal_templateparser.y"
  4029. function yy_r148()
  4030. {
  4031. $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
  4032. }
  4033. #line 2819 "smarty_internal_templateparser.php"
  4034. #line 950 "smarty_internal_templateparser.y"
  4035. function yy_r149()
  4036. {
  4037. if ($this->security && substr($this->yystack[$this->yyidx + - 1]->minor, 0, 1) == '_') {
  4038. $this->compiler->trigger_template_error(self::Err1);
  4039. }
  4040. $this->_retvalue = '->' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
  4041. }
  4042. #line 2827 "smarty_internal_templateparser.php"
  4043. #line 957 "smarty_internal_templateparser.y"
  4044. function yy_r150()
  4045. {
  4046. if ($this->security) {
  4047. $this->compiler->trigger_template_error(self::Err2);
  4048. }
  4049. $this->_retvalue = '->{' . $this->compileVariable($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor . '}';
  4050. }
  4051. #line 2835 "smarty_internal_templateparser.php"
  4052. #line 964 "smarty_internal_templateparser.y"
  4053. function yy_r151()
  4054. {
  4055. if ($this->security) {
  4056. $this->compiler->trigger_template_error(self::Err2);
  4057. }
  4058. $this->_retvalue = '->{' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}';
  4059. }
  4060. #line 2843 "smarty_internal_templateparser.php"
  4061. #line 971 "smarty_internal_templateparser.y"
  4062. function yy_r152()
  4063. {
  4064. if ($this->security) {
  4065. $this->compiler->trigger_template_error(self::Err2);
  4066. }
  4067. $this->_retvalue = '->{\'' . $this->yystack[$this->yyidx + - 4]->minor . '\'.' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}';
  4068. }
  4069. #line 2851 "smarty_internal_templateparser.php"
  4070. #line 979 "smarty_internal_templateparser.y"
  4071. function yy_r153()
  4072. {
  4073. $this->_retvalue = '->' . $this->yystack[$this->yyidx + 0]->minor;
  4074. }
  4075. #line 2856 "smarty_internal_templateparser.php"
  4076. #line 987 "smarty_internal_templateparser.y"
  4077. function yy_r154()
  4078. {
  4079. if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + - 3]->minor, $this->compiler)) {
  4080. 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)) {
  4081. $func_name = strtolower($this->yystack[$this->yyidx + - 3]->minor);
  4082. if ($func_name == 'isset') {
  4083. if (count($this->yystack[$this->yyidx + - 1]->minor) == 0) {
  4084. $this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
  4085. }
  4086. $par = implode(',', $this->yystack[$this->yyidx + - 1]->minor);
  4087. if (strncasecmp($par, '$_smarty_tpl->getConfigVariable', strlen('$_smarty_tpl->getConfigVariable')) === 0) {
  4088. self::$prefix_number ++;
  4089. $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . str_replace(')', ', false)', $par) . ';?>';
  4090. $isset_par = '$_tmp' . self::$prefix_number;
  4091. } else {
  4092. $isset_par = str_replace("')->value", "',null,true,false)->value", $par);
  4093. }
  4094. $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . $isset_par . ")";
  4095. } elseif (in_array($func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
  4096. if (count($this->yystack[$this->yyidx + - 1]->minor) != 1) {
  4097. $this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
  4098. }
  4099. if ($func_name == 'empty') {
  4100. $this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value", $this->yystack[$this->yyidx + - 1]->minor[0]) . ')';
  4101. } else {
  4102. $this->_retvalue = $func_name . '(' . $this->yystack[$this->yyidx + - 1]->minor[0] . ')';
  4103. }
  4104. } else {
  4105. $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
  4106. }
  4107. } else {
  4108. $this->compiler->trigger_template_error("unknown function \"" . $this->yystack[$this->yyidx + - 3]->minor . "\"");
  4109. }
  4110. }
  4111. }
  4112. #line 2892 "smarty_internal_templateparser.php"
  4113. #line 1025 "smarty_internal_templateparser.y"
  4114. function yy_r155()
  4115. {
  4116. if ($this->security && substr($this->yystack[$this->yyidx + - 3]->minor, 0, 1) == '_') {
  4117. $this->compiler->trigger_template_error(self::Err1);
  4118. }
  4119. $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
  4120. }
  4121. #line 2900 "smarty_internal_templateparser.php"
  4122. #line 1032 "smarty_internal_templateparser.y"
  4123. function yy_r156()
  4124. {
  4125. if ($this->security) {
  4126. $this->compiler->trigger_template_error(self::Err2);
  4127. }
  4128. self::$prefix_number ++;
  4129. $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . $this->compileVariable("'" . $this->yystack[$this->yyidx + - 3]->minor . "'") . ';?>';
  4130. $this->_retvalue = '$_tmp' . self::$prefix_number . '(' . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ')';
  4131. }
  4132. #line 2910 "smarty_internal_templateparser.php"
  4133. #line 1043 "smarty_internal_templateparser.y"
  4134. function yy_r157()
  4135. {
  4136. $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, array($this->yystack[$this->yyidx + 0]->minor));
  4137. }
  4138. #line 2915 "smarty_internal_templateparser.php"
  4139. #line 1060 "smarty_internal_templateparser.y"
  4140. function yy_r160()
  4141. {
  4142. $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)));
  4143. }
  4144. #line 2920 "smarty_internal_templateparser.php"
  4145. #line 1064 "smarty_internal_templateparser.y"
  4146. function yy_r161()
  4147. {
  4148. $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor));
  4149. }
  4150. #line 2925 "smarty_internal_templateparser.php"
  4151. #line 1072 "smarty_internal_templateparser.y"
  4152. function yy_r163()
  4153. {
  4154. $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
  4155. }
  4156. #line 2930 "smarty_internal_templateparser.php"
  4157. #line 1080 "smarty_internal_templateparser.y"
  4158. function yy_r164()
  4159. {
  4160. $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor);
  4161. }
  4162. #line 2935 "smarty_internal_templateparser.php"
  4163. #line 1114 "smarty_internal_templateparser.y"
  4164. function yy_r171()
  4165. {
  4166. $this->_retvalue = '$' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
  4167. }
  4168. #line 2940 "smarty_internal_templateparser.php"
  4169. #line 1119 "smarty_internal_templateparser.y"
  4170. function yy_r172()
  4171. {
  4172. $this->_retvalue = '$' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
  4173. }
  4174. #line 2945 "smarty_internal_templateparser.php"
  4175. #line 1125 "smarty_internal_templateparser.y"
  4176. function yy_r173()
  4177. {
  4178. $this->_retvalue = '==';
  4179. }
  4180. #line 2950 "smarty_internal_templateparser.php"
  4181. #line 1129 "smarty_internal_templateparser.y"
  4182. function yy_r174()
  4183. {
  4184. $this->_retvalue = '!=';
  4185. }
  4186. #line 2955 "smarty_internal_templateparser.php"
  4187. #line 1133 "smarty_internal_templateparser.y"
  4188. function yy_r175()
  4189. {
  4190. $this->_retvalue = '>';
  4191. }
  4192. #line 2960 "smarty_internal_templateparser.php"
  4193. #line 1137 "smarty_internal_templateparser.y"
  4194. function yy_r176()
  4195. {
  4196. $this->_retvalue = '<';
  4197. }
  4198. #line 2965 "smarty_internal_templateparser.php"
  4199. #line 1141 "smarty_internal_templateparser.y"
  4200. function yy_r177()
  4201. {
  4202. $this->_retvalue = '>=';
  4203. }
  4204. #line 2970 "smarty_internal_templateparser.php"
  4205. #line 1145 "smarty_internal_templateparser.y"
  4206. function yy_r178()
  4207. {
  4208. $this->_retvalue = '<=';
  4209. }
  4210. #line 2975 "smarty_internal_templateparser.php"
  4211. #line 1149 "smarty_internal_templateparser.y"
  4212. function yy_r179()
  4213. {
  4214. $this->_retvalue = '===';
  4215. }
  4216. #line 2980 "smarty_internal_templateparser.php"
  4217. #line 1153 "smarty_internal_templateparser.y"
  4218. function yy_r180()
  4219. {
  4220. $this->_retvalue = '!==';
  4221. }
  4222. #line 2985 "smarty_internal_templateparser.php"
  4223. #line 1157 "smarty_internal_templateparser.y"
  4224. function yy_r181()
  4225. {
  4226. $this->_retvalue = '%';
  4227. }
  4228. #line 2990 "smarty_internal_templateparser.php"
  4229. #line 1161 "smarty_internal_templateparser.y"
  4230. function yy_r182()
  4231. {
  4232. $this->_retvalue = '&&';
  4233. }
  4234. #line 2995 "smarty_internal_templateparser.php"
  4235. #line 1165 "smarty_internal_templateparser.y"
  4236. function yy_r183()
  4237. {
  4238. $this->_retvalue = '||';
  4239. }
  4240. #line 3000 "smarty_internal_templateparser.php"
  4241. #line 1169 "smarty_internal_templateparser.y"
  4242. function yy_r184()
  4243. {
  4244. $this->_retvalue = ' XOR ';
  4245. }
  4246. #line 3005 "smarty_internal_templateparser.php"
  4247. #line 1176 "smarty_internal_templateparser.y"
  4248. function yy_r185()
  4249. {
  4250. $this->_retvalue = 'array(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
  4251. }
  4252. #line 3010 "smarty_internal_templateparser.php"
  4253. #line 1184 "smarty_internal_templateparser.y"
  4254. function yy_r187()
  4255. {
  4256. $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor;
  4257. }
  4258. #line 3015 "smarty_internal_templateparser.php"
  4259. #line 1192 "smarty_internal_templateparser.y"
  4260. function yy_r189()
  4261. {
  4262. $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '=>' . $this->yystack[$this->yyidx + 0]->minor;
  4263. }
  4264. #line 3020 "smarty_internal_templateparser.php"
  4265. #line 1196 "smarty_internal_templateparser.y"
  4266. function yy_r190()
  4267. {
  4268. $this->_retvalue = '\'' . $this->yystack[$this->yyidx + - 2]->minor . '\'=>' . $this->yystack[$this->yyidx + 0]->minor;
  4269. }
  4270. #line 3025 "smarty_internal_templateparser.php"
  4271. #line 1208 "smarty_internal_templateparser.y"
  4272. function yy_r192()
  4273. {
  4274. $this->_retvalue = "''";
  4275. }
  4276. #line 3030 "smarty_internal_templateparser.php"
  4277. #line 1212 "smarty_internal_templateparser.y"
  4278. function yy_r193()
  4279. {
  4280. $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor->to_smarty_php();
  4281. }
  4282. #line 3035 "smarty_internal_templateparser.php"
  4283. #line 1217 "smarty_internal_templateparser.y"
  4284. function yy_r194()
  4285. {
  4286. $this->yystack[$this->yyidx + - 1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor);
  4287. $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
  4288. }
  4289. #line 3041 "smarty_internal_templateparser.php"
  4290. #line 1222 "smarty_internal_templateparser.y"
  4291. function yy_r195()
  4292. {
  4293. $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor);
  4294. }
  4295. #line 3046 "smarty_internal_templateparser.php"
  4296. #line 1226 "smarty_internal_templateparser.y"
  4297. function yy_r196()
  4298. {
  4299. $this->_retvalue = new _smarty_code($this, '(string)' . $this->yystack[$this->yyidx + - 1]->minor);
  4300. }
  4301. #line 3051 "smarty_internal_templateparser.php"
  4302. #line 1234 "smarty_internal_templateparser.y"
  4303. function yy_r198()
  4304. {
  4305. $this->_retvalue = new _smarty_code($this, '(string)$_smarty_tpl->tpl_vars[\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\']->value');
  4306. }
  4307. #line 3056 "smarty_internal_templateparser.php"
  4308. #line 1242 "smarty_internal_templateparser.y"
  4309. function yy_r200()
  4310. {
  4311. $this->_retvalue = new _smarty_code($this, '(string)(' . $this->yystack[$this->yyidx + - 1]->minor . ')');
  4312. }
  4313. #line 3061 "smarty_internal_templateparser.php"
  4314. #line 1246 "smarty_internal_templateparser.y"
  4315. function yy_r201()
  4316. {
  4317. $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + - 1]->minor);
  4318. }
  4319. #line 3066 "smarty_internal_templateparser.php"
  4320. #line 1250 "smarty_internal_templateparser.y"
  4321. function yy_r202()
  4322. {
  4323. $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor);
  4324. }
  4325. #line 3071 "smarty_internal_templateparser.php"
  4326. private $_retvalue;
  4327. public function yy_reduce($yyruleno)
  4328. {
  4329. $yymsp = $this->yystack[$this->yyidx];
  4330. if ($this->yyTraceFILE && $yyruleno >= 0
  4331. && $yyruleno < count(self::$yyRuleName)
  4332. ) {
  4333. fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n",
  4334. $this->yyTracePrompt, $yyruleno,
  4335. self::$yyRuleName[$yyruleno]);
  4336. }
  4337. $this->_retvalue = $yy_lefthand_side = null;
  4338. if (array_key_exists($yyruleno, self::$yyReduceMap)) {
  4339. // call the action
  4340. $this->_retvalue = null;
  4341. $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
  4342. $yy_lefthand_side = $this->_retvalue;
  4343. }
  4344. $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
  4345. $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
  4346. $this->yyidx -= $yysize;
  4347. for ($i = $yysize; $i; $i --) {
  4348. // pop all of the right-hand side parameters
  4349. array_pop($this->yystack);
  4350. }
  4351. $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
  4352. if ($yyact < self::YYNSTATE) {
  4353. if (!$this->yyTraceFILE && $yysize) {
  4354. $this->yyidx ++;
  4355. $x = new TP_yyStackEntry;
  4356. $x->stateno = $yyact;
  4357. $x->major = $yygoto;
  4358. $x->minor = $yy_lefthand_side;
  4359. $this->yystack[$this->yyidx] = $x;
  4360. } else {
  4361. $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
  4362. }
  4363. } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
  4364. $this->yy_accept();
  4365. }
  4366. }
  4367. public function yy_parse_failed()
  4368. {
  4369. if ($this->yyTraceFILE) {
  4370. fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
  4371. }
  4372. while ($this->yyidx >= 0) {
  4373. $this->yy_pop_parser_stack();
  4374. }
  4375. }
  4376. public function yy_syntax_error($yymajor, $TOKEN)
  4377. {
  4378. #line 78 "smarty_internal_templateparser.y"
  4379. $this->internalError = true;
  4380. $this->yymajor = $yymajor;
  4381. $this->compiler->trigger_template_error();
  4382. #line 3133 "smarty_internal_templateparser.php"
  4383. }
  4384. public function yy_accept()
  4385. {
  4386. if ($this->yyTraceFILE) {
  4387. fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
  4388. }
  4389. while ($this->yyidx >= 0) {
  4390. $stack = $this->yy_pop_parser_stack();
  4391. }
  4392. #line 70 "smarty_internal_templateparser.y"
  4393. $this->successful = !$this->internalError;
  4394. $this->internalError = false;
  4395. $this->retvalue = $this->_retvalue;
  4396. //echo $this->retvalue."\n\n";
  4397. #line 3150 "smarty_internal_templateparser.php"
  4398. }
  4399. public function doParse($yymajor, $yytokenvalue)
  4400. {
  4401. $yyerrorhit = 0; /* True if yymajor has invoked an error */
  4402. if ($this->yyidx === null || $this->yyidx < 0) {
  4403. $this->yyidx = 0;
  4404. $this->yyerrcnt = - 1;
  4405. $x = new TP_yyStackEntry;
  4406. $x->stateno = 0;
  4407. $x->major = 0;
  4408. $this->yystack = array();
  4409. array_push($this->yystack, $x);
  4410. }
  4411. $yyendofinput = ($yymajor == 0);
  4412. if ($this->yyTraceFILE) {
  4413. fprintf($this->yyTraceFILE, "%sInput %s\n",
  4414. $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
  4415. }
  4416. do {
  4417. $yyact = $this->yy_find_shift_action($yymajor);
  4418. if ($yymajor < self::YYERRORSYMBOL &&
  4419. !$this->yy_is_expected_token($yymajor)
  4420. ) {
  4421. // force a syntax error
  4422. $yyact = self::YY_ERROR_ACTION;
  4423. }
  4424. if ($yyact < self::YYNSTATE) {
  4425. $this->yy_shift($yyact, $yymajor, $yytokenvalue);
  4426. $this->yyerrcnt --;
  4427. if ($yyendofinput && $this->yyidx >= 0) {
  4428. $yymajor = 0;
  4429. } else {
  4430. $yymajor = self::YYNOCODE;
  4431. }
  4432. } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
  4433. $this->yy_reduce($yyact - self::YYNSTATE);
  4434. } elseif ($yyact == self::YY_ERROR_ACTION) {
  4435. if ($this->yyTraceFILE) {
  4436. fprintf($this->yyTraceFILE, "%sSyntax Error!\n",
  4437. $this->yyTracePrompt);
  4438. }
  4439. if (self::YYERRORSYMBOL) {
  4440. if ($this->yyerrcnt < 0) {
  4441. $this->yy_syntax_error($yymajor, $yytokenvalue);
  4442. }
  4443. $yymx = $this->yystack[$this->yyidx]->major;
  4444. if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
  4445. if ($this->yyTraceFILE) {
  4446. fprintf($this->yyTraceFILE, "%sDiscard input token %s\n",
  4447. $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
  4448. }
  4449. $this->yy_destructor($yymajor, $yytokenvalue);
  4450. $yymajor = self::YYNOCODE;
  4451. } else {
  4452. while ($this->yyidx >= 0 &&
  4453. $yymx != self::YYERRORSYMBOL &&
  4454. ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
  4455. ) {
  4456. $this->yy_pop_parser_stack();
  4457. }
  4458. if ($this->yyidx < 0 || $yymajor == 0) {
  4459. $this->yy_destructor($yymajor, $yytokenvalue);
  4460. $this->yy_parse_failed();
  4461. $yymajor = self::YYNOCODE;
  4462. } elseif ($yymx != self::YYERRORSYMBOL) {
  4463. $u2 = 0;
  4464. $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
  4465. }
  4466. }
  4467. $this->yyerrcnt = 3;
  4468. $yyerrorhit = 1;
  4469. } else {
  4470. if ($this->yyerrcnt <= 0) {
  4471. $this->yy_syntax_error($yymajor, $yytokenvalue);
  4472. }
  4473. $this->yyerrcnt = 3;
  4474. $this->yy_destructor($yymajor, $yytokenvalue);
  4475. if ($yyendofinput) {
  4476. $this->yy_parse_failed();
  4477. }
  4478. $yymajor = self::YYNOCODE;
  4479. }
  4480. } else {
  4481. $this->yy_accept();
  4482. $yymajor = self::YYNOCODE;
  4483. }
  4484. } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
  4485. }
  4486. }