handlebars-jaylinski 4.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/LICENSE +19 -0
  2. package/README.markdown +169 -0
  3. package/bin/.eslintrc.js +6 -0
  4. package/bin/handlebars +176 -0
  5. package/dist/amd/handlebars/base.js +106 -0
  6. package/dist/amd/handlebars/compiler/ast.js +31 -0
  7. package/dist/amd/handlebars/compiler/base.js +45 -0
  8. package/dist/amd/handlebars/compiler/code-gen.js +165 -0
  9. package/dist/amd/handlebars/compiler/compiler.js +562 -0
  10. package/dist/amd/handlebars/compiler/helpers.js +228 -0
  11. package/dist/amd/handlebars/compiler/javascript-compiler.js +1150 -0
  12. package/dist/amd/handlebars/compiler/parser.js +737 -0
  13. package/dist/amd/handlebars/compiler/printer.js +186 -0
  14. package/dist/amd/handlebars/compiler/visitor.js +138 -0
  15. package/dist/amd/handlebars/compiler/whitespace-control.js +219 -0
  16. package/dist/amd/handlebars/decorators/inline.js +25 -0
  17. package/dist/amd/handlebars/decorators.js +16 -0
  18. package/dist/amd/handlebars/exception.js +64 -0
  19. package/dist/amd/handlebars/helpers/block-helper-missing.js +35 -0
  20. package/dist/amd/handlebars/helpers/each.js +99 -0
  21. package/dist/amd/handlebars/helpers/helper-missing.js +22 -0
  22. package/dist/amd/handlebars/helpers/if.js +41 -0
  23. package/dist/amd/handlebars/helpers/log.js +24 -0
  24. package/dist/amd/handlebars/helpers/lookup.js +14 -0
  25. package/dist/amd/handlebars/helpers/with.js +38 -0
  26. package/dist/amd/handlebars/helpers.js +44 -0
  27. package/dist/amd/handlebars/internal/create-new-lookup-object.js +22 -0
  28. package/dist/amd/handlebars/internal/proto-access.js +71 -0
  29. package/dist/amd/handlebars/internal/wrapHelper.js +21 -0
  30. package/dist/amd/handlebars/logger.js +44 -0
  31. package/dist/amd/handlebars/no-conflict.js +28 -0
  32. package/dist/amd/handlebars/runtime.js +356 -0
  33. package/dist/amd/handlebars/safe-string.js +15 -0
  34. package/dist/amd/handlebars/utils.js +126 -0
  35. package/dist/amd/handlebars.js +52 -0
  36. package/dist/amd/handlebars.runtime.js +44 -0
  37. package/dist/amd/precompiler.js +314 -0
  38. package/dist/cjs/handlebars/base.js +116 -0
  39. package/dist/cjs/handlebars/compiler/ast.js +31 -0
  40. package/dist/cjs/handlebars/compiler/base.js +57 -0
  41. package/dist/cjs/handlebars/compiler/code-gen.js +168 -0
  42. package/dist/cjs/handlebars/compiler/compiler.js +566 -0
  43. package/dist/cjs/handlebars/compiler/helpers.js +228 -0
  44. package/dist/cjs/handlebars/compiler/javascript-compiler.js +1158 -0
  45. package/dist/cjs/handlebars/compiler/parser.js +737 -0
  46. package/dist/cjs/handlebars/compiler/printer.js +186 -0
  47. package/dist/cjs/handlebars/compiler/visitor.js +140 -0
  48. package/dist/cjs/handlebars/compiler/whitespace-control.js +221 -0
  49. package/dist/cjs/handlebars/decorators/inline.js +29 -0
  50. package/dist/cjs/handlebars/decorators.js +16 -0
  51. package/dist/cjs/handlebars/exception.js +64 -0
  52. package/dist/cjs/handlebars/helpers/block-helper-missing.js +39 -0
  53. package/dist/cjs/handlebars/helpers/each.js +104 -0
  54. package/dist/cjs/handlebars/helpers/helper-missing.js +25 -0
  55. package/dist/cjs/handlebars/helpers/if.js +46 -0
  56. package/dist/cjs/handlebars/helpers/log.js +26 -0
  57. package/dist/cjs/handlebars/helpers/lookup.js +16 -0
  58. package/dist/cjs/handlebars/helpers/with.js +43 -0
  59. package/dist/cjs/handlebars/helpers.js +56 -0
  60. package/dist/cjs/handlebars/internal/create-new-lookup-object.js +22 -0
  61. package/dist/cjs/handlebars/internal/proto-access.js +73 -0
  62. package/dist/cjs/handlebars/internal/wrapHelper.js +19 -0
  63. package/dist/cjs/handlebars/logger.js +47 -0
  64. package/dist/cjs/handlebars/no-conflict.js +30 -0
  65. package/dist/cjs/handlebars/runtime.js +372 -0
  66. package/dist/cjs/handlebars/safe-string.js +15 -0
  67. package/dist/cjs/handlebars/utils.js +124 -0
  68. package/dist/cjs/handlebars.js +66 -0
  69. package/dist/cjs/handlebars.runtime.js +66 -0
  70. package/dist/cjs/precompiler.js +328 -0
  71. package/dist/handlebars.amd.js +4639 -0
  72. package/dist/handlebars.amd.min.js +29 -0
  73. package/dist/handlebars.js +5972 -0
  74. package/dist/handlebars.min.js +29 -0
  75. package/dist/handlebars.runtime.amd.js +1302 -0
  76. package/dist/handlebars.runtime.amd.min.js +27 -0
  77. package/dist/handlebars.runtime.js +2563 -0
  78. package/dist/handlebars.runtime.min.js +27 -0
  79. package/lib/.eslintrc.js +8 -0
  80. package/lib/handlebars/base.js +94 -0
  81. package/lib/handlebars/compiler/ast.js +32 -0
  82. package/lib/handlebars/compiler/base.js +34 -0
  83. package/lib/handlebars/compiler/code-gen.js +171 -0
  84. package/lib/handlebars/compiler/compiler.js +594 -0
  85. package/lib/handlebars/compiler/helpers.js +219 -0
  86. package/lib/handlebars/compiler/javascript-compiler.js +1293 -0
  87. package/lib/handlebars/compiler/parser.js +622 -0
  88. package/lib/handlebars/compiler/printer.js +178 -0
  89. package/lib/handlebars/compiler/visitor.js +136 -0
  90. package/lib/handlebars/compiler/whitespace-control.js +234 -0
  91. package/lib/handlebars/decorators/inline.js +22 -0
  92. package/lib/handlebars/decorators.js +5 -0
  93. package/lib/handlebars/exception.js +68 -0
  94. package/lib/handlebars/helpers/block-helper-missing.js +35 -0
  95. package/lib/handlebars/helpers/each.js +101 -0
  96. package/lib/handlebars/helpers/helper-missing.js +15 -0
  97. package/lib/handlebars/helpers/if.js +33 -0
  98. package/lib/handlebars/helpers/log.js +19 -0
  99. package/lib/handlebars/helpers/lookup.js +9 -0
  100. package/lib/handlebars/helpers/with.js +39 -0
  101. package/lib/handlebars/helpers.js +26 -0
  102. package/lib/handlebars/internal/create-new-lookup-object.js +11 -0
  103. package/lib/handlebars/internal/proto-access.js +70 -0
  104. package/lib/handlebars/internal/wrapHelper.js +13 -0
  105. package/lib/handlebars/logger.js +39 -0
  106. package/lib/handlebars/no-conflict.js +23 -0
  107. package/lib/handlebars/runtime.js +450 -0
  108. package/lib/handlebars/safe-string.js +10 -0
  109. package/lib/handlebars/utils.js +116 -0
  110. package/lib/handlebars.js +46 -0
  111. package/lib/handlebars.runtime.js +37 -0
  112. package/lib/index.js +26 -0
  113. package/lib/precompiler.js +341 -0
  114. package/package.json +135 -0
  115. package/release-notes.md +1101 -0
  116. package/runtime.d.ts +5 -0
  117. package/runtime.js +3 -0
  118. package/types/index.d.ts +422 -0
@@ -0,0 +1,622 @@
1
+ // File ignored in coverage tests via setting in .istanbul.yml
2
+ /* Jison generated parser */
3
+ var handlebars = (function(){
4
+ var parser = {trace: function trace () { },
5
+ yy: {},
6
+ symbols_: {"error":2,"root":3,"program":4,"EOF":5,"program_repetition0":6,"statement":7,"mustache":8,"block":9,"rawBlock":10,"partial":11,"partialBlock":12,"content":13,"COMMENT":14,"CONTENT":15,"openRawBlock":16,"rawBlock_repetition0":17,"END_RAW_BLOCK":18,"OPEN_RAW_BLOCK":19,"helperName":20,"openRawBlock_repetition0":21,"openRawBlock_option0":22,"CLOSE_RAW_BLOCK":23,"openBlock":24,"block_option0":25,"closeBlock":26,"openInverse":27,"block_option1":28,"OPEN_BLOCK":29,"openBlock_repetition0":30,"openBlock_option0":31,"openBlock_option1":32,"CLOSE":33,"OPEN_INVERSE":34,"openInverse_repetition0":35,"openInverse_option0":36,"openInverse_option1":37,"openInverseChain":38,"OPEN_INVERSE_CHAIN":39,"openInverseChain_repetition0":40,"openInverseChain_option0":41,"openInverseChain_option1":42,"inverseAndProgram":43,"INVERSE":44,"inverseChain":45,"inverseChain_option0":46,"OPEN_ENDBLOCK":47,"OPEN":48,"mustache_repetition0":49,"mustache_option0":50,"OPEN_UNESCAPED":51,"mustache_repetition1":52,"mustache_option1":53,"CLOSE_UNESCAPED":54,"OPEN_PARTIAL":55,"partialName":56,"partial_repetition0":57,"partial_option0":58,"openPartialBlock":59,"OPEN_PARTIAL_BLOCK":60,"openPartialBlock_repetition0":61,"openPartialBlock_option0":62,"param":63,"sexpr":64,"OPEN_SEXPR":65,"sexpr_repetition0":66,"sexpr_option0":67,"CLOSE_SEXPR":68,"hash":69,"hash_repetition_plus0":70,"hashSegment":71,"ID":72,"EQUALS":73,"blockParams":74,"OPEN_BLOCK_PARAMS":75,"blockParams_repetition_plus0":76,"CLOSE_BLOCK_PARAMS":77,"path":78,"dataName":79,"STRING":80,"NUMBER":81,"BOOLEAN":82,"UNDEFINED":83,"NULL":84,"DATA":85,"pathSegments":86,"SEP":87,"$accept":0,"$end":1},
7
+ terminals_: {2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},
8
+ productions_: [0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],
9
+ performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$
10
+ ) {
11
+
12
+ var $0 = $$.length - 1;
13
+ switch (yystate) {
14
+ case 1: return $$[$0-1];
15
+ break;
16
+ case 2:this.$ = yy.prepareProgram($$[$0]);
17
+ break;
18
+ case 3:this.$ = $$[$0];
19
+ break;
20
+ case 4:this.$ = $$[$0];
21
+ break;
22
+ case 5:this.$ = $$[$0];
23
+ break;
24
+ case 6:this.$ = $$[$0];
25
+ break;
26
+ case 7:this.$ = $$[$0];
27
+ break;
28
+ case 8:this.$ = $$[$0];
29
+ break;
30
+ case 9:
31
+ this.$ = {
32
+ type: 'CommentStatement',
33
+ value: yy.stripComment($$[$0]),
34
+ strip: yy.stripFlags($$[$0], $$[$0]),
35
+ loc: yy.locInfo(this._$)
36
+ };
37
+
38
+ break;
39
+ case 10:
40
+ this.$ = {
41
+ type: 'ContentStatement',
42
+ original: $$[$0],
43
+ value: $$[$0],
44
+ loc: yy.locInfo(this._$)
45
+ };
46
+
47
+ break;
48
+ case 11:this.$ = yy.prepareRawBlock($$[$0-2], $$[$0-1], $$[$0], this._$);
49
+ break;
50
+ case 12:this.$ = { path: $$[$0-3], params: $$[$0-2], hash: $$[$0-1] };
51
+ break;
52
+ case 13:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], false, this._$);
53
+ break;
54
+ case 14:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], true, this._$);
55
+ break;
56
+ case 15:this.$ = { open: $$[$0-5], path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) };
57
+ break;
58
+ case 16:this.$ = { path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) };
59
+ break;
60
+ case 17:this.$ = { path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) };
61
+ break;
62
+ case 18:this.$ = { strip: yy.stripFlags($$[$0-1], $$[$0-1]), program: $$[$0] };
63
+ break;
64
+ case 19:
65
+ var inverse = yy.prepareBlock($$[$0-2], $$[$0-1], $$[$0], $$[$0], false, this._$),
66
+ program = yy.prepareProgram([inverse], $$[$0-1].loc);
67
+ program.chained = true;
68
+
69
+ this.$ = { strip: $$[$0-2].strip, program: program, chain: true };
70
+
71
+ break;
72
+ case 20:this.$ = $$[$0];
73
+ break;
74
+ case 21:this.$ = {path: $$[$0-1], strip: yy.stripFlags($$[$0-2], $$[$0])};
75
+ break;
76
+ case 22:this.$ = yy.prepareMustache($$[$0-3], $$[$0-2], $$[$0-1], $$[$0-4], yy.stripFlags($$[$0-4], $$[$0]), this._$);
77
+ break;
78
+ case 23:this.$ = yy.prepareMustache($$[$0-3], $$[$0-2], $$[$0-1], $$[$0-4], yy.stripFlags($$[$0-4], $$[$0]), this._$);
79
+ break;
80
+ case 24:
81
+ this.$ = {
82
+ type: 'PartialStatement',
83
+ name: $$[$0-3],
84
+ params: $$[$0-2],
85
+ hash: $$[$0-1],
86
+ indent: '',
87
+ strip: yy.stripFlags($$[$0-4], $$[$0]),
88
+ loc: yy.locInfo(this._$)
89
+ };
90
+
91
+ break;
92
+ case 25:this.$ = yy.preparePartialBlock($$[$0-2], $$[$0-1], $$[$0], this._$);
93
+ break;
94
+ case 26:this.$ = { path: $$[$0-3], params: $$[$0-2], hash: $$[$0-1], strip: yy.stripFlags($$[$0-4], $$[$0]) };
95
+ break;
96
+ case 27:this.$ = $$[$0];
97
+ break;
98
+ case 28:this.$ = $$[$0];
99
+ break;
100
+ case 29:
101
+ this.$ = {
102
+ type: 'SubExpression',
103
+ path: $$[$0-3],
104
+ params: $$[$0-2],
105
+ hash: $$[$0-1],
106
+ loc: yy.locInfo(this._$)
107
+ };
108
+
109
+ break;
110
+ case 30:this.$ = {type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$)};
111
+ break;
112
+ case 31:this.$ = {type: 'HashPair', key: yy.id($$[$0-2]), value: $$[$0], loc: yy.locInfo(this._$)};
113
+ break;
114
+ case 32:this.$ = yy.id($$[$0-1]);
115
+ break;
116
+ case 33:this.$ = $$[$0];
117
+ break;
118
+ case 34:this.$ = $$[$0];
119
+ break;
120
+ case 35:this.$ = {type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$)};
121
+ break;
122
+ case 36:this.$ = {type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$)};
123
+ break;
124
+ case 37:this.$ = {type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$)};
125
+ break;
126
+ case 38:this.$ = {type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$)};
127
+ break;
128
+ case 39:this.$ = {type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$)};
129
+ break;
130
+ case 40:this.$ = $$[$0];
131
+ break;
132
+ case 41:this.$ = $$[$0];
133
+ break;
134
+ case 42:this.$ = yy.preparePath(true, $$[$0], this._$);
135
+ break;
136
+ case 43:this.$ = yy.preparePath(false, $$[$0], this._$);
137
+ break;
138
+ case 44: $$[$0-2].push({part: yy.id($$[$0]), original: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2];
139
+ break;
140
+ case 45:this.$ = [{part: yy.id($$[$0]), original: $$[$0]}];
141
+ break;
142
+ case 46:this.$ = [];
143
+ break;
144
+ case 47:$$[$0-1].push($$[$0]);
145
+ break;
146
+ case 48:this.$ = [];
147
+ break;
148
+ case 49:$$[$0-1].push($$[$0]);
149
+ break;
150
+ case 50:this.$ = [];
151
+ break;
152
+ case 51:$$[$0-1].push($$[$0]);
153
+ break;
154
+ case 58:this.$ = [];
155
+ break;
156
+ case 59:$$[$0-1].push($$[$0]);
157
+ break;
158
+ case 64:this.$ = [];
159
+ break;
160
+ case 65:$$[$0-1].push($$[$0]);
161
+ break;
162
+ case 70:this.$ = [];
163
+ break;
164
+ case 71:$$[$0-1].push($$[$0]);
165
+ break;
166
+ case 78:this.$ = [];
167
+ break;
168
+ case 79:$$[$0-1].push($$[$0]);
169
+ break;
170
+ case 82:this.$ = [];
171
+ break;
172
+ case 83:$$[$0-1].push($$[$0]);
173
+ break;
174
+ case 86:this.$ = [];
175
+ break;
176
+ case 87:$$[$0-1].push($$[$0]);
177
+ break;
178
+ case 90:this.$ = [];
179
+ break;
180
+ case 91:$$[$0-1].push($$[$0]);
181
+ break;
182
+ case 94:this.$ = [];
183
+ break;
184
+ case 95:$$[$0-1].push($$[$0]);
185
+ break;
186
+ case 98:this.$ = [$$[$0]];
187
+ break;
188
+ case 99:$$[$0-1].push($$[$0]);
189
+ break;
190
+ case 100:this.$ = [$$[$0]];
191
+ break;
192
+ case 101:$$[$0-1].push($$[$0]);
193
+ break;
194
+ }
195
+ },
196
+ table: [{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],
197
+ defaultActions: {4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]},
198
+ parseError: function parseError (str, hash) {
199
+ throw new Error(str);
200
+ },
201
+ parse: function parse(input) {
202
+ var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
203
+ this.lexer.setInput(input);
204
+ this.lexer.yy = this.yy;
205
+ this.yy.lexer = this.lexer;
206
+ this.yy.parser = this;
207
+ if (typeof this.lexer.yylloc == "undefined")
208
+ this.lexer.yylloc = {};
209
+ var yyloc = this.lexer.yylloc;
210
+ lstack.push(yyloc);
211
+ var ranges = this.lexer.options && this.lexer.options.ranges;
212
+ if (typeof this.yy.parseError === "function")
213
+ this.parseError = this.yy.parseError;
214
+ function popStack(n) {
215
+ stack.length = stack.length - 2 * n;
216
+ vstack.length = vstack.length - n;
217
+ lstack.length = lstack.length - n;
218
+ }
219
+ function lex() {
220
+ var token;
221
+ token = self.lexer.lex() || 1;
222
+ if (typeof token !== "number") {
223
+ token = self.symbols_[token] || token;
224
+ }
225
+ return token;
226
+ }
227
+ var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
228
+ while (true) {
229
+ state = stack[stack.length - 1];
230
+ if (this.defaultActions[state]) {
231
+ action = this.defaultActions[state];
232
+ } else {
233
+ if (symbol === null || typeof symbol == "undefined") {
234
+ symbol = lex();
235
+ }
236
+ action = table[state] && table[state][symbol];
237
+ }
238
+ if (typeof action === "undefined" || !action.length || !action[0]) {
239
+ var errStr = "";
240
+ if (!recovering) {
241
+ expected = [];
242
+ for (p in table[state])
243
+ if (this.terminals_[p] && p > 2) {
244
+ expected.push("'" + this.terminals_[p] + "'");
245
+ }
246
+ if (this.lexer.showPosition) {
247
+ errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
248
+ } else {
249
+ errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'");
250
+ }
251
+ this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected});
252
+ }
253
+ }
254
+ if (action[0] instanceof Array && action.length > 1) {
255
+ throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
256
+ }
257
+ switch (action[0]) {
258
+ case 1:
259
+ stack.push(symbol);
260
+ vstack.push(this.lexer.yytext);
261
+ lstack.push(this.lexer.yylloc);
262
+ stack.push(action[1]);
263
+ symbol = null;
264
+ if (!preErrorSymbol) {
265
+ yyleng = this.lexer.yyleng;
266
+ yytext = this.lexer.yytext;
267
+ yylineno = this.lexer.yylineno;
268
+ yyloc = this.lexer.yylloc;
269
+ if (recovering > 0)
270
+ recovering--;
271
+ } else {
272
+ symbol = preErrorSymbol;
273
+ preErrorSymbol = null;
274
+ }
275
+ break;
276
+ case 2:
277
+ len = this.productions_[action[1]][1];
278
+ yyval.$ = vstack[vstack.length - len];
279
+ yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column};
280
+ if (ranges) {
281
+ yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
282
+ }
283
+ r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);
284
+ if (typeof r !== "undefined") {
285
+ return r;
286
+ }
287
+ if (len) {
288
+ stack = stack.slice(0, -1 * len * 2);
289
+ vstack = vstack.slice(0, -1 * len);
290
+ lstack = lstack.slice(0, -1 * len);
291
+ }
292
+ stack.push(this.productions_[action[1]][0]);
293
+ vstack.push(yyval.$);
294
+ lstack.push(yyval._$);
295
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
296
+ stack.push(newState);
297
+ break;
298
+ case 3:
299
+ return true;
300
+ }
301
+ }
302
+ return true;
303
+ }
304
+ };
305
+ /* Jison generated lexer */
306
+ var lexer = (function(){
307
+ var lexer = ({EOF:1,
308
+ parseError:function parseError(str, hash) {
309
+ if (this.yy.parser) {
310
+ this.yy.parser.parseError(str, hash);
311
+ } else {
312
+ throw new Error(str);
313
+ }
314
+ },
315
+ setInput:function (input) {
316
+ this._input = input;
317
+ this._more = this._less = this.done = false;
318
+ this.yylineno = this.yyleng = 0;
319
+ this.yytext = this.matched = this.match = '';
320
+ this.conditionStack = ['INITIAL'];
321
+ this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0};
322
+ if (this.options.ranges) this.yylloc.range = [0,0];
323
+ this.offset = 0;
324
+ return this;
325
+ },
326
+ input:function () {
327
+ var ch = this._input[0];
328
+ this.yytext += ch;
329
+ this.yyleng++;
330
+ this.offset++;
331
+ this.match += ch;
332
+ this.matched += ch;
333
+ var lines = ch.match(/(?:\r\n?|\n).*/g);
334
+ if (lines) {
335
+ this.yylineno++;
336
+ this.yylloc.last_line++;
337
+ } else {
338
+ this.yylloc.last_column++;
339
+ }
340
+ if (this.options.ranges) this.yylloc.range[1]++;
341
+
342
+ this._input = this._input.slice(1);
343
+ return ch;
344
+ },
345
+ unput:function (ch) {
346
+ var len = ch.length;
347
+ var lines = ch.split(/(?:\r\n?|\n)/g);
348
+
349
+ this._input = ch + this._input;
350
+ this.yytext = this.yytext.substr(0, this.yytext.length-len-1);
351
+ //this.yyleng -= len;
352
+ this.offset -= len;
353
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
354
+ this.match = this.match.substr(0, this.match.length-1);
355
+ this.matched = this.matched.substr(0, this.matched.length-1);
356
+
357
+ if (lines.length-1) this.yylineno -= lines.length-1;
358
+ var r = this.yylloc.range;
359
+
360
+ this.yylloc = {first_line: this.yylloc.first_line,
361
+ last_line: this.yylineno+1,
362
+ first_column: this.yylloc.first_column,
363
+ last_column: lines ?
364
+ (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length:
365
+ this.yylloc.first_column - len
366
+ };
367
+
368
+ if (this.options.ranges) {
369
+ this.yylloc.range = [r[0], r[0] + this.yyleng - len];
370
+ }
371
+ return this;
372
+ },
373
+ more:function () {
374
+ this._more = true;
375
+ return this;
376
+ },
377
+ less:function (n) {
378
+ this.unput(this.match.slice(n));
379
+ },
380
+ pastInput:function () {
381
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
382
+ return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, "");
383
+ },
384
+ upcomingInput:function () {
385
+ var next = this.match;
386
+ if (next.length < 20) {
387
+ next += this._input.substr(0, 20-next.length);
388
+ }
389
+ return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, "");
390
+ },
391
+ showPosition:function () {
392
+ var pre = this.pastInput();
393
+ var c = new Array(pre.length + 1).join("-");
394
+ return pre + this.upcomingInput() + "\n" + c+"^";
395
+ },
396
+ next:function () {
397
+ if (this.done) {
398
+ return this.EOF;
399
+ }
400
+ if (!this._input) this.done = true;
401
+
402
+ var token,
403
+ match,
404
+ tempMatch,
405
+ index,
406
+ col,
407
+ lines;
408
+ if (!this._more) {
409
+ this.yytext = '';
410
+ this.match = '';
411
+ }
412
+ var rules = this._currentRules();
413
+ for (var i=0;i < rules.length; i++) {
414
+ tempMatch = this._input.match(this.rules[rules[i]]);
415
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
416
+ match = tempMatch;
417
+ index = i;
418
+ if (!this.options.flex) break;
419
+ }
420
+ }
421
+ if (match) {
422
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
423
+ if (lines) this.yylineno += lines.length;
424
+ this.yylloc = {first_line: this.yylloc.last_line,
425
+ last_line: this.yylineno+1,
426
+ first_column: this.yylloc.last_column,
427
+ last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length};
428
+ this.yytext += match[0];
429
+ this.match += match[0];
430
+ this.matches = match;
431
+ this.yyleng = this.yytext.length;
432
+ if (this.options.ranges) {
433
+ this.yylloc.range = [this.offset, this.offset += this.yyleng];
434
+ }
435
+ this._more = false;
436
+ this._input = this._input.slice(match[0].length);
437
+ this.matched += match[0];
438
+ token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]);
439
+ if (this.done && this._input) this.done = false;
440
+ if (token) return token;
441
+ else return;
442
+ }
443
+ if (this._input === "") {
444
+ return this.EOF;
445
+ } else {
446
+ return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(),
447
+ {text: "", token: null, line: this.yylineno});
448
+ }
449
+ },
450
+ lex:function lex () {
451
+ var r = this.next();
452
+ if (typeof r !== 'undefined') {
453
+ return r;
454
+ } else {
455
+ return this.lex();
456
+ }
457
+ },
458
+ begin:function begin (condition) {
459
+ this.conditionStack.push(condition);
460
+ },
461
+ popState:function popState () {
462
+ return this.conditionStack.pop();
463
+ },
464
+ _currentRules:function _currentRules () {
465
+ return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;
466
+ },
467
+ topState:function () {
468
+ return this.conditionStack[this.conditionStack.length-2];
469
+ },
470
+ pushState:function begin (condition) {
471
+ this.begin(condition);
472
+ }});
473
+ lexer.options = {};
474
+ lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START
475
+ ) {
476
+
477
+
478
+ function strip(start, end) {
479
+ return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);
480
+ }
481
+
482
+
483
+ var YYSTATE=YY_START
484
+ switch($avoiding_name_collisions) {
485
+ case 0:
486
+ if(yy_.yytext.slice(-2) === "\\\\") {
487
+ strip(0,1);
488
+ this.begin("mu");
489
+ } else if(yy_.yytext.slice(-1) === "\\") {
490
+ strip(0,1);
491
+ this.begin("emu");
492
+ } else {
493
+ this.begin("mu");
494
+ }
495
+ if(yy_.yytext) return 15;
496
+
497
+ break;
498
+ case 1:return 15;
499
+ break;
500
+ case 2:
501
+ this.popState();
502
+ return 15;
503
+
504
+ break;
505
+ case 3:this.begin('raw'); return 15;
506
+ break;
507
+ case 4:
508
+ this.popState();
509
+ // Should be using `this.topState()` below, but it currently
510
+ // returns the second top instead of the first top. Opened an
511
+ // issue about it at https://github.com/zaach/jison/issues/291
512
+ if (this.conditionStack[this.conditionStack.length-1] === 'raw') {
513
+ return 15;
514
+ } else {
515
+ strip(5, 9);
516
+ return 'END_RAW_BLOCK';
517
+ }
518
+
519
+ break;
520
+ case 5: return 15;
521
+ break;
522
+ case 6:
523
+ this.popState();
524
+ return 14;
525
+
526
+ break;
527
+ case 7:return 65;
528
+ break;
529
+ case 8:return 68;
530
+ break;
531
+ case 9: return 19;
532
+ break;
533
+ case 10:
534
+ this.popState();
535
+ this.begin('raw');
536
+ return 23;
537
+
538
+ break;
539
+ case 11:return 55;
540
+ break;
541
+ case 12:return 60;
542
+ break;
543
+ case 13:return 29;
544
+ break;
545
+ case 14:return 47;
546
+ break;
547
+ case 15:this.popState(); return 44;
548
+ break;
549
+ case 16:this.popState(); return 44;
550
+ break;
551
+ case 17:return 34;
552
+ break;
553
+ case 18:return 39;
554
+ break;
555
+ case 19:return 51;
556
+ break;
557
+ case 20:return 48;
558
+ break;
559
+ case 21:
560
+ this.unput(yy_.yytext);
561
+ this.popState();
562
+ this.begin('com');
563
+
564
+ break;
565
+ case 22:
566
+ this.popState();
567
+ return 14;
568
+
569
+ break;
570
+ case 23:return 48;
571
+ break;
572
+ case 24:return 73;
573
+ break;
574
+ case 25:return 72;
575
+ break;
576
+ case 26:return 72;
577
+ break;
578
+ case 27:return 87;
579
+ break;
580
+ case 28:// ignore whitespace
581
+ break;
582
+ case 29:this.popState(); return 54;
583
+ break;
584
+ case 30:this.popState(); return 33;
585
+ break;
586
+ case 31:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 80;
587
+ break;
588
+ case 32:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 80;
589
+ break;
590
+ case 33:return 85;
591
+ break;
592
+ case 34:return 82;
593
+ break;
594
+ case 35:return 82;
595
+ break;
596
+ case 36:return 83;
597
+ break;
598
+ case 37:return 84;
599
+ break;
600
+ case 38:return 81;
601
+ break;
602
+ case 39:return 75;
603
+ break;
604
+ case 40:return 77;
605
+ break;
606
+ case 41:return 72;
607
+ break;
608
+ case 42:yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g,'$1'); return 72;
609
+ break;
610
+ case 43:return 'INVALID';
611
+ break;
612
+ case 44:return 5;
613
+ break;
614
+ }
615
+ };
616
+ lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/];
617
+ lexer.conditions = {"mu":{"rules":[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[6],"inclusive":false},"raw":{"rules":[3,4,5],"inclusive":false},"INITIAL":{"rules":[0,1,44],"inclusive":true}};
618
+ return lexer;})()
619
+ parser.lexer = lexer;
620
+ function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser;
621
+ return new Parser;
622
+ })();export default handlebars;