handlebars-source 4.2.2 → 4.3.0

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.

Potentially problematic release.


This version of handlebars-source might be problematic. Click here for more details.

Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/handlebars.js +652 -410
  3. data/handlebars.runtime.js +33 -19
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 886f2def88bf93f4617d3c7895594bceb318d5ffe239a7dabc922264bbb66705
4
- data.tar.gz: 7cd3a5b6a9f7b36662245ee852275747255de478870be7e2274af22db52b3322
3
+ metadata.gz: abd35253deb2222b2dbf9053814e618969a2e9a4f676d7d67bca639a23e2de11
4
+ data.tar.gz: b478bc2bcc21c05f6a475d7d500bcb362fbf4d31d889d4c0cae4b25ceda7dabe
5
5
  SHA512:
6
- metadata.gz: 6d451fe78ceb0a0532ecae730ede00dd3e15f879648adbefd714927491d4b26d4b1f341156523b00c65a31caa21209d6a2c88167c66487e885aa543b97558a12
7
- data.tar.gz: 24b7f65c889d72426864dcae3db6798d750efc52bf4da0331aec7405630185d45b7f8329791a63320ec94ebc5145a53706e382bec32c5770aa1bd38e7e094045
6
+ metadata.gz: 0efc9dc868477d08e8c5f18b0beb5727bc2d3b813b0eec7ba87e78574860749496459fed96afca9881b0e725988ecfb21884b012b5c1a05f69c0b8fb43ccc72c
7
+ data.tar.gz: d9e4692274edb3f37e77fd3ff705d78c2292de60196a0eab7efd6a5829d4c06c998645914ecb27cdce640755b81fd373b71338c7a17ae11a18c4c054c9606524
@@ -1,7 +1,7 @@
1
1
  /**!
2
2
 
3
3
  @license
4
- handlebars v4.2.2
4
+ handlebars v4.3.0
5
5
 
6
6
  Copyright (C) 2011-2017 by Yehuda Katz
7
7
 
@@ -98,13 +98,13 @@ return /******/ (function(modules) { // webpackBootstrap
98
98
 
99
99
  var _handlebarsCompilerBase = __webpack_require__(36);
100
100
 
101
- var _handlebarsCompilerCompiler = __webpack_require__(41);
101
+ var _handlebarsCompilerCompiler = __webpack_require__(43);
102
102
 
103
- var _handlebarsCompilerJavascriptCompiler = __webpack_require__(42);
103
+ var _handlebarsCompilerJavascriptCompiler = __webpack_require__(44);
104
104
 
105
105
  var _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);
106
106
 
107
- var _handlebarsCompilerVisitor = __webpack_require__(39);
107
+ var _handlebarsCompilerVisitor = __webpack_require__(41);
108
108
 
109
109
  var _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);
110
110
 
@@ -275,9 +275,9 @@ return /******/ (function(modules) { // webpackBootstrap
275
275
 
276
276
  var _logger2 = _interopRequireDefault(_logger);
277
277
 
278
- var VERSION = '4.2.2';
278
+ var VERSION = '4.3.0';
279
279
  exports.VERSION = VERSION;
280
- var COMPILER_REVISION = 7;
280
+ var COMPILER_REVISION = 8;
281
281
 
282
282
  exports.COMPILER_REVISION = COMPILER_REVISION;
283
283
  var REVISION_CHANGES = {
@@ -287,7 +287,8 @@ return /******/ (function(modules) { // webpackBootstrap
287
287
  4: '== 1.x.x',
288
288
  5: '== 2.0.0-alpha.x',
289
289
  6: '>= 2.0.0-beta.1',
290
- 7: '>= 4.0.0'
290
+ 7: '>= 4.0.0 <4.3.0',
291
+ 8: '>= 4.3.0'
291
292
  };
292
293
 
293
294
  exports.REVISION_CHANGES = REVISION_CHANGES;
@@ -371,6 +372,7 @@ return /******/ (function(modules) { // webpackBootstrap
371
372
  exports.createFrame = createFrame;
372
373
  exports.blockParams = blockParams;
373
374
  exports.appendContextPath = appendContextPath;
375
+
374
376
  var escape = {
375
377
  '&': '&amp;',
376
378
  '<': '&lt;',
@@ -588,6 +590,7 @@ return /******/ (function(modules) { // webpackBootstrap
588
590
 
589
591
  exports.__esModule = true;
590
592
  exports.registerDefaultHelpers = registerDefaultHelpers;
593
+ exports.moveHelperToHooks = moveHelperToHooks;
591
594
 
592
595
  var _helpersBlockHelperMissing = __webpack_require__(11);
593
596
 
@@ -627,6 +630,15 @@ return /******/ (function(modules) { // webpackBootstrap
627
630
  _helpersWith2['default'](instance);
628
631
  }
629
632
 
633
+ function moveHelperToHooks(instance, helperName, keepHelper) {
634
+ if (instance.helpers[helperName]) {
635
+ instance.hooks[helperName] = instance.helpers[helperName];
636
+ if (!keepHelper) {
637
+ delete instance.helpers[helperName];
638
+ }
639
+ }
640
+ }
641
+
630
642
  /***/ }),
631
643
  /* 11 */
632
644
  /***/ (function(module, exports, __webpack_require__) {
@@ -1069,6 +1081,8 @@ return /******/ (function(modules) { // webpackBootstrap
1069
1081
 
1070
1082
  var _base = __webpack_require__(4);
1071
1083
 
1084
+ var _helpers = __webpack_require__(10);
1085
+
1072
1086
  function checkRevision(compilerInfo) {
1073
1087
  var compilerRevision = compilerInfo && compilerInfo[0] || 1,
1074
1088
  currentRevision = _base.COMPILER_REVISION;
@@ -1086,6 +1100,7 @@ return /******/ (function(modules) { // webpackBootstrap
1086
1100
  }
1087
1101
 
1088
1102
  function template(templateSpec, env) {
1103
+
1089
1104
  /* istanbul ignore next */
1090
1105
  if (!env) {
1091
1106
  throw new _exception2['default']('No environment passed to template');
@@ -1107,13 +1122,15 @@ return /******/ (function(modules) { // webpackBootstrap
1107
1122
  options.ids[0] = true;
1108
1123
  }
1109
1124
  }
1110
-
1111
1125
  partial = env.VM.resolvePartial.call(this, partial, context, options);
1112
- var result = env.VM.invokePartial.call(this, partial, context, options);
1126
+
1127
+ var optionsWithHooks = Utils.extend({}, options, { hooks: this.hooks });
1128
+
1129
+ var result = env.VM.invokePartial.call(this, partial, context, optionsWithHooks);
1113
1130
 
1114
1131
  if (result == null && env.compile) {
1115
1132
  options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);
1116
- result = options.partials[options.name](context, options);
1133
+ result = options.partials[options.name](context, optionsWithHooks);
1117
1134
  }
1118
1135
  if (result != null) {
1119
1136
  if (options.indent) {
@@ -1180,15 +1197,6 @@ return /******/ (function(modules) { // webpackBootstrap
1180
1197
  }
1181
1198
  return value;
1182
1199
  },
1183
- merge: function merge(param, common) {
1184
- var obj = param || common;
1185
-
1186
- if (param && common && param !== common) {
1187
- obj = Utils.extend({}, common, param);
1188
- }
1189
-
1190
- return obj;
1191
- },
1192
1200
  // An empty object to use as replacement for null-contexts
1193
1201
  nullContext: _Object$seal({}),
1194
1202
 
@@ -1225,18 +1233,24 @@ return /******/ (function(modules) { // webpackBootstrap
1225
1233
 
1226
1234
  ret._setup = function (options) {
1227
1235
  if (!options.partial) {
1228
- container.helpers = container.merge(options.helpers, env.helpers);
1236
+ container.helpers = Utils.extend({}, env.helpers, options.helpers);
1229
1237
 
1230
1238
  if (templateSpec.usePartial) {
1231
- container.partials = container.merge(options.partials, env.partials);
1239
+ container.partials = Utils.extend({}, env.partials, options.partials);
1232
1240
  }
1233
1241
  if (templateSpec.usePartial || templateSpec.useDecorators) {
1234
- container.decorators = container.merge(options.decorators, env.decorators);
1242
+ container.decorators = Utils.extend({}, env.decorators, options.decorators);
1235
1243
  }
1244
+
1245
+ container.hooks = {};
1246
+ var keepHelper = options.allowCallsToHelperMissing;
1247
+ _helpers.moveHelperToHooks(container, 'helperMissing', keepHelper);
1248
+ _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelper);
1236
1249
  } else {
1237
1250
  container.helpers = options.helpers;
1238
1251
  container.partials = options.partials;
1239
1252
  container.decorators = options.decorators;
1253
+ container.hooks = options.hooks;
1240
1254
  }
1241
1255
  };
1242
1256
 
@@ -1592,11 +1606,11 @@ return /******/ (function(modules) { // webpackBootstrap
1592
1606
 
1593
1607
  var _parser2 = _interopRequireDefault(_parser);
1594
1608
 
1595
- var _whitespaceControl = __webpack_require__(38);
1609
+ var _whitespaceControl = __webpack_require__(40);
1596
1610
 
1597
1611
  var _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);
1598
1612
 
1599
- var _helpers = __webpack_require__(40);
1613
+ var _helpers = __webpack_require__(42);
1600
1614
 
1601
1615
  var Helpers = _interopRequireWildcard(_helpers);
1602
1616
 
@@ -1626,20 +1640,131 @@ return /******/ (function(modules) { // webpackBootstrap
1626
1640
 
1627
1641
  /***/ }),
1628
1642
  /* 37 */
1629
- /***/ (function(module, exports) {
1643
+ /***/ (function(module, exports, __webpack_require__) {
1630
1644
 
1631
1645
  // File ignored in coverage tests via setting in .istanbul.yml
1632
- /* Jison generated parser */
1646
+ /* parser generated by jison 0.4.16 */
1647
+ /*
1648
+ Returns a Parser object of the following structure:
1649
+
1650
+ Parser: {
1651
+ yy: {}
1652
+ }
1653
+
1654
+ Parser.prototype: {
1655
+ yy: {},
1656
+ trace: function(),
1657
+ symbols_: {associative list: name ==> number},
1658
+ terminals_: {associative list: number ==> name},
1659
+ productions_: [...],
1660
+ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
1661
+ table: [...],
1662
+ defaultActions: {...},
1663
+ parseError: function(str, hash),
1664
+ parse: function(input),
1665
+
1666
+ lexer: {
1667
+ EOF: 1,
1668
+ parseError: function(str, hash),
1669
+ setInput: function(input),
1670
+ input: function(),
1671
+ unput: function(str),
1672
+ more: function(),
1673
+ less: function(n),
1674
+ pastInput: function(),
1675
+ upcomingInput: function(),
1676
+ showPosition: function(),
1677
+ test_match: function(regex_match_array, rule_index),
1678
+ next: function(),
1679
+ lex: function(),
1680
+ begin: function(condition),
1681
+ popState: function(),
1682
+ _currentRules: function(),
1683
+ topState: function(),
1684
+ pushState: function(condition),
1685
+
1686
+ options: {
1687
+ ranges: boolean (optional: true ==> token location info will include a .range[] member)
1688
+ flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
1689
+ backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
1690
+ },
1691
+
1692
+ performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
1693
+ rules: [...],
1694
+ conditions: {associative list: name ==> set},
1695
+ }
1696
+ }
1697
+
1698
+
1699
+ token location info (@$, _$, etc.): {
1700
+ first_line: n,
1701
+ last_line: n,
1702
+ first_column: n,
1703
+ last_column: n,
1704
+ range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
1705
+ }
1706
+
1707
+
1708
+ the parseError function receives a 'hash' object with these members for lexer and parser errors: {
1709
+ text: (matched text)
1710
+ token: (the produced terminal token, if any)
1711
+ line: (yylineno)
1712
+ }
1713
+ while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
1714
+ loc: (yylloc)
1715
+ expected: (string describing the set of expected tokens)
1716
+ recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
1717
+ }
1718
+ */
1633
1719
  "use strict";
1634
1720
 
1721
+ var _Object$create = __webpack_require__(38)["default"];
1722
+
1635
1723
  exports.__esModule = true;
1636
1724
  var handlebars = (function () {
1725
+ var o = function o(k, v, _o, l) {
1726
+ for (_o = _o || {}, l = k.length; l--; _o[k[l]] = v);return _o;
1727
+ },
1728
+ $V0 = [2, 46],
1729
+ $V1 = [1, 20],
1730
+ $V2 = [5, 14, 15, 19, 29, 34, 39, 44, 47, 48, 51, 55, 60],
1731
+ $V3 = [1, 35],
1732
+ $V4 = [1, 28],
1733
+ $V5 = [1, 29],
1734
+ $V6 = [1, 30],
1735
+ $V7 = [1, 31],
1736
+ $V8 = [1, 32],
1737
+ $V9 = [1, 34],
1738
+ $Va = [14, 15, 19, 29, 34, 39, 44, 47, 48, 51, 55, 60],
1739
+ $Vb = [14, 15, 19, 29, 34, 44, 47, 48, 51, 55, 60],
1740
+ $Vc = [1, 44],
1741
+ $Vd = [14, 15, 19, 29, 34, 47, 48, 51, 55, 60],
1742
+ $Ve = [33, 65, 72, 80, 81, 82, 83, 84, 85],
1743
+ $Vf = [23, 33, 54, 65, 68, 72, 75, 80, 81, 82, 83, 84, 85],
1744
+ $Vg = [1, 51],
1745
+ $Vh = [23, 33, 54, 65, 68, 72, 75, 80, 81, 82, 83, 84, 85, 87],
1746
+ $Vi = [2, 45],
1747
+ $Vj = [54, 65, 72, 80, 81, 82, 83, 84, 85],
1748
+ $Vk = [1, 58],
1749
+ $Vl = [1, 59],
1750
+ $Vm = [15, 18],
1751
+ $Vn = [1, 67],
1752
+ $Vo = [33, 65, 72, 75, 80, 81, 82, 83, 84, 85],
1753
+ $Vp = [23, 65, 72, 80, 81, 82, 83, 84, 85],
1754
+ $Vq = [1, 79],
1755
+ $Vr = [65, 68, 72, 80, 81, 82, 83, 84, 85],
1756
+ $Vs = [33, 75],
1757
+ $Vt = [23, 33, 54, 68, 72, 75],
1758
+ $Vu = [1, 109],
1759
+ $Vv = [1, 121],
1760
+ $Vw = [72, 77];
1637
1761
  var parser = { trace: function trace() {},
1638
1762
  yy: {},
1639
1763
  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_repetition_plus0": 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 },
1640
1764
  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" },
1641
1765
  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, 1], [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]],
1642
- performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
1766
+ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, /* action[1] */$$, /* vstack */_$ /* lstack */) {
1767
+ /* this == yyval */
1643
1768
 
1644
1769
  var $0 = $$.length - 1;
1645
1770
  switch (yystate) {
@@ -1649,25 +1774,11 @@ return /******/ (function(modules) { // webpackBootstrap
1649
1774
  case 2:
1650
1775
  this.$ = yy.prepareProgram($$[$0]);
1651
1776
  break;
1652
- case 3:
1653
- this.$ = $$[$0];
1654
- break;
1655
- case 4:
1656
- this.$ = $$[$0];
1657
- break;
1658
- case 5:
1659
- this.$ = $$[$0];
1660
- break;
1661
- case 6:
1662
- this.$ = $$[$0];
1663
- break;
1664
- case 7:
1665
- this.$ = $$[$0];
1666
- break;
1667
- case 8:
1777
+ case 3:case 4:case 5:case 6:case 7:case 8:case 20:case 27:case 28:case 33:case 34:case 40:case 41:
1668
1778
  this.$ = $$[$0];
1669
1779
  break;
1670
1780
  case 9:
1781
+
1671
1782
  this.$ = {
1672
1783
  type: 'CommentStatement',
1673
1784
  value: yy.stripComment($$[$0]),
@@ -1677,6 +1788,7 @@ return /******/ (function(modules) { // webpackBootstrap
1677
1788
 
1678
1789
  break;
1679
1790
  case 10:
1791
+
1680
1792
  this.$ = {
1681
1793
  type: 'ContentStatement',
1682
1794
  original: $$[$0],
@@ -1700,36 +1812,29 @@ return /******/ (function(modules) { // webpackBootstrap
1700
1812
  case 15:
1701
1813
  this.$ = { open: $$[$0 - 5], path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };
1702
1814
  break;
1703
- case 16:
1704
- this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };
1705
- break;
1706
- case 17:
1815
+ case 16:case 17:
1707
1816
  this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };
1708
1817
  break;
1709
1818
  case 18:
1710
1819
  this.$ = { strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0] };
1711
1820
  break;
1712
1821
  case 19:
1822
+
1713
1823
  var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$),
1714
1824
  program = yy.prepareProgram([inverse], $$[$0 - 1].loc);
1715
1825
  program.chained = true;
1716
1826
 
1717
1827
  this.$ = { strip: $$[$0 - 2].strip, program: program, chain: true };
1718
1828
 
1719
- break;
1720
- case 20:
1721
- this.$ = $$[$0];
1722
1829
  break;
1723
1830
  case 21:
1724
1831
  this.$ = { path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0]) };
1725
1832
  break;
1726
- case 22:
1727
- this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);
1728
- break;
1729
- case 23:
1833
+ case 22:case 23:
1730
1834
  this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);
1731
1835
  break;
1732
1836
  case 24:
1837
+
1733
1838
  this.$ = {
1734
1839
  type: 'PartialStatement',
1735
1840
  name: $$[$0 - 3],
@@ -1747,13 +1852,8 @@ return /******/ (function(modules) { // webpackBootstrap
1747
1852
  case 26:
1748
1853
  this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 4], $$[$0]) };
1749
1854
  break;
1750
- case 27:
1751
- this.$ = $$[$0];
1752
- break;
1753
- case 28:
1754
- this.$ = $$[$0];
1755
- break;
1756
1855
  case 29:
1856
+
1757
1857
  this.$ = {
1758
1858
  type: 'SubExpression',
1759
1859
  path: $$[$0 - 3],
@@ -1772,12 +1872,6 @@ return /******/ (function(modules) { // webpackBootstrap
1772
1872
  case 32:
1773
1873
  this.$ = yy.id($$[$0 - 1]);
1774
1874
  break;
1775
- case 33:
1776
- this.$ = $$[$0];
1777
- break;
1778
- case 34:
1779
- this.$ = $$[$0];
1780
- break;
1781
1875
  case 35:
1782
1876
  this.$ = { type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$) };
1783
1877
  break;
@@ -1793,12 +1887,6 @@ return /******/ (function(modules) { // webpackBootstrap
1793
1887
  case 39:
1794
1888
  this.$ = { type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$) };
1795
1889
  break;
1796
- case 40:
1797
- this.$ = $$[$0];
1798
- break;
1799
- case 41:
1800
- this.$ = $$[$0];
1801
- break;
1802
1890
  case 42:
1803
1891
  this.$ = yy.preparePath(true, $$[$0], this._$);
1804
1892
  break;
@@ -1811,125 +1899,81 @@ return /******/ (function(modules) { // webpackBootstrap
1811
1899
  case 45:
1812
1900
  this.$ = [{ part: yy.id($$[$0]), original: $$[$0] }];
1813
1901
  break;
1814
- case 46:
1902
+ case 46:case 50:case 58:case 64:case 70:case 78:case 82:case 86:case 90:case 94:
1815
1903
  this.$ = [];
1816
1904
  break;
1817
- case 47:
1905
+ case 47:case 49:case 51:case 59:case 65:case 71:case 79:case 83:case 87:case 91:case 95:case 99:case 101:
1818
1906
  $$[$0 - 1].push($$[$0]);
1819
1907
  break;
1820
- case 48:
1908
+ case 48:case 98:case 100:
1821
1909
  this.$ = [$$[$0]];
1822
1910
  break;
1823
- case 49:
1824
- $$[$0 - 1].push($$[$0]);
1825
- break;
1826
- case 50:
1827
- this.$ = [];
1828
- break;
1829
- case 51:
1830
- $$[$0 - 1].push($$[$0]);
1831
- break;
1832
- case 58:
1833
- this.$ = [];
1834
- break;
1835
- case 59:
1836
- $$[$0 - 1].push($$[$0]);
1837
- break;
1838
- case 64:
1839
- this.$ = [];
1840
- break;
1841
- case 65:
1842
- $$[$0 - 1].push($$[$0]);
1843
- break;
1844
- case 70:
1845
- this.$ = [];
1846
- break;
1847
- case 71:
1848
- $$[$0 - 1].push($$[$0]);
1849
- break;
1850
- case 78:
1851
- this.$ = [];
1852
- break;
1853
- case 79:
1854
- $$[$0 - 1].push($$[$0]);
1855
- break;
1856
- case 82:
1857
- this.$ = [];
1858
- break;
1859
- case 83:
1860
- $$[$0 - 1].push($$[$0]);
1861
- break;
1862
- case 86:
1863
- this.$ = [];
1864
- break;
1865
- case 87:
1866
- $$[$0 - 1].push($$[$0]);
1867
- break;
1868
- case 90:
1869
- this.$ = [];
1870
- break;
1871
- case 91:
1872
- $$[$0 - 1].push($$[$0]);
1873
- break;
1874
- case 94:
1875
- this.$ = [];
1876
- break;
1877
- case 95:
1878
- $$[$0 - 1].push($$[$0]);
1879
- break;
1880
- case 98:
1881
- this.$ = [$$[$0]];
1882
- break;
1883
- case 99:
1884
- $$[$0 - 1].push($$[$0]);
1885
- break;
1886
- case 100:
1887
- this.$ = [$$[$0]];
1888
- break;
1889
- case 101:
1890
- $$[$0 - 1].push($$[$0]);
1891
- break;
1892
1911
  }
1893
1912
  },
1894
- 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] }, { 13: 40, 15: [1, 20], 17: 39 }, { 20: 42, 56: 41, 64: 43, 65: [1, 44], 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: 45, 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: 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: 48, 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: 42, 56: 49, 64: 43, 65: [1, 44], 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: 50, 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, 51] }, { 72: [1, 35], 86: 52 }, { 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: 53, 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: 54, 38: 56, 39: [1, 58], 43: 57, 44: [1, 59], 45: 55, 47: [2, 54] }, { 28: 60, 43: 61, 44: [1, 59], 47: [2, 56] }, { 13: 63, 15: [1, 20], 18: [1, 62] }, { 15: [2, 48], 18: [2, 48] }, { 33: [2, 86], 57: 64, 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: 65, 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: 66, 47: [1, 67] }, { 30: 68, 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: 69, 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: 70, 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: 71, 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: 75, 33: [2, 80], 50: 72, 63: 73, 64: 76, 65: [1, 44], 69: 74, 70: 77, 71: 78, 72: [1, 79], 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, 80] }, { 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, 51] }, { 20: 75, 53: 81, 54: [2, 84], 63: 82, 64: 76, 65: [1, 44], 69: 83, 70: 77, 71: 78, 72: [1, 79], 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: 84, 47: [1, 67] }, { 47: [2, 55] }, { 4: 85, 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: 86, 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: 87, 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: 88, 47: [1, 67] }, { 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: 75, 33: [2, 88], 58: 89, 63: 90, 64: 76, 65: [1, 44], 69: 91, 70: 77, 71: 78, 72: [1, 79], 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: 92, 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: 93, 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: 75, 31: 94, 33: [2, 60], 63: 95, 64: 76, 65: [1, 44], 69: 96, 70: 77, 71: 78, 72: [1, 79], 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: 75, 33: [2, 66], 36: 97, 63: 98, 64: 76, 65: [1, 44], 69: 99, 70: 77, 71: 78, 72: [1, 79], 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: 75, 22: 100, 23: [2, 52], 63: 101, 64: 76, 65: [1, 44], 69: 102, 70: 77, 71: 78, 72: [1, 79], 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: 75, 33: [2, 92], 62: 103, 63: 104, 64: 76, 65: [1, 44], 69: 105, 70: 77, 71: 78, 72: [1, 79], 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, 106] }, { 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: 107, 72: [1, 108], 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, 109], 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, 110] }, { 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: 56, 39: [1, 58], 43: 57, 44: [1, 59], 45: 112, 46: 111, 47: [2, 76] }, { 33: [2, 70], 40: 113, 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, 114] }, { 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: 75, 63: 116, 64: 76, 65: [1, 44], 67: 115, 68: [2, 96], 69: 117, 70: 77, 71: 78, 72: [1, 79], 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, 118] }, { 32: 119, 33: [2, 62], 74: 120, 75: [1, 121] }, { 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: 122, 74: 123, 75: [1, 121] }, { 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, 124] }, { 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, 125] }, { 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, 109] }, { 20: 75, 63: 126, 64: 76, 65: [1, 44], 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: 75, 33: [2, 72], 41: 127, 63: 128, 64: 76, 65: [1, 44], 69: 129, 70: 77, 71: 78, 72: [1, 79], 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, 130] }, { 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, 131] }, { 33: [2, 63] }, { 72: [1, 133], 76: 132 }, { 33: [1, 134] }, { 33: [2, 69] }, { 15: [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: 135, 74: 136, 75: [1, 121] }, { 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, 138], 77: [1, 137] }, { 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, 139] }, { 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] }],
1913
+ table: [o([5, 14, 15, 19, 29, 34, 48, 51, 55, 60], $V0, { 3: 1, 4: 2, 6: 3 }), { 1: [3] }, { 5: [1, 4] }, o([5, 39, 44, 47], [2, 2], { 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 24: 15, 27: 16, 16: 17, 59: 19, 14: [1, 12], 15: $V1, 19: [1, 23], 29: [1, 21], 34: [1, 22], 48: [1, 13], 51: [1, 14], 55: [1, 18], 60: [1, 24] }), { 1: [2, 1] }, o($V2, [2, 47]), o($V2, [2, 3]), o($V2, [2, 4]), o($V2, [2, 5]), o($V2, [2, 6]), o($V2, [2, 7]), o($V2, [2, 8]), o($V2, [2, 9]), { 20: 25, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 20: 36, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Va, $V0, { 6: 3, 4: 37 }), o($Vb, $V0, { 6: 3, 4: 38 }), { 13: 40, 15: $V1, 17: 39 }, { 20: 42, 56: 41, 64: 43, 65: $Vc, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Vd, $V0, { 6: 3, 4: 45 }), o([5, 14, 15, 18, 19, 29, 34, 39, 44, 47, 48, 51, 55, 60], [2, 10]), { 20: 46, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 20: 47, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 20: 48, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 20: 42, 56: 49, 64: 43, 65: $Vc, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Ve, [2, 78], { 49: 50 }), o($Vf, [2, 33]), o($Vf, [2, 34]), o($Vf, [2, 35]), o($Vf, [2, 36]), o($Vf, [2, 37]), o($Vf, [2, 38]), o($Vf, [2, 39]), o($Vf, [2, 43], { 87: $Vg }), { 72: $V3, 86: 52 }, o($Vh, $Vi), o($Vj, [2, 82], { 52: 53 }), { 25: 54, 38: 56, 39: $Vk, 43: 57, 44: $Vl, 45: 55, 47: [2, 54] }, { 28: 60, 43: 61, 44: $Vl, 47: [2, 56] }, { 13: 63, 15: $V1, 18: [1, 62] }, o($Vm, [2, 48]), o($Ve, [2, 86], { 57: 64 }), o($Ve, [2, 40]), o($Ve, [2, 41]), { 20: 65, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 26: 66, 47: $Vn }, o($Vo, [2, 58], { 30: 68 }), o($Vo, [2, 64], { 35: 69 }), o($Vp, [2, 50], { 21: 70 }), o($Ve, [2, 90], { 61: 71 }), { 20: 75, 33: [2, 80], 50: 72, 63: 73, 64: 76, 65: $Vc, 69: 74, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 72: [1, 80] }, o($Vf, [2, 42], { 87: $Vg }), { 20: 75, 53: 81, 54: [2, 84], 63: 82, 64: 76, 65: $Vc, 69: 83, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 26: 84, 47: $Vn }, { 47: [2, 55] }, o($Va, $V0, { 6: 3, 4: 85 }), { 47: [2, 20] }, { 20: 86, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Vd, $V0, { 6: 3, 4: 87 }), { 26: 88, 47: $Vn }, { 47: [2, 57] }, o($V2, [2, 11]), o($Vm, [2, 49]), { 20: 75, 33: [2, 88], 58: 89, 63: 90, 64: 76, 65: $Vc, 69: 91, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Vr, [2, 94], { 66: 92 }), o($V2, [2, 25]), { 20: 93, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Vs, [2, 60], { 78: 26, 79: 27, 86: 33, 20: 75, 64: 76, 70: 77, 71: 78, 31: 94, 63: 95, 69: 96, 65: $Vc, 72: $Vq, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9 }), o($Vs, [2, 66], { 78: 26, 79: 27, 86: 33, 20: 75, 64: 76, 70: 77, 71: 78, 36: 97, 63: 98, 69: 99, 65: $Vc, 72: $Vq, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9 }), { 20: 75, 22: 100, 23: [2, 52], 63: 101, 64: 76, 65: $Vc, 69: 102, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 20: 75, 33: [2, 92], 62: 103, 63: 104, 64: 76, 65: $Vc, 69: 105, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 33: [1, 106] }, o($Ve, [2, 79]), { 33: [2, 81] }, o($Vf, [2, 27]), o($Vf, [2, 28]), o([23, 33, 54, 68, 75], [2, 30], { 71: 107, 72: [1, 108] }), o($Vt, [2, 98]), o($Vh, $Vi, { 73: $Vu }), o($Vh, [2, 44]), { 54: [1, 110] }, o($Vj, [2, 83]), { 54: [2, 85] }, o($V2, [2, 13]), { 38: 56, 39: $Vk, 43: 57, 44: $Vl, 45: 112, 46: 111, 47: [2, 76] }, o($Vo, [2, 70], { 40: 113 }), { 47: [2, 18] }, o($V2, [2, 14]), { 33: [1, 114] }, o($Ve, [2, 87]), { 33: [2, 89] }, { 20: 75, 63: 116, 64: 76, 65: $Vc, 67: 115, 68: [2, 96], 69: 117, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 33: [1, 118] }, { 32: 119, 33: [2, 62], 74: 120, 75: $Vv }, o($Vo, [2, 59]), o($Vs, [2, 61]), { 33: [2, 68], 37: 122, 74: 123, 75: $Vv }, o($Vo, [2, 65]), o($Vs, [2, 67]), { 23: [1, 124] }, o($Vp, [2, 51]), { 23: [2, 53] }, { 33: [1, 125] }, o($Ve, [2, 91]), { 33: [2, 93] }, o($V2, [2, 22]), o($Vt, [2, 99]), { 73: $Vu }, { 20: 75, 63: 126, 64: 76, 65: $Vc, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($V2, [2, 23]), { 47: [2, 19] }, { 47: [2, 77] }, o($Vs, [2, 72], { 78: 26, 79: 27, 86: 33, 20: 75, 64: 76, 70: 77, 71: 78, 41: 127, 63: 128, 69: 129, 65: $Vc, 72: $Vq, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9 }), o($V2, [2, 24]), { 68: [1, 130] }, o($Vr, [2, 95]), { 68: [2, 97] }, o($V2, [2, 21]), { 33: [1, 131] }, { 33: [2, 63] }, { 72: [1, 133], 76: 132 }, { 33: [1, 134] }, { 33: [2, 69] }, { 15: [2, 12] }, o($Vd, [2, 26]), o($Vt, [2, 31]), { 33: [2, 74], 42: 135, 74: 136, 75: $Vv }, o($Vo, [2, 71]), o($Vs, [2, 73]), o($Vf, [2, 29]), o($Va, [2, 15]), { 72: [1, 138], 77: [1, 137] }, o($Vw, [2, 100]), o($Vb, [2, 16]), { 33: [1, 139] }, { 33: [2, 75] }, { 33: [2, 32] }, o($Vw, [2, 101]), o($Va, [2, 17])],
1895
1914
  defaultActions: { 4: [2, 1], 55: [2, 55], 57: [2, 20], 61: [2, 57], 74: [2, 81], 83: [2, 85], 87: [2, 18], 91: [2, 89], 102: [2, 53], 105: [2, 93], 111: [2, 19], 112: [2, 77], 117: [2, 97], 120: [2, 63], 123: [2, 69], 124: [2, 12], 136: [2, 75], 137: [2, 32] },
1896
1915
  parseError: function parseError(str, hash) {
1897
- throw new Error(str);
1916
+ if (hash.recoverable) {
1917
+ this.trace(str);
1918
+ } else {
1919
+ var _parseError = function _parseError(msg, hash) {
1920
+ this.message = msg;
1921
+ this.hash = hash;
1922
+ };
1923
+
1924
+ _parseError.prototype = new Error();
1925
+
1926
+ throw new _parseError(str, hash);
1927
+ }
1898
1928
  },
1899
1929
  parse: function parse(input) {
1900
1930
  var self = this,
1901
1931
  stack = [0],
1932
+ tstack = [],
1902
1933
  vstack = [null],
1903
1934
  lstack = [],
1904
1935
  table = this.table,
1905
- yytext = "",
1936
+ yytext = '',
1906
1937
  yylineno = 0,
1907
1938
  yyleng = 0,
1908
1939
  recovering = 0,
1909
1940
  TERROR = 2,
1910
1941
  EOF = 1;
1911
- this.lexer.setInput(input);
1912
- this.lexer.yy = this.yy;
1913
- this.yy.lexer = this.lexer;
1914
- this.yy.parser = this;
1915
- if (typeof this.lexer.yylloc == "undefined") this.lexer.yylloc = {};
1916
- var yyloc = this.lexer.yylloc;
1942
+ var args = lstack.slice.call(arguments, 1);
1943
+ var lexer = _Object$create(this.lexer);
1944
+ var sharedState = { yy: {} };
1945
+ for (var k in this.yy) {
1946
+ if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
1947
+ sharedState.yy[k] = this.yy[k];
1948
+ }
1949
+ }
1950
+ lexer.setInput(input, sharedState.yy);
1951
+ sharedState.yy.lexer = lexer;
1952
+ sharedState.yy.parser = this;
1953
+ if (typeof lexer.yylloc == 'undefined') {
1954
+ lexer.yylloc = {};
1955
+ }
1956
+ var yyloc = lexer.yylloc;
1917
1957
  lstack.push(yyloc);
1918
- var ranges = this.lexer.options && this.lexer.options.ranges;
1919
- if (typeof this.yy.parseError === "function") this.parseError = this.yy.parseError;
1958
+ var ranges = lexer.options && lexer.options.ranges;
1959
+ if (typeof sharedState.yy.parseError === 'function') {
1960
+ this.parseError = sharedState.yy.parseError;
1961
+ } else {
1962
+ this.parseError = Object.getPrototypeOf(this).parseError;
1963
+ }
1920
1964
  function popStack(n) {
1921
1965
  stack.length = stack.length - 2 * n;
1922
1966
  vstack.length = vstack.length - n;
1923
1967
  lstack.length = lstack.length - n;
1924
1968
  }
1925
- function lex() {
1969
+ _token_stack: var lex = function lex() {
1926
1970
  var token;
1927
- token = self.lexer.lex() || 1;
1928
- if (typeof token !== "number") {
1971
+ token = lexer.lex() || EOF;
1972
+ if (typeof token !== 'number') {
1929
1973
  token = self.symbols_[token] || token;
1930
1974
  }
1931
1975
  return token;
1932
- }
1976
+ };
1933
1977
  var symbol,
1934
1978
  preErrorSymbol,
1935
1979
  state,
@@ -1946,42 +1990,50 @@ return /******/ (function(modules) { // webpackBootstrap
1946
1990
  if (this.defaultActions[state]) {
1947
1991
  action = this.defaultActions[state];
1948
1992
  } else {
1949
- if (symbol === null || typeof symbol == "undefined") {
1993
+ if (symbol === null || typeof symbol == 'undefined') {
1950
1994
  symbol = lex();
1951
1995
  }
1952
1996
  action = table[state] && table[state][symbol];
1953
1997
  }
1954
- if (typeof action === "undefined" || !action.length || !action[0]) {
1955
- var errStr = "";
1956
- if (!recovering) {
1957
- expected = [];
1958
- for (p in table[state]) if (this.terminals_[p] && p > 2) {
1959
- expected.push("'" + this.terminals_[p] + "'");
1960
- }
1961
- if (this.lexer.showPosition) {
1962
- errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
1963
- } else {
1964
- errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1 ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
1998
+ if (typeof action === 'undefined' || !action.length || !action[0]) {
1999
+ var errStr = '';
2000
+ expected = [];
2001
+ for (p in table[state]) {
2002
+ if (this.terminals_[p] && p > TERROR) {
2003
+ expected.push('\'' + this.terminals_[p] + '\'');
1965
2004
  }
1966
- this.parseError(errStr, { text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected });
1967
2005
  }
2006
+ if (lexer.showPosition) {
2007
+ errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\'';
2008
+ } else {
2009
+ errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\'');
2010
+ }
2011
+ this.parseError(errStr, {
2012
+ text: lexer.match,
2013
+ token: this.terminals_[symbol] || symbol,
2014
+ line: lexer.yylineno,
2015
+ loc: yyloc,
2016
+ expected: expected
2017
+ });
1968
2018
  }
1969
2019
  if (action[0] instanceof Array && action.length > 1) {
1970
- throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
2020
+ throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);
1971
2021
  }
1972
2022
  switch (action[0]) {
1973
2023
  case 1:
1974
2024
  stack.push(symbol);
1975
- vstack.push(this.lexer.yytext);
1976
- lstack.push(this.lexer.yylloc);
2025
+ vstack.push(lexer.yytext);
2026
+ lstack.push(lexer.yylloc);
1977
2027
  stack.push(action[1]);
1978
2028
  symbol = null;
1979
2029
  if (!preErrorSymbol) {
1980
- yyleng = this.lexer.yyleng;
1981
- yytext = this.lexer.yytext;
1982
- yylineno = this.lexer.yylineno;
1983
- yyloc = this.lexer.yylloc;
1984
- if (recovering > 0) recovering--;
2030
+ yyleng = lexer.yyleng;
2031
+ yytext = lexer.yytext;
2032
+ yylineno = lexer.yylineno;
2033
+ yyloc = lexer.yylloc;
2034
+ if (recovering > 0) {
2035
+ recovering--;
2036
+ }
1985
2037
  } else {
1986
2038
  symbol = preErrorSymbol;
1987
2039
  preErrorSymbol = null;
@@ -1990,12 +2042,17 @@ return /******/ (function(modules) { // webpackBootstrap
1990
2042
  case 2:
1991
2043
  len = this.productions_[action[1]][1];
1992
2044
  yyval.$ = vstack[vstack.length - len];
1993
- 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 };
2045
+ yyval._$ = {
2046
+ first_line: lstack[lstack.length - (len || 1)].first_line,
2047
+ last_line: lstack[lstack.length - 1].last_line,
2048
+ first_column: lstack[lstack.length - (len || 1)].first_column,
2049
+ last_column: lstack[lstack.length - 1].last_column
2050
+ };
1994
2051
  if (ranges) {
1995
2052
  yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
1996
2053
  }
1997
- r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);
1998
- if (typeof r !== "undefined") {
2054
+ r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));
2055
+ if (typeof r !== 'undefined') {
1999
2056
  return r;
2000
2057
  }
2001
2058
  if (len) {
@@ -2014,11 +2071,13 @@ return /******/ (function(modules) { // webpackBootstrap
2014
2071
  }
2015
2072
  }
2016
2073
  return true;
2017
- }
2018
- };
2019
- /* Jison generated lexer */
2074
+ } };
2075
+ /* generated by jison-lex 0.3.4 */
2020
2076
  var lexer = (function () {
2021
- var lexer = { EOF: 1,
2077
+ var lexer = {
2078
+
2079
+ EOF: 1,
2080
+
2022
2081
  parseError: function parseError(str, hash) {
2023
2082
  if (this.yy.parser) {
2024
2083
  this.yy.parser.parseError(str, hash);
@@ -2026,17 +2085,29 @@ return /******/ (function(modules) { // webpackBootstrap
2026
2085
  throw new Error(str);
2027
2086
  }
2028
2087
  },
2029
- setInput: function setInput(input) {
2088
+
2089
+ // resets the lexer, sets new input
2090
+ setInput: function setInput(input, yy) {
2091
+ this.yy = yy || this.yy || {};
2030
2092
  this._input = input;
2031
- this._more = this._less = this.done = false;
2093
+ this._more = this._backtrack = this.done = false;
2032
2094
  this.yylineno = this.yyleng = 0;
2033
2095
  this.yytext = this.matched = this.match = '';
2034
2096
  this.conditionStack = ['INITIAL'];
2035
- this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 };
2036
- if (this.options.ranges) this.yylloc.range = [0, 0];
2097
+ this.yylloc = {
2098
+ first_line: 1,
2099
+ first_column: 0,
2100
+ last_line: 1,
2101
+ last_column: 0
2102
+ };
2103
+ if (this.options.ranges) {
2104
+ this.yylloc.range = [0, 0];
2105
+ }
2037
2106
  this.offset = 0;
2038
2107
  return this;
2039
2108
  },
2109
+
2110
+ // consumes and returns one char from the input
2040
2111
  input: function input() {
2041
2112
  var ch = this._input[0];
2042
2113
  this.yytext += ch;
@@ -2051,27 +2122,34 @@ return /******/ (function(modules) { // webpackBootstrap
2051
2122
  } else {
2052
2123
  this.yylloc.last_column++;
2053
2124
  }
2054
- if (this.options.ranges) this.yylloc.range[1]++;
2125
+ if (this.options.ranges) {
2126
+ this.yylloc.range[1]++;
2127
+ }
2055
2128
 
2056
2129
  this._input = this._input.slice(1);
2057
2130
  return ch;
2058
2131
  },
2132
+
2133
+ // unshifts one char (or a string) into the input
2059
2134
  unput: function unput(ch) {
2060
2135
  var len = ch.length;
2061
2136
  var lines = ch.split(/(?:\r\n?|\n)/g);
2062
2137
 
2063
2138
  this._input = ch + this._input;
2064
- this.yytext = this.yytext.substr(0, this.yytext.length - len - 1);
2139
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
2065
2140
  //this.yyleng -= len;
2066
2141
  this.offset -= len;
2067
2142
  var oldLines = this.match.split(/(?:\r\n?|\n)/g);
2068
2143
  this.match = this.match.substr(0, this.match.length - 1);
2069
2144
  this.matched = this.matched.substr(0, this.matched.length - 1);
2070
2145
 
2071
- if (lines.length - 1) this.yylineno -= lines.length - 1;
2146
+ if (lines.length - 1) {
2147
+ this.yylineno -= lines.length - 1;
2148
+ }
2072
2149
  var r = this.yylloc.range;
2073
2150
 
2074
- this.yylloc = { first_line: this.yylloc.first_line,
2151
+ this.yylloc = {
2152
+ first_line: this.yylloc.first_line,
2075
2153
  last_line: this.yylineno + 1,
2076
2154
  first_column: this.yylloc.first_column,
2077
2155
  last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
@@ -2080,19 +2158,42 @@ return /******/ (function(modules) { // webpackBootstrap
2080
2158
  if (this.options.ranges) {
2081
2159
  this.yylloc.range = [r[0], r[0] + this.yyleng - len];
2082
2160
  }
2161
+ this.yyleng = this.yytext.length;
2083
2162
  return this;
2084
2163
  },
2164
+
2165
+ // When called from action, caches matched text and appends it on next action
2085
2166
  more: function more() {
2086
2167
  this._more = true;
2087
2168
  return this;
2088
2169
  },
2170
+
2171
+ // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
2172
+ reject: function reject() {
2173
+ if (this.options.backtrack_lexer) {
2174
+ this._backtrack = true;
2175
+ } else {
2176
+ return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), {
2177
+ text: "",
2178
+ token: null,
2179
+ line: this.yylineno
2180
+ });
2181
+ }
2182
+ return this;
2183
+ },
2184
+
2185
+ // retain first n characters of the match
2089
2186
  less: function less(n) {
2090
2187
  this.unput(this.match.slice(n));
2091
2188
  },
2189
+
2190
+ // displays already matched input, i.e. for error messages
2092
2191
  pastInput: function pastInput() {
2093
2192
  var past = this.matched.substr(0, this.matched.length - this.match.length);
2094
2193
  return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, "");
2095
2194
  },
2195
+
2196
+ // displays upcoming input, i.e. for error messages
2096
2197
  upcomingInput: function upcomingInput() {
2097
2198
  var next = this.match;
2098
2199
  if (next.length < 20) {
@@ -2100,18 +2201,92 @@ return /******/ (function(modules) { // webpackBootstrap
2100
2201
  }
2101
2202
  return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
2102
2203
  },
2204
+
2205
+ // displays the character position where the lexing error occurred, i.e. for error messages
2103
2206
  showPosition: function showPosition() {
2104
2207
  var pre = this.pastInput();
2105
2208
  var c = new Array(pre.length + 1).join("-");
2106
2209
  return pre + this.upcomingInput() + "\n" + c + "^";
2107
2210
  },
2211
+
2212
+ // test the lexed token: return FALSE when not a match, otherwise return token
2213
+ test_match: function test_match(match, indexed_rule) {
2214
+ var token, lines, backup;
2215
+
2216
+ if (this.options.backtrack_lexer) {
2217
+ // save context
2218
+ backup = {
2219
+ yylineno: this.yylineno,
2220
+ yylloc: {
2221
+ first_line: this.yylloc.first_line,
2222
+ last_line: this.last_line,
2223
+ first_column: this.yylloc.first_column,
2224
+ last_column: this.yylloc.last_column
2225
+ },
2226
+ yytext: this.yytext,
2227
+ match: this.match,
2228
+ matches: this.matches,
2229
+ matched: this.matched,
2230
+ yyleng: this.yyleng,
2231
+ offset: this.offset,
2232
+ _more: this._more,
2233
+ _input: this._input,
2234
+ yy: this.yy,
2235
+ conditionStack: this.conditionStack.slice(0),
2236
+ done: this.done
2237
+ };
2238
+ if (this.options.ranges) {
2239
+ backup.yylloc.range = this.yylloc.range.slice(0);
2240
+ }
2241
+ }
2242
+
2243
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
2244
+ if (lines) {
2245
+ this.yylineno += lines.length;
2246
+ }
2247
+ this.yylloc = {
2248
+ first_line: this.yylloc.last_line,
2249
+ last_line: this.yylineno + 1,
2250
+ first_column: this.yylloc.last_column,
2251
+ last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
2252
+ };
2253
+ this.yytext += match[0];
2254
+ this.match += match[0];
2255
+ this.matches = match;
2256
+ this.yyleng = this.yytext.length;
2257
+ if (this.options.ranges) {
2258
+ this.yylloc.range = [this.offset, this.offset += this.yyleng];
2259
+ }
2260
+ this._more = false;
2261
+ this._backtrack = false;
2262
+ this._input = this._input.slice(match[0].length);
2263
+ this.matched += match[0];
2264
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
2265
+ if (this.done && this._input) {
2266
+ this.done = false;
2267
+ }
2268
+ if (token) {
2269
+ return token;
2270
+ } else if (this._backtrack) {
2271
+ // recover context
2272
+ for (var k in backup) {
2273
+ this[k] = backup[k];
2274
+ }
2275
+ return false; // rule action called reject() implying the next rule should be tested instead.
2276
+ }
2277
+ return false;
2278
+ },
2279
+
2280
+ // return next match in input
2108
2281
  next: function next() {
2109
2282
  if (this.done) {
2110
2283
  return this.EOF;
2111
2284
  }
2112
- if (!this._input) this.done = true;
2285
+ if (!this._input) {
2286
+ this.done = true;
2287
+ }
2113
2288
 
2114
- var token, match, tempMatch, index, col, lines;
2289
+ var token, match, tempMatch, index;
2115
2290
  if (!this._more) {
2116
2291
  this.yytext = '';
2117
2292
  this.match = '';
@@ -2122,251 +2297,303 @@ return /******/ (function(modules) { // webpackBootstrap
2122
2297
  if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
2123
2298
  match = tempMatch;
2124
2299
  index = i;
2125
- if (!this.options.flex) break;
2300
+ if (this.options.backtrack_lexer) {
2301
+ token = this.test_match(tempMatch, rules[i]);
2302
+ if (token !== false) {
2303
+ return token;
2304
+ } else if (this._backtrack) {
2305
+ match = false;
2306
+ continue; // rule action called reject() implying a rule MISmatch.
2307
+ } else {
2308
+ // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
2309
+ return false;
2310
+ }
2311
+ } else if (!this.options.flex) {
2312
+ break;
2313
+ }
2126
2314
  }
2127
2315
  }
2128
2316
  if (match) {
2129
- lines = match[0].match(/(?:\r\n?|\n).*/g);
2130
- if (lines) this.yylineno += lines.length;
2131
- this.yylloc = { first_line: this.yylloc.last_line,
2132
- last_line: this.yylineno + 1,
2133
- first_column: this.yylloc.last_column,
2134
- last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length };
2135
- this.yytext += match[0];
2136
- this.match += match[0];
2137
- this.matches = match;
2138
- this.yyleng = this.yytext.length;
2139
- if (this.options.ranges) {
2140
- this.yylloc.range = [this.offset, this.offset += this.yyleng];
2317
+ token = this.test_match(match, rules[index]);
2318
+ if (token !== false) {
2319
+ return token;
2141
2320
  }
2142
- this._more = false;
2143
- this._input = this._input.slice(match[0].length);
2144
- this.matched += match[0];
2145
- token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]);
2146
- if (this.done && this._input) this.done = false;
2147
- if (token) return token;else return;
2321
+ // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
2322
+ return false;
2148
2323
  }
2149
2324
  if (this._input === "") {
2150
2325
  return this.EOF;
2151
2326
  } else {
2152
- return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: "", token: null, line: this.yylineno });
2327
+ return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), {
2328
+ text: "",
2329
+ token: null,
2330
+ line: this.yylineno
2331
+ });
2153
2332
  }
2154
2333
  },
2334
+
2335
+ // return next match that has a token
2155
2336
  lex: function lex() {
2156
2337
  var r = this.next();
2157
- if (typeof r !== 'undefined') {
2338
+ if (r) {
2158
2339
  return r;
2159
2340
  } else {
2160
2341
  return this.lex();
2161
2342
  }
2162
2343
  },
2344
+
2345
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
2163
2346
  begin: function begin(condition) {
2164
2347
  this.conditionStack.push(condition);
2165
2348
  },
2349
+
2350
+ // pop the previously active lexer condition state off the condition stack
2166
2351
  popState: function popState() {
2167
- return this.conditionStack.pop();
2352
+ var n = this.conditionStack.length - 1;
2353
+ if (n > 0) {
2354
+ return this.conditionStack.pop();
2355
+ } else {
2356
+ return this.conditionStack[0];
2357
+ }
2168
2358
  },
2359
+
2360
+ // produce the lexer rule set which is active for the currently active lexer condition state
2169
2361
  _currentRules: function _currentRules() {
2170
- return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
2362
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
2363
+ return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
2364
+ } else {
2365
+ return this.conditions["INITIAL"].rules;
2366
+ }
2171
2367
  },
2172
- topState: function topState() {
2173
- return this.conditionStack[this.conditionStack.length - 2];
2368
+
2369
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
2370
+ topState: function topState(n) {
2371
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
2372
+ if (n >= 0) {
2373
+ return this.conditionStack[n];
2374
+ } else {
2375
+ return "INITIAL";
2376
+ }
2174
2377
  },
2175
- pushState: function begin(condition) {
2378
+
2379
+ // alias for begin(condition)
2380
+ pushState: function pushState(condition) {
2176
2381
  this.begin(condition);
2177
- } };
2178
- lexer.options = {};
2179
- lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
2382
+ },
2180
2383
 
2181
- function strip(start, end) {
2182
- return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);
2183
- }
2384
+ // return the number of states currently on the stack
2385
+ stateStackSize: function stateStackSize() {
2386
+ return this.conditionStack.length;
2387
+ },
2388
+ options: {},
2389
+ performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
2184
2390
 
2185
- var YYSTATE = YY_START;
2186
- switch ($avoiding_name_collisions) {
2187
- case 0:
2188
- if (yy_.yytext.slice(-2) === "\\\\") {
2189
- strip(0, 1);
2190
- this.begin("mu");
2191
- } else if (yy_.yytext.slice(-1) === "\\") {
2192
- strip(0, 1);
2193
- this.begin("emu");
2194
- } else {
2195
- this.begin("mu");
2196
- }
2197
- if (yy_.yytext) return 15;
2391
+ function strip(start, end) {
2392
+ return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);
2393
+ }
2198
2394
 
2199
- break;
2200
- case 1:
2201
- return 15;
2202
- break;
2203
- case 2:
2204
- this.popState();
2205
- return 15;
2395
+ var YYSTATE = YY_START;
2396
+ switch ($avoiding_name_collisions) {
2397
+ case 0:
2398
+ if (yy_.yytext.slice(-2) === "\\\\") {
2399
+ strip(0, 1);
2400
+ this.begin("mu");
2401
+ } else if (yy_.yytext.slice(-1) === "\\") {
2402
+ strip(0, 1);
2403
+ this.begin("emu");
2404
+ } else {
2405
+ this.begin("mu");
2406
+ }
2407
+ if (yy_.yytext) return 15;
2206
2408
 
2207
- break;
2208
- case 3:
2209
- this.begin('raw');return 15;
2210
- break;
2211
- case 4:
2212
- this.popState();
2213
- // Should be using `this.topState()` below, but it currently
2214
- // returns the second top instead of the first top. Opened an
2215
- // issue about it at https://github.com/zaach/jison/issues/291
2216
- if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {
2409
+ break;
2410
+ case 1:
2411
+ return 15;
2412
+ break;
2413
+ case 2:
2414
+ this.popState();
2217
2415
  return 15;
2218
- } else {
2219
- strip(5, 9);
2220
- return 'END_RAW_BLOCK';
2221
- }
2222
2416
 
2223
- break;
2224
- case 5:
2225
- return 15;
2226
- break;
2227
- case 6:
2228
- this.popState();
2229
- return 14;
2417
+ break;
2418
+ case 3:
2419
+ this.begin('raw');return 15;
2420
+ break;
2421
+ case 4:
2422
+ this.popState();
2423
+ // Should be using `this.topState()` below, but it currently
2424
+ // returns the second top instead of the first top. Opened an
2425
+ // issue about it at https://github.com/zaach/jison/issues/291
2426
+ if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {
2427
+ return 15;
2428
+ } else {
2429
+ strip(5, 9);
2430
+ return 18;
2431
+ }
2230
2432
 
2231
- break;
2232
- case 7:
2233
- return 65;
2234
- break;
2235
- case 8:
2236
- return 68;
2237
- break;
2238
- case 9:
2239
- return 19;
2240
- break;
2241
- case 10:
2242
- this.popState();
2243
- this.begin('raw');
2244
- return 23;
2433
+ break;
2434
+ case 5:
2435
+ return 15;
2436
+ break;
2437
+ case 6:
2438
+ this.popState();
2439
+ return 14;
2245
2440
 
2246
- break;
2247
- case 11:
2248
- return 55;
2249
- break;
2250
- case 12:
2251
- return 60;
2252
- break;
2253
- case 13:
2254
- return 29;
2255
- break;
2256
- case 14:
2257
- return 47;
2258
- break;
2259
- case 15:
2260
- this.popState();return 44;
2261
- break;
2262
- case 16:
2263
- this.popState();return 44;
2264
- break;
2265
- case 17:
2266
- return 34;
2267
- break;
2268
- case 18:
2269
- return 39;
2270
- break;
2271
- case 19:
2272
- return 51;
2273
- break;
2274
- case 20:
2275
- return 48;
2276
- break;
2277
- case 21:
2278
- this.unput(yy_.yytext);
2279
- this.popState();
2280
- this.begin('com');
2441
+ break;
2442
+ case 7:
2443
+ return 65;
2444
+ break;
2445
+ case 8:
2446
+ return 68;
2447
+ break;
2448
+ case 9:
2449
+ return 19;
2450
+ break;
2451
+ case 10:
2452
+ this.popState();
2453
+ this.begin('raw');
2454
+ return 23;
2281
2455
 
2282
- break;
2283
- case 22:
2284
- this.popState();
2285
- return 14;
2456
+ break;
2457
+ case 11:
2458
+ return 55;
2459
+ break;
2460
+ case 12:
2461
+ return 60;
2462
+ break;
2463
+ case 13:
2464
+ return 29;
2465
+ break;
2466
+ case 14:
2467
+ return 47;
2468
+ break;
2469
+ case 15:
2470
+ this.popState();return 44;
2471
+ break;
2472
+ case 16:
2473
+ this.popState();return 44;
2474
+ break;
2475
+ case 17:
2476
+ return 34;
2477
+ break;
2478
+ case 18:
2479
+ return 39;
2480
+ break;
2481
+ case 19:
2482
+ return 51;
2483
+ break;
2484
+ case 20:
2485
+ return 48;
2486
+ break;
2487
+ case 21:
2488
+ this.unput(yy_.yytext);
2489
+ this.popState();
2490
+ this.begin('com');
2286
2491
 
2287
- break;
2288
- case 23:
2289
- return 48;
2290
- break;
2291
- case 24:
2292
- return 73;
2293
- break;
2294
- case 25:
2295
- return 72;
2296
- break;
2297
- case 26:
2298
- return 72;
2299
- break;
2300
- case 27:
2301
- return 87;
2302
- break;
2303
- case 28:
2304
- // ignore whitespace
2305
- break;
2306
- case 29:
2307
- this.popState();return 54;
2308
- break;
2309
- case 30:
2310
- this.popState();return 33;
2311
- break;
2312
- case 31:
2313
- yy_.yytext = strip(1, 2).replace(/\\"/g, '"');return 80;
2314
- break;
2315
- case 32:
2316
- yy_.yytext = strip(1, 2).replace(/\\'/g, "'");return 80;
2317
- break;
2318
- case 33:
2319
- return 85;
2320
- break;
2321
- case 34:
2322
- return 82;
2323
- break;
2324
- case 35:
2325
- return 82;
2326
- break;
2327
- case 36:
2328
- return 83;
2329
- break;
2330
- case 37:
2331
- return 84;
2332
- break;
2333
- case 38:
2334
- return 81;
2335
- break;
2336
- case 39:
2337
- return 75;
2338
- break;
2339
- case 40:
2340
- return 77;
2341
- break;
2342
- case 41:
2343
- return 72;
2344
- break;
2345
- case 42:
2346
- yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g, '$1');return 72;
2347
- break;
2348
- case 43:
2349
- return 'INVALID';
2350
- break;
2351
- case 44:
2352
- return 5;
2353
- break;
2354
- }
2492
+ break;
2493
+ case 22:
2494
+ this.popState();
2495
+ return 14;
2496
+
2497
+ break;
2498
+ case 23:
2499
+ return 48;
2500
+ break;
2501
+ case 24:
2502
+ return 73;
2503
+ break;
2504
+ case 25:
2505
+ return 72;
2506
+ break;
2507
+ case 26:
2508
+ return 72;
2509
+ break;
2510
+ case 27:
2511
+ return 87;
2512
+ break;
2513
+ case 28:
2514
+ // ignore whitespace
2515
+ break;
2516
+ case 29:
2517
+ this.popState();return 54;
2518
+ break;
2519
+ case 30:
2520
+ this.popState();return 33;
2521
+ break;
2522
+ case 31:
2523
+ yy_.yytext = strip(1, 2).replace(/\\"/g, '"');return 80;
2524
+ break;
2525
+ case 32:
2526
+ yy_.yytext = strip(1, 2).replace(/\\'/g, "'");return 80;
2527
+ break;
2528
+ case 33:
2529
+ return 85;
2530
+ break;
2531
+ case 34:
2532
+ return 82;
2533
+ break;
2534
+ case 35:
2535
+ return 82;
2536
+ break;
2537
+ case 36:
2538
+ return 83;
2539
+ break;
2540
+ case 37:
2541
+ return 84;
2542
+ break;
2543
+ case 38:
2544
+ return 81;
2545
+ break;
2546
+ case 39:
2547
+ return 75;
2548
+ break;
2549
+ case 40:
2550
+ return 77;
2551
+ break;
2552
+ case 41:
2553
+ return 72;
2554
+ break;
2555
+ case 42:
2556
+ yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g, '$1');return 72;
2557
+ break;
2558
+ case 43:
2559
+ return 'INVALID';
2560
+ break;
2561
+ case 44:
2562
+ return 5;
2563
+ break;
2564
+ }
2565
+ },
2566
+ 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\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/],
2567
+ 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 } }
2355
2568
  };
2356
- 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\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/];
2357
- 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 } };
2358
2569
  return lexer;
2359
2570
  })();
2360
2571
  parser.lexer = lexer;
2361
2572
  function Parser() {
2362
2573
  this.yy = {};
2363
- }Parser.prototype = parser;parser.Parser = Parser;
2574
+ }
2575
+ Parser.prototype = parser;parser.Parser = Parser;
2364
2576
  return new Parser();
2365
2577
  })();exports["default"] = handlebars;
2366
2578
  module.exports = exports["default"];
2367
2579
 
2368
2580
  /***/ }),
2369
2581
  /* 38 */
2582
+ /***/ (function(module, exports, __webpack_require__) {
2583
+
2584
+ module.exports = { "default": __webpack_require__(39), __esModule: true };
2585
+
2586
+ /***/ }),
2587
+ /* 39 */
2588
+ /***/ (function(module, exports, __webpack_require__) {
2589
+
2590
+ var $ = __webpack_require__(9);
2591
+ module.exports = function create(P, D){
2592
+ return $.create(P, D);
2593
+ };
2594
+
2595
+ /***/ }),
2596
+ /* 40 */
2370
2597
  /***/ (function(module, exports, __webpack_require__) {
2371
2598
 
2372
2599
  'use strict';
@@ -2375,7 +2602,7 @@ return /******/ (function(modules) { // webpackBootstrap
2375
2602
 
2376
2603
  exports.__esModule = true;
2377
2604
 
2378
- var _visitor = __webpack_require__(39);
2605
+ var _visitor = __webpack_require__(41);
2379
2606
 
2380
2607
  var _visitor2 = _interopRequireDefault(_visitor);
2381
2608
 
@@ -2590,7 +2817,7 @@ return /******/ (function(modules) { // webpackBootstrap
2590
2817
  module.exports = exports['default'];
2591
2818
 
2592
2819
  /***/ }),
2593
- /* 39 */
2820
+ /* 41 */
2594
2821
  /***/ (function(module, exports, __webpack_require__) {
2595
2822
 
2596
2823
  'use strict';
@@ -2733,7 +2960,7 @@ return /******/ (function(modules) { // webpackBootstrap
2733
2960
  module.exports = exports['default'];
2734
2961
 
2735
2962
  /***/ }),
2736
- /* 40 */
2963
+ /* 42 */
2737
2964
  /***/ (function(module, exports, __webpack_require__) {
2738
2965
 
2739
2966
  'use strict';
@@ -2964,7 +3191,7 @@ return /******/ (function(modules) { // webpackBootstrap
2964
3191
  }
2965
3192
 
2966
3193
  /***/ }),
2967
- /* 41 */
3194
+ /* 43 */
2968
3195
  /***/ (function(module, exports, __webpack_require__) {
2969
3196
 
2970
3197
  /* eslint-disable new-cap */
@@ -3540,7 +3767,7 @@ return /******/ (function(modules) { // webpackBootstrap
3540
3767
  }
3541
3768
 
3542
3769
  /***/ }),
3543
- /* 42 */
3770
+ /* 44 */
3544
3771
  /***/ (function(module, exports, __webpack_require__) {
3545
3772
 
3546
3773
  'use strict';
@@ -3557,7 +3784,7 @@ return /******/ (function(modules) { // webpackBootstrap
3557
3784
 
3558
3785
  var _utils = __webpack_require__(5);
3559
3786
 
3560
- var _codeGen = __webpack_require__(43);
3787
+ var _codeGen = __webpack_require__(45);
3561
3788
 
3562
3789
  var _codeGen2 = _interopRequireDefault(_codeGen);
3563
3790
 
@@ -3871,7 +4098,7 @@ return /******/ (function(modules) { // webpackBootstrap
3871
4098
  // replace it on the stack with the result of properly
3872
4099
  // invoking blockHelperMissing.
3873
4100
  blockValue: function blockValue(name) {
3874
- var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'),
4101
+ var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),
3875
4102
  params = [this.contextName(0)];
3876
4103
  this.setupHelperArgs(name, 0, params);
3877
4104
 
@@ -3889,7 +4116,7 @@ return /******/ (function(modules) { // webpackBootstrap
3889
4116
  // On stack, after, if lastHelper: value
3890
4117
  ambiguousBlockValue: function ambiguousBlockValue() {
3891
4118
  // We're being a bit cheeky and reusing the options value from the prior exec
3892
- var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'),
4119
+ var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),
3893
4120
  params = [this.contextName(0)];
3894
4121
  this.setupHelperArgs('', 0, params, true);
3895
4122
 
@@ -4180,18 +4407,33 @@ return /******/ (function(modules) { // webpackBootstrap
4180
4407
  // If the helper is not found, `helperMissing` is called.
4181
4408
  invokeHelper: function invokeHelper(paramSize, name, isSimple) {
4182
4409
  var nonHelper = this.popStack(),
4183
- helper = this.setupHelper(paramSize, name),
4184
- simple = isSimple ? [helper.name, ' || '] : '';
4410
+ helper = this.setupHelper(paramSize, name);
4185
4411
 
4186
- var lookup = ['('].concat(simple, nonHelper);
4412
+ var possibleFunctionCalls = [];
4413
+
4414
+ if (isSimple) {
4415
+ // direct call to helper
4416
+ possibleFunctionCalls.push(helper.name);
4417
+ }
4418
+ // call a function from the input object
4419
+ possibleFunctionCalls.push(nonHelper);
4187
4420
  if (!this.options.strict) {
4188
- lookup.push(' || ', this.aliasable('helpers.helperMissing'));
4421
+ possibleFunctionCalls.push(this.aliasable('container.hooks.helperMissing'));
4189
4422
  }
4190
- lookup.push(')');
4191
4423
 
4192
- this.push(this.source.functionCall(lookup, 'call', helper.callParams));
4424
+ var functionLookupCode = ['(', this.itemsSeparatedBy(possibleFunctionCalls, '||'), ')'];
4425
+ var functionCall = this.source.functionCall(functionLookupCode, 'call', helper.callParams);
4426
+ this.push(functionCall);
4193
4427
  },
4194
4428
 
4429
+ itemsSeparatedBy: function itemsSeparatedBy(items, separator) {
4430
+ var result = [];
4431
+ result.push(items[0]);
4432
+ for (var i = 1; i < items.length; i++) {
4433
+ result.push(separator, items[i]);
4434
+ }
4435
+ return result;
4436
+ },
4195
4437
  // [invokeKnownHelper]
4196
4438
  //
4197
4439
  // On stack, before: hash, inverse, program, params..., ...
@@ -4229,7 +4471,7 @@ return /******/ (function(modules) { // webpackBootstrap
4229
4471
  var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];
4230
4472
  if (!this.options.strict) {
4231
4473
  lookup[0] = '(helper = ';
4232
- lookup.push(' != null ? helper : ', this.aliasable('helpers.helperMissing'));
4474
+ lookup.push(' != null ? helper : ', this.aliasable('container.hooks.helperMissing'));
4233
4475
  }
4234
4476
 
4235
4477
  this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('"function"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);
@@ -4674,7 +4916,7 @@ return /******/ (function(modules) { // webpackBootstrap
4674
4916
  module.exports = exports['default'];
4675
4917
 
4676
4918
  /***/ }),
4677
- /* 43 */
4919
+ /* 45 */
4678
4920
  /***/ (function(module, exports, __webpack_require__) {
4679
4921
 
4680
4922
  /* global define */