occam-custom-grammars 5.0.1228 → 5.0.1229

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.
package/lib/constants.js CHANGED
@@ -12,6 +12,12 @@ _export(exports, {
12
12
  get EMPTY_STRING () {
13
13
  return EMPTY_STRING;
14
14
  },
15
+ get NONSENSE_RULE_NAME () {
16
+ return NONSENSE_RULE_NAME;
17
+ },
18
+ get STUFF_RULE_NAME () {
19
+ return STUFF_RULE_NAME;
20
+ },
15
21
  get UNASSIGNED_TYPE () {
16
22
  return UNASSIGNED_TYPE;
17
23
  },
@@ -25,6 +31,8 @@ _export(exports, {
25
31
  var EMPTY_STRING = "";
26
32
  var VERTICAL_BAR = "|";
27
33
  var UNASSIGNED_TYPE = "unassigned";
34
+ var STUFF_RULE_NAME = "stuff";
35
+ var NONSENSE_RULE_NAME = "nonsense";
28
36
  var UNDERSCORE_CHARACTER = "_";
29
37
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IFZFUlRJQ0FMX0JBUiA9IFwifFwiO1xuZXhwb3J0IGNvbnN0IFVOQVNTSUdORURfVFlQRSA9IFwidW5hc3NpZ25lZFwiO1xuZXhwb3J0IGNvbnN0IFVOREVSU0NPUkVfQ0hBUkFDVEVSID0gXCJfXCI7XG4iXSwibmFtZXMiOlsiRU1QVFlfU1RSSU5HIiwiVU5BU1NJR05FRF9UWVBFIiwiVU5ERVJTQ09SRV9DSEFSQUNURVIiLCJWRVJUSUNBTF9CQVIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQUVhQTtlQUFBQTs7UUFFQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQUZBQztlQUFBQTs7O0FBRE4sSUFBTUgsZUFBZTtBQUNyQixJQUFNRyxlQUFlO0FBQ3JCLElBQU1GLGtCQUFrQjtBQUN4QixJQUFNQyx1QkFBdUIifQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IFZFUlRJQ0FMX0JBUiA9IFwifFwiO1xuZXhwb3J0IGNvbnN0IFVOQVNTSUdORURfVFlQRSA9IFwidW5hc3NpZ25lZFwiO1xuZXhwb3J0IGNvbnN0IFNUVUZGX1JVTEVfTkFNRSA9IFwic3R1ZmZcIjtcbmV4cG9ydCBjb25zdCBOT05TRU5TRV9SVUxFX05BTUUgPSBcIm5vbnNlbnNlXCI7XG5leHBvcnQgY29uc3QgVU5ERVJTQ09SRV9DSEFSQUNURVIgPSBcIl9cIjtcbiJdLCJuYW1lcyI6WyJFTVBUWV9TVFJJTkciLCJOT05TRU5TRV9SVUxFX05BTUUiLCJTVFVGRl9SVUxFX05BTUUiLCJVTkFTU0lHTkVEX1RZUEUiLCJVTkRFUlNDT1JFX0NIQVJBQ1RFUiIsIlZFUlRJQ0FMX0JBUiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBRWFBO2VBQUFBOztRQUlBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBREFDO2VBQUFBOztRQUdBQztlQUFBQTs7UUFKQUM7ZUFBQUE7OztBQUROLElBQU1MLGVBQWU7QUFDckIsSUFBTUssZUFBZTtBQUNyQixJQUFNRixrQkFBa0I7QUFDeEIsSUFBTUQsa0JBQWtCO0FBQ3hCLElBQU1ELHFCQUFxQjtBQUMzQixJQUFNRyx1QkFBdUIifQ==
@@ -12,7 +12,9 @@ var _necessary = require("necessary");
12
12
  var _occamparsers = require("occam-parsers");
13
13
  var _occamgrammarutilities = require("occam-grammar-utilities");
14
14
  var _default = /*#__PURE__*/ _interop_require_default(require("../customGrammar/default"));
15
+ var _bnf = require("../utilities/bnf");
15
16
  var _constants = require("../constants");
17
+ var _ruleNames = require("../ruleNames");
16
18
  var _vocabulary = require("../utilities/vocabulary");
17
19
  var _vocabularyNames = require("../vocabularyNames");
18
20
  function _array_like_to_array(arr, len) {
@@ -116,7 +118,7 @@ var CombinedCustomGrammar = /*#__PURE__*/ function() {
116
118
  _default.default
117
119
  ].concat(_to_consumable_array(customGrammars)); ///
118
120
  }
119
- var rules = rulesFromCustomGrammarsAndDefaultBNF(customGrammars), entries = entriesFromCustomGrammars(customGrammars), combinedCustomGrammar = new CombinedCustomGrammar(rules, entries);
121
+ var rules = rulesFromCustomGrammars(customGrammars), entries = entriesFromCustomGrammars(customGrammars), combinedCustomGrammar = new CombinedCustomGrammar(rules, entries);
120
122
  return combinedCustomGrammar;
121
123
  }
122
124
  },
@@ -129,16 +131,19 @@ var CombinedCustomGrammar = /*#__PURE__*/ function() {
129
131
  _default.default
130
132
  ].concat(_to_consumable_array(customGrammars)); ///
131
133
  }
132
- var rules = rulesFromCustomGrammarsAndDefaultBNF(customGrammars), entries = entriesFromCustomGrammars(customGrammars), combinedCustomGrammar = new CombinedCustomGrammar(rules, entries);
134
+ var rules = rulesFromCustomGrammars(customGrammars), entries = entriesFromCustomGrammars(customGrammars), combinedCustomGrammar = new CombinedCustomGrammar(rules, entries);
133
135
  return combinedCustomGrammar;
134
136
  }
135
137
  }
136
138
  ]);
137
139
  return CombinedCustomGrammar;
138
140
  }();
139
- function rulesFromCustomGrammarsAndDefaultBNF(customGrammars) {
140
- var bnfs = customGrammars.map(function(customGrammar) {
141
- var bnf = customGrammar.getBNF();
141
+ function rulesFromCustomGrammars(customGrammars) {
142
+ var ruleNames = [
143
+ _ruleNames.TERM_RULE_NAME,
144
+ _ruleNames.STATEMENT_RULE_NAME
145
+ ], bnfs = ruleNames.map(function(ruleName) {
146
+ var bnf = bnfFromCustomGrammars(customGrammars, ruleName);
142
147
  return bnf;
143
148
  }), bnf = bnfs.join(_constants.EMPTY_STRING), rules = rulesFromBNF(bnf);
144
149
  combineRules(rules);
@@ -154,6 +159,18 @@ function entriesFromCustomGrammars(customGrammars) {
154
159
  });
155
160
  return entries;
156
161
  }
162
+ function bnfFromCustomGrammars(customGrammars, ruleName) {
163
+ var bnfs = [];
164
+ backwardsForEach(customGrammars, function(customGrammar) {
165
+ var bnf = customGrammar.getBNF(ruleName), customGrammarDefaultCustomGrammar = customGrammar.isDefaultCustomGrammar();
166
+ if (!customGrammarDefaultCustomGrammar) {
167
+ (0, _bnf.validateBNF)(bnf, ruleName);
168
+ }
169
+ bnfs.push(bnf);
170
+ });
171
+ var bnf = bnfs.join(_constants.EMPTY_STRING);
172
+ return bnf;
173
+ }
157
174
  function entryFromCustomGrammars(customGrammars, vocabularyName) {
158
175
  var expressions = [];
159
176
  backwardsForEach(customGrammars, function(customGrammar) {
@@ -188,4 +205,4 @@ function combineRules(rules) {
188
205
  }
189
206
  }
190
207
 
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyL2NvbWJpbmVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmltcG9ydCBkZWZhdWx0Q3VzdG9tR3JhbW1hciBmcm9tIFwiLi4vY3VzdG9tR3JhbW1hci9kZWZhdWx0XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORywgVkVSVElDQUxfQkFSIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdGVWb2NhYnVsYXJ5LCBleHByZXNzaW9uc0Zyb21Wb2NhYnVsYXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy92b2NhYnVsYXJ5XCI7XG5pbXBvcnQgeyBUWVBFX1ZPQ0FCVUxBUllfTkFNRSwgU1lNQk9MX1ZPQ0FCVUxBUllfTkFNRSB9IGZyb20gXCIuLi92b2NhYnVsYXJ5TmFtZXNcIjtcblxuY29uc3QgeyBydWxlc0Zyb21CTkYgfSA9IHBhcnNlclV0aWxpdGllcyxcbiAgICAgIHsgdW5zaGlmdCwgYmFja3dhcmRzRm9yRWFjaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbWJpbmVkQ3VzdG9tR3JhbW1hciB7XG4gIGNvbnN0cnVjdG9yKHJ1bGVzLCBlbnRyaWVzKSB7XG4gICAgdGhpcy5ydWxlcyA9IHJ1bGVzO1xuICAgIHRoaXMuZW50cmllcyA9IGVudHJpZXM7XG4gIH1cbiAgXG4gIGdldFJ1bGVzKCkge1xuICAgIHJldHVybiB0aGlzLnJ1bGVzO1xuICB9XG5cbiAgZ2V0RW50cmllcygpIHtcbiAgICByZXR1cm4gdGhpcy5lbnRyaWVzO1xuICB9XG5cbiAgcG9zdFByb2Nlc3MocnVsZXMpIHtcbiAgICBydWxlcyA9IFsgLy8vXG4gICAgICAuLi5ydWxlcyxcbiAgICAgIC4uLnRoaXMucnVsZXNcbiAgICBdO1xuXG4gICAgcnVsZXMgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHJ1bGVzKTsgIC8vL1xuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKGluY2x1ZGVEZWZhdWx0ID0gdHJ1ZSkge1xuICAgIGxldCBjdXN0b21HcmFtbWFycyA9IFtdO1xuXG4gICAgaWYgKGluY2x1ZGVEZWZhdWx0KSB7XG4gICAgICBjdXN0b21HcmFtbWFycyA9IFsgZGVmYXVsdEN1c3RvbUdyYW1tYXIsIC4uLmN1c3RvbUdyYW1tYXJzIF07IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bGVzID0gcnVsZXNGcm9tQ3VzdG9tR3JhbW1hcnNBbmREZWZhdWx0Qk5GKGN1c3RvbUdyYW1tYXJzKSxcbiAgICAgICAgICBlbnRyaWVzID0gZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gbmV3IENvbWJpbmVkQ3VzdG9tR3JhbW1hcihydWxlcywgZW50cmllcyk7XG5cbiAgICByZXR1cm4gY29tYmluZWRDdXN0b21HcmFtbWFyO1xuICB9XG5cbiAgc3RhdGljIGZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycywgaW5jbHVkZURlZmF1bHQgPSB0cnVlKSB7XG4gICAgaWYgKGluY2x1ZGVEZWZhdWx0KSB7XG4gICAgICBjdXN0b21HcmFtbWFycyA9IFsgZGVmYXVsdEN1c3RvbUdyYW1tYXIsIC4uLmN1c3RvbUdyYW1tYXJzIF07IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bGVzID0gcnVsZXNGcm9tQ3VzdG9tR3JhbW1hcnNBbmREZWZhdWx0Qk5GKGN1c3RvbUdyYW1tYXJzKSxcbiAgICAgICAgICBlbnRyaWVzID0gZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gbmV3IENvbWJpbmVkQ3VzdG9tR3JhbW1hcihydWxlcywgZW50cmllcyk7XG4gICAgXG4gICAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBydWxlc0Zyb21DdXN0b21HcmFtbWFyc0FuZERlZmF1bHRCTkYoY3VzdG9tR3JhbW1hcnMpIHtcbiAgY29uc3QgYm5mcyA9IGN1c3RvbUdyYW1tYXJzLm1hcCgoY3VzdG9tR3JhbW1hcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGJuZiA9IGN1c3RvbUdyYW1tYXIuZ2V0Qk5GKCk7XG5cbiAgICAgICAgICByZXR1cm4gYm5mO1xuICAgICAgICB9KSxcbiAgICAgICAgYm5mID0gYm5mcy5qb2luKEVNUFRZX1NUUklORyksXG4gICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZik7XG5cbiAgY29tYmluZVJ1bGVzKHJ1bGVzKVxuXG4gIHJldHVybiBydWxlcztcbn1cblxuZnVuY3Rpb24gZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycykge1xuICBjb25zdCB2b2NhYnVsYXJ5TmFtZXMgPSBbXG4gICAgICAgICAgVFlQRV9WT0NBQlVMQVJZX05BTUUsXG4gICAgICAgICAgU1lNQk9MX1ZPQ0FCVUxBUllfTkFNRVxuICAgICAgICBdLFxuICAgICAgICBlbnRyaWVzID0gdm9jYWJ1bGFyeU5hbWVzLm1hcCgodm9jYWJ1bGFyeU5hbWUpID0+IHtcbiAgICAgICAgICBjb25zdCBlbnRyeSA9IGVudHJ5RnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzLCB2b2NhYnVsYXJ5TmFtZSk7XG5cbiAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBlbnRyaWVzO1xufVxuXG5mdW5jdGlvbiBlbnRyeUZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycywgdm9jYWJ1bGFyeU5hbWUpIHtcbiAgY29uc3QgZXhwcmVzc2lvbnMgPSBbXTtcblxuICBiYWNrd2FyZHNGb3JFYWNoKGN1c3RvbUdyYW1tYXJzLCAoY3VzdG9tR3JhbW1hcikgPT4ge1xuICAgIGNvbnN0IHZvY2FidWxhcnkgPSBjdXN0b21HcmFtbWFyLmdldFZvY2FidWxhcnkodm9jYWJ1bGFyeU5hbWUpLFxuICAgICAgICAgIGN1c3RvbUdyYW1tYXJEZWZhdWx0Q3VzdG9tR3JhbW1hciA9IGN1c3RvbUdyYW1tYXIuaXNEZWZhdWx0Q3VzdG9tR3JhbW1hcigpO1xuXG4gICAgaWYgKCFjdXN0b21HcmFtbWFyRGVmYXVsdEN1c3RvbUdyYW1tYXIpIHtcbiAgICAgIHZhbGlkYXRlVm9jYWJ1bGFyeSh2b2NhYnVsYXJ5KTtcbiAgICB9XG5cbiAgICBleHByZXNzaW9uc0Zyb21Wb2NhYnVsYXJ5KHZvY2FidWxhcnksIGV4cHJlc3Npb25zKTtcbiAgfSk7XG5cbiAgY29uc3QgcGF0dGVybiA9IGV4cHJlc3Npb25zLmpvaW4oVkVSVElDQUxfQkFSKSxcbiAgICAgICAgZW50cnlOYW1lID0gdm9jYWJ1bGFyeU5hbWUsICAvLy9cbiAgICAgICAgZW50cnlWYWx1ZSA9IGBeKD86JHtwYXR0ZXJufSlgLFxuICAgICAgICBlbnRyeSA9IHtcbiAgICAgICAgICBbZW50cnlOYW1lXTogZW50cnlWYWx1ZVxuICAgICAgICB9O1xuXG4gIHJldHVybiBlbnRyeTtcbn1cblxuZnVuY3Rpb24gY29tYmluZVJ1bGVzKHJ1bGVzKSB7XG4gIGxldCBvdXRlckluZGV4ID0gMCxcbiAgICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcblxuICB3aGlsZSAob3V0ZXJJbmRleCA8IGxlbmd0aCkge1xuICAgIGNvbnN0IG91dGVyUnVsZSA9IHJ1bGVzW291dGVySW5kZXhdLFxuICAgICAgICAgIG91dGVyUnVsZU5hbWUgPSBvdXRlclJ1bGUuZ2V0TmFtZSgpO1xuXG4gICAgbGV0IGlubmVySW5kZXggPSBvdXRlckluZGV4ICsgMTtcblxuICAgIHdoaWxlIChpbm5lckluZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBjb25zdCBpbm5lclJ1bGUgPSBydWxlc1tpbm5lckluZGV4XSxcbiAgICAgICAgICAgIGlubmVyUnVsZU5hbWUgPSBpbm5lclJ1bGUuZ2V0TmFtZSgpO1xuXG4gICAgICBpZiAoaW5uZXJSdWxlTmFtZSA9PT0gb3V0ZXJSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBpbm5lclJ1bGVEZWZpbml0aW9ucyA9IGlubmVyUnVsZS5nZXREZWZpbml0aW9ucygpLFxuICAgICAgICAgICAgICBvdXRlclJ1bGVEZWZpbml0aW9ucyA9IG91dGVyUnVsZS5nZXREZWZpbml0aW9ucygpO1xuXG4gICAgICAgIHVuc2hpZnQob3V0ZXJSdWxlRGVmaW5pdGlvbnMsIGlubmVyUnVsZURlZmluaXRpb25zKTtcblxuICAgICAgICBjb25zdCBzdGFydCA9IGlubmVySW5kZXgsIC8vL1xuICAgICAgICAgICAgICBkZWxldGVDb3VudCA9IDE7XG5cbiAgICAgICAgcnVsZXMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCk7XG5cbiAgICAgICAgbGVuZ3RoID0gcnVsZXMubGVuZ3RoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5uZXJJbmRleCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIG91dGVySW5kZXgrKztcblxuICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInJ1bGVzRnJvbUJORiIsInBhcnNlclV0aWxpdGllcyIsInVuc2hpZnQiLCJhcnJheVV0aWxpdGllcyIsImJhY2t3YXJkc0ZvckVhY2giLCJydWxlcyIsImVudHJpZXMiLCJnZXRSdWxlcyIsImdldEVudHJpZXMiLCJwb3N0UHJvY2VzcyIsImVsaW1pbmF0ZUxlZnRSZWN1cnNpb24iLCJmcm9tTm90aGluZyIsImluY2x1ZGVEZWZhdWx0IiwiY3VzdG9tR3JhbW1hcnMiLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsInJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzQW5kRGVmYXVsdEJORiIsImVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJmcm9tQ3VzdG9tR3JhbW1hcnMiLCJibmZzIiwibWFwIiwiY3VzdG9tR3JhbW1hciIsImJuZiIsImdldEJORiIsImpvaW4iLCJFTVBUWV9TVFJJTkciLCJjb21iaW5lUnVsZXMiLCJ2b2NhYnVsYXJ5TmFtZXMiLCJUWVBFX1ZPQ0FCVUxBUllfTkFNRSIsIlNZTUJPTF9WT0NBQlVMQVJZX05BTUUiLCJ2b2NhYnVsYXJ5TmFtZSIsImVudHJ5IiwiZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMiLCJleHByZXNzaW9ucyIsInZvY2FidWxhcnkiLCJnZXRWb2NhYnVsYXJ5IiwiY3VzdG9tR3JhbW1hckRlZmF1bHRDdXN0b21HcmFtbWFyIiwiaXNEZWZhdWx0Q3VzdG9tR3JhbW1hciIsInZhbGlkYXRlVm9jYWJ1bGFyeSIsImV4cHJlc3Npb25zRnJvbVZvY2FidWxhcnkiLCJwYXR0ZXJuIiwiVkVSVElDQUxfQkFSIiwiZW50cnlOYW1lIiwiZW50cnlWYWx1ZSIsIm91dGVySW5kZXgiLCJsZW5ndGgiLCJvdXRlclJ1bGUiLCJvdXRlclJ1bGVOYW1lIiwiZ2V0TmFtZSIsImlubmVySW5kZXgiLCJpbm5lclJ1bGUiLCJpbm5lclJ1bGVOYW1lIiwiaW5uZXJSdWxlRGVmaW5pdGlvbnMiLCJnZXREZWZpbml0aW9ucyIsIm91dGVyUnVsZURlZmluaXRpb25zIiwic3RhcnQiLCJkZWxldGVDb3VudCIsInNwbGljZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFlcUJBOzs7eUJBYlU7NEJBQ0M7cUNBQ087OERBRU47eUJBRVU7MEJBQ21COytCQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0QsSUFBTSxBQUFFQyxl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
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyL2NvbWJpbmVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmltcG9ydCBkZWZhdWx0Q3VzdG9tR3JhbW1hciBmcm9tIFwiLi4vY3VzdG9tR3JhbW1hci9kZWZhdWx0XCI7XG5cbmltcG9ydCB7IHZhbGlkYXRlQk5GIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ibmZcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORywgVkVSVElDQUxfQkFSIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUsIFNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyB2YWxpZGF0ZVZvY2FidWxhcnksIGV4cHJlc3Npb25zRnJvbVZvY2FidWxhcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZvY2FidWxhcnlcIjtcbmltcG9ydCB7IFRZUEVfVk9DQUJVTEFSWV9OQU1FLCBTWU1CT0xfVk9DQUJVTEFSWV9OQU1FIH0gZnJvbSBcIi4uL3ZvY2FidWxhcnlOYW1lc1wiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiB9ID0gcGFyc2VyVXRpbGl0aWVzLFxuICAgICAgeyB1bnNoaWZ0LCBiYWNrd2FyZHNGb3JFYWNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tYmluZWRDdXN0b21HcmFtbWFyIHtcbiAgY29uc3RydWN0b3IocnVsZXMsIGVudHJpZXMpIHtcbiAgICB0aGlzLnJ1bGVzID0gcnVsZXM7XG4gICAgdGhpcy5lbnRyaWVzID0gZW50cmllcztcbiAgfVxuICBcbiAgZ2V0UnVsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZXM7XG4gIH1cblxuICBnZXRFbnRyaWVzKCkge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXM7XG4gIH1cblxuICBwb3N0UHJvY2VzcyhydWxlcykge1xuICAgIHJ1bGVzID0gWyAvLy9cbiAgICAgIC4uLnJ1bGVzLFxuICAgICAgLi4udGhpcy5ydWxlc1xuICAgIF07XG5cbiAgICBydWxlcyA9IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24ocnVsZXMpOyAgLy8vXG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoaW5jbHVkZURlZmF1bHQgPSB0cnVlKSB7XG4gICAgbGV0IGN1c3RvbUdyYW1tYXJzID0gW107XG5cbiAgICBpZiAoaW5jbHVkZURlZmF1bHQpIHtcbiAgICAgIGN1c3RvbUdyYW1tYXJzID0gWyBkZWZhdWx0Q3VzdG9tR3JhbW1hciwgLi4uY3VzdG9tR3JhbW1hcnMgXTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpLFxuICAgICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IG5ldyBDb21iaW5lZEN1c3RvbUdyYW1tYXIocnVsZXMsIGVudHJpZXMpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIGluY2x1ZGVEZWZhdWx0ID0gdHJ1ZSkge1xuICAgIGlmIChpbmNsdWRlRGVmYXVsdCkge1xuICAgICAgY3VzdG9tR3JhbW1hcnMgPSBbIGRlZmF1bHRDdXN0b21HcmFtbWFyLCAuLi5jdXN0b21HcmFtbWFycyBdOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzKSxcbiAgICAgICAgICBlbnRyaWVzID0gZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gbmV3IENvbWJpbmVkQ3VzdG9tR3JhbW1hcihydWxlcywgZW50cmllcyk7XG4gICAgXG4gICAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBydWxlc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycykge1xuICBjb25zdCBydWxlTmFtZXMgPSBbXG4gICAgICAgICAgVEVSTV9SVUxFX05BTUUsXG4gICAgICAgICAgU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgXSxcbiAgICAgICAgYm5mcyA9IHJ1bGVOYW1lcy5tYXAoKHJ1bGVOYW1lKSA9PiB7XG4gICAgICAgICAgY29uc3QgYm5mID0gYm5mRnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzLCBydWxlTmFtZSk7XG5cbiAgICAgICAgICByZXR1cm4gYm5mO1xuICAgICAgICB9KSxcbiAgICAgICAgYm5mID0gYm5mcy5qb2luKEVNUFRZX1NUUklORyksXG4gICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZik7XG5cbiAgY29tYmluZVJ1bGVzKHJ1bGVzKVxuXG4gIHJldHVybiBydWxlcztcbn1cblxuZnVuY3Rpb24gZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycykge1xuICBjb25zdCB2b2NhYnVsYXJ5TmFtZXMgPSBbXG4gICAgICAgICAgVFlQRV9WT0NBQlVMQVJZX05BTUUsXG4gICAgICAgICAgU1lNQk9MX1ZPQ0FCVUxBUllfTkFNRVxuICAgICAgICBdLFxuICAgICAgICBlbnRyaWVzID0gdm9jYWJ1bGFyeU5hbWVzLm1hcCgodm9jYWJ1bGFyeU5hbWUpID0+IHtcbiAgICAgICAgICBjb25zdCBlbnRyeSA9IGVudHJ5RnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzLCB2b2NhYnVsYXJ5TmFtZSk7XG5cbiAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBlbnRyaWVzO1xufVxuXG5mdW5jdGlvbiBibmZGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHJ1bGVOYW1lKSB7XG4gIGNvbnN0IGJuZnMgPSBbXTtcblxuICBiYWNrd2FyZHNGb3JFYWNoKGN1c3RvbUdyYW1tYXJzLCAoY3VzdG9tR3JhbW1hcikgPT4ge1xuICAgIGNvbnN0IGJuZiA9IGN1c3RvbUdyYW1tYXIuZ2V0Qk5GKHJ1bGVOYW1lKSxcbiAgICAgICAgICBjdXN0b21HcmFtbWFyRGVmYXVsdEN1c3RvbUdyYW1tYXIgPSBjdXN0b21HcmFtbWFyLmlzRGVmYXVsdEN1c3RvbUdyYW1tYXIoKTtcblxuICAgIGlmICghY3VzdG9tR3JhbW1hckRlZmF1bHRDdXN0b21HcmFtbWFyKSB7XG4gICAgICB2YWxpZGF0ZUJORihibmYsIHJ1bGVOYW1lKTtcbiAgICB9XG5cbiAgICBibmZzLnB1c2goYm5mKTtcbiAgfSk7XG5cbiAgY29uc3QgYm5mID0gYm5mcy5qb2luKEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIGJuZjtcbn1cblxuZnVuY3Rpb24gZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHZvY2FidWxhcnlOYW1lKSB7XG4gIGNvbnN0IGV4cHJlc3Npb25zID0gW107XG5cbiAgYmFja3dhcmRzRm9yRWFjaChjdXN0b21HcmFtbWFycywgKGN1c3RvbUdyYW1tYXIpID0+IHtcbiAgICBjb25zdCB2b2NhYnVsYXJ5ID0gY3VzdG9tR3JhbW1hci5nZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lKSxcbiAgICAgICAgICBjdXN0b21HcmFtbWFyRGVmYXVsdEN1c3RvbUdyYW1tYXIgPSBjdXN0b21HcmFtbWFyLmlzRGVmYXVsdEN1c3RvbUdyYW1tYXIoKTtcblxuICAgIGlmICghY3VzdG9tR3JhbW1hckRlZmF1bHRDdXN0b21HcmFtbWFyKSB7XG4gICAgICB2YWxpZGF0ZVZvY2FidWxhcnkodm9jYWJ1bGFyeSk7XG4gICAgfVxuXG4gICAgZXhwcmVzc2lvbnNGcm9tVm9jYWJ1bGFyeSh2b2NhYnVsYXJ5LCBleHByZXNzaW9ucyk7XG4gIH0pO1xuXG4gIGNvbnN0IHBhdHRlcm4gPSBleHByZXNzaW9ucy5qb2luKFZFUlRJQ0FMX0JBUiksXG4gICAgICAgIGVudHJ5TmFtZSA9IHZvY2FidWxhcnlOYW1lLCAgLy8vXG4gICAgICAgIGVudHJ5VmFsdWUgPSBgXig/OiR7cGF0dGVybn0pYCxcbiAgICAgICAgZW50cnkgPSB7XG4gICAgICAgICAgW2VudHJ5TmFtZV06IGVudHJ5VmFsdWVcbiAgICAgICAgfTtcblxuICByZXR1cm4gZW50cnk7XG59XG5cbmZ1bmN0aW9uIGNvbWJpbmVSdWxlcyhydWxlcykge1xuICBsZXQgb3V0ZXJJbmRleCA9IDAsXG4gICAgICBsZW5ndGggPSBydWxlcy5sZW5ndGg7XG5cbiAgd2hpbGUgKG91dGVySW5kZXggPCBsZW5ndGgpIHtcbiAgICBjb25zdCBvdXRlclJ1bGUgPSBydWxlc1tvdXRlckluZGV4XSxcbiAgICAgICAgICBvdXRlclJ1bGVOYW1lID0gb3V0ZXJSdWxlLmdldE5hbWUoKTtcblxuICAgIGxldCBpbm5lckluZGV4ID0gb3V0ZXJJbmRleCArIDE7XG5cbiAgICB3aGlsZSAoaW5uZXJJbmRleCA8IGxlbmd0aCkge1xuICAgICAgY29uc3QgaW5uZXJSdWxlID0gcnVsZXNbaW5uZXJJbmRleF0sXG4gICAgICAgICAgICBpbm5lclJ1bGVOYW1lID0gaW5uZXJSdWxlLmdldE5hbWUoKTtcblxuICAgICAgaWYgKGlubmVyUnVsZU5hbWUgPT09IG91dGVyUnVsZU5hbWUpIHtcbiAgICAgICAgY29uc3QgaW5uZXJSdWxlRGVmaW5pdGlvbnMgPSBpbm5lclJ1bGUuZ2V0RGVmaW5pdGlvbnMoKSxcbiAgICAgICAgICAgICAgb3V0ZXJSdWxlRGVmaW5pdGlvbnMgPSBvdXRlclJ1bGUuZ2V0RGVmaW5pdGlvbnMoKTtcblxuICAgICAgICB1bnNoaWZ0KG91dGVyUnVsZURlZmluaXRpb25zLCBpbm5lclJ1bGVEZWZpbml0aW9ucyk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnQgPSBpbm5lckluZGV4LCAvLy9cbiAgICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgICAgIHJ1bGVzLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpO1xuXG4gICAgICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlubmVySW5kZXgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvdXRlckluZGV4Kys7XG5cbiAgICBsZW5ndGggPSBydWxlcy5sZW5ndGg7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJ1bnNoaWZ0IiwiYXJyYXlVdGlsaXRpZXMiLCJiYWNrd2FyZHNGb3JFYWNoIiwicnVsZXMiLCJlbnRyaWVzIiwiZ2V0UnVsZXMiLCJnZXRFbnRyaWVzIiwicG9zdFByb2Nlc3MiLCJlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIiwiZnJvbU5vdGhpbmciLCJpbmNsdWRlRGVmYXVsdCIsImN1c3RvbUdyYW1tYXJzIiwiZGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJydWxlc0Zyb21DdXN0b21HcmFtbWFycyIsImVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJmcm9tQ3VzdG9tR3JhbW1hcnMiLCJydWxlTmFtZXMiLCJURVJNX1JVTEVfTkFNRSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJibmZzIiwibWFwIiwicnVsZU5hbWUiLCJibmYiLCJibmZGcm9tQ3VzdG9tR3JhbW1hcnMiLCJqb2luIiwiRU1QVFlfU1RSSU5HIiwiY29tYmluZVJ1bGVzIiwidm9jYWJ1bGFyeU5hbWVzIiwiVFlQRV9WT0NBQlVMQVJZX05BTUUiLCJTWU1CT0xfVk9DQUJVTEFSWV9OQU1FIiwidm9jYWJ1bGFyeU5hbWUiLCJlbnRyeSIsImVudHJ5RnJvbUN1c3RvbUdyYW1tYXJzIiwiY3VzdG9tR3JhbW1hciIsImdldEJORiIsImN1c3RvbUdyYW1tYXJEZWZhdWx0Q3VzdG9tR3JhbW1hciIsImlzRGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJ2YWxpZGF0ZUJORiIsInB1c2giLCJleHByZXNzaW9ucyIsInZvY2FidWxhcnkiLCJnZXRWb2NhYnVsYXJ5IiwidmFsaWRhdGVWb2NhYnVsYXJ5IiwiZXhwcmVzc2lvbnNGcm9tVm9jYWJ1bGFyeSIsInBhdHRlcm4iLCJWRVJUSUNBTF9CQVIiLCJlbnRyeU5hbWUiLCJlbnRyeVZhbHVlIiwib3V0ZXJJbmRleCIsImxlbmd0aCIsIm91dGVyUnVsZSIsIm91dGVyUnVsZU5hbWUiLCJnZXROYW1lIiwiaW5uZXJJbmRleCIsImlubmVyUnVsZSIsImlubmVyUnVsZU5hbWUiLCJpbm5lclJ1bGVEZWZpbml0aW9ucyIsImdldERlZmluaXRpb25zIiwib3V0ZXJSdWxlRGVmaW5pdGlvbnMiLCJzdGFydCIsImRlbGV0ZUNvdW50Iiwic3BsaWNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWlCcUJBOzs7eUJBZlU7NEJBQ0M7cUNBQ087OERBRU47bUJBRUw7eUJBQ2U7eUJBQ1M7MEJBQ1U7K0JBQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3RCxJQUFNLEFBQUVDLGVBQWlCQyw2QkFBZSxDQUFoQ0QsY0FDQUUsVUFBOEJDLHlCQUFjLENBQTVDRCxTQUFTRSxtQkFBcUJELHlCQUFjLENBQW5DQztBQUVGLElBQUEsQUFBTUwsc0NBQU47YUFBTUEsc0JBQ1BNLEtBQUssRUFBRUMsT0FBTztnQ0FEUFA7UUFFakIsSUFBSSxD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
@@ -73,9 +73,7 @@ var CustomGrammar = /*#__PURE__*/ function() {
73
73
  },
74
74
  {
75
75
  key: "getBNF",
76
- value: function getBNF() {
77
- var _this = this;
78
- var ruleName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
76
+ value: function getBNF(ruleName) {
79
77
  var bnf;
80
78
  switch(ruleName){
81
79
  case _ruleNames.TERM_RULE_NAME:
@@ -84,21 +82,6 @@ var CustomGrammar = /*#__PURE__*/ function() {
84
82
  case _ruleNames.STATEMENT_RULE_NAME:
85
83
  bnf = this.statementBNF;
86
84
  break;
87
- default:
88
- {
89
- var ruleNames = [
90
- _ruleNames.TERM_RULE_NAME,
91
- _ruleNames.STATEMENT_RULE_NAME
92
- ], combinedBNF = ruleNames.reduce(function(combinedBNF, ruleName) {
93
- var bnf = _this.getBNF(ruleName);
94
- if (bnf !== _constants.EMPTY_STRING) {
95
- combinedBNF = "".concat(combinedBNF, "\n \n").concat(bnf);
96
- }
97
- return combinedBNF;
98
- }, _constants.EMPTY_STRING);
99
- bnf = combinedBNF; ///
100
- break;
101
- }
102
85
  }
103
86
  return bnf;
104
87
  }
@@ -227,4 +210,4 @@ var CustomGrammar = /*#__PURE__*/ function() {
227
210
  return CustomGrammar;
228
211
  }();
229
212
 
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jdXN0b21HcmFtbWFyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IERFRkFVTFRfQ1VTVE9NX0dSQU1NQVJfTkFNRSB9IGZyb20gXCIuL2dyYW1tYXJOYW1lc1wiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUsIFNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IFRZUEVfVk9DQUJVTEFSWV9OQU1FLCBTWU1CT0xfVk9DQUJVTEFSWV9OQU1FIH0gZnJvbSBcIi4vdm9jYWJ1bGFyeU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEN1c3RvbUdyYW1tYXIge1xuICBjb25zdHJ1Y3RvcihuYW1lLCB0ZXJtQk5GLCBzdGF0ZW1lbnRCTkYsIHR5cGVWb2NhYnVsYXJ5LCBzeW1ib2xWb2NhYnVsYXJ5KSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnRlcm1CTkYgPSB0ZXJtQk5GO1xuICAgIHRoaXMuc3RhdGVtZW50Qk5GID0gc3RhdGVtZW50Qk5GO1xuICAgIHRoaXMudHlwZVZvY2FidWxhcnkgPSB0eXBlVm9jYWJ1bGFyeTtcbiAgICB0aGlzLnN5bWJvbFZvY2FidWxhcnkgPSBzeW1ib2xWb2NhYnVsYXJ5O1xuICB9XG4gIFxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRUZXJtQk5GKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm1CTkY7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnRCTkYoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Qk5GO1xuICB9XG5cbiAgZ2V0VHlwZVZvY2FidWxhcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZVZvY2FidWxhcnk7XG4gIH1cblxuICBnZXRTeW1ib2xWb2NhYnVsYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbFZvY2FidWxhcnk7XG4gIH1cblxuICBnZXRCTkYocnVsZU5hbWUgPSBudWxsKSB7XG4gICAgbGV0IGJuZjtcblxuICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6IGJuZiA9IHRoaXMudGVybUJORjsgYnJlYWs7XG4gICAgICBjYXNlIFNUQVRFTUVOVF9SVUxFX05BTUU6IGJuZiA9IHRoaXMuc3RhdGVtZW50Qk5GOyBicmVhaztcblxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBjb25zdCBydWxlTmFtZXMgPSBbXG4gICAgICAgICAgICAgICAgVEVSTV9SVUxFX05BTUUsXG4gICAgICAgICAgICAgICAgU1RBVEVNRU5UX1JVTEVfTkFNRVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBjb21iaW5lZEJORiA9IHJ1bGVOYW1lcy5yZWR1Y2UoKGNvbWJpbmVkQk5GLCBydWxlTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJuZiA9IHRoaXMuZ2V0Qk5GKHJ1bGVOYW1lKTtcblxuICAgICAgICAgICAgICAgIGlmIChibmYgIT09IEVNUFRZX1NUUklORykge1xuICAgICAgICAgICAgICAgICAgY29tYmluZWRCTkYgPSBgJHtjb21iaW5lZEJORn1cbiAgICAgICAgICAgIFxuJHtibmZ9YDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZWRCTkY7XG4gICAgICAgICAgICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgICAgICAgYm5mID0gY29tYmluZWRCTkY7ICAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYm5mO1xuICB9XG5cbiAgZ2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSkge1xuICAgIGxldCB2b2NhYnVsYXJ5O1xuXG4gICAgc3dpdGNoICh2b2NhYnVsYXJ5TmFtZSkge1xuICAgICAgY2FzZSBUWVBFX1ZPQ0FCVUxBUllfTkFNRTogdm9jYWJ1bGFyeSA9IHRoaXMudHlwZVZvY2FidWxhcnk7IGJyZWFrO1xuICAgICAgY2FzZSBTWU1CT0xfVk9DQUJVTEFSWV9OQU1FOiB2b2NhYnVsYXJ5ID0gdGhpcy5zeW1ib2xWb2NhYnVsYXJ5OyBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gdm9jYWJ1bGFyeTtcbiAgfVxuXG4gIGdldFZvY2FidWxhcmllcygpIHtcbiAgICBjb25zdCB2b2NhYnVsYXJpZXMgPSBbXG4gICAgICB0aGlzLnR5cGVWb2NhYnVsYXJ5LFxuICAgICAgdGhpcy5zeW1ib2xWb2NhYnVsYXJ5XG4gICAgXTtcblxuICAgIHJldHVybiB2b2NhYnVsYXJpZXM7XG4gIH1cblxuICBpc0RlZmF1bHRDdXN0b21HcmFtbWFyKCkge1xuICAgIGNvbnN0IGRlZmF1bHRDdXN0b21HcmFtbWFyID0gKHRoaXMubmFtZSA9PT0gREVGQVVMVF9DVVNUT01fR1JBTU1BUl9OQU1FKTtcblxuICAgIHJldHVybiBkZWZhdWx0Q3VzdG9tR3JhbW1hcjtcbiAgfVxuXG4gIHNldE5hbWUobmFtZSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBzZXRCTkYocnVsZU5hbWUsIGJuZikge1xuICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6XG4gICAgICAgIHRoaXMudGVybUJORiA9IGJuZjtcblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTVEFURU1FTlRfUlVMRV9OQU1FOlxuICAgICAgICB0aGlzLnN0YXRlbWVudEJORiA9IGJuZjtcblxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBzZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lLCB2b2NhYnVsYXJ5KSB7XG4gICAgc3dpdGNoICh2b2NhYnVsYXJ5TmFtZSkge1xuICAgICAgY2FzZSBUWVBFX1ZPQ0FCVUxBUllfTkFNRTpcbiAgICAgICAgdGhpcy50eXBlVm9jYWJ1bGFyeSA9IHZvY2FidWxhcnk7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU1lNQk9MX1ZPQ0FCVUxBUllfTkFNRTpcbiAgICAgICAgdGhpcy5zeW1ib2xWb2NhYnVsYXJ5ID0gdm9jYWJ1bGFyeTtcblxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXNldEJORihydWxlTmFtZSkge1xuICAgIGNvbnN0IGJuZiA9IEVNUFRZX1NUUklORztcblxuICAgIHRoaXMuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuICB9XG5cbiAgcmVzZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lKSB7XG4gICAgY29uc3Qgdm9jYWJ1bGFyeSA9IEVNUFRZX1NUUklORztcblxuICAgIHRoaXMuc2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSk7XG4gIH1cblxuICB1cGRhdGUocnVsZU5hbWUsIGJuZiwgdm9jYWJ1bGFyeU5hbWUsIHZvY2FidWxhcnkpIHtcbiAgICB0aGlzLnNldEJORihydWxlTmFtZSwgYm5mKTtcblxuICAgIHRoaXMuc2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZSxcbiAgICAgICAgICB0ZXJtQk5GID0gdGhpcy50ZXJtQk5GLFxuICAgICAgICAgIHN0YXRlbWVudEJORiA9IHRoaXMuc3RhdGVtZW50Qk5GLFxuICAgICAgICAgIHR5cGVWb2NhYnVsYXJ5ID0gdGhpcy50eXBlVm9jYWJ1bGFyeSxcbiAgICAgICAgICBzeW1ib2xWb2NhYnVsYXJ5ID0gdGhpcy5zeW1ib2xWb2NhYnVsYXJ5LFxuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdGVybUJORixcbiAgICAgICAgICAgIHN0YXRlbWVudEJORixcbiAgICAgICAgICAgIHR5cGVWb2NhYnVsYXJ5LFxuICAgICAgICAgICAgc3ltYm9sVm9jYWJ1bGFyeVxuICAgICAgICAgIH07XG4gICAgXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IHsgbmFtZSwgdGVybUJORiwgc3RhdGVtZW50Qk5GLCB0eXBlVm9jYWJ1bGFyeSwgc3ltYm9sVm9jYWJ1bGFyeSB9ID0ganNvbixcbiAgICAgICAgICBjdXN0b21HcmFtbWFyID0gbmV3IEN1c3RvbUdyYW1tYXIobmFtZSwgdGVybUJORiwgc3RhdGVtZW50Qk5GLCB0eXBlVm9jYWJ1bGFyeSwgc3ltYm9sVm9jYWJ1bGFyeSk7XG5cbiAgICByZXR1cm4gY3VzdG9tR3JhbW1hcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTmFtZShuYW1lKSB7XG4gICAgY29uc3QgdGVybUJORiA9IEVNUFRZX1NUUklORyxcbiAgICAgICAgICBzdGF0ZW1lbnRCTkYgPSBFTVBUWV9TVFJJTkcsXG4gICAgICAgICAgdHlwZVZvY2FidWxhcnkgPSBFTVBUWV9TVFJJTkcsXG4gICAgICAgICAgc3ltYm9sVm9jYWJ1bGFyeSA9IEVNUFRZX1NUUklORyxcbiAgICAgICAgICBjdXN0b21HcmFtbWFyID0gbmV3IEN1c3RvbUdyYW1tYXIobmFtZSwgdGVybUJORiwgc3RhdGVtZW50Qk5GLCB0eXBlVm9jYWJ1bGFyeSwgc3ltYm9sVm9jYWJ1bGFyeSk7XG5cbiAgICByZXR1cm4gY3VzdG9tR3JhbW1hcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTmFtZVRlcm1CTkZTdGF0ZW1lbnRCTkZUeXBlVm9jYWJ1bGFyeUFuZFN5bWJvbFZvY2FidWxhcnkobmFtZSwgdGVybUJORiwgc3RhdGVtZW50Qk5GLCB0eXBlVm9jYWJ1bGFyeSwgc3ltYm9sVm9jYWJ1bGFyeSkge1xuICAgIGNvbnN0IGN1c3RvbUdyYW1tYXIgPSBuZXcgQ3VzdG9tR3JhbW1hcihuYW1lLCB0ZXJtQk5GLCBzdGF0ZW1lbnRCTkYsIHR5cGVWb2NhYnVsYXJ5LCBzeW1ib2xWb2NhYnVsYXJ5KTtcblxuICAgIHJldHVybiBjdXN0b21HcmFtbWFyO1xuICB9XG59XG4iXSwibmFtZXMiOlsiQ3VzdG9tR3JhbW1hciIsIm5hbWUiLCJ0ZXJtQk5GIiwic3RhdGVtZW50Qk5GIiwidHlwZVZvY2FidWxhcnkiLCJzeW1ib2xWb2NhYnVsYXJ5IiwiZ2V0TmFtZSIsImdldFRlcm1CTkYiLCJnZXRTdGF0ZW1lbnRCTkYiLCJnZXRUeXBlVm9jYWJ1bGFyeSIsImdldFN5bWJvbFZvY2FidWxhcnkiLCJnZXRCTkYiLCJydWxlTmFtZSIsImJuZiIsIlRFUk1fUlVMRV9OQU1FIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsInJ1bGVOYW1lcyIsImNvbWJpbmVkQk5GIiwicmVkdWNlIiwiRU1QVFlfU1RSSU5HIiwiZ2V0Vm9jYWJ1bGFyeSIsInZvY2FidWxhcnlOYW1lIiwidm9jYWJ1bGFyeSIsIlRZUEVfVk9DQUJVTEFSWV9OQU1FIiwiU1lNQk9MX1ZPQ0FCVUxBUllfTkFNRSIsImdldFZvY2FidWxhcmllcyIsInZvY2FidWxhcmllcyIsImlzRGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsIkRFRkFVTFRfQ1VTVE9NX0dSQU1NQVJfTkFNRSIsInNldE5hbWUiLCJzZXRCTkYiLCJzZXRWb2NhYnVsYXJ5IiwicmVzZXRCTkYiLCJyZXNldFZvY2FidWxhcnkiLCJ1cGRhdGUiLCJ0b0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJjdXN0b21HcmFtbWFyIiwiZnJvbU5hbWUiLCJmcm9tTmFtZVRlcm1CTkZTdGF0ZW1lbnRCTkZUeXBlVm9jYWJ1bGFyeUFuZFN5bWJvbFZvY2FidWxhcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBT3FCQTs7O3lCQUxROzRCQUNlO3lCQUNROytCQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5QyxJQUFBLEFBQU1BLDhCQUFOO2FBQU1BLGNBQ1BDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxZQUFZLEVBQUVDLGNBQWMsRUFBRUMsZ0JBQWdCO2dDQUR0REw7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
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jdXN0b21HcmFtbWFyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IERFRkFVTFRfQ1VTVE9NX0dSQU1NQVJfTkFNRSB9IGZyb20gXCIuL2dyYW1tYXJOYW1lc1wiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUsIFNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IFRZUEVfVk9DQUJVTEFSWV9OQU1FLCBTWU1CT0xfVk9DQUJVTEFSWV9OQU1FIH0gZnJvbSBcIi4vdm9jYWJ1bGFyeU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEN1c3RvbUdyYW1tYXIge1xuICBjb25zdHJ1Y3RvcihuYW1lLCB0ZXJtQk5GLCBzdGF0ZW1lbnRCTkYsIHR5cGVWb2NhYnVsYXJ5LCBzeW1ib2xWb2NhYnVsYXJ5KSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnRlcm1CTkYgPSB0ZXJtQk5GO1xuICAgIHRoaXMuc3RhdGVtZW50Qk5GID0gc3RhdGVtZW50Qk5GO1xuICAgIHRoaXMudHlwZVZvY2FidWxhcnkgPSB0eXBlVm9jYWJ1bGFyeTtcbiAgICB0aGlzLnN5bWJvbFZvY2FidWxhcnkgPSBzeW1ib2xWb2NhYnVsYXJ5O1xuICB9XG4gIFxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRUZXJtQk5GKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm1CTkY7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnRCTkYoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Qk5GO1xuICB9XG5cbiAgZ2V0VHlwZVZvY2FidWxhcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZVZvY2FidWxhcnk7XG4gIH1cblxuICBnZXRTeW1ib2xWb2NhYnVsYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbFZvY2FidWxhcnk7XG4gIH1cblxuICBnZXRCTkYocnVsZU5hbWUpIHtcbiAgICBsZXQgYm5mO1xuXG4gICAgc3dpdGNoIChydWxlTmFtZSkge1xuICAgICAgY2FzZSBURVJNX1JVTEVfTkFNRTogYm5mID0gdGhpcy50ZXJtQk5GOyBicmVhaztcbiAgICAgIGNhc2UgU1RBVEVNRU5UX1JVTEVfTkFNRTogYm5mID0gdGhpcy5zdGF0ZW1lbnRCTkY7IGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBibmY7XG4gIH1cblxuICBnZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lKSB7XG4gICAgbGV0IHZvY2FidWxhcnk7XG5cbiAgICBzd2l0Y2ggKHZvY2FidWxhcnlOYW1lKSB7XG4gICAgICBjYXNlIFRZUEVfVk9DQUJVTEFSWV9OQU1FOiB2b2NhYnVsYXJ5ID0gdGhpcy50eXBlVm9jYWJ1bGFyeTsgYnJlYWs7XG4gICAgICBjYXNlIFNZTUJPTF9WT0NBQlVMQVJZX05BTUU6IHZvY2FidWxhcnkgPSB0aGlzLnN5bWJvbFZvY2FidWxhcnk7IGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiB2b2NhYnVsYXJ5O1xuICB9XG5cbiAgZ2V0Vm9jYWJ1bGFyaWVzKCkge1xuICAgIGNvbnN0IHZvY2FidWxhcmllcyA9IFtcbiAgICAgIHRoaXMudHlwZVZvY2FidWxhcnksXG4gICAgICB0aGlzLnN5bWJvbFZvY2FidWxhcnlcbiAgICBdO1xuXG4gICAgcmV0dXJuIHZvY2FidWxhcmllcztcbiAgfVxuXG4gIGlzRGVmYXVsdEN1c3RvbUdyYW1tYXIoKSB7XG4gICAgY29uc3QgZGVmYXVsdEN1c3RvbUdyYW1tYXIgPSAodGhpcy5uYW1lID09PSBERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUpO1xuXG4gICAgcmV0dXJuIGRlZmF1bHRDdXN0b21HcmFtbWFyO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxuXG4gIHNldEJORihydWxlTmFtZSwgYm5mKSB7XG4gICAgc3dpdGNoIChydWxlTmFtZSkge1xuICAgICAgY2FzZSBURVJNX1JVTEVfTkFNRTpcbiAgICAgICAgdGhpcy50ZXJtQk5GID0gYm5mO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNUQVRFTUVOVF9SVUxFX05BTUU6XG4gICAgICAgIHRoaXMuc3RhdGVtZW50Qk5GID0gYm5mO1xuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHNldFZvY2FidWxhcnkodm9jYWJ1bGFyeU5hbWUsIHZvY2FidWxhcnkpIHtcbiAgICBzd2l0Y2ggKHZvY2FidWxhcnlOYW1lKSB7XG4gICAgICBjYXNlIFRZUEVfVk9DQUJVTEFSWV9OQU1FOlxuICAgICAgICB0aGlzLnR5cGVWb2NhYnVsYXJ5ID0gdm9jYWJ1bGFyeTtcblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTWU1CT0xfVk9DQUJVTEFSWV9OQU1FOlxuICAgICAgICB0aGlzLnN5bWJvbFZvY2FidWxhcnkgPSB2b2NhYnVsYXJ5O1xuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0Qk5GKHJ1bGVOYW1lKSB7XG4gICAgY29uc3QgYm5mID0gRU1QVFlfU1RSSU5HO1xuXG4gICAgdGhpcy5zZXRCTkYocnVsZU5hbWUsIGJuZik7XG4gIH1cblxuICByZXNldFZvY2FidWxhcnkodm9jYWJ1bGFyeU5hbWUpIHtcbiAgICBjb25zdCB2b2NhYnVsYXJ5ID0gRU1QVFlfU1RSSU5HO1xuXG4gICAgdGhpcy5zZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lLCB2b2NhYnVsYXJ5KTtcbiAgfVxuXG4gIHVwZGF0ZShydWxlTmFtZSwgYm5mLCB2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSkge1xuICAgIHRoaXMuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgdGhpcy5zZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lLCB2b2NhYnVsYXJ5KTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lLFxuICAgICAgICAgIHRlcm1CTkYgPSB0aGlzLnRlcm1CTkYsXG4gICAgICAgICAgc3RhdGVtZW50Qk5GID0gdGhpcy5zdGF0ZW1lbnRCTkYsXG4gICAgICAgICAgdHlwZVZvY2FidWxhcnkgPSB0aGlzLnR5cGVWb2NhYnVsYXJ5LFxuICAgICAgICAgIHN5bWJvbFZvY2FidWxhcnkgPSB0aGlzLnN5bWJvbFZvY2FidWxhcnksXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICB0ZXJtQk5GLFxuICAgICAgICAgICAgc3RhdGVtZW50Qk5GLFxuICAgICAgICAgICAgdHlwZVZvY2FidWxhcnksXG4gICAgICAgICAgICBzeW1ib2xWb2NhYnVsYXJ5XG4gICAgICAgICAgfTtcbiAgICBcbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgeyBuYW1lLCB0ZXJtQk5GLCBzdGF0ZW1lbnRCTkYsIHR5cGVWb2NhYnVsYXJ5LCBzeW1ib2xWb2NhYnVsYXJ5IH0gPSBqc29uLFxuICAgICAgICAgIGN1c3RvbUdyYW1tYXIgPSBuZXcgQ3VzdG9tR3JhbW1hcihuYW1lLCB0ZXJtQk5GLCBzdGF0ZW1lbnRCTkYsIHR5cGVWb2NhYnVsYXJ5LCBzeW1ib2xWb2NhYnVsYXJ5KTtcblxuICAgIHJldHVybiBjdXN0b21HcmFtbWFyO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lKG5hbWUpIHtcbiAgICBjb25zdCB0ZXJtQk5GID0gRU1QVFlfU1RSSU5HLFxuICAgICAgICAgIHN0YXRlbWVudEJORiA9IEVNUFRZX1NUUklORyxcbiAgICAgICAgICB0eXBlVm9jYWJ1bGFyeSA9IEVNUFRZX1NUUklORyxcbiAgICAgICAgICBzeW1ib2xWb2NhYnVsYXJ5ID0gRU1QVFlfU1RSSU5HLFxuICAgICAgICAgIGN1c3RvbUdyYW1tYXIgPSBuZXcgQ3VzdG9tR3JhbW1hcihuYW1lLCB0ZXJtQk5GLCBzdGF0ZW1lbnRCTkYsIHR5cGVWb2NhYnVsYXJ5LCBzeW1ib2xWb2NhYnVsYXJ5KTtcblxuICAgIHJldHVybiBjdXN0b21HcmFtbWFyO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lVGVybUJORlN0YXRlbWVudEJORlR5cGVWb2NhYnVsYXJ5QW5kU3ltYm9sVm9jYWJ1bGFyeShuYW1lLCB0ZXJtQk5GLCBzdGF0ZW1lbnRCTkYsIHR5cGVWb2NhYnVsYXJ5LCBzeW1ib2xWb2NhYnVsYXJ5KSB7XG4gICAgY29uc3QgY3VzdG9tR3JhbW1hciA9IG5ldyBDdXN0b21HcmFtbWFyKG5hbWUsIHRlcm1CTkYsIHN0YXRlbWVudEJORiwgdHlwZVZvY2FidWxhcnksIHN5bWJvbFZvY2FidWxhcnkpO1xuXG4gICAgcmV0dXJuIGN1c3RvbUdyYW1tYXI7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDdXN0b21HcmFtbWFyIiwibmFtZSIsInRlcm1CTkYiLCJzdGF0ZW1lbnRCTkYiLCJ0eXBlVm9jYWJ1bGFyeSIsInN5bWJvbFZvY2FidWxhcnkiLCJnZXROYW1lIiwiZ2V0VGVybUJORiIsImdldFN0YXRlbWVudEJORiIsImdldFR5cGVWb2NhYnVsYXJ5IiwiZ2V0U3ltYm9sVm9jYWJ1bGFyeSIsImdldEJORiIsInJ1bGVOYW1lIiwiYm5mIiwiVEVSTV9SVUxFX05BTUUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwiZ2V0Vm9jYWJ1bGFyeSIsInZvY2FidWxhcnlOYW1lIiwidm9jYWJ1bGFyeSIsIlRZUEVfVk9DQUJVTEFSWV9OQU1FIiwiU1lNQk9MX1ZPQ0FCVUxBUllfTkFNRSIsImdldFZvY2FidWxhcmllcyIsInZvY2FidWxhcmllcyIsImlzRGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsIkRFRkFVTFRfQ1VTVE9NX0dSQU1NQVJfTkFNRSIsInNldE5hbWUiLCJzZXRCTkYiLCJzZXRWb2NhYnVsYXJ5IiwicmVzZXRCTkYiLCJFTVBUWV9TVFJJTkciLCJyZXNldFZvY2FidWxhcnkiLCJ1cGRhdGUiLCJ0b0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJjdXN0b21HcmFtbWFyIiwiZnJvbU5hbWUiLCJmcm9tTmFtZVRlcm1CTkZTdGF0ZW1lbnRCTkZUeXBlVm9jYWJ1bGFyeUFuZFN5bWJvbFZvY2FidWxhcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBT3FCQTs7O3lCQUxROzRCQUNlO3lCQUNROytCQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5QyxJQUFBLEFBQU1BLDhCQUFOO2FBQU1BLGNBQ1BDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxZQUFZLEVBQUVDLGNBQWMsRUFBRUMsZ0JBQWdCO2dDQUR0REw7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQTtRQUN0QixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTs7a0JBTlBMOztZQVNuQk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxJQUFJO1lBQ2xCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxPQUFPO1lBQ3JCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxZQUFZO1lBQzFCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxjQUFjO1lBQzVCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxnQkFBZ0I7WUFDOUI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsUUFBUTtnQkFDYixJQUFJQztnQkFFSixPQUFRRDtvQkFDTixLQUFLRSx5QkFBYzt3QkFBRUQsTUFBTSxJQUFJLENBQUNYLE9BQU87d0JBQUU7b0JBQ3pDLEtBQUthLDhC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
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _index = require("../../index");
12
12
  var _grammarNames = require("../grammarNames");
13
- var name = _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_1, termBNF = "", statementBNF = "", typeVocabulary = "", symbolVocabulary = "", json = {
13
+ var name = _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_1, termBNF = '\n\n term ::= [type] "stuff" ;\n \n ', statementBNF = "", typeVocabulary = "", symbolVocabulary = "", json = {
14
14
  name: name,
15
15
  termBNF: termBNF,
16
16
  statementBNF: statementBNF,
@@ -19,4 +19,4 @@ var name = _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_1, termBNF = "", state
19
19
  }, userDefinedCustomGrammar1 = _index.CustomGrammar.fromJSON(json);
20
20
  var _default = userDefinedCustomGrammar1;
21
21
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2N1c3RvbUdyYW1tYXIvdXNlckRlZmluZWQxLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBDdXN0b21HcmFtbWFyIH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7IC8vL1xuXG5pbXBvcnQgeyBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xIH0gZnJvbSBcIi4uL2dyYW1tYXJOYW1lc1wiO1xuXG5jb25zdCBuYW1lID0gVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMSxcbiAgICAgIHRlcm1CTkYgPSBcIlwiLFxuICAgICAgc3RhdGVtZW50Qk5GID0gXCJcIixcbiAgICAgIHR5cGVWb2NhYnVsYXJ5ID0gXCJcIixcbiAgICAgIHN5bWJvbFZvY2FidWxhcnkgPSBcIlwiLFxuICAgICAganNvbiA9IHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgdGVybUJORixcbiAgICAgICAgc3RhdGVtZW50Qk5GLFxuICAgICAgICB0eXBlVm9jYWJ1bGFyeSxcbiAgICAgICAgc3ltYm9sVm9jYWJ1bGFyeVxuICAgICAgfSxcbiAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEgPSBDdXN0b21HcmFtbWFyLmZyb21KU09OKGpzb24pO1xuXG5leHBvcnQgZGVmYXVsdCB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxO1xuIl0sIm5hbWVzIjpbIm5hbWUiLCJVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xIiwidGVybUJORiIsInN0YXRlbWVudEJORiIsInR5cGVWb2NhYnVsYXJ5Iiwic3ltYm9sVm9jYWJ1bGFyeSIsImpzb24iLCJ1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxIiwiQ3VzdG9tR3JhbW1hciIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQkE7OztlQUFBOzs7cUJBbEI4Qjs0QkFFcUI7QUFFbkQsSUFBTUEsT0FBT0MsZ0RBQWtDLEVBQ3pDQyxVQUFVLElBQ1ZDLGVBQWUsSUFDZkMsaUJBQWlCLElBQ2pCQyxtQkFBbUIsSUFDbkJDLE9BQU87SUFDTE4sTUFBQUE7SUFDQUUsU0FBQUE7SUFDQUMsY0FBQUE7SUFDQUMsZ0JBQUFBO0lBQ0FDLGtCQUFBQTtBQUNGLEdBQ0FFLDRCQUE0QkMsb0JBQWEsQ0FBQ0MsUUFBUSxDQUFDSDtJQUV6RCxXQUFlQyJ9
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2N1c3RvbUdyYW1tYXIvdXNlckRlZmluZWQxLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBDdXN0b21HcmFtbWFyIH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7IC8vL1xuXG5pbXBvcnQgeyBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xIH0gZnJvbSBcIi4uL2dyYW1tYXJOYW1lc1wiO1xuXG5jb25zdCBuYW1lID0gVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMSxcbiAgICAgIHRlcm1CTkYgPSBgXG5cbiAgICAgICAgdGVybSAgOjo9ICBbdHlwZV0gXCJzdHVmZlwiIDtcbiAgICAgICAgXG4gICAgICBgLFxuICAgICAgc3RhdGVtZW50Qk5GID0gXCJcIixcbiAgICAgIHR5cGVWb2NhYnVsYXJ5ID0gXCJcIixcbiAgICAgIHN5bWJvbFZvY2FidWxhcnkgPSBcIlwiLFxuICAgICAganNvbiA9IHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgdGVybUJORixcbiAgICAgICAgc3RhdGVtZW50Qk5GLFxuICAgICAgICB0eXBlVm9jYWJ1bGFyeSxcbiAgICAgICAgc3ltYm9sVm9jYWJ1bGFyeVxuICAgICAgfSxcbiAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEgPSBDdXN0b21HcmFtbWFyLmZyb21KU09OKGpzb24pO1xuXG5leHBvcnQgZGVmYXVsdCB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxO1xuIl0sIm5hbWVzIjpbIm5hbWUiLCJVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xIiwidGVybUJORiIsInN0YXRlbWVudEJORiIsInR5cGVWb2NhYnVsYXJ5Iiwic3ltYm9sVm9jYWJ1bGFyeSIsImpzb24iLCJ1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxIiwiQ3VzdG9tR3JhbW1hciIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF3QkE7OztlQUFBOzs7cUJBdEI4Qjs0QkFFcUI7QUFFbkQsSUFBTUEsT0FBT0MsZ0RBQWtDLEVBQ3pDQyxVQUFXLDZEQUtYQyxlQUFlLElBQ2ZDLGlCQUFpQixJQUNqQkMsbUJBQW1CLElBQ25CQyxPQUFPO0lBQ0xOLE1BQUFBO0lBQ0FFLFNBQUFBO0lBQ0FDLGNBQUFBO0lBQ0FDLGdCQUFBQTtJQUNBQyxrQkFBQUE7QUFDRixHQUNBRSw0QkFBNEJDLG9CQUFhLENBQUNDLFFBQVEsQ0FBQ0g7SUFFekQsV0FBZUMifQ==
@@ -246,14 +246,14 @@ var View = /*#__PURE__*/ function(Element) {
246
246
  return [
247
247
  /*#__PURE__*/ React.createElement(_easylayout.ColumnsDiv, null, /*#__PURE__*/ React.createElement(_sizeable.default, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "Custom grammar"), /*#__PURE__*/ React.createElement(_name.default, {
248
248
  onChange: changeHandler
249
- }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "BNF"), /*#__PURE__*/ React.createElement(_ruleName.default, {
250
- onChange: changeHandler
251
- }), /*#__PURE__*/ React.createElement(_bnf.default, {
252
- onKeyUp: keyUpHandler
253
249
  }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "Vocabulary"), /*#__PURE__*/ React.createElement(_vocabularyName.default, {
254
250
  onChange: changeHandler
255
251
  }), /*#__PURE__*/ React.createElement(_vocabulary.default, {
256
252
  onKeyUp: keyUpHandler
253
+ }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "BNF"), /*#__PURE__*/ React.createElement(_ruleName.default, {
254
+ onChange: changeHandler
255
+ }), /*#__PURE__*/ React.createElement(_bnf.default, {
256
+ onKeyUp: keyUpHandler
257
257
  }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "Start rule"), /*#__PURE__*/ React.createElement(_startRuleName.default, {
258
258
  onKeyUp: keyUpHandler
259
259
  }))), /*#__PURE__*/ React.createElement(_easylayout.VerticalSplitterDiv, null), /*#__PURE__*/ React.createElement(_easylayout.ColumnDiv, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "Content"), /*#__PURE__*/ React.createElement(_content.default, {
@@ -285,4 +285,4 @@ _define_property(View, "defaultProperties", {
285
285
  });
286
286
  var _default = (0, _easywithstyle.default)(View)(_templateObject());
287
287
 
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgcnVsZXNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuaW1wb3J0IHsgUm93c0RpdiwgQ29sdW1uRGl2LCBDb2x1bW5zRGl2LCBWZXJ0aWNhbFNwbGl0dGVyRGl2IH0gZnJvbSBcImVhc3ktbGF5b3V0XCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMsIGRlZmF1bHRDdXN0b21HcmFtbWFyLCBDb21iaW5lZEN1c3RvbUdyYW1tYXIgfSBmcm9tIFwiLi4vaW5kZXhcIjsgIC8vL1xuXG5pbXBvcnQgU3ViSGVhZGluZyBmcm9tIFwiLi9zdWJIZWFkaW5nXCI7XG5pbXBvcnQgTmFtZVNlbGVjdCBmcm9tIFwiLi9zZWxlY3QvbmFtZVwiO1xuaW1wb3J0IFNpemVhYmxlRGl2IGZyb20gXCIuL2Rpdi9zaXplYWJsZVwiO1xuaW1wb3J0IEJORlRleHRhcmVhIGZyb20gXCIuL3RleHRhcmVhL2JuZlwiO1xuaW1wb3J0IFJ1bGVOYW1lU2VsZWN0IGZyb20gXCIuL3NlbGVjdC9ydWxlTmFtZVwiO1xuaW1wb3J0IENvbnRlbnRUZXh0YXJlYSBmcm9tIFwiLi90ZXh0YXJlYS9jb250ZW50XCI7XG5pbXBvcnQgUGFyc2VUcmVlVGV4dGFyZWEgZnJvbSBcIi4vdGV4dGFyZWEvcGFyc2VUcmVlXCI7XG5pbXBvcnQgU3RhcnRSdWxlTmFtZUlucHV0IGZyb20gXCIuL2lucHV0L3N0YXJ0UnVsZU5hbWVcIjtcbmltcG9ydCBOb21pbmFsQk5GVGV4dGFyZWEgZnJvbSBcIi4vdGV4dGFyZWEvbm9taW5hbEJORlwiO1xuaW1wb3J0IFZvY2FidWxhcnlUZXh0YXJlYSBmcm9tIFwiLi90ZXh0YXJlYS92b2NhYnVsYXJ5XCI7XG5pbXBvcnQgVm9jYWJ1bGFyeU5hbWVTZWxlY3QgZnJvbSBcIi4vc2VsZWN0L3ZvY2FidWxhcnlOYW1lXCI7XG5pbXBvcnQgdXNlckRlZmluZWRDdXN0b21HcmFtbWFyMSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyL3VzZXJEZWZpbmVkMVwiO1xuaW1wb3J0IHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIgZnJvbSBcIi4vY3VzdG9tR3JhbW1hci91c2VyRGVmaW5lZDJcIjtcblxuaW1wb3J0IHsgcnVsZXNGcm9tUGFyc2VyIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3J1bGVzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUsIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzEsIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzIgfSBmcm9tIFwiLi9ncmFtbWFyTmFtZXNcIjtcblxuY29uc3QgeyBydWxlc0FzU3RyaW5nIH0gPSBydWxlc1V0aWxpdGllcyxcbiAgICAgIHsgbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBrZXlVcEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYm5mID0gdGhpcy5nZXRCTkYoKSxcbiAgICAgICAgICAgIG5hbWUgPSB0aGlzLmdldE5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgdm9jYWJ1bGFyeSA9IHRoaXMuZ2V0Vm9jYWJ1bGFyeSgpLFxuICAgICAgICAgICAgdm9jYWJ1bGFyeU5hbWUgPSB0aGlzLmdldFZvY2FidWxhcnlOYW1lKCk7XG5cbiAgICAgIGlmIChuYW1lID09PSBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xKSB7XG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEuc2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChuYW1lID09PSBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8yKSB7XG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIuc2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGN1c3RvbUdyYW1tYXJzID0gW1xuICAgICAgICAgICAgICB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxLFxuICAgICAgICAgICAgICB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIyXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gQ29tYmluZWRDdXN0b21HcmFtbWFyLmZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgICBub21pbmFsTGV4ZXIgPSBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgICAgICBub21pbmFsUGFyc2VyID0gbm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcblxuICAgICAgY29uc3QgcnVsZU1hcCA9IG5vbWluYWxQYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICAgICAgc3RhcnRSdWxlTmFtZSA9IHRoaXMuZ2V0U3RhcnRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgc3RhcnRSdWxlID0gcnVsZU1hcFtzdGFydFJ1bGVOYW1lXSwgLy8vXG4gICAgICAgICAgICBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgICB0b2tlbnMgPSBub21pbmFsTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgICBub2RlID0gbm9taW5hbFBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgICAgIGxldCBwYXJzZVRyZWUgPSBudWxsO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0UGFyc2VUcmVlKHBhcnNlVHJlZSk7XG5cbiAgICAgIGNvbnN0IG5vbWluYWxSdWxlcyA9IHJ1bGVzRnJvbVBhcnNlcihub21pbmFsUGFyc2VyKSxcbiAgICAgICAgICAgIG11bHRpTGluZSA9IHRydWUsXG4gICAgICAgICAgICBydWxlc1N0cmluZyA9IHJ1bGVzQXNTdHJpbmcobm9taW5hbFJ1bGVzLCBtdWx0aUxpbmUpLFxuICAgICAgICAgICAgbm9taW5hbEJORiA9IHJ1bGVzU3RyaW5nOyAgLy8vXG5cbiAgICAgIHRoaXMuc2V0Tm9taW5hbEJORihub21pbmFsQk5GKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuXG4gICAgICB0aGlzLmNsZWFyUGFyc2VUcmVlKCk7XG5cbiAgICAgIHRoaXMuY2xlYXJOb21pbmFsQk5GKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGxldCBjdXN0b21HcmFtbWFyO1xuXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0TmFtZSgpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHZvY2FidWxhcnlOYW1lID0gdGhpcy5nZXRWb2NhYnVsYXJ5TmFtZSgpO1xuXG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlIERFRkFVTFRfQ1VTVE9NX0dSQU1NQVJfTkFNRTpcbiAgICAgICAgY3VzdG9tR3JhbW1hciA9IGRlZmF1bHRDdXN0b21HcmFtbWFyO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzE6XG4gICAgICAgIGN1c3RvbUdyYW1tYXIgPSB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzI6XG4gICAgICAgIGN1c3RvbUdyYW1tYXIgPSB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIyO1xuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IGJuZiA9IGN1c3RvbUdyYW1tYXIuZ2V0Qk5GKHJ1bGVOYW1lKSxcbiAgICAgICAgICB2b2NhYnVsYXJ5ID0gY3VzdG9tR3JhbW1hci5nZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lKTtcblxuICAgIHRoaXMuc2V0Qk5GKGJuZik7XG5cbiAgICB0aGlzLnNldFZvY2FidWxhcnkodm9jYWJ1bGFyeSk7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IGtleVVwSGFuZGxlciA9IHRoaXMua2V5VXBIYW5kbGVyLmJpbmQodGhpcyksXG4gICAgICAgICAgY2hhbmdlSGFuZGxlciA9IHRoaXMuY2hhbmdlSGFuZGxlci5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuIChbXG5cbiAgICAgIDxDb2x1bW5zRGl2PlxuICAgICAgICA8U2l6ZWFibGVEaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgQ3VzdG9tIGdyYW1tYXJcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxOYW1lU2VsZWN0IG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIEJORlxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFJ1bGVOYW1lU2VsZWN0IG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPEJORlRleHRhcmVhIG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBWb2NhYnVsYXJ5XG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8Vm9jYWJ1bGFyeU5hbWVTZWxlY3Qgb25DaGFuZ2U9e2NoYW5nZUhhbmRsZXJ9IC8+XG4gICAgICAgICAgICA8Vm9jYWJ1bGFyeVRleHRhcmVhIG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBTdGFydCBydWxlXG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8U3RhcnRSdWxlTmFtZUlucHV0IG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvU2l6ZWFibGVEaXY+XG4gICAgICAgIDxWZXJ0aWNhbFNwbGl0dGVyRGl2IC8+XG4gICAgICAgIDxDb2x1bW5EaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgQ29udGVudFxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPENvbnRlbnRUZXh0YXJlYSBvbktleVVwPXtrZXlVcEhhbmRsZXJ9IC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgUGFyc2UgdHJlZVxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFBhcnNlVHJlZVRleHRhcmVhIC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgTm9taW5hbCBCTkZcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxOb21pbmFsQk5GVGV4dGFyZWEgLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvQ29sdW1uRGl2PlxuICAgICAgPC9Db2x1bW5zRGl2PlxuXG4gICAgXSk7XG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHRoaXMuYXNzaWduQ29udGV4dCgpO1xuXG4gICAgY29uc3QgeyBpbml0aWFsQ29udGVudCwgaW5pdGlhbFN0YXJ0UnVsZU5hbWUgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICBjb25zdCBjb250ZW50ID0gaW5pdGlhbENvbnRlbnQsIC8vL1xuICAgICAgICAgIHN0YXJ0UnVsZU5hbWUgPSBpbml0aWFsU3RhcnRSdWxlTmFtZTsgLy8vXG5cbiAgICB0aGlzLnNldENvbnRlbnQoY29udGVudCk7XG5cbiAgICB0aGlzLnNldFN0YXJ0UnVsZU5hbWUoc3RhcnRSdWxlTmFtZSk7XG5cbiAgICB0aGlzLmNoYW5nZUhhbmRsZXIoKTtcblxuICAgIHRoaXMua2V5VXBIYW5kbGVyKCk7XG4gIH1cblxuICBzdGF0aWMgaW5pdGlhbFN0YXJ0UnVsZU5hbWUgPSBcIlwiO1xuXG4gIHN0YXRpYyBpbml0aWFsQ29udGVudCA9IGBSdWxlIChHcm91cHMpXG4gIENvbmNsdXNpb25cbiAgICBBXG5gO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZpZXdcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoVmlldylgXG5cbiAgcGFkZGluZzogMXJlbTtcbiAgXG5gO1xuIl0sIm5hbWVzIjpbInJ1bGVzQXNTdHJpbmciLCJydWxlc1V0aWxpdGllcyIsIm5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJWaWV3Iiwia2V5VXBIYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwiYm5mIiwiZ2V0Qk5GIiwibmFtZSIsImdldE5hbWUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwidm9jYWJ1bGFyeSIsImdldFZvY2FidWxhcnkiLCJ2b2NhYnVsYXJ5TmFtZSIsImdldFZvY2FidWxhcnlOYW1lIiwiVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMSIsInVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEiLCJzZXRCTkYiLCJzZXRWb2NhYnVsYXJ5IiwiVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMiIsInVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIiLCJjdXN0b21HcmFtbWFycyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImZyb21DdXN0b21HcmFtbWFycyIsIm5vbWluYWxMZXhlciIsIm5vbWluYWxQYXJzZXIiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInN0YXJ0UnVsZU5hbWUiLCJnZXRTdGFydFJ1bGVOYW1lIiwic3RhcnRSdWxlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsInBhcnNlVHJlZSIsImFzUGFyc2VUcmVlIiwic2V0UGFyc2VUcmVlIiwibm9taW5hbFJ1bGVzIiwicnVsZXNGcm9tUGFyc2VyIiwibXVsdGlMaW5lIiwicnVsZXNTdHJpbmciLCJub21pbmFsQk5GIiwic2V0Tm9taW5hbEJORiIsImVycm9yIiwiY29uc29sZSIsImxvZyIsImNsZWFyUGFyc2VUcmVlIiwiY2xlYXJOb21pbmFsQk5GIiwiY2hhbmdlSGFuZGxlciIsImN1c3RvbUdyYW1tYXIiLCJERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUiLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsImNoaWxkRWxlbWVudHMiLCJiaW5kIiwiQ29sdW1uc0RpdiIsIlNpemVhYmxlRGl2IiwiUm93c0RpdiIsIlN1YkhlYWRpbmciLCJOYW1lU2VsZWN0Iiwib25DaGFuZ2UiLCJSdWxlTmFtZVNlbGVjdCIsIkJORlRleHRhcmVhIiwib25LZXlVcCIsIlZvY2FidWxhcnlOYW1lU2VsZWN0IiwiVm9jYWJ1bGFyeVRleHRhcmVhIiwiU3RhcnRSdWxlTmFtZUlucHV0IiwiVmVydGljYWxTcGxpdHRlckRpdiIsIkNvbHVtbkRpdiIsIkNvbnRlbnRUZXh0YXJlYSIsIlBhcnNlVHJlZVRleHRhcmVhIiwiTm9taW5hbEJORlRleHRhcmVhIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJpbml0aWFsQ29udGVudCIsImluaXRpYWxTdGFydFJ1bGVOYW1lIiwic2V0Q29udGVudCIsInNldFN0YXJ0UnVsZU5hbWUiLCJFbGVtZW50IiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwid2l0aFN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyTUE7OztlQUFBOzs7b0VBek1zQjtvQkFFRTs0QkFDTzswQkFDcUM7cUJBQzJCO2lFQUV4RTsyREFDQTsrREFDQzswREFDQTsrREFDRzs4REFDQztnRUFDRTtvRUFDQztpRUFDQTtpRUFDQTtxRUFDRTttRUFDSzttRUFDQTtxQkFFTjs0QkFDb0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgcnVsZXNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuaW1wb3J0IHsgUm93c0RpdiwgQ29sdW1uRGl2LCBDb2x1bW5zRGl2LCBWZXJ0aWNhbFNwbGl0dGVyRGl2IH0gZnJvbSBcImVhc3ktbGF5b3V0XCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMsIGRlZmF1bHRDdXN0b21HcmFtbWFyLCBDb21iaW5lZEN1c3RvbUdyYW1tYXIgfSBmcm9tIFwiLi4vaW5kZXhcIjsgIC8vL1xuXG5pbXBvcnQgU3ViSGVhZGluZyBmcm9tIFwiLi9zdWJIZWFkaW5nXCI7XG5pbXBvcnQgTmFtZVNlbGVjdCBmcm9tIFwiLi9zZWxlY3QvbmFtZVwiO1xuaW1wb3J0IFNpemVhYmxlRGl2IGZyb20gXCIuL2Rpdi9zaXplYWJsZVwiO1xuaW1wb3J0IEJORlRleHRhcmVhIGZyb20gXCIuL3RleHRhcmVhL2JuZlwiO1xuaW1wb3J0IFJ1bGVOYW1lU2VsZWN0IGZyb20gXCIuL3NlbGVjdC9ydWxlTmFtZVwiO1xuaW1wb3J0IENvbnRlbnRUZXh0YXJlYSBmcm9tIFwiLi90ZXh0YXJlYS9jb250ZW50XCI7XG5pbXBvcnQgUGFyc2VUcmVlVGV4dGFyZWEgZnJvbSBcIi4vdGV4dGFyZWEvcGFyc2VUcmVlXCI7XG5pbXBvcnQgU3RhcnRSdWxlTmFtZUlucHV0IGZyb20gXCIuL2lucHV0L3N0YXJ0UnVsZU5hbWVcIjtcbmltcG9ydCBOb21pbmFsQk5GVGV4dGFyZWEgZnJvbSBcIi4vdGV4dGFyZWEvbm9taW5hbEJORlwiO1xuaW1wb3J0IFZvY2FidWxhcnlUZXh0YXJlYSBmcm9tIFwiLi90ZXh0YXJlYS92b2NhYnVsYXJ5XCI7XG5pbXBvcnQgVm9jYWJ1bGFyeU5hbWVTZWxlY3QgZnJvbSBcIi4vc2VsZWN0L3ZvY2FidWxhcnlOYW1lXCI7XG5pbXBvcnQgdXNlckRlZmluZWRDdXN0b21HcmFtbWFyMSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyL3VzZXJEZWZpbmVkMVwiO1xuaW1wb3J0IHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIgZnJvbSBcIi4vY3VzdG9tR3JhbW1hci91c2VyRGVmaW5lZDJcIjtcblxuaW1wb3J0IHsgcnVsZXNGcm9tUGFyc2VyIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3J1bGVzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUsIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzEsIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzIgfSBmcm9tIFwiLi9ncmFtbWFyTmFtZXNcIjtcblxuY29uc3QgeyBydWxlc0FzU3RyaW5nIH0gPSBydWxlc1V0aWxpdGllcyxcbiAgICAgIHsgbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBrZXlVcEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYm5mID0gdGhpcy5nZXRCTkYoKSxcbiAgICAgICAgICAgIG5hbWUgPSB0aGlzLmdldE5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgdm9jYWJ1bGFyeSA9IHRoaXMuZ2V0Vm9jYWJ1bGFyeSgpLFxuICAgICAgICAgICAgdm9jYWJ1bGFyeU5hbWUgPSB0aGlzLmdldFZvY2FidWxhcnlOYW1lKCk7XG5cbiAgICAgIGlmIChuYW1lID09PSBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xKSB7XG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEuc2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChuYW1lID09PSBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8yKSB7XG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIuc2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGN1c3RvbUdyYW1tYXJzID0gW1xuICAgICAgICAgICAgICB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxLFxuICAgICAgICAgICAgICB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIyXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gQ29tYmluZWRDdXN0b21HcmFtbWFyLmZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgICBub21pbmFsTGV4ZXIgPSBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgICAgICBub21pbmFsUGFyc2VyID0gbm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcblxuICAgICAgY29uc3QgcnVsZU1hcCA9IG5vbWluYWxQYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICAgICAgc3RhcnRSdWxlTmFtZSA9IHRoaXMuZ2V0U3RhcnRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgc3RhcnRSdWxlID0gcnVsZU1hcFtzdGFydFJ1bGVOYW1lXSwgLy8vXG4gICAgICAgICAgICBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgICB0b2tlbnMgPSBub21pbmFsTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgICBub2RlID0gbm9taW5hbFBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgICAgIGxldCBwYXJzZVRyZWUgPSBudWxsO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0UGFyc2VUcmVlKHBhcnNlVHJlZSk7XG5cbiAgICAgIGNvbnN0IG5vbWluYWxSdWxlcyA9IHJ1bGVzRnJvbVBhcnNlcihub21pbmFsUGFyc2VyKSxcbiAgICAgICAgICAgIG11bHRpTGluZSA9IHRydWUsXG4gICAgICAgICAgICBydWxlc1N0cmluZyA9IHJ1bGVzQXNTdHJpbmcobm9taW5hbFJ1bGVzLCBtdWx0aUxpbmUpLFxuICAgICAgICAgICAgbm9taW5hbEJORiA9IHJ1bGVzU3RyaW5nOyAgLy8vXG5cbiAgICAgIHRoaXMuc2V0Tm9taW5hbEJORihub21pbmFsQk5GKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuXG4gICAgICB0aGlzLmNsZWFyUGFyc2VUcmVlKCk7XG5cbiAgICAgIHRoaXMuY2xlYXJOb21pbmFsQk5GKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGxldCBjdXN0b21HcmFtbWFyO1xuXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0TmFtZSgpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHZvY2FidWxhcnlOYW1lID0gdGhpcy5nZXRWb2NhYnVsYXJ5TmFtZSgpO1xuXG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlIERFRkFVTFRfQ1VTVE9NX0dSQU1NQVJfTkFNRTpcbiAgICAgICAgY3VzdG9tR3JhbW1hciA9IGRlZmF1bHRDdXN0b21HcmFtbWFyO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzE6XG4gICAgICAgIGN1c3RvbUdyYW1tYXIgPSB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzI6XG4gICAgICAgIGN1c3RvbUdyYW1tYXIgPSB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIyO1xuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IGJuZiA9IGN1c3RvbUdyYW1tYXIuZ2V0Qk5GKHJ1bGVOYW1lKSxcbiAgICAgICAgICB2b2NhYnVsYXJ5ID0gY3VzdG9tR3JhbW1hci5nZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lKTtcblxuICAgIHRoaXMuc2V0Qk5GKGJuZik7XG5cbiAgICB0aGlzLnNldFZvY2FidWxhcnkodm9jYWJ1bGFyeSk7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IGtleVVwSGFuZGxlciA9IHRoaXMua2V5VXBIYW5kbGVyLmJpbmQodGhpcyksXG4gICAgICAgICAgY2hhbmdlSGFuZGxlciA9IHRoaXMuY2hhbmdlSGFuZGxlci5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuIChbXG5cbiAgICAgIDxDb2x1bW5zRGl2PlxuICAgICAgICA8U2l6ZWFibGVEaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgQ3VzdG9tIGdyYW1tYXJcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxOYW1lU2VsZWN0IG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIFZvY2FidWxhcnlcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxWb2NhYnVsYXJ5TmFtZVNlbGVjdCBvbkNoYW5nZT17Y2hhbmdlSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxWb2NhYnVsYXJ5VGV4dGFyZWEgb25LZXlVcD17a2V5VXBIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIEJORlxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFJ1bGVOYW1lU2VsZWN0IG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPEJORlRleHRhcmVhIG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBTdGFydCBydWxlXG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8U3RhcnRSdWxlTmFtZUlucHV0IG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvU2l6ZWFibGVEaXY+XG4gICAgICAgIDxWZXJ0aWNhbFNwbGl0dGVyRGl2IC8+XG4gICAgICAgIDxDb2x1bW5EaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgQ29udGVudFxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPENvbnRlbnRUZXh0YXJlYSBvbktleVVwPXtrZXlVcEhhbmRsZXJ9IC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgUGFyc2UgdHJlZVxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFBhcnNlVHJlZVRleHRhcmVhIC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgTm9taW5hbCBCTkZcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxOb21pbmFsQk5GVGV4dGFyZWEgLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvQ29sdW1uRGl2PlxuICAgICAgPC9Db2x1bW5zRGl2PlxuXG4gICAgXSk7XG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHRoaXMuYXNzaWduQ29udGV4dCgpO1xuXG4gICAgY29uc3QgeyBpbml0aWFsQ29udGVudCwgaW5pdGlhbFN0YXJ0UnVsZU5hbWUgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICBjb25zdCBjb250ZW50ID0gaW5pdGlhbENvbnRlbnQsIC8vL1xuICAgICAgICAgIHN0YXJ0UnVsZU5hbWUgPSBpbml0aWFsU3RhcnRSdWxlTmFtZTsgLy8vXG5cbiAgICB0aGlzLnNldENvbnRlbnQoY29udGVudCk7XG5cbiAgICB0aGlzLnNldFN0YXJ0UnVsZU5hbWUoc3RhcnRSdWxlTmFtZSk7XG5cbiAgICB0aGlzLmNoYW5nZUhhbmRsZXIoKTtcblxuICAgIHRoaXMua2V5VXBIYW5kbGVyKCk7XG4gIH1cblxuICBzdGF0aWMgaW5pdGlhbFN0YXJ0UnVsZU5hbWUgPSBcIlwiO1xuXG4gIHN0YXRpYyBpbml0aWFsQ29udGVudCA9IGBSdWxlIChHcm91cHMpXG4gIENvbmNsdXNpb25cbiAgICBBXG5gO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZpZXdcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoVmlldylgXG5cbiAgcGFkZGluZzogMXJlbTtcbiAgXG5gO1xuIl0sIm5hbWVzIjpbInJ1bGVzQXNTdHJpbmciLCJydWxlc1V0aWxpdGllcyIsIm5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJWaWV3Iiwia2V5VXBIYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwiYm5mIiwiZ2V0Qk5GIiwibmFtZSIsImdldE5hbWUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwidm9jYWJ1bGFyeSIsImdldFZvY2FidWxhcnkiLCJ2b2NhYnVsYXJ5TmFtZSIsImdldFZvY2FidWxhcnlOYW1lIiwiVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMSIsInVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEiLCJzZXRCTkYiLCJzZXRWb2NhYnVsYXJ5IiwiVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMiIsInVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIiLCJjdXN0b21HcmFtbWFycyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImZyb21DdXN0b21HcmFtbWFycyIsIm5vbWluYWxMZXhlciIsIm5vbWluYWxQYXJzZXIiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInN0YXJ0UnVsZU5hbWUiLCJnZXRTdGFydFJ1bGVOYW1lIiwic3RhcnRSdWxlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsInBhcnNlVHJlZSIsImFzUGFyc2VUcmVlIiwic2V0UGFyc2VUcmVlIiwibm9taW5hbFJ1bGVzIiwicnVsZXNGcm9tUGFyc2VyIiwibXVsdGlMaW5lIiwicnVsZXNTdHJpbmciLCJub21pbmFsQk5GIiwic2V0Tm9taW5hbEJORiIsImVycm9yIiwiY29uc29sZSIsImxvZyIsImNsZWFyUGFyc2VUcmVlIiwiY2xlYXJOb21pbmFsQk5GIiwiY2hhbmdlSGFuZGxlciIsImN1c3RvbUdyYW1tYXIiLCJERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUiLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsImNoaWxkRWxlbWVudHMiLCJiaW5kIiwiQ29sdW1uc0RpdiIsIlNpemVhYmxlRGl2IiwiUm93c0RpdiIsIlN1YkhlYWRpbmciLCJOYW1lU2VsZWN0Iiwib25DaGFuZ2UiLCJWb2NhYnVsYXJ5TmFtZVNlbGVjdCIsIlZvY2FidWxhcnlUZXh0YXJlYSIsIm9uS2V5VXAiLCJSdWxlTmFtZVNlbGVjdCIsIkJORlRleHRhcmVhIiwiU3RhcnRSdWxlTmFtZUlucHV0IiwiVmVydGljYWxTcGxpdHRlckRpdiIsIkNvbHVtbkRpdiIsIkNvbnRlbnRUZXh0YXJlYSIsIlBhcnNlVHJlZVRleHRhcmVhIiwiTm9taW5hbEJORlRleHRhcmVhIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJpbml0aWFsQ29udGVudCIsImluaXRpYWxTdGFydFJ1bGVOYW1lIiwic2V0Q29udGVudCIsInNldFN0YXJ0UnVsZU5hbWUiLCJFbGVtZW50IiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwid2l0aFN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyTUE7OztlQUFBOzs7b0VBek1zQjtvQkFFRTs0QkFDTzswQkFDcUM7cUJBQzJCO2lFQUV4RTsyREFDQTsrREFDQzswREFDQTsrREFDRzs4REFDQztnRUFDRTtvRUFDQztpRUFDQTtpRUFDQTtxRUFDRTttRUFDSzttRUFDQTtxQkFFTjs0QkFDb0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _necessary = require("necessary");
12
+ var _nominal = require("./utilities/nominal");
13
+ var _ruleNames = require("./ruleNames");
14
+ var _constants = require("./constants");
15
+ function _define_property(obj, key, value) {
16
+ if (key in obj) {
17
+ Object.defineProperty(obj, key, {
18
+ value: value,
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true
22
+ });
23
+ } else {
24
+ obj[key] = value;
25
+ }
26
+ return obj;
27
+ }
28
+ var first = _necessary.arrayUtilities.first;
29
+ var _obj;
30
+ var ruleMap = _nominal.nominalParser.getRuleMap(), stuffRule = ruleMap[_constants.STUFF_RULE_NAME], nonsenseRule = ruleMap[_constants.NONSENSE_RULE_NAME], stuffTypes = typesFromRule(stuffRule), nonsenseTypes = typesFromRule(nonsenseRule), termTypes = stuffTypes, statementTypes = nonsenseTypes, typesMap = (_obj = {}, _define_property(_obj, _ruleNames.TERM_RULE_NAME, termTypes), _define_property(_obj, _ruleNames.STATEMENT_RULE_NAME, statementTypes), _obj);
31
+ var _default = typesMap;
32
+ function typesFromRule(rule) {
33
+ var parts;
34
+ var definitions = rule.getDefinitions(), firstDDefinition = first(definitions), definition = firstDDefinition; ///
35
+ parts = definition.getParts();
36
+ var firstPart = first(parts), oneOrMorePartsPart = firstPart, part = oneOrMorePartsPart.getPart(), choiceOrPartsPart = part; ///
37
+ parts = choiceOrPartsPart.getParts();
38
+ var types = parts.map(function(part) {
39
+ var significantTokenTypePart = part, significantTokenType = significantTokenTypePart.getSignificantTokenType(), type = significantTokenType; ///
40
+ return type;
41
+ });
42
+ return types;
43
+ }
44
+
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlc01hcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IG5vbWluYWxQYXJzZXIgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9taW5hbFwiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUsIFNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IFNUVUZGX1JVTEVfTkFNRSwgTk9OU0VOU0VfUlVMRV9OQU1FIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5jb25zdCBydWxlTWFwID0gbm9taW5hbFBhcnNlci5nZXRSdWxlTWFwKCksXG4gICAgICBzdHVmZlJ1bGUgPSBydWxlTWFwW1NUVUZGX1JVTEVfTkFNRV0sXG4gICAgICBub25zZW5zZVJ1bGUgPSBydWxlTWFwW05PTlNFTlNFX1JVTEVfTkFNRV0sXG4gICAgICBzdHVmZlR5cGVzID0gdHlwZXNGcm9tUnVsZShzdHVmZlJ1bGUpLFxuICAgICAgbm9uc2Vuc2VUeXBlcyA9IHR5cGVzRnJvbVJ1bGUobm9uc2Vuc2VSdWxlKSxcbiAgICAgIHRlcm1UeXBlcyA9IHN0dWZmVHlwZXMsIC8vL1xuICAgICAgc3RhdGVtZW50VHlwZXMgPSBub25zZW5zZVR5cGVzLFxuICAgICAgdHlwZXNNYXAgPSB7XG4gICAgICAgIFtURVJNX1JVTEVfTkFNRV06IHRlcm1UeXBlcyxcbiAgICAgICAgW1NUQVRFTUVOVF9SVUxFX05BTUVdOiBzdGF0ZW1lbnRUeXBlc1xuICAgICAgfTtcblxuZXhwb3J0IGRlZmF1bHQgdHlwZXNNYXA7XG5cbmZ1bmN0aW9uIHR5cGVzRnJvbVJ1bGUocnVsZSkge1xuICBsZXQgcGFydHM7XG5cbiAgY29uc3QgZGVmaW5pdGlvbnMgPSBydWxlLmdldERlZmluaXRpb25zKCksXG4gICAgICAgIGZpcnN0RERlZmluaXRpb24gPSBmaXJzdChkZWZpbml0aW9ucyksXG4gICAgICAgIGRlZmluaXRpb24gPSBmaXJzdEREZWZpbml0aW9uOyAgLy8vXG5cbiAgcGFydHMgPSBkZWZpbml0aW9uLmdldFBhcnRzKCk7XG5cbiAgY29uc3QgZmlyc3RQYXJ0ID0gZmlyc3QocGFydHMpLFxuICAgICAgICBvbmVPck1vcmVQYXJ0c1BhcnQgPSBmaXJzdFBhcnQsIC8vL1xuICAgICAgICBwYXJ0ID0gb25lT3JNb3JlUGFydHNQYXJ0LmdldFBhcnQoKSxcbiAgICAgICAgY2hvaWNlT3JQYXJ0c1BhcnQgPSBwYXJ0OyAvLy9cblxuICBwYXJ0cyA9IGNob2ljZU9yUGFydHNQYXJ0LmdldFBhcnRzKCk7XG5cbiAgY29uc3QgdHlwZXMgPSBwYXJ0cy5tYXAoKHBhcnQpID0+IHtcbiAgICBjb25zdCBzaWduaWZpY2FudFRva2VuVHlwZVBhcnQgPSBwYXJ0LCAgLy8vXG4gICAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGUgPSBzaWduaWZpY2FudFRva2VuVHlwZVBhcnQuZ2V0U2lnbmlmaWNhbnRUb2tlblR5cGUoKSxcbiAgICAgICAgICB0eXBlID0gc2lnbmlmaWNhbnRUb2tlblR5cGU7ICAvLy9cblxuICAgIHJldHVybiB0eXBlO1xuICB9KTtcblxuICByZXR1cm4gdHlwZXM7XG59XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsInJ1bGVNYXAiLCJub21pbmFsUGFyc2VyIiwiZ2V0UnVsZU1hcCIsInN0dWZmUnVsZSIsIlNUVUZGX1JVTEVfTkFNRSIsIm5vbnNlbnNlUnVsZSIsIk5PTlNFTlNFX1JVTEVfTkFNRSIsInN0dWZmVHlwZXMiLCJ0eXBlc0Zyb21SdWxlIiwibm9uc2Vuc2VUeXBlcyIsInRlcm1UeXBlcyIsInN0YXRlbWVudFR5cGVzIiwidHlwZXNNYXAiLCJURVJNX1JVTEVfTkFNRSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJydWxlIiwicGFydHMiLCJkZWZpbml0aW9ucyIsImdldERlZmluaXRpb25zIiwiZmlyc3RERGVmaW5pdGlvbiIsImRlZmluaXRpb24iLCJnZXRQYXJ0cyIsImZpcnN0UGFydCIsIm9uZU9yTW9yZVBhcnRzUGFydCIsInBhcnQiLCJnZXRQYXJ0IiwiY2hvaWNlT3JQYXJ0c1BhcnQiLCJ0eXBlcyIsIm1hcCIsInNpZ25pZmljYW50VG9rZW5UeXBlUGFydCIsInNpZ25pZmljYW50VG9rZW5UeXBlIiwiZ2V0U2lnbmlmaWNhbnRUb2tlblR5cGUiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzQkE7OztlQUFBOzs7eUJBcEIrQjt1QkFFRDt5QkFDc0I7eUJBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBRXBELElBQU0sQUFBRUEsUUFBVUMseUJBQWMsQ0FBeEJEO0lBU1M7QUFQakIsSUFBTUUsVUFBVUMsc0JBQWEsQ0FBQ0MsVUFBVSxJQUNsQ0MsWUFBWUgsT0FBTyxDQUFDSSwwQkFBZSxDQUFDLEVBQ3BDQyxlQUFlTCxPQUFPLENBQUNNLDZCQUFrQixDQUFDLEVBQzFDQyxhQUFhQyxjQUFjTCxZQUMzQk0sZ0JBQWdCRCxjQUFjSCxlQUM5QkssWUFBWUgsWUFDWkksaUJBQWlCRixlQUNqQkcsWUFBVyxXQUNULGlCQURTLE1BQ1JDLHlCQUFjLEVBQUdILFlBQ2xCLGlCQUZTLE1BRVJJLDhCQUFtQixFQUFHSCxpQkFGZDtJQUtqQixXQUFlQztBQUVmLFNBQVNKLGNBQWNPLElBQUk7SUFDekIsSUFBSUM7SUFFSixJQUFNQyxjQUFjRixLQUFLRyxjQUFjLElBQ2pDQyxtQkFBbUJyQixNQUFNbUIsY0FDekJHLGFBQWFELGtCQUFtQixHQUFHO0lBRXpDSCxRQUFRSSxXQUFXQyxRQUFRO0lBRTNCLElBQU1DLFlBQVl4QixNQUFNa0IsUUFDbEJPLHFCQUFxQkQsV0FDckJFLE9BQU9ELG1CQUFtQkUsT0FBTyxJQUNqQ0Msb0JBQW9CRixNQUFNLEdBQUc7SUFFbkNSLFFBQVFVLGtCQUFrQkwsUUFBUTtJQUVsQyxJQUFNTSxRQUFRWCxNQUFNWSxHQUFHLENBQUMsU0FBQ0o7UUFDdkIsSUFBTUssMkJBQTJCTCxNQUMzQk0sdUJBQXVCRCx5QkFBeUJFLHVCQUF1QixJQUN2RUMsT0FBT0Ysc0JBQXVCLEdBQUc7UUFFdkMsT0FBT0U7SUFDVDtJQUVBLE9BQU9MO0FBQ1QifQ==
@@ -2,17 +2,65 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "validateBNf", {
5
+ Object.defineProperty(exports, "validateBNF", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return validateBNf;
8
+ return validateBNF;
9
9
  }
10
10
  });
11
+ var _necessary = require("necessary");
12
+ var _typesMap = /*#__PURE__*/ _interop_require_default(require("../typesMap"));
13
+ var _query = require("../utilities/query");
14
+ var _nominal = require("../utilities/nominal");
11
15
  var _constants = require("../constants");
12
- function validateBNf(buf) {
13
- if (buf === null || buf === _constants.EMPTY_STRING) {
16
+ var _grammar = require("../utilities/grammar");
17
+ function _interop_require_default(obj) {
18
+ return obj && obj.__esModule ? obj : {
19
+ default: obj
20
+ };
21
+ }
22
+ var first = _necessary.arrayUtilities.first, second = _necessary.arrayUtilities.second;
23
+ var stringLiteralTerminalNodesQuery = (0, _query.nodesQuery)("//stringLiteral/@*!"), significantTokenTypeTerminalNodesQuery = (0, _query.nodesQuery)("//significantTokenType/@*!");
24
+ function validateBNF(bnf, ruleName) {
25
+ if (bnf === null || bnf === _constants.EMPTY_STRING) {
14
26
  return;
15
27
  }
28
+ var content = bnf, tokens = _grammar.customGrammarBNFLexer.tokenise(content), node = _grammar.customGrammarBNFParser.parse(tokens);
29
+ var types = _typesMap.default[ruleName], significantTokenTypeTerminalNodes = significantTokenTypeTerminalNodesQuery(node);
30
+ significantTokenTypeTerminalNodes.forEach(function(significantTokenTypeTerminalNode) {
31
+ var type = typeFromSignificantTokenTypeTerminalNode(significantTokenTypeTerminalNode), typesIncludeType = types.includes(type);
32
+ if (!typesIncludeType) {
33
+ throw new Error("The '".concat(type, "' type is not included in the '").concat(ruleName, "' rule's types."));
34
+ }
35
+ });
36
+ var stringLiteralTerminalNodes = stringLiteralTerminalNodesQuery(node);
37
+ stringLiteralTerminalNodes.forEach(function(stringLiteralTerminalNode) {
38
+ var content = contentFromStringLiteralTerminalNode(stringLiteralTerminalNode);
39
+ if (content === _constants.UNDERSCORE_CHARACTER) {
40
+ throw new Error('The "'.concat(content, '" string literal cannot be an underscore.'));
41
+ }
42
+ var tokens = _nominal.nominalLexer.tokenise(content), tokensLength = tokens.length;
43
+ if (tokensLength !== 1) {
44
+ throw new Error('Tokenising the "'.concat(content, '" string literal does not result in a single token.'));
45
+ }
46
+ var firstToken = first(tokens), token = firstToken, type = token.getType(), typesIncludeType = types.includes(type);
47
+ if (!typesIncludeType) {
48
+ throw new Error('The "'.concat(content, "\" string literal's token's '").concat(type, "' type is not included in the '").concat(ruleName, "' rule's types."));
49
+ }
50
+ });
51
+ }
52
+ function contentFromStringLiteralTerminalNode(stringLiteralTerminalNode) {
53
+ var content;
54
+ content = stringLiteralTerminalNode.getContent();
55
+ var matches = content.match(/"([^"]+)"/), secondMatch = second(matches);
56
+ content = secondMatch; ///
57
+ return content;
58
+ }
59
+ function typeFromSignificantTokenTypeTerminalNode(significantTokenTypeTerminalNode) {
60
+ var type;
61
+ var content = significantTokenTypeTerminalNode.getContent(), matches = content.match(/\[([^\]]+)\]/), secondMatch = second(matches);
62
+ type = secondMatch; ///
63
+ return type;
16
64
  }
17
65
 
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQk5mKGJ1Zikge1xuICBpZiAoKGJ1ZiA9PT0gbnVsbCkgfHwgKGJ1ZiA9PT0gRU1QVFlfU1RSSU5HKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG5cbn1cbiJdLCJuYW1lcyI6WyJ2YWxpZGF0ZUJOZiIsImJ1ZiIsIkVNUFRZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBS2dCQTs7O2VBQUFBOzs7eUJBRmE7QUFFdEIsU0FBU0EsWUFBWUMsR0FBRztJQUM3QixJQUFJLEFBQUNBLFFBQVEsUUFBVUEsUUFBUUMsdUJBQVksRUFBRztRQUM1QztJQUNGO0FBR0YifQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHR5cGVzTWFwIGZyb20gXCIuLi90eXBlc01hcFwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9taW5hbExleGVyIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ub21pbmFsXCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFVOREVSU0NPUkVfQ0hBUkFDVEVSIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY3VzdG9tR3JhbW1hckJORkxleGVyLCBjdXN0b21HcmFtbWFyQk5GUGFyc2VyIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ncmFtbWFyXCI7XG5cbmNvbnN0IHsgZmlyc3QsIHNlY29uZCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiLy9zdHJpbmdMaXRlcmFsL0AqIVwiKSxcbiAgICAgIHNpZ25pZmljYW50VG9rZW5UeXBlVGVybWluYWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi8vc2lnbmlmaWNhbnRUb2tlblR5cGUvQCohXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVCTkYoYm5mLCBydWxlTmFtZSkge1xuICBpZiAoKGJuZiA9PT0gbnVsbCkgfHwgKGJuZiA9PT0gRU1QVFlfU1RSSU5HKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNvbnRlbnQgPSBibmYsXG4gICAgICAgIHRva2VucyA9IGN1c3RvbUdyYW1tYXJCTkZMZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgbm9kZSA9IGN1c3RvbUdyYW1tYXJCTkZQYXJzZXIucGFyc2UodG9rZW5zKTtcblxuICBjb25zdCB0eXBlcyA9IHR5cGVzTWFwW3J1bGVOYW1lXSxcbiAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGVzID0gc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGVzUXVlcnkobm9kZSk7XG5cbiAgc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGVzLmZvckVhY2goKHNpZ25pZmljYW50VG9rZW5UeXBlVGVybWluYWxOb2RlKSA9PiB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVGcm9tU2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUoc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUpLFxuICAgICAgICAgIHR5cGVzSW5jbHVkZVR5cGUgPSB0eXBlcy5pbmNsdWRlcyh0eXBlKTtcblxuICAgIGlmICghdHlwZXNJbmNsdWRlVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgJyR7dHlwZX0nIHR5cGUgaXMgbm90IGluY2x1ZGVkIGluIHRoZSAnJHtydWxlTmFtZX0nIHJ1bGUncyB0eXBlcy5gKVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3Qgc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZXMgPSBzdHJpbmdMaXRlcmFsVGVybWluYWxOb2Rlc1F1ZXJ5KG5vZGUpO1xuXG4gIHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVzLmZvckVhY2goKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUpID0+IHtcbiAgICBjb25zdCBjb250ZW50ID0gY29udGVudEZyb21TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUpO1xuXG4gICAgaWYgKGNvbnRlbnQgPT09IFVOREVSU0NPUkVfQ0hBUkFDVEVSKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBcIiR7Y29udGVudH1cIiBzdHJpbmcgbGl0ZXJhbCBjYW5ub3QgYmUgYW4gdW5kZXJzY29yZS5gKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbnMgPSBub21pbmFsTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgdG9rZW5zTGVuZ3RoID0gdG9rZW5zLmxlbmd0aDtcblxuICAgIGlmICh0b2tlbnNMZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVG9rZW5pc2luZyB0aGUgXCIke2NvbnRlbnR9XCIgc3RyaW5nIGxpdGVyYWwgZG9lcyBub3QgcmVzdWx0IGluIGEgc2luZ2xlIHRva2VuLmApO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0VG9rZW4gPSBmaXJzdCh0b2tlbnMpLFxuICAgICAgICAgIHRva2VuID0gZmlyc3RUb2tlbiwgLy8vXG4gICAgICAgICAgdHlwZSA9IHRva2VuLmdldFR5cGUoKSxcbiAgICAgICAgICB0eXBlc0luY2x1ZGVUeXBlID0gdHlwZXMuaW5jbHVkZXModHlwZSk7XG5cbiAgICBpZiAoIXR5cGVzSW5jbHVkZVR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIFwiJHtjb250ZW50fVwiIHN0cmluZyBsaXRlcmFsJ3MgdG9rZW4ncyAnJHt0eXBlfScgdHlwZSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlICcke3J1bGVOYW1lfScgcnVsZSdzIHR5cGVzLmApXG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gY29udGVudEZyb21TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUpIHtcbiAgbGV0IGNvbnRlbnQ7XG5cbiAgY29udGVudCA9IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gIGNvbnN0IG1hdGNoZXMgPSBjb250ZW50Lm1hdGNoKC9cIihbXlwiXSspXCIvKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyk7XG5cbiAgY29udGVudCA9IHNlY29uZE1hdGNoOyAvLy9cblxuICByZXR1cm4gY29udGVudDtcbn1cblxuZnVuY3Rpb24gdHlwZUZyb21TaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZShzaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZSkge1xuICBsZXQgdHlwZTtcblxuICBjb25zdCBjb250ZW50ID0gc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBtYXRjaGVzID0gY29udGVudC5tYXRjaCgvXFxbKFteXFxdXSspXFxdLyksXG4gICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpO1xuXG4gIHR5cGUgPSBzZWNvbmRNYXRjaDsgLy8vXG5cbiAgcmV0dXJuIHR5cGU7XG59XG4iXSwibmFtZXMiOlsidmFsaWRhdGVCTkYiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwic2Vjb25kIiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJzaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZXNRdWVyeSIsImJuZiIsInJ1bGVOYW1lIiwiRU1QVFlfU1RSSU5HIiwiY29udGVudCIsInRva2VucyIsImN1c3RvbUdyYW1tYXJCTkZMZXhlciIsInRva2VuaXNlIiwibm9kZSIsImN1c3RvbUdyYW1tYXJCTkZQYXJzZXIiLCJwYXJzZSIsInR5cGVzIiwidHlwZXNNYXAiLCJzaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZXMiLCJmb3JFYWNoIiwic2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUiLCJ0eXBlIiwidHlwZUZyb21TaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZSIsInR5cGVzSW5jbHVkZVR5cGUiLCJpbmNsdWRlcyIsIkVycm9yIiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZXMiLCJzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlIiwiY29udGVudEZyb21TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlIiwiVU5ERVJTQ09SRV9DSEFSQUNURVIiLCJub21pbmFsTGV4ZXIiLCJ0b2tlbnNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdFRva2VuIiwidG9rZW4iLCJnZXRUeXBlIiwiZ2V0Q29udGVudCIsIm1hdGNoZXMiLCJtYXRjaCIsInNlY29uZE1hdGNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnQmdCQTs7O2VBQUFBOzs7eUJBZGU7K0RBRVY7cUJBRU07dUJBQ0U7eUJBQ3NCO3VCQUNXOzs7Ozs7QUFFOUQsSUFBUUMsUUFBa0JDLHlCQUFjLENBQWhDRCxPQUFPRSxTQUFXRCx5QkFBYyxDQUF6QkM7QUFFZixJQUFNQyxrQ0FBa0NDLElBQUFBLGlCQUFVLEVBQUMsd0JBQzdDQyx5Q0FBeUNELElBQUFBLGlCQUFVLEVBQUM7QUFFbkQsU0FBU0wsWUFBWU8sR0FBRyxFQUFFQyxRQUFRO0lBQ3ZDLElBQUksQUFBQ0QsUUFBUSxRQUFVQSxRQUFRRSx1QkFBWSxFQUFHO1FBQzVDO0lBQ0Y7SUFFQSxJQUFNQyxVQUFVSCxLQUNWSSxTQUFTQyw4QkFBcUIsQ0FBQ0MsUUFBUSxDQUFDSCxVQUN4Q0ksT0FBT0MsK0JBQXNCLENBQUNDLEtBQUssQ0FBQ0w7SUFFMUMsSUFBTU0sUUFBUUMsaUJBQVEsQ0FBQ1YsU0FBUyxFQUMxQlcsb0NBQW9DYix1Q0FBdUNRO0lBRWpGSyxrQ0FBa0NDLE9BQU8sQ0FBQyxTQUFDQztRQUN6QyxJQUFNQyxPQUFPQyx5Q0FBeUNGLG1DQUNoREcsbUJBQW1CUCxNQUFNUSxRQUFRLENBQUNIO1FBRXhDLElBQUksQ0FBQ0Usa0JBQWtCO1lBQ3JCLE1BQU0sSUFBSUUsTUFBTSxBQUFDLFFBQTZDbEIsT0FBdENjLE1BQUssbUNBQTBDLE9BQVRkLFVBQVM7UUFDekU7SUFDRjtJQUVBLElBQU1tQiw2QkFBNkJ2QixnQ0FBZ0NVO0lBRW5FYSwyQkFBMkJQLE9BQU8sQ0FBQyxTQUFDUTtRQUNsQyxJQUFNbEIsVUFBVW1CLHFDQUFxQ0Q7UUFFckQsSUFBSWxCLFlBQVlvQiwrQkFBb0IsRUFBRTtZQUNwQyxNQUFNLElBQUlKLE1BQU0sQUFBQyxRQUFlLE9BQVJoQixTQUFRO1FBQ2xDO1FBRUEsSUFBTUMsU0FBU29CLHFCQUFZLENBQUNsQixRQUFRLENBQUNILFVBQy9Cc0IsZUFBZXJCLE9BQU9zQixNQUFNO1FBRWxDLElBQUlELGlCQUFpQixHQUFHO1lBQ3RCLE1BQU0sSUFBSU4sTUFBTSxBQUFDLG1CQUEwQixPQUFSaEIsU0FBUTtRQUM3QztRQUVBLElBQU13QixhQUFhakMsTUFBTVUsU0FDbkJ3QixRQUFRRCxZQUNSWixPQUFPYSxNQUFNQyxPQUFPLElBQ3BCWixtQkFBbUJQLE1BQU1RLFFBQVEsQ0FBQ0g7UUFFeEMsSUFBSSxDQUFDRSxrQkFBa0I7WUFDckIsTUFBTSxJQUFJRSxNQUFNLEFBQUMsUUFBNkNKLE9BQXRDWixTQUFRLGlDQUFvRUYsT0FBdENjLE1BQUssbUNBQTBDLE9BQVRkLFVBQVM7UUFDL0c7SUFDRjtBQUNGO0FBRUEsU0FBU3FCLHFDQUFxQ0QseUJBQXlCO0lBQ3JFLElBQUlsQjtJQUVKQSxVQUFVa0IsMEJBQTBCUyxVQUFVO0lBRTlDLElBQU1DLFVBQVU1QixRQUFRNkIsS0FBSyxDQUFDLGNBQ3hCQyxjQUFjckMsT0FBT21DO0lBRTNCNUIsVUFBVThCLGFBQWEsR0FBRztJQUUxQixPQUFPOUI7QUFDVDtBQUVBLFNBQVNhLHlDQUF5Q0YsZ0NBQWdDO0lBQ2hGLElBQUlDO0lBRUosSUFBTVosVUFBVVcsaUNBQWlDZ0IsVUFBVSxJQUNyREMsVUFBVTVCLFFBQVE2QixLQUFLLENBQUMsaUJBQ3hCQyxjQUFjckMsT0FBT21DO0lBRTNCaEIsT0FBT2tCLGFBQWEsR0FBRztJQUV2QixPQUFPbEI7QUFDVCJ9
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get customGrammarBNFLexer () {
13
+ return customGrammarBNFLexer;
14
+ },
15
+ get customGrammarBNFParser () {
16
+ return customGrammarBNFParser;
17
+ },
18
+ get customGrammarVocabularyLexer () {
19
+ return customGrammarVocabularyLexer;
20
+ },
21
+ get customGrammarVocabularyParser () {
22
+ return customGrammarVocabularyParser;
23
+ }
24
+ });
25
+ var _occamgrammars = require("occam-grammars");
26
+ var customGrammarBNFLexer = _occamgrammars.CustomGrammarBNFLexer.fromNothing();
27
+ var customGrammarBNFParser = _occamgrammars.CustomGrammarBNFParser.fromNothing();
28
+ var customGrammarVocabularyLexer = _occamgrammars.CustomGrammarVocabularyLexer.fromNothing();
29
+ var customGrammarVocabularyParser = _occamgrammars.CustomGrammarVocabularyParser.fromNothing();
30
+
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ3JhbW1hci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ3VzdG9tR3JhbW1hckJORkxleGVyLCBDdXN0b21HcmFtbWFyQk5GUGFyc2VyIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXJzXCI7XG5pbXBvcnQgeyBDdXN0b21HcmFtbWFyVm9jYWJ1bGFyeUxleGVyLCBDdXN0b21HcmFtbWFyVm9jYWJ1bGFyeVBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5leHBvcnQgY29uc3QgY3VzdG9tR3JhbW1hckJORkxleGVyID0gQ3VzdG9tR3JhbW1hckJORkxleGVyLmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBjb25zdCBjdXN0b21HcmFtbWFyQk5GUGFyc2VyID0gQ3VzdG9tR3JhbW1hckJORlBhcnNlci5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgY29uc3QgY3VzdG9tR3JhbW1hclZvY2FidWxhcnlMZXhlciA9IEN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5TGV4ZXIuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGNvbnN0IGN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5UGFyc2VyID0gQ3VzdG9tR3JhbW1hclZvY2FidWxhcnlQYXJzZXIuZnJvbU5vdGhpbmcoKTtcbiJdLCJuYW1lcyI6WyJjdXN0b21HcmFtbWFyQk5GTGV4ZXIiLCJjdXN0b21HcmFtbWFyQk5GUGFyc2VyIiwiY3VzdG9tR3JhbW1hclZvY2FidWxhcnlMZXhlciIsImN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5UGFyc2VyIiwiQ3VzdG9tR3JhbW1hckJORkxleGVyIiwiZnJvbU5vdGhpbmciLCJDdXN0b21HcmFtbWFyQk5GUGFyc2VyIiwiQ3VzdG9tR3JhbW1hclZvY2FidWxhcnlMZXhlciIsIkN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5UGFyc2VyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFLYUE7ZUFBQUE7O1FBRUFDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFFQUM7ZUFBQUE7Ozs2QkFUaUQ7QUFHdkQsSUFBTUgsd0JBQXdCSSxvQ0FBcUIsQ0FBQ0MsV0FBVztBQUUvRCxJQUFNSix5QkFBeUJLLHFDQUFzQixDQUFDRCxXQUFXO0FBRWpFLElBQU1ILCtCQUErQkssMkNBQTRCLENBQUNGLFdBQVc7QUFFN0UsSUFBTUYsZ0NBQWdDSyw0Q0FBNkIsQ0FBQ0gsV0FBVyJ9
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get nominalLexer () {
13
+ return nominalLexer;
14
+ },
15
+ get nominalParser () {
16
+ return nominalParser;
17
+ }
18
+ });
19
+ var _occamlexers = require("occam-lexers");
20
+ var _occamparsers = require("occam-parsers");
21
+ var _occamgrammars = require("occam-grammars");
22
+ var nominalLexer = _occamlexers.CommonLexer.fromNothing(_occamgrammars.NominalLexer);
23
+ var nominalParser = _occamparsers.CommonParser.fromNothing(_occamgrammars.NominalParser);
24
+
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9taW5hbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uTGV4ZXIgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5pbXBvcnQgeyBDb21tb25QYXJzZXIgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuaW1wb3J0IHsgTm9taW5hbExleGVyLCBOb21pbmFsUGFyc2VyIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXJzXCI7XG5cbmV4cG9ydCBjb25zdCBub21pbmFsTGV4ZXIgPSBDb21tb25MZXhlci5mcm9tTm90aGluZyhOb21pbmFsTGV4ZXIpO1xuXG5leHBvcnQgY29uc3Qgbm9taW5hbFBhcnNlciA9IENvbW1vblBhcnNlci5mcm9tTm90aGluZyhOb21pbmFsUGFyc2VyKTtcbiJdLCJuYW1lcyI6WyJub21pbmFsTGV4ZXIiLCJub21pbmFsUGFyc2VyIiwiQ29tbW9uTGV4ZXIiLCJmcm9tTm90aGluZyIsIk5vbWluYWxMZXhlciIsIkNvbW1vblBhcnNlciIsIk5vbWluYWxQYXJzZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQU1hQTtlQUFBQTs7UUFFQUM7ZUFBQUE7OzsyQkFOZTs0QkFDQzs2QkFDZTtBQUVyQyxJQUFNRCxlQUFlRSx3QkFBVyxDQUFDQyxXQUFXLENBQUNDLDJCQUFZO0FBRXpELElBQU1ILGdCQUFnQkksMEJBQVksQ0FBQ0YsV0FBVyxDQUFDRyw0QkFBYSJ9