occam-nominal 1.0.428 → 1.0.430

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.
@@ -14,9 +14,8 @@ const _elements = require("../elements");
14
14
  const _state = require("../utilities/state");
15
15
  const _continuation = require("../utilities/continuation");
16
16
  const _instantiate = require("../process/instantiate");
17
- const _element = require("../utilities/element");
18
17
  const _context = require("../utilities/context");
19
- const { match } = _necessary.arrayUtilities, { asynchronousEvery } = _occamlanguages.continuationUtilities, { breakPointFromJSON, breakPointToBreakPointJSON } = _occamlanguages.breakPointUtilities;
18
+ const { match } = _necessary.arrayUtilities, { breakPointFromJSON, breakPointToBreakPointJSON } = _occamlanguages.breakPointUtilities;
20
19
  const _default = (0, _elements.define)(class Signature extends _occamlanguages.Element {
21
20
  constructor(context, string, node, breakPoint, terms){
22
21
  super(context, string, node, breakPoint);
@@ -37,18 +36,14 @@ const _default = (0, _elements.define)(class Signature extends _occamlanguages.E
37
36
  const term = this.terms[index];
38
37
  return term;
39
38
  }
40
- isEqualTo(signature) {
41
- const signatureNode = signature.getNode(), signatureNodeMatches = this.matchSignatureNode(signatureNode), equalTo = signatureNodeMatches; ///
39
+ isEqualTo(signature1) {
40
+ const signatureNode = signature1.getNode(), signatureNodeMatches = this.matchSignatureNode(signatureNode), equalTo = signatureNodeMatches; ///
42
41
  return equalTo;
43
42
  }
44
43
  matchSignatureNode(signatureNode) {
45
44
  const node = signatureNode, nodeMatches = this.matchNode(node), signatureNodeMatches = nodeMatches; ///
46
45
  return signatureNodeMatches;
47
46
  }
48
- findSignature(context) {
49
- const signatureNode = this.getSignatureNode(), signature = context.findSignatureBySignatureNode(signatureNode);
50
- return signature;
51
- }
52
47
  verify(context, continuation) {
53
48
  let verifies = false;
54
49
  const signatureString = this.getString(); ///
@@ -68,7 +63,7 @@ const _default = (0, _elements.define)(class Signature extends _occamlanguages.E
68
63
  let validates;
69
64
  const specificContext = context, signatureString = this.getString();
70
65
  context.trace(`Validating the '${signatureString}' signature...`);
71
- const signature = this; ///
66
+ const signature1 = this; ///
72
67
  (0, _context.attempt)((context)=>{
73
68
  const validateTerms = this.validateTerms.bind(this);
74
69
  validates = (0, _continuation.all)([
@@ -77,7 +72,7 @@ const _default = (0, _elements.define)(class Signature extends _occamlanguages.E
77
72
  let validates;
78
73
  this.commit(context);
79
74
  context = specificContext; ///
80
- validates = continuation(signature, context);
75
+ validates = continuation(signature1, context);
81
76
  return validates;
82
77
  });
83
78
  }, context);
@@ -87,12 +82,27 @@ const _default = (0, _elements.define)(class Signature extends _occamlanguages.E
87
82
  }
88
83
  return validates;
89
84
  }
85
+ validateTerm(term, terms, state, context, continuation) {
86
+ let termValidates;
87
+ const termString = term.getString(), signatureString = this.getString(); ///
88
+ context.trace(`Validating the '${signatureString}' signature's '${termString}' term...`);
89
+ termValidates = term.validate(state, context, (term, context)=>{
90
+ let validates;
91
+ terms.push(term);
92
+ validates = continuation(terms, state, context);
93
+ return validates;
94
+ });
95
+ if (termValidates) {
96
+ context.debug(`...validated the '${signatureString}' signature's '${termString}' term.`);
97
+ }
98
+ return termValidates;
99
+ }
90
100
  validateTerms(state, context, continuation) {
91
101
  let termsValidate;
92
102
  const signatureString = this.getString(); ///
93
103
  context.trace(`Validating the '${signatureString}' signature's terms...`);
94
104
  const terms = [], validateTerm = this.validateTerm.bind(this);
95
- termsValidate = (0, _continuation.every)(this.terms, validateTerm, terms, state, context, (state, context)=>{
105
+ termsValidate = (0, _continuation.every)(this.terms, validateTerm, terms, state, context, (terms, state, context)=>{
96
106
  let termsValidate;
97
107
  termsValidate = continuation(state, context);
98
108
  if (termsValidate) {
@@ -105,31 +115,14 @@ const _default = (0, _elements.define)(class Signature extends _occamlanguages.E
105
115
  }
106
116
  return termsValidate;
107
117
  }
108
- validateTerm(term, terms, state, context, continuation) {
109
- let termValidates;
110
- const termString = term.getString(), signatureString = this.getString(); ///
111
- context.trace(`Validating the '${signatureString}' signature's '${termString}' term...`);
112
- termValidates = term.validate(state, context, (term, context)=>{
113
- let validates;
114
- validates = continuation(terms, state, context);
115
- if (validates) {
116
- terms.push(term);
117
- }
118
- return validates;
119
- });
120
- if (termValidates) {
121
- context.debug(`...validated the '${signatureString}' signature's '${termString}' term.`);
122
- }
123
- return termValidates;
124
- }
125
- unifySignature(signature, context) {
126
- let signatureUnifies;
118
+ unifyTerms(terms, context, continuation) {
119
+ let termsUnify;
127
120
  debugger;
128
121
  const generalSignature = this, specificSignature = signature, generalSignatureString = generalSignature.getString(), specificSignatureString = specificSignature.getString();
129
122
  context.trace(`Unifying the '${specificSignatureString}' signature with the '${generalSignatureString}' signature...`);
130
123
  const generalSignatureTerms = generalSignature.getTerms(), specificSignatureTerms = specificSignature.getTerms(), generalSignatureContext = generalSignature.getContext(), specificSignatureContext = specificSignature.getContext(), generalTerms = generalSignatureTerms, specificTerms = specificSignatureTerms, generalContext = generalSignatureContext, specificContext = specificSignatureContext; ///
131
124
  debugger;
132
- signatureUnifies = (0, _context.reconcile)((specificContext)=>{
125
+ termsUnify = (0, _context.reconcile)((specificContext)=>{
133
126
  match(generalTerms, specificTerms, (generalTerm, specificTerm)=>{
134
127
  let termUnifies;
135
128
  termUnifies = generalTerm.unifyTerm(specificTerm, generalContext, specificContext);
@@ -137,14 +130,14 @@ const _default = (0, _elements.define)(class Signature extends _occamlanguages.E
137
130
  return true;
138
131
  }
139
132
  });
140
- if (signatureUnifies) {
133
+ if (termsUnify) {
141
134
  specificContext.commit(context);
142
135
  }
143
136
  }, specificContext);
144
- if (signatureUnifies) {
137
+ if (termsUnify) {
145
138
  context.debug(`...unified the '${specificSignatureString}' signature with the '${generalSignatureString}' signature.`);
146
139
  }
147
- return signatureUnifies;
140
+ return termsUnify;
148
141
  }
149
142
  toJSON() {
150
143
  const context = this.getContext();
@@ -164,24 +157,14 @@ const _default = (0, _elements.define)(class Signature extends _occamlanguages.E
164
157
  }
165
158
  static name = "Signature";
166
159
  static fromJSON(json, context) {
167
- let signature;
160
+ let signature1;
168
161
  (0, _context.instantiate)((context)=>{
169
162
  (0, _context.unserialise)((json, context)=>{
170
163
  const { string } = json, signatureNode = (0, _instantiate.instantiateSignature)(string, context), node = signatureNode, breakPoint = breakPointFromJSON(json), terms = termsFromSignatureNode(signatureNode, context);
171
- signature = new Signature(context, string, node, breakPoint, terms);
164
+ signature1 = new Signature(context, string, node, breakPoint, terms);
172
165
  }, json, context);
173
166
  }, context);
174
- return signature;
175
- }
176
- static fromSignatureString(signatureString, context) {
177
- let signature;
178
- (0, _context.ablate)((context)=>{
179
- (0, _context.instantiate)((context)=>{
180
- const string = signatureString, signatureNode = (0, _instantiate.instantiateSignature)(string, context);
181
- signature = (0, _element.signatureFromSignatureNode)(signatureNode, context);
182
- }, context);
183
- }, context);
184
- return signature;
167
+ return signature1;
185
168
  }
186
169
  });
187
170
  function termsFromSignatureNode(signatureNode, context) {
@@ -192,4 +175,4 @@ function termsFromSignatureNode(signatureNode, context) {
192
175
  return terms;
193
176
  }
194
177
 
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3NpZ25hdHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgZGVjbGFyZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RhdGVcIjtcbmltcG9ydCB7IGFsbCwgZXZlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRpbnVhdGlvblwiO1xuaW1wb3J0IHsgaW5zdGFudGlhdGVTaWduYXR1cmUgfSBmcm9tIFwiLi4vcHJvY2Vzcy9pbnN0YW50aWF0ZVwiO1xuaW1wb3J0IHsgc2lnbmF0dXJlRnJvbVNpZ25hdHVyZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2VsZW1lbnRcIjtcbmltcG9ydCB7IGFibGF0ZSwgYXR0ZW1wdCwgcmVjb25jaWxlLCBzZXJpYWxpc2UsIHVuc2VyaWFsaXNlLCBpbnN0YW50aWF0ZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuXG5jb25zdCB7IG1hdGNoIH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgYXN5bmNocm9ub3VzRXZlcnkgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgYnJlYWtQb2ludEZyb21KU09OLCBicmVha1BvaW50VG9CcmVha1BvaW50SlNPTiB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFNpZ25hdHVyZSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm1zKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudGVybXMgPSB0ZXJtcztcbiAgfVxuXG4gIGdldFRlcm1zKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm1zO1xuICB9XG5cbiAgZ2V0U2lnbmF0dXJlTm9kZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgc2lnbmF0dXJlTm9kZSA9IG5vZGU7IC8vL1xuXG4gICAgcmV0dXJuIHNpZ25hdHVyZU5vZGU7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7XG4gICAgY29uc3QgdGVybXNMZW5ndGggPSB0aGlzLnRlcm1zLmxlbmd0aCxcbiAgICAgICAgICBsZW5ndGggPSB0ZXJtc0xlbmd0aDsgLy8vXG5cbiAgICByZXR1cm4gbGVuZ3RoO1xuICB9XG5cbiAgZ2V0VGVybShpbmRleCkge1xuICAgIGNvbnN0IHRlcm0gPSB0aGlzLnRlcm1zW2luZGV4XTtcblxuICAgIHJldHVybiB0ZXJtO1xuICB9XG5cbiAgaXNFcXVhbFRvKHNpZ25hdHVyZSkge1xuICAgIGNvbnN0IHNpZ25hdHVyZU5vZGUgPSBzaWduYXR1cmUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIHNpZ25hdHVyZU5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaFNpZ25hdHVyZU5vZGUoc2lnbmF0dXJlTm9kZSksXG4gICAgICAgICAgZXF1YWxUbyA9IHNpZ25hdHVyZU5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIG1hdGNoU2lnbmF0dXJlTm9kZShzaWduYXR1cmVOb2RlKSB7XG4gICAgY29uc3Qgbm9kZSA9IHNpZ25hdHVyZU5vZGUsIC8vL1xuICAgICAgICAgIG5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaE5vZGUobm9kZSksXG4gICAgICAgICAgc2lnbmF0dXJlTm9kZU1hdGNoZXMgPSBub2RlTWF0Y2hlczsgLy8vXG5cbiAgICByZXR1cm4gc2lnbmF0dXJlTm9kZU1hdGNoZXM7XG4gIH1cblxuICBmaW5kU2lnbmF0dXJlKGNvbnRleHQpIHtcbiAgICBjb25zdCBzaWduYXR1cmVOb2RlID0gdGhpcy5nZXRTaWduYXR1cmVOb2RlKCksXG4gICAgICAgICAgc2lnbmF0dXJlID0gY29udGV4dC5maW5kU2lnbmF0dXJlQnlTaWduYXR1cmVOb2RlKHNpZ25hdHVyZU5vZGUpO1xuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxuXG4gIHZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHNpZ25hdHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUuLi5gKTtcblxuICAgIGRlY2xhcmUoKHN0YXRlKSA9PiB7XG4gICAgICBjb25zdCB2YWxpZGF0ZXMgPSB0aGlzLnZhbGlkYXRlKHN0YXRlLCBjb250ZXh0LCAoY29uY2x1c2lvbiwgY29udGV4dCkgPT4gdHJ1ZSk7XG5cbiAgICAgIGlmICh2YWxpZGF0ZXMpIHtcbiAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHZlcmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c2lnbmF0dXJlU3RyaW5nfScgc2lnbmF0dXJlLmApO1xuICAgIH1cblxuICAgIHJldHVybiBjb250aW51YXRpb24odmVyaWZpZXMsIGNvbnRleHQpO1xuICB9XG5cbiAgdmFsaWRhdGUoc3RhdGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGxldCB2YWxpZGF0ZXM7XG5cbiAgICBjb25zdCBzcGVjaWZpY0NvbnRleHQgPSBjb250ZXh0LCAgLy8vXG4gICAgICAgICAgc2lnbmF0dXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZhbGlkYXRpbmcgdGhlICcke3NpZ25hdHVyZVN0cmluZ30nIHNpZ25hdHVyZS4uLmApO1xuXG4gICAgY29uc3Qgc2lnbmF0dXJlID0gdGhpczsgIC8vL1xuXG4gICAgYXR0ZW1wdCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdGVUZXJtcyA9IHRoaXMudmFsaWRhdGVUZXJtcy5iaW5kKHRoaXMpO1xuXG4gICAgICB2YWxpZGF0ZXMgPSBhbGwoW1xuICAgICAgICB2YWxpZGF0ZVRlcm1zXG4gICAgICBdLCBzdGF0ZSwgY29udGV4dCwgKHN0YXRlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGxldCB2YWxpZGF0ZXM7XG5cbiAgICAgICAgdGhpcy5jb21taXQoY29udGV4dCk7XG5cbiAgICAgICAgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dDsgIC8vL1xuXG4gICAgICAgIHZhbGlkYXRlcyA9IGNvbnRpbnVhdGlvbihzaWduYXR1cmUsIGNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiB2YWxpZGF0ZXM7XG4gICAgICB9KTtcbiAgICB9LCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQ7ICAvLy9cblxuICAgIGlmICh2YWxpZGF0ZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZhbGlkYXRlZCB0aGUgJyR7c2lnbmF0dXJlU3RyaW5nfScgc2lnbmF0dXJlLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0ZXM7XG4gIH1cblxuICB2YWxpZGF0ZVRlcm1zKHN0YXRlLCBjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICBsZXQgdGVybXNWYWxpZGF0ZTtcblxuICAgIGNvbnN0IHNpZ25hdHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZhbGlkYXRpbmcgdGhlICcke3NpZ25hdHVyZVN0cmluZ30nIHNpZ25hdHVyZSdzIHRlcm1zLi4uYCk7XG5cbiAgICBjb25zdCB0ZXJtcyA9IFtdLFxuICAgICAgICAgIHZhbGlkYXRlVGVybSA9IHRoaXMudmFsaWRhdGVUZXJtLmJpbmQodGhpcyk7XG5cbiAgICB0ZXJtc1ZhbGlkYXRlID0gZXZlcnkodGhpcy50ZXJtcywgdmFsaWRhdGVUZXJtLCB0ZXJtcywgc3RhdGUsIGNvbnRleHQsIChzdGF0ZSwgY29udGV4dCkgPT4ge1xuICAgICAgbGV0IHRlcm1zVmFsaWRhdGU7XG5cbiAgICAgIHRlcm1zVmFsaWRhdGUgPSBjb250aW51YXRpb24oc3RhdGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAodGVybXNWYWxpZGF0ZSkge1xuICAgICAgICB0aGlzLnRlcm1zID0gdGVybXM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0ZXJtc1ZhbGlkYXRlO1xuICAgIH0pO1xuXG4gICAgaWYgKHRlcm1zVmFsaWRhdGUpe1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtzaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUncyB0ZXJtcy5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVybXNWYWxpZGF0ZVxuICB9XG5cbiAgdmFsaWRhdGVUZXJtKHRlcm0sIHRlcm1zLCBzdGF0ZSwgY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgbGV0IHRlcm1WYWxpZGF0ZXM7XG5cbiAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzaWduYXR1cmVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWYWxpZGF0aW5nIHRoZSAnJHtzaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUncyAnJHt0ZXJtU3RyaW5nfScgdGVybS4uLmApO1xuXG4gICAgdGVybVZhbGlkYXRlcyA9IHRlcm0udmFsaWRhdGUoc3RhdGUsIGNvbnRleHQsICh0ZXJtLCBjb250ZXh0KSA9PiB7XG4gICAgICBsZXQgdmFsaWRhdGVzO1xuXG4gICAgICB2YWxpZGF0ZXMgPSBjb250aW51YXRpb24odGVybXMsIHN0YXRlLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHZhbGlkYXRlcykge1xuICAgICAgICB0ZXJtcy5wdXNoKHRlcm0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsaWRhdGVzO1xuICAgIH0pO1xuXG4gICAgaWYgKHRlcm1WYWxpZGF0ZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZhbGlkYXRlZCB0aGUgJyR7c2lnbmF0dXJlU3RyaW5nfScgc2lnbmF0dXJlJ3MgJyR7dGVybVN0cmluZ30nIHRlcm0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlcm1WYWxpZGF0ZXM7XG4gIH1cblxuICB1bmlmeVNpZ25hdHVyZShzaWduYXR1cmUsIGNvbnRleHQpIHtcbiAgICBsZXQgc2lnbmF0dXJlVW5pZmllcztcblxuICAgIGRlYnVnZ2VyXG5cbiAgICBjb25zdCBnZW5lcmFsU2lnbmF0dXJlID0gdGhpcywgIC8vL1xuICAgICAgICAgIHNwZWNpZmljU2lnbmF0dXJlID0gc2lnbmF0dXJlLCAgLy8vXG4gICAgICAgICAgZ2VuZXJhbFNpZ25hdHVyZVN0cmluZyA9IGdlbmVyYWxTaWduYXR1cmUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3BlY2lmaWNTaWduYXR1cmVTdHJpbmcgPSBzcGVjaWZpY1NpZ25hdHVyZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzcGVjaWZpY1NpZ25hdHVyZVN0cmluZ30nIHNpZ25hdHVyZSB3aXRoIHRoZSAnJHtnZW5lcmFsU2lnbmF0dXJlU3RyaW5nfScgc2lnbmF0dXJlLi4uYCk7XG5cbiAgICBjb25zdCBnZW5lcmFsU2lnbmF0dXJlVGVybXMgPSBnZW5lcmFsU2lnbmF0dXJlLmdldFRlcm1zKCksXG4gICAgICAgICAgc3BlY2lmaWNTaWduYXR1cmVUZXJtcyA9IHNwZWNpZmljU2lnbmF0dXJlLmdldFRlcm1zKCksXG4gICAgICAgICAgZ2VuZXJhbFNpZ25hdHVyZUNvbnRleHQgPSBnZW5lcmFsU2lnbmF0dXJlLmdldENvbnRleHQoKSxcbiAgICAgICAgICBzcGVjaWZpY1NpZ25hdHVyZUNvbnRleHQgPSBzcGVjaWZpY1NpZ25hdHVyZS5nZXRDb250ZXh0KCksXG4gICAgICAgICAgZ2VuZXJhbFRlcm1zID0gZ2VuZXJhbFNpZ25hdHVyZVRlcm1zLCAgLy8vXG4gICAgICAgICAgc3BlY2lmaWNUZXJtcyA9IHNwZWNpZmljU2lnbmF0dXJlVGVybXMsIC8vL1xuICAgICAgICAgIGdlbmVyYWxDb250ZXh0ID0gZ2VuZXJhbFNpZ25hdHVyZUNvbnRleHQsIC8vL1xuICAgICAgICAgIHNwZWNpZmljQ29udGV4dCA9IHNwZWNpZmljU2lnbmF0dXJlQ29udGV4dDsgIC8vL1xuXG4gICAgZGVidWdnZXJcblxuICAgIHNpZ25hdHVyZVVuaWZpZXMgPSByZWNvbmNpbGUoKHNwZWNpZmljQ29udGV4dCkgPT4ge1xuICAgICAgbWF0Y2goZ2VuZXJhbFRlcm1zLCBzcGVjaWZpY1Rlcm1zLCAoZ2VuZXJhbFRlcm0sIHNwZWNpZmljVGVybSkgPT4ge1xuICAgICAgICBsZXQgdGVybVVuaWZpZXM7XG5cbiAgICAgICAgdGVybVVuaWZpZXMgPSBnZW5lcmFsVGVybS51bmlmeVRlcm0oc3BlY2lmaWNUZXJtLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgICBpZiAodGVybVVuaWZpZXMpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmIChzaWduYXR1cmVVbmlmaWVzKSB7XG4gICAgICAgIHNwZWNpZmljQ29udGV4dC5jb21taXQoY29udGV4dCk7XG4gICAgICB9XG4gICAgfSwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgIGlmIChzaWduYXR1cmVVbmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzcGVjaWZpY1NpZ25hdHVyZVN0cmluZ30nIHNpZ25hdHVyZSB3aXRoIHRoZSAnJHtnZW5lcmFsU2lnbmF0dXJlU3RyaW5nfScgc2lnbmF0dXJlLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzaWduYXR1cmVVbmlmaWVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblxuICAgIHJldHVybiBzZXJpYWxpc2UoKGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGxldCBicmVha1BvaW50O1xuXG4gICAgICBicmVha1BvaW50ID0gdGhpcy5nZXRCcmVha1BvaW50KCk7XG5cbiAgICAgIGNvbnN0IGJyZWFrUG9pbnRKU09OID0gYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04oYnJlYWtQb2ludCk7XG5cbiAgICAgIGJyZWFrUG9pbnQgPSBicmVha1BvaW50SlNPTjsgIC8vL1xuXG4gICAgICBjb25zdCBqc29uID0ge1xuICAgICAgICBjb250ZXh0LFxuICAgICAgICBzdHJpbmcsXG4gICAgICAgIGJyZWFrUG9pbnRcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBqc29uO1xuICAgIH0sIGNvbnRleHQpO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlNpZ25hdHVyZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgbGV0IHNpZ25hdHVyZTtcblxuICAgIGluc3RhbnRpYXRlKChjb250ZXh0KSA9PiB7XG4gICAgICB1bnNlcmlhbGlzZSgoanNvbiwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICAgICAgc2lnbmF0dXJlTm9kZSA9IGluc3RhbnRpYXRlU2lnbmF0dXJlKHN0cmluZywgY29udGV4dCksXG4gICAgICAgICAgICAgIG5vZGUgPSBzaWduYXR1cmVOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIGJyZWFrUG9pbnQgPSBicmVha1BvaW50RnJvbUpTT04oanNvbiksXG4gICAgICAgICAgICAgIHRlcm1zID0gdGVybXNGcm9tU2lnbmF0dXJlTm9kZShzaWduYXR1cmVOb2RlLCBjb250ZXh0KTtcblxuICAgICAgICBzaWduYXR1cmUgPSBuZXcgU2lnbmF0dXJlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdGVybXMpO1xuICAgICAgfSwganNvbiwgY29udGV4dCk7XG4gICAgfSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlO1xuICB9XG5cbiAgc3RhdGljIGZyb21TaWduYXR1cmVTdHJpbmcoc2lnbmF0dXJlU3RyaW5nLCBjb250ZXh0KSB7XG4gICAgbGV0IHNpZ25hdHVyZTtcblxuICAgIGFibGF0ZSgoY29udGV4dCkgPT4ge1xuICAgICAgaW5zdGFudGlhdGUoKGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3Qgc3RyaW5nID0gc2lnbmF0dXJlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgICAgIHNpZ25hdHVyZU5vZGUgPSBpbnN0YW50aWF0ZVNpZ25hdHVyZShzdHJpbmcsIGNvbnRleHQpO1xuXG4gICAgICAgIHNpZ25hdHVyZSA9IHNpZ25hdHVyZUZyb21TaWduYXR1cmVOb2RlKHNpZ25hdHVyZU5vZGUsIGNvbnRleHQpO1xuICAgICAgfSwgY29udGV4dCk7XG4gICAgfSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlO1xuICB9XG59KTtcblxuZnVuY3Rpb24gdGVybXNGcm9tU2lnbmF0dXJlTm9kZShzaWduYXR1cmVOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHRlcm1Ob2RlcyA9IHNpZ25hdHVyZU5vZGUuZ2V0VGVybU5vZGVzKCksXG4gICAgICAgIHRlcm1zID0gdGVybU5vZGVzLm1hcCgodGVybU5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCB0ZXJtID0gY29udGV4dC5maW5kVGVybUJ5VGVybU5vZGUodGVybU5vZGUpO1xuXG4gICAgICAgICAgcmV0dXJuIHRlcm07XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiB0ZXJtcztcbn1cbiJdLCJuYW1lcyI6WyJtYXRjaCIsImFycmF5VXRpbGl0aWVzIiwiYXN5bmNocm9ub3VzRXZlcnkiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJicmVha1BvaW50RnJvbUpTT04iLCJicmVha1BvaW50VG9CcmVha1BvaW50SlNPTiIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJTaWduYXR1cmUiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidGVybXMiLCJnZXRUZXJtcyIsImdldFNpZ25hdHVyZU5vZGUiLCJnZXROb2RlIiwic2lnbmF0dXJlTm9kZSIsImdldExlbmd0aCIsInRlcm1zTGVuZ3RoIiwibGVuZ3RoIiwiZ2V0VGVybSIsImluZGV4IiwidGVybSIsImlzRXF1YWxUbyIsInNpZ25hdHVyZSIsInNpZ25hdHVyZU5vZGVNYXRjaGVzIiwibWF0Y2hTaWduYXR1cmVOb2RlIiwiZXF1YWxUbyIsIm5vZGVNYXRjaGVzIiwibWF0Y2hOb2RlIiwiZmluZFNpZ25hdHVyZSIsImZpbmRTaWduYXR1cmVCeVNpZ25hdHVyZU5vZGUiLCJ2ZXJpZnkiLCJjb250aW51YXRpb24iLCJ2ZXJpZmllcyIsInNpZ25hdHVyZVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwiZGVjbGFyZSIsInN0YXRlIiwidmFsaWRhdGVzIiwidmFsaWRhdGUiLCJjb25jbHVzaW9uIiwiZGVidWciLCJzcGVjaWZpY0NvbnRleHQiLCJhdHRlbXB0IiwidmFsaWRhdGVUZXJtcyIsImJpbmQiLCJhbGwiLCJjb21taXQiLCJ0ZXJtc1ZhbGlkYXRlIiwidmFsaWRhdGVUZXJtIiwiZXZlcnkiLCJ0ZXJtVmFsaWRhdGVzIiwidGVybVN0cmluZyIsInB1c2giLCJ1bmlmeVNpZ25hdHVyZSIsInNpZ25hdHVyZVVuaWZpZXMiLCJnZW5lcmFsU2lnbmF0dXJlIiwic3BlY2lmaWNTaWduYXR1cmUiLCJnZW5lcmFsU2lnbmF0dXJlU3RyaW5nIiwic3BlY2lmaWNTaWduYXR1cmVTdHJpbmciLCJnZW5lcmFsU2lnbmF0dXJlVGVybXMiLCJzcGVjaWZpY1NpZ25hdHVyZVRlcm1zIiwiZ2VuZXJhbFNpZ25hdHVyZUNvbnRleHQiLCJnZXRDb250ZXh0Iiwic3BlY2lmaWNTaWduYXR1cmVDb250ZXh0IiwiZ2VuZXJhbFRlcm1zIiwic3BlY2lmaWNUZXJtcyIsImdlbmVyYWxDb250ZXh0IiwicmVjb25jaWxlIiwiZ2VuZXJhbFRlcm0iLCJzcGVjaWZpY1Rlcm0iLCJ0ZXJtVW5pZmllcyIsInVuaWZ5VGVybSIsInRvSlNPTiIsInNlcmlhbGlzZSIsImdldEJyZWFrUG9pbnQiLCJicmVha1BvaW50SlNPTiIsImpzb24iLCJuYW1lIiwiZnJvbUpTT04iLCJpbnN0YW50aWF0ZSIsInVuc2VyaWFsaXNlIiwiaW5zdGFudGlhdGVTaWduYXR1cmUiLCJ0ZXJtc0Zyb21TaWduYXR1cmVOb2RlIiwiZnJvbVNpZ25hdHVyZVN0cmluZyIsImFibGF0ZSIsInNpZ25hdHVyZUZyb21TaWduYXR1cmVOb2RlIiwidGVybU5vZGVzIiwiZ2V0VGVybU5vZGVzIiwibWFwIiwidGVybU5vZGUiLCJmaW5kVGVybUJ5VGVybU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQUE7OzsyQkFkK0I7Z0NBQ3FDOzBCQUU3Qzt1QkFDQzs4QkFDRzs2QkFDVTt5QkFDTTt5QkFDcUM7QUFFaEYsTUFBTSxFQUFFQSxLQUFLLEVBQUUsR0FBR0MseUJBQWMsRUFDMUIsRUFBRUMsaUJBQWlCLEVBQUUsR0FBR0MscUNBQXFCLEVBQzdDLEVBQUVDLGtCQUFrQixFQUFFQywwQkFBMEIsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFOUUsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxrQkFBa0JDLHVCQUFPO0lBQ25ELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxDQUFFO1FBQ3BELEtBQUssQ0FBQ0os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
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3NpZ25hdHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGRlY2xhcmUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0YXRlXCI7XG5pbXBvcnQgeyBhbGwsIGV2ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250aW51YXRpb25cIjtcbmltcG9ydCB7IGluc3RhbnRpYXRlU2lnbmF0dXJlIH0gZnJvbSBcIi4uL3Byb2Nlc3MvaW5zdGFudGlhdGVcIjtcbmltcG9ydCB7IGF0dGVtcHQsIHJlY29uY2lsZSwgc2VyaWFsaXNlLCB1bnNlcmlhbGlzZSwgaW5zdGFudGlhdGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcblxuY29uc3QgeyBtYXRjaCB9ID0gYXJyYXlVdGlsaXRpZXMsXG4gICAgICB7IGJyZWFrUG9pbnRGcm9tSlNPTiwgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04gfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBTaWduYXR1cmUgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0ZXJtcykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnRlcm1zID0gdGVybXM7XG4gIH1cblxuICBnZXRUZXJtcygpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtcztcbiAgfVxuXG4gIGdldFNpZ25hdHVyZU5vZGUoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIHNpZ25hdHVyZU5vZGUgPSBub2RlOyAvLy9cblxuICAgIHJldHVybiBzaWduYXR1cmVOb2RlO1xuICB9XG5cbiAgZ2V0TGVuZ3RoKCkge1xuICAgIGNvbnN0IHRlcm1zTGVuZ3RoID0gdGhpcy50ZXJtcy5sZW5ndGgsXG4gICAgICAgICAgbGVuZ3RoID0gdGVybXNMZW5ndGg7IC8vL1xuXG4gICAgcmV0dXJuIGxlbmd0aDtcbiAgfVxuXG4gIGdldFRlcm0oaW5kZXgpIHtcbiAgICBjb25zdCB0ZXJtID0gdGhpcy50ZXJtc1tpbmRleF07XG5cbiAgICByZXR1cm4gdGVybTtcbiAgfVxuXG4gIGlzRXF1YWxUbyhzaWduYXR1cmUpIHtcbiAgICBjb25zdCBzaWduYXR1cmVOb2RlID0gc2lnbmF0dXJlLmdldE5vZGUoKSxcbiAgICAgICAgICBzaWduYXR1cmVOb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hTaWduYXR1cmVOb2RlKHNpZ25hdHVyZU5vZGUpLFxuICAgICAgICAgIGVxdWFsVG8gPSBzaWduYXR1cmVOb2RlTWF0Y2hlczsgIC8vL1xuXG4gICAgcmV0dXJuIGVxdWFsVG87XG4gIH1cblxuICBtYXRjaFNpZ25hdHVyZU5vZGUoc2lnbmF0dXJlTm9kZSkge1xuICAgIGNvbnN0IG5vZGUgPSBzaWduYXR1cmVOb2RlLCAvLy9cbiAgICAgICAgICBub2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hOb2RlKG5vZGUpLFxuICAgICAgICAgIHNpZ25hdHVyZU5vZGVNYXRjaGVzID0gbm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIHNpZ25hdHVyZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdmVyaWZ5KGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGxldCB2ZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc2lnbmF0dXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3NpZ25hdHVyZVN0cmluZ30nIHNpZ25hdHVyZS4uLmApO1xuXG4gICAgZGVjbGFyZSgoc3RhdGUpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkYXRlcyA9IHRoaXMudmFsaWRhdGUoc3RhdGUsIGNvbnRleHQsIChjb25jbHVzaW9uLCBjb250ZXh0KSA9PiB0cnVlKTtcblxuICAgICAgaWYgKHZhbGlkYXRlcykge1xuICAgICAgICB2ZXJpZmllcyA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbih2ZXJpZmllcywgY29udGV4dCk7XG4gIH1cblxuICB2YWxpZGF0ZShzdGF0ZSwgY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgbGV0IHZhbGlkYXRlcztcblxuICAgIGNvbnN0IHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHQsICAvLy9cbiAgICAgICAgICBzaWduYXR1cmVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7c2lnbmF0dXJlU3RyaW5nfScgc2lnbmF0dXJlLi4uYCk7XG5cbiAgICBjb25zdCBzaWduYXR1cmUgPSB0aGlzOyAgLy8vXG5cbiAgICBhdHRlbXB0KChjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCB2YWxpZGF0ZVRlcm1zID0gdGhpcy52YWxpZGF0ZVRlcm1zLmJpbmQodGhpcyk7XG5cbiAgICAgIHZhbGlkYXRlcyA9IGFsbChbXG4gICAgICAgIHZhbGlkYXRlVGVybXNcbiAgICAgIF0sIHN0YXRlLCBjb250ZXh0LCAoc3RhdGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgbGV0IHZhbGlkYXRlcztcblxuICAgICAgICB0aGlzLmNvbW1pdChjb250ZXh0KTtcblxuICAgICAgICBjb250ZXh0ID0gc3BlY2lmaWNDb250ZXh0OyAgLy8vXG5cbiAgICAgICAgdmFsaWRhdGVzID0gY29udGludWF0aW9uKHNpZ25hdHVyZSwgY29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlcztcbiAgICAgIH0pO1xuICAgIH0sIGNvbnRleHQpO1xuXG4gICAgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dDsgIC8vL1xuXG4gICAgaWYgKHZhbGlkYXRlcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtzaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkYXRlcztcbiAgfVxuXG4gIHZhbGlkYXRlVGVybSh0ZXJtLCB0ZXJtcywgc3RhdGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGxldCB0ZXJtVmFsaWRhdGVzO1xuXG4gICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc2lnbmF0dXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7c2lnbmF0dXJlU3RyaW5nfScgc2lnbmF0dXJlJ3MgJyR7dGVybVN0cmluZ30nIHRlcm0uLi5gKTtcblxuICAgIHRlcm1WYWxpZGF0ZXMgPSB0ZXJtLnZhbGlkYXRlKHN0YXRlLCBjb250ZXh0LCAodGVybSwgY29udGV4dCkgPT4ge1xuICAgICAgbGV0IHZhbGlkYXRlcztcblxuICAgICAgdGVybXMucHVzaCh0ZXJtKTtcblxuICAgICAgdmFsaWRhdGVzID0gY29udGludWF0aW9uKHRlcm1zLCBzdGF0ZSwgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiB2YWxpZGF0ZXM7XG4gICAgfSk7XG5cbiAgICBpZiAodGVybVZhbGlkYXRlcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtzaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUncyAnJHt0ZXJtU3RyaW5nfScgdGVybS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVybVZhbGlkYXRlcztcbiAgfVxuXG4gIHZhbGlkYXRlVGVybXMoc3RhdGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGxldCB0ZXJtc1ZhbGlkYXRlO1xuXG4gICAgY29uc3Qgc2lnbmF0dXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7c2lnbmF0dXJlU3RyaW5nfScgc2lnbmF0dXJlJ3MgdGVybXMuLi5gKTtcblxuICAgIGNvbnN0IHRlcm1zID0gW10sXG4gICAgICAgICAgdmFsaWRhdGVUZXJtID0gdGhpcy52YWxpZGF0ZVRlcm0uYmluZCh0aGlzKTtcblxuICAgIHRlcm1zVmFsaWRhdGUgPSBldmVyeSh0aGlzLnRlcm1zLCB2YWxpZGF0ZVRlcm0sIHRlcm1zLCBzdGF0ZSwgY29udGV4dCwgKHRlcm1zLCBzdGF0ZSwgY29udGV4dCkgPT4ge1xuICAgICAgbGV0IHRlcm1zVmFsaWRhdGU7XG5cbiAgICAgIHRlcm1zVmFsaWRhdGUgPSBjb250aW51YXRpb24oc3RhdGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAodGVybXNWYWxpZGF0ZSkge1xuICAgICAgICB0aGlzLnRlcm1zID0gdGVybXM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0ZXJtc1ZhbGlkYXRlO1xuICAgIH0pO1xuXG4gICAgaWYgKHRlcm1zVmFsaWRhdGUpe1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtzaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUncyB0ZXJtcy5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVybXNWYWxpZGF0ZVxuICB9XG5cbiAgdW5pZnlUZXJtcyh0ZXJtcywgY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgbGV0IHRlcm1zVW5pZnk7XG5cbiAgICBkZWJ1Z2dlclxuXG4gICAgY29uc3QgZ2VuZXJhbFNpZ25hdHVyZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBzcGVjaWZpY1NpZ25hdHVyZSA9IHNpZ25hdHVyZSwgIC8vL1xuICAgICAgICAgIGdlbmVyYWxTaWduYXR1cmVTdHJpbmcgPSBnZW5lcmFsU2lnbmF0dXJlLmdldFN0cmluZygpLFxuICAgICAgICAgIHNwZWNpZmljU2lnbmF0dXJlU3RyaW5nID0gc3BlY2lmaWNTaWduYXR1cmUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3BlY2lmaWNTaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUgd2l0aCB0aGUgJyR7Z2VuZXJhbFNpZ25hdHVyZVN0cmluZ30nIHNpZ25hdHVyZS4uLmApO1xuXG4gICAgY29uc3QgZ2VuZXJhbFNpZ25hdHVyZVRlcm1zID0gZ2VuZXJhbFNpZ25hdHVyZS5nZXRUZXJtcygpLFxuICAgICAgICAgIHNwZWNpZmljU2lnbmF0dXJlVGVybXMgPSBzcGVjaWZpY1NpZ25hdHVyZS5nZXRUZXJtcygpLFxuICAgICAgICAgIGdlbmVyYWxTaWduYXR1cmVDb250ZXh0ID0gZ2VuZXJhbFNpZ25hdHVyZS5nZXRDb250ZXh0KCksXG4gICAgICAgICAgc3BlY2lmaWNTaWduYXR1cmVDb250ZXh0ID0gc3BlY2lmaWNTaWduYXR1cmUuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIGdlbmVyYWxUZXJtcyA9IGdlbmVyYWxTaWduYXR1cmVUZXJtcywgIC8vL1xuICAgICAgICAgIHNwZWNpZmljVGVybXMgPSBzcGVjaWZpY1NpZ25hdHVyZVRlcm1zLCAvLy9cbiAgICAgICAgICBnZW5lcmFsQ29udGV4dCA9IGdlbmVyYWxTaWduYXR1cmVDb250ZXh0LCAvLy9cbiAgICAgICAgICBzcGVjaWZpY0NvbnRleHQgPSBzcGVjaWZpY1NpZ25hdHVyZUNvbnRleHQ7ICAvLy9cblxuICAgIGRlYnVnZ2VyXG5cbiAgICB0ZXJtc1VuaWZ5ID0gcmVjb25jaWxlKChzcGVjaWZpY0NvbnRleHQpID0+IHtcbiAgICAgIG1hdGNoKGdlbmVyYWxUZXJtcywgc3BlY2lmaWNUZXJtcywgKGdlbmVyYWxUZXJtLCBzcGVjaWZpY1Rlcm0pID0+IHtcbiAgICAgICAgbGV0IHRlcm1VbmlmaWVzO1xuXG4gICAgICAgIHRlcm1VbmlmaWVzID0gZ2VuZXJhbFRlcm0udW5pZnlUZXJtKHNwZWNpZmljVGVybSwgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHRlcm1VbmlmaWVzKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGVybXNVbmlmeSkge1xuICAgICAgICBzcGVjaWZpY0NvbnRleHQuY29tbWl0KGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0sIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICBpZiAodGVybXNVbmlmeSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3BlY2lmaWNTaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUgd2l0aCB0aGUgJyR7Z2VuZXJhbFNpZ25hdHVyZVN0cmluZ30nIHNpZ25hdHVyZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVybXNVbmlmeTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cbiAgICByZXR1cm4gc2VyaWFsaXNlKChjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBzdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgICBsZXQgYnJlYWtQb2ludDtcblxuICAgICAgYnJlYWtQb2ludCA9IHRoaXMuZ2V0QnJlYWtQb2ludCgpO1xuXG4gICAgICBjb25zdCBicmVha1BvaW50SlNPTiA9IGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OKGJyZWFrUG9pbnQpO1xuXG4gICAgICBicmVha1BvaW50ID0gYnJlYWtQb2ludEpTT047ICAvLy9cblxuICAgICAgY29uc3QganNvbiA9IHtcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgc3RyaW5nLFxuICAgICAgICBicmVha1BvaW50XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4ganNvbjtcbiAgICB9LCBjb250ZXh0KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJTaWduYXR1cmVcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGxldCBzaWduYXR1cmU7XG5cbiAgICBpbnN0YW50aWF0ZSgoY29udGV4dCkgPT4ge1xuICAgICAgdW5zZXJpYWxpc2UoKGpzb24sIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgICAgIHNpZ25hdHVyZU5vZGUgPSBpbnN0YW50aWF0ZVNpZ25hdHVyZShzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBub2RlID0gc2lnbmF0dXJlTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBicmVha1BvaW50ID0gYnJlYWtQb2ludEZyb21KU09OKGpzb24pLFxuICAgICAgICAgICAgICB0ZXJtcyA9IHRlcm1zRnJvbVNpZ25hdHVyZU5vZGUoc2lnbmF0dXJlTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgc2lnbmF0dXJlID0gbmV3IFNpZ25hdHVyZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm1zKTtcbiAgICAgIH0sIGpzb24sIGNvbnRleHQpO1xuICAgIH0sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHRlcm1zRnJvbVNpZ25hdHVyZU5vZGUoc2lnbmF0dXJlTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB0ZXJtTm9kZXMgPSBzaWduYXR1cmVOb2RlLmdldFRlcm1Ob2RlcygpLFxuICAgICAgICB0ZXJtcyA9IHRlcm1Ob2Rlcy5tYXAoKHRlcm1Ob2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdGVybSA9IGNvbnRleHQuZmluZFRlcm1CeVRlcm1Ob2RlKHRlcm1Ob2RlKTtcblxuICAgICAgICAgIHJldHVybiB0ZXJtO1xuICAgICAgICB9KTtcblxuICByZXR1cm4gdGVybXM7XG59XG4iXSwibmFtZXMiOlsibWF0Y2giLCJhcnJheVV0aWxpdGllcyIsImJyZWFrUG9pbnRGcm9tSlNPTiIsImJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIlNpZ25hdHVyZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtcyIsImdldFRlcm1zIiwiZ2V0U2lnbmF0dXJlTm9kZSIsImdldE5vZGUiLCJzaWduYXR1cmVOb2RlIiwiZ2V0TGVuZ3RoIiwidGVybXNMZW5ndGgiLCJsZW5ndGgiLCJnZXRUZXJtIiwiaW5kZXgiLCJ0ZXJtIiwiaXNFcXVhbFRvIiwic2lnbmF0dXJlIiwic2lnbmF0dXJlTm9kZU1hdGNoZXMiLCJtYXRjaFNpZ25hdHVyZU5vZGUiLCJlcXVhbFRvIiwibm9kZU1hdGNoZXMiLCJtYXRjaE5vZGUiLCJ2ZXJpZnkiLCJjb250aW51YXRpb24iLCJ2ZXJpZmllcyIsInNpZ25hdHVyZVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwiZGVjbGFyZSIsInN0YXRlIiwidmFsaWRhdGVzIiwidmFsaWRhdGUiLCJjb25jbHVzaW9uIiwiZGVidWciLCJzcGVjaWZpY0NvbnRleHQiLCJhdHRlbXB0IiwidmFsaWRhdGVUZXJtcyIsImJpbmQiLCJhbGwiLCJjb21taXQiLCJ2YWxpZGF0ZVRlcm0iLCJ0ZXJtVmFsaWRhdGVzIiwidGVybVN0cmluZyIsInB1c2giLCJ0ZXJtc1ZhbGlkYXRlIiwiZXZlcnkiLCJ1bmlmeVRlcm1zIiwidGVybXNVbmlmeSIsImdlbmVyYWxTaWduYXR1cmUiLCJzcGVjaWZpY1NpZ25hdHVyZSIsImdlbmVyYWxTaWduYXR1cmVTdHJpbmciLCJzcGVjaWZpY1NpZ25hdHVyZVN0cmluZyIsImdlbmVyYWxTaWduYXR1cmVUZXJtcyIsInNwZWNpZmljU2lnbmF0dXJlVGVybXMiLCJnZW5lcmFsU2lnbmF0dXJlQ29udGV4dCIsImdldENvbnRleHQiLCJzcGVjaWZpY1NpZ25hdHVyZUNvbnRleHQiLCJnZW5lcmFsVGVybXMiLCJzcGVjaWZpY1Rlcm1zIiwiZ2VuZXJhbENvbnRleHQiLCJyZWNvbmNpbGUiLCJnZW5lcmFsVGVybSIsInNwZWNpZmljVGVybSIsInRlcm1VbmlmaWVzIiwidW5pZnlUZXJtIiwidG9KU09OIiwic2VyaWFsaXNlIiwiZ2V0QnJlYWtQb2ludCIsImJyZWFrUG9pbnRKU09OIiwianNvbiIsIm5hbWUiLCJmcm9tSlNPTiIsImluc3RhbnRpYXRlIiwidW5zZXJpYWxpc2UiLCJpbnN0YW50aWF0ZVNpZ25hdHVyZSIsInRlcm1zRnJvbVNpZ25hdHVyZU5vZGUiLCJ0ZXJtTm9kZXMiLCJnZXRUZXJtTm9kZXMiLCJtYXAiLCJ0ZXJtTm9kZSIsImZpbmRUZXJtQnlUZXJtTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7MkJBWitCO2dDQUNjOzBCQUV0Qjt1QkFDQzs4QkFDRzs2QkFDVTt5QkFDbUM7QUFFeEUsTUFBTSxFQUFFQSxLQUFLLEVBQUUsR0FBR0MseUJBQWMsRUFDMUIsRUFBRUMsa0JBQWtCLEVBQUVDLDBCQUEwQixFQUFFLEdBQUdDLG1DQUFtQjtNQUU5RSxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGtCQUFrQkMsdUJBQU87SUFDbkQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxLQUFLLENBQUU7UUFDcEQsS0FBSyxDQUFDSixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLEtBQUssR0FBR0E7SUFDZjtJQUVBQyxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNELEtBQUs7SUFDbkI7SUFFQUUsbUJB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
@@ -16,9 +16,9 @@ function _interop_require_default(obj) {
16
16
  };
17
17
  }
18
18
  class SignatureAssertionNode extends _assertion.default {
19
- getSignatureNode() {
20
- const ruleName = _ruleNames.SIGNATURE_RULE_NAME, signatureNode = this.getNodeByRuleName(ruleName);
21
- return signatureNode;
19
+ getTermNodes() {
20
+ const ruleName = _ruleNames.TERM_RULE_NAME, termNodes = this.getNodesByRuleName(ruleName);
21
+ return termNodes;
22
22
  }
23
23
  getMetavariableNode() {
24
24
  const ruleName = _ruleNames.METAVARIABLE_RULE_NAME, metavariableNode = this.getNodeByRuleName(ruleName);
@@ -29,4 +29,4 @@ class SignatureAssertionNode extends _assertion.default {
29
29
  }
30
30
  }
31
31
 
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2Fzc2VydGlvbi9zaWduYXR1cmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBc3NlcnRpb25Ob2RlIGZyb20gXCIuLi8uLi9ub2RlL2Fzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBTSUdOQVRVUkVfUlVMRV9OQU1FLCBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaWduYXR1cmVBc3NlcnRpb25Ob2RlIGV4dGVuZHMgQXNzZXJ0aW9uTm9kZSB7XG4gIGdldFNpZ25hdHVyZU5vZGUoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBTSUdOQVRVUkVfUlVMRV9OQU1FLFxuICAgICAgICAgIHNpZ25hdHVyZU5vZGUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBzaWduYXR1cmVOb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBBc3NlcnRpb25Ob2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShTaWduYXR1cmVBc3NlcnRpb25Ob2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJTaWduYXR1cmVBc3NlcnRpb25Ob2RlIiwiQXNzZXJ0aW9uTm9kZSIsImdldFNpZ25hdHVyZU5vZGUiLCJydWxlTmFtZSIsIlNJR05BVFVSRV9SVUxFX05BTUUiLCJzaWduYXR1cmVOb2RlIiwiZ2V0Tm9kZUJ5UnVsZU5hbWUiLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBcUJBOzs7a0VBSks7MkJBRWtDOzs7Ozs7QUFFN0MsTUFBTUEsK0JBQStCQyxrQkFBYTtJQUMvREMsbUJBQW1CO1FBQ2pCLE1BQU1DLFdBQVdDLDhCQUFtQixFQUM5QkMsZ0JBQWdCLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNIO1FBRTdDLE9BQU9FO0lBQ1Q7SUFFQUUsc0JBQXNCO1FBQ3BCLE1BQU1KLFdBQVdLLGlDQUFzQixFQUNqQ0MsbUJBQW1CLElBQUksQ0FBQ0gsaUJBQWlCLENBQUNIO1FBRWhELE9BQU9NO0lBQ1Q7SUFFQSxPQUFPQywyQ0FBMkNQLFFBQVEsRUFBRVEsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRTtRQUFFLE9BQU9aLGtCQUFhLENBQUNTLDBDQUEwQyxDQUFDVix3QkFBd0JHLFVBQVVRLFlBQVlDLFNBQVNDO0lBQWE7QUFDck8ifQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2Fzc2VydGlvbi9zaWduYXR1cmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBc3NlcnRpb25Ob2RlIGZyb20gXCIuLi8uLi9ub2RlL2Fzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBURVJNX1JVTEVfTkFNRSwgTUVUQVZBUklBQkxFX1JVTEVfTkFNRSB9IGZyb20gXCIuLi8uLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2lnbmF0dXJlQXNzZXJ0aW9uTm9kZSBleHRlbmRzIEFzc2VydGlvbk5vZGUge1xuICBnZXRUZXJtTm9kZXMoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBURVJNX1JVTEVfTkFNRSxcbiAgICAgICAgICB0ZXJtTm9kZXMgPSB0aGlzLmdldE5vZGVzQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gdGVybU5vZGVzO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBBc3NlcnRpb25Ob2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShTaWduYXR1cmVBc3NlcnRpb25Ob2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJTaWduYXR1cmVBc3NlcnRpb25Ob2RlIiwiQXNzZXJ0aW9uTm9kZSIsImdldFRlcm1Ob2RlcyIsInJ1bGVOYW1lIiwiVEVSTV9SVUxFX05BTUUiLCJ0ZXJtTm9kZXMiLCJnZXROb2Rlc0J5UnVsZU5hbWUiLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJnZXROb2RlQnlSdWxlTmFtZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFxQkE7OztrRUFKSzsyQkFFNkI7Ozs7OztBQUV4QyxNQUFNQSwrQkFBK0JDLGtCQUFhO0lBQy9EQyxlQUFlO1FBQ2IsTUFBTUMsV0FBV0MseUJBQWMsRUFDekJDLFlBQVksSUFBSSxDQUFDQyxrQkFBa0IsQ0FBQ0g7UUFFMUMsT0FBT0U7SUFDVDtJQUVBRSxzQkFBc0I7UUFDcEIsTUFBTUosV0FBV0ssaUNBQXNCLEVBQ2pDQyxtQkFBbUIsSUFBSSxDQUFDQyxpQkFBaUIsQ0FBQ1A7UUFFaEQsT0FBT007SUFDVDtJQUVBLE9BQU9FLDJDQUEyQ1IsUUFBUSxFQUFFUyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFO1FBQUUsT0FBT2Isa0JBQWEsQ0FBQ1UsMENBQTBDLENBQUNYLHdCQUF3QkcsVUFBVVMsWUFBWUMsU0FBU0M7SUFBYTtBQUNyTyJ9
@@ -28,7 +28,7 @@ class HeaderNode extends _occamlanguages.NonTerminalNode {
28
28
  return labelNode;
29
29
  }
30
30
  getSignatureNode() {
31
- const ruleName = _ruleNames.SIGNATURE_RULE_NAME, signatureNode = this.getNodeByRuleName(ruleName);
31
+ const signatureNode = null;
32
32
  return signatureNode;
33
33
  }
34
34
  getParenthesisedLabelNode() {
@@ -44,4 +44,4 @@ class HeaderNode extends _occamlanguages.NonTerminalNode {
44
44
  }
45
45
  }
46
46
 
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2hlYWRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9uVGVybWluYWxOb2RlIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBTSUdOQVRVUkVfUlVMRV9OQU1FLCBQQVJFTlRIRVNJU0VEX0xBQkVMX1JVTEVfTkFNRSwgUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIZWFkZXJOb2RlIGV4dGVuZHMgTm9uVGVybWluYWxOb2RlIHtcbiAgZ2V0TGFiZWxOb2RlcygpIHtcbiAgICBsZXQgbGFiZWxOb2RlcyA9IFtdO1xuXG4gICAgY29uc3QgcGFyZW50aGVzaXNlZExhYmVsc05vZGUgPSB0aGlzLmdldFBhcmVudGhlc2lzZWRMYWJlbHNOb2RlKCk7XG5cbiAgICBpZiAocGFyZW50aGVzaXNlZExhYmVsc05vZGUgIT09IG51bGwpIHtcbiAgICAgIGxhYmVsTm9kZXMgPSBwYXJlbnRoZXNpc2VkTGFiZWxzTm9kZS5nZXRMYWJlbE5vZGVzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxhYmVsTm9kZXM7XG4gIH1cblxuICBnZXRMYWJlbE5vZGUoKSB7XG4gICAgbGV0IGxhYmVsTm9kZSA9IFtdO1xuXG4gICAgY29uc3QgcGFyZW50aGVzaXNlZExhYmVsTm9kZSA9IHRoaXMuZ2V0UGFyZW50aGVzaXNlZExhYmVsTm9kZSgpO1xuXG4gICAgaWYgKHBhcmVudGhlc2lzZWRMYWJlbE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGxhYmVsTm9kZSA9IHBhcmVudGhlc2lzZWRMYWJlbE5vZGUuZ2V0TGFiZWxOb2RlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxhYmVsTm9kZTtcbiAgfVxuXG4gIGdldFNpZ25hdHVyZU5vZGUoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBTSUdOQVRVUkVfUlVMRV9OQU1FLFxuICAgICAgICAgIHNpZ25hdHVyZU5vZGUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBzaWduYXR1cmVOb2RlO1xuICB9XG5cbiAgZ2V0UGFyZW50aGVzaXNlZExhYmVsTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFBBUkVOVEhFU0lTRURfTEFCRUxfUlVMRV9OQU1FLFxuICAgICAgICAgIHBhcmVudGhlc2lzZWRMYWJlbHNOb2RlID0gdGhpcy5nZXROb2RlQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gcGFyZW50aGVzaXNlZExhYmVsc05vZGU7XG4gIH1cblxuICBnZXRQYXJlbnRoZXNpc2VkTGFiZWxzTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFBBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRSxcbiAgICAgICAgICBwYXJlbnRoZXNpc2VkTGFiZWxzTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIHBhcmVudGhlc2lzZWRMYWJlbHNOb2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShDbGFzcywgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTsgfVxufVxuIl0sIm5hbWVzIjpbIkhlYWRlck5vZGUiLCJOb25UZXJtaW5hbE5vZGUiLCJnZXRMYWJlbE5vZGVzIiwibGFiZWxOb2RlcyIsInBhcmVudGhlc2lzZWRMYWJlbHNOb2RlIiwiZ2V0UGFyZW50aGVzaXNlZExhYmVsc05vZGUiLCJnZXRMYWJlbE5vZGUiLCJsYWJlbE5vZGUiLCJwYXJlbnRoZXNpc2VkTGFiZWxOb2RlIiwiZ2V0UGFyZW50aGVzaXNlZExhYmVsTm9kZSIsImdldFNpZ25hdHVyZU5vZGUiLCJydWxlTmFtZSIsIlNJR05BVFVSRV9SVUxFX05BTUUiLCJzaWduYXR1cmVOb2RlIiwiZ2V0Tm9kZUJ5UnVsZU5hbWUiLCJQQVJFTlRIRVNJU0VEX0xBQkVMX1JVTEVfTkFNRSIsIlBBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsIkNsYXNzIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7O2dDQUpXOzJCQUVtRTtBQUVwRixNQUFNQSxtQkFBbUJDLCtCQUFlO0lBQ3JEQyxnQkFBZ0I7UUFDZCxJQUFJQyxhQUFhLEVBQUU7UUFFbkIsTUFBTUMsMEJBQTBCLElBQUksQ0FBQ0MsMEJBQTBCO1FBRS9ELElBQUlELDRCQUE0QixNQUFNO1lBQ3BDRCxhQUFhQyx3QkFBd0JGLGFBQWE7UUFDcEQ7UUFFQSxPQUFPQztJQUNUO0lBRUFHLGVBQWU7UUFDYixJQUFJQyxZQUFZLEVBQUU7UUFFbEIsTUFBTUMseUJBQXlCLElBQUksQ0FBQ0MseUJBQXlCO1FBRTdELElBQUlELDJCQUEyQixNQUFNO1lBQ25DRCxZQUFZQyx1QkFBdUJGLFlBQVk7UUFDakQ7UUFFQSxPQUFPQztJQUNUO0lBRUFHLG1CQUFtQjtRQUNqQixNQUFNQyxXQUFXQyw4QkFBbUIsRUFDOUJDLGdCQUFnQixJQUFJLENBQUNDLGlCQUFpQixDQUFDSDtRQUU3QyxPQUFPRTtJQUNUO0lBRUFKLDRCQUE0QjtRQUMxQixNQUFNRSxXQUFXSSx3Q0FBNkIsRUFDeENYLDBCQUEwQixJQUFJLENBQUNVLGlCQUFpQixDQUFDSDtRQUV2RCxPQUFPUDtJQUNUO0lBRUFDLDZCQUE2QjtRQUMzQixNQUFNTSxXQUFXSyx5Q0FBOEIsRUFDekNaLDBCQUEwQixJQUFJLENBQUNVLGlCQUFpQixDQUFDSDtRQUV2RCxPQUFPUDtJQUNUO0lBRUEsT0FBT2EsMkNBQTJDQyxLQUFLLEVBQUVQLFFBQVEsRUFBRVEsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRTtRQUFFLE9BQU9wQiwrQkFBZSxDQUFDZ0IsMENBQTBDLENBQUNDLE9BQU9QLFVBQVVRLFlBQVlDLFNBQVNDO0lBQWE7QUFDN04ifQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2hlYWRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9uVGVybWluYWxOb2RlIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBQQVJFTlRIRVNJU0VEX0xBQkVMX1JVTEVfTkFNRSwgUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIZWFkZXJOb2RlIGV4dGVuZHMgTm9uVGVybWluYWxOb2RlIHtcbiAgZ2V0TGFiZWxOb2RlcygpIHtcbiAgICBsZXQgbGFiZWxOb2RlcyA9IFtdO1xuXG4gICAgY29uc3QgcGFyZW50aGVzaXNlZExhYmVsc05vZGUgPSB0aGlzLmdldFBhcmVudGhlc2lzZWRMYWJlbHNOb2RlKCk7XG5cbiAgICBpZiAocGFyZW50aGVzaXNlZExhYmVsc05vZGUgIT09IG51bGwpIHtcbiAgICAgIGxhYmVsTm9kZXMgPSBwYXJlbnRoZXNpc2VkTGFiZWxzTm9kZS5nZXRMYWJlbE5vZGVzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxhYmVsTm9kZXM7XG4gIH1cblxuICBnZXRMYWJlbE5vZGUoKSB7XG4gICAgbGV0IGxhYmVsTm9kZSA9IFtdO1xuXG4gICAgY29uc3QgcGFyZW50aGVzaXNlZExhYmVsTm9kZSA9IHRoaXMuZ2V0UGFyZW50aGVzaXNlZExhYmVsTm9kZSgpO1xuXG4gICAgaWYgKHBhcmVudGhlc2lzZWRMYWJlbE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGxhYmVsTm9kZSA9IHBhcmVudGhlc2lzZWRMYWJlbE5vZGUuZ2V0TGFiZWxOb2RlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxhYmVsTm9kZTtcbiAgfVxuXG4gIGdldFNpZ25hdHVyZU5vZGUoKSB7XG4gICAgY29uc3Qgc2lnbmF0dXJlTm9kZSA9IG51bGw7XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlTm9kZTtcbiAgfVxuXG4gIGdldFBhcmVudGhlc2lzZWRMYWJlbE5vZGUoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBQQVJFTlRIRVNJU0VEX0xBQkVMX1JVTEVfTkFNRSxcbiAgICAgICAgICBwYXJlbnRoZXNpc2VkTGFiZWxzTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIHBhcmVudGhlc2lzZWRMYWJlbHNOb2RlO1xuICB9XG5cbiAgZ2V0UGFyZW50aGVzaXNlZExhYmVsc05vZGUoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBQQVJFTlRIRVNJU0VEX0xBQkVMU19SVUxFX05BTUUsXG4gICAgICAgICAgcGFyZW50aGVzaXNlZExhYmVsc05vZGUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBwYXJlbnRoZXNpc2VkTGFiZWxzTm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBOb25UZXJtaW5hbE5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKENsYXNzLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJIZWFkZXJOb2RlIiwiTm9uVGVybWluYWxOb2RlIiwiZ2V0TGFiZWxOb2RlcyIsImxhYmVsTm9kZXMiLCJwYXJlbnRoZXNpc2VkTGFiZWxzTm9kZSIsImdldFBhcmVudGhlc2lzZWRMYWJlbHNOb2RlIiwiZ2V0TGFiZWxOb2RlIiwibGFiZWxOb2RlIiwicGFyZW50aGVzaXNlZExhYmVsTm9kZSIsImdldFBhcmVudGhlc2lzZWRMYWJlbE5vZGUiLCJnZXRTaWduYXR1cmVOb2RlIiwic2lnbmF0dXJlTm9kZSIsInJ1bGVOYW1lIiwiUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUUiLCJnZXROb2RlQnlSdWxlTmFtZSIsIlBBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsIkNsYXNzIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7O2dDQUpXOzJCQUU4QztBQUUvRCxNQUFNQSxtQkFBbUJDLCtCQUFlO0lBQ3JEQyxnQkFBZ0I7UUFDZCxJQUFJQyxhQUFhLEVBQUU7UUFFbkIsTUFBTUMsMEJBQTBCLElBQUksQ0FBQ0MsMEJBQTBCO1FBRS9ELElBQUlELDRCQUE0QixNQUFNO1lBQ3BDRCxhQUFhQyx3QkFBd0JGLGFBQWE7UUFDcEQ7UUFFQSxPQUFPQztJQUNUO0lBRUFHLGVBQWU7UUFDYixJQUFJQyxZQUFZLEVBQUU7UUFFbEIsTUFBTUMseUJBQXlCLElBQUksQ0FBQ0MseUJBQXlCO1FBRTdELElBQUlELDJCQUEyQixNQUFNO1lBQ25DRCxZQUFZQyx1QkFBdUJGLFlBQVk7UUFDakQ7UUFFQSxPQUFPQztJQUNUO0lBRUFHLG1CQUFtQjtRQUNqQixNQUFNQyxnQkFBZ0I7UUFFdEIsT0FBT0E7SUFDVDtJQUVBRiw0QkFBNEI7UUFDMUIsTUFBTUcsV0FBV0Msd0NBQTZCLEVBQ3hDVCwwQkFBMEIsSUFBSSxDQUFDVSxpQkFBaUIsQ0FBQ0Y7UUFFdkQsT0FBT1I7SUFDVDtJQUVBQyw2QkFBNkI7UUFDM0IsTUFBTU8sV0FBV0cseUNBQThCLEVBQ3pDWCwwQkFBMEIsSUFBSSxDQUFDVSxpQkFBaUIsQ0FBQ0Y7UUFFdkQsT0FBT1I7SUFDVDtJQUVBLE9BQU9ZLDJDQUEyQ0MsS0FBSyxFQUFFTCxRQUFRLEVBQUVNLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQUU7UUFBRSxPQUFPbkIsK0JBQWUsQ0FBQ2UsMENBQTBDLENBQUNDLE9BQU9MLFVBQVVNLFlBQVlDLFNBQVNDO0lBQWE7QUFDN04ifQ==