occam-furtle 3.0.451 → 3.0.453

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.
@@ -134,9 +134,9 @@ class FurtleFileContext extends _occamlanguages.FileContext {
134
134
  this.procedures = (0, _json.proceduresFromJSON)(json, fileContext);
135
135
  }
136
136
  }
137
- verifyFile(continuation) {
137
+ verifyFile(back, forward) {
138
138
  const node = this.getNode(), context = this, fileNode = node; ///
139
- return (0, _verify.verifyFile)(fileNode, context, continuation);
139
+ return (0, _verify.verifyFile)(fileNode, context, back, forward);
140
140
  }
141
141
  toJSON() {
142
142
  const proceduresJSON = (0, _json.proceduresToProceduresJSON)(this.procedures), fileContent = this.getFileContent(), filePath = this.getFilePath(), procedures = proceduresJSON, json = {
@@ -156,4 +156,4 @@ class FurtleFileContext extends _occamlanguages.FileContext {
156
156
  }
157
157
  }
158
158
 
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L2ZpbGUvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGaWxlQ29udGV4dCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IHZlcmlmeUZpbGUgfSBmcm9tIFwiLi4vLi4vcHJvY2Vzcy92ZXJpZnlcIjtcbmltcG9ydCB7IGZ1cnRsZUxleGVyLCBmdXJ0bGVQYXJzZXIgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2Z1cnRsZVwiO1xuaW1wb3J0IHsgcHJvY2VkdXJlc0Zyb21KU09OLCBwcm9jZWR1cmVzVG9Qcm9jZWR1cmVzSlNPTiB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IG5vZGVzUXVlcnkgfSA9IHF1ZXJ5VXRpbGl0aWVzO1xuXG5jb25zdCBwcm9jZWR1cmVOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9wcm9jZWR1cmVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZ1cnRsZUZpbGVDb250ZXh0IGV4dGVuZHMgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBmaWxlQ29udGVudCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSwganNvbiwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIGZpbGVDb250ZW50LCBmaWxlUGF0aCwgdG9rZW5zLCBub2RlLCBqc29uKTtcblxuICAgIHRoaXMubGV4ZXIgPSBsZXhlcjtcbiAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0TGV4ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyO1xuICB9XG5cbiAgZ2V0TGFiZWxzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxhYmVscyA9IFtdO1xuXG4gICAgcmV0dXJuIGxhYmVscztcbiAgfVxuXG4gIGdldFR5cGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVzID0gW107XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRSdWxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBydWxlcyA9IFtdXG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBnZXRBeGlvbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0TGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbW1hcyA9IFtdO1xuXG4gICAgcmV0dXJuIGxlbW1hcztcbiAgfVxuXG4gIGdldFRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gdGhlb3JlbXM7XG4gIH1cblxuICBnZXRNZXRhTGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGFMZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhTGVtbWFzO1xuICB9XG5cbiAgZ2V0R2VuZXJhdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBnZW5lcmF0b3JzID0gW107XG5cbiAgICByZXR1cm4gZ2VuZXJhdG9ycztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbmplY3R1cmVzID0gW107XG5cbiAgICByZXR1cm4gY29uamVjdHVyZXM7XG4gIH1cblxuICBnZXRDb21iaW5hdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0VHlwZVByZWZpeGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVQcmVmaXhlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVQcmVmaXhlcztcbiAgfVxuXG4gIGdldENvbnN0cnVjdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcnM7XG4gIH1cblxuICBnZXRNZXRhdGhlb3JlbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gbWV0YXRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlcztcbiAgfVxuXG4gIGdldFByb2NlZHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlcyA9IGluY2x1ZGVSZWxlYXNlID9cbiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuZ2V0UHJvY2VkdXJlcygpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2VkdXJlcztcblxuICAgIHJldHVybiBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKG5lc3RlZCA9IHRydWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgIHJldHVybiB2YXJpYWJsZXM7XG4gIH1cblxuICBhZGRQcm9jZWR1cmUocHJvY2VkdXJlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gcHJvY2VkdXJlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5wcm9jZWR1cmVzLnB1c2gocHJvY2VkdXJlKTtcblxuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5nZXRGaWxlUGF0aCgpO1xuXG4gICAgdGhpcy5kZWJ1ZyhgQWRkZWQgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIHRvIHRoZSAnJHtmaWxlUGF0aH0nIGZpbGUgY29udGV4dC5gKTtcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVOb2RlKGxhYmVsKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIGxhYmVsTm9kZSA9IGxhYmVsLmdldE5vZGUoKSxcbiAgICAgICAgICBkb2N1bWVudE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZXMgPSBwcm9jZWR1cmVOb2Rlc1F1ZXJ5KGRvY3VtZW50Tm9kZSksXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZSA9IHByb2NlZHVyZU5vZGVzLmZpbmQoKHByb2NlZHVyZU5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsTWF0Y2hlcyA9IHByb2NlZHVyZU5vZGUubWF0Y2hMYWJlbE5vZGUobGFiZWxOb2RlKTtcblxuICAgICAgICAgICAgaWYgKGxhYmVsTWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZU5vZGU7XG4gIH1cblxuICBmaW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gdGhpcy5nZXRQcm9jZWR1cmVzKCksXG4gICAgICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlcy5maW5kKChwcm9jZWR1cmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2NlZHVyZUNvbXBhcmVzVG9Qcm9jZWR1cmVOYW1lID0gcHJvY2VkdXJlLmNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAocHJvY2VkdXJlQ29tcGFyZXNUb1Byb2NlZHVyZU5hbWUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBpc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXMuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSxcbiAgICAgICAgICBwcm9jZWR1cmVQcmVzZW50ID0gKHByb2NlZHVyZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUHJlc2VudDtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMucHJvY2VkdXJlcyA9IFtdO1xuICB9XG5cbiAgY29tcGxldGUoKSB7XG4gICAgLy8vXG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHN1cGVyLmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICBjb25zdCBqc29uID0gdGhpcy5nZXRKU09OKCk7XG5cbiAgICBpZiAoanNvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgICAgdGhpcy5wcm9jZWR1cmVzID0gcHJvY2VkdXJlc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICB2ZXJpZnlGaWxlKGNvbnRpbnVhdGlvbikge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBjb250ZXh0ID0gdGhpcywgLy8vXG4gICAgICAgICAgZmlsZU5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICByZXR1cm4gdmVyaWZ5RmlsZShmaWxlTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzSlNPTiA9IHByb2NlZHVyZXNUb1Byb2NlZHVyZXNKU09OKHRoaXMucHJvY2VkdXJlcyksXG4gICAgICAgICAgZmlsZUNvbnRlbnQgPSB0aGlzLmdldEZpbGVDb250ZW50KCksXG4gICAgICAgICAgZmlsZVBhdGggPSB0aGlzLmdldEZpbGVQYXRoKCksXG4gICAgICAgICAgcHJvY2VkdXJlcyA9IHByb2NlZHVyZXNKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGZpbGVDb250ZW50LFxuICAgICAgICAgICAgZmlsZVBhdGgsXG4gICAgICAgICAgICBwcm9jZWR1cmVzXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21GaWxlKGZpbGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBsZXhlciA9IGZ1cnRsZUxleGVyLCAgLy8vXG4gICAgICAgICAgcGFyc2VyID0gZnVydGxlUGFyc2VyLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlcyA9IFtdLFxuICAgICAgICAgIGZ1cnRsZUZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbUZpbGUoRnVydGxlRmlsZUNvbnRleHQsIGZpbGUsIGxleGVyLCBwYXJzZXIsIHByb2NlZHVyZXMsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZ1cnRsZUZpbGVDb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBsZXhlciA9IGZ1cnRsZUxleGVyLCAgLy8vXG4gICAgICAgICAgcGFyc2VyID0gZnVydGxlUGFyc2VyLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlcyA9IG51bGwsXG4gICAgICAgICAgZnVydGxlRmlsZUNvbnRleHQgPSBGaWxlQ29udGV4dC5mcm9tSlNPTihGdXJ0bGVGaWxlQ29udGV4dCwganNvbiwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcywgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnVydGxlRmlsZUNvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJGdXJ0bGVGaWxlQ29udGV4dCIsIm5vZGVzUXVlcnkiLCJxdWVyeVV0aWxpdGllcyIsInByb2NlZHVyZU5vZGVzUXVlcnkiLCJGaWxlQ29udGV4dCIsImNvbnRleHQiLCJmaWxlQ29udGVudCIsImZpbGVQYXRoIiwidG9rZW5zIiwibm9kZSIsImpzb24iLCJsZXhlciIsInBhcnNlciIsInByb2NlZHVyZXMiLCJnZXRMZXhlciIsImdldFBhcnNlciIsImdldExhYmVscyIsImluY2x1ZGVSZWxlYXNlIiwibGFiZWxzIiwiZ2V0VHlwZXMiLCJ0eXBlcyIsImdldFJ1bGVzIiwicnVsZXMiLCJnZXRBeGlvbXMiLCJheGlvbXMiLCJnZXRMZW1tYXMiLCJsZW1tYXMiLCJnZXRUaGVvcmVtcyIsInRoZW9yZW1zIiwiZ2V0TWV0YUxlbW1hcyIsIm1ldGFMZW1tYXMiLCJnZXRHZW5lcmF0b3JzIiwiZ2VuZXJhdG9ycyIsImdldENvbmplY3R1cmVzIiwiY29uamVjdHVyZXMiLCJnZXRDb21iaW5hdG9ycyIsImNvbWJpbmF0b3JzIiwiZ2V0VHlwZVByZWZpeGVzIiwidHlwZVByZWZpeGVzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3JzIiwiZ2V0TWV0YXRoZW9yZW1zIiwibWV0YXRoZW9yZW1zIiwiZ2V0TWV0YXZhcmlhYmxlcyIsIm1ldGF2YXJpYWJsZXMiLCJnZXRQcm9jZWR1cmVzIiwiZ2V0VmFyaWFibGVzIiwibmVzdGVkIiwidmFyaWFibGVzIiwiYWRkUHJvY2VkdXJlIiwicHJvY2VkdXJlIiwicHJvY2VkdXJlU3RyaW5nIiwiZ2V0U3RyaW5nIiwicHVzaCIsImdldEZpbGVQYXRoIiwiZGVidWciLCJmaW5kUHJvY2VkdXJlTm9kZSIsImxhYmVsIiwiZ2V0Tm9kZSIsImxhYmVsTm9kZSIsImRvY3VtZW50Tm9kZSIsInByb2NlZHVyZU5vZGVzIiwicHJvY2VkdXJlTm9kZSIsImZpbmQiLCJsYWJlbE1hdGNoZXMiLCJtYXRjaExhYmVsTm9kZSIsImZpbmRQcm9jZWR1cmVCeVByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlQ29tcGFyZXNUb1Byb2NlZHVyZU5hbWUiLCJjb21wYXJlUHJvY2VkdXJlTmFtZSIsImlzUHJvY2VkdXJlUHJlc2VudEJ5UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZVByZXNlbnQiLCJjbGVhciIsImNvbXBsZXRlIiwiaW5pdGlhbGlzZSIsImdldEpTT04iLCJmaWxlQ29udGV4dCIsInByb2NlZHVyZXNGcm9tSlNPTiIsInZlcmlmeUZpbGUiLCJjb250aW51YXRpb24iLCJmaWxlTm9kZSIsInRvSlNPTiIsInByb2NlZHVyZXNKU09OIiwicHJvY2VkdXJlc1RvUHJvY2VkdXJlc0pTT04iLCJnZXRGaWxlQ29udGVudCIsImZyb21GaWxlIiwiZmlsZSIsImZ1cnRsZUxleGVyIiwiZnVydGxlUGFyc2VyIiwiZnVydGxlRmlsZUNvbnRleHQiLCJmcm9tSlNPTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFxQkE7OztnQ0FYTzs0QkFDRzt3QkFFSjt3QkFDZTtzQkFDcUI7QUFFL0QsTUFBTSxFQUFFQyxVQUFVLEVBQUUsR0FBR0MsMEJBQWM7QUFFckMsTUFBTUMsc0JBQXNCRixXQUFXO0FBRXhCLE1BQU1ELDBCQUEwQkksMkJBQVc7SUFDeEQsWUFBWUMsT0FBTyxFQUFFQyxXQUFXLEVBQUVDLFFBQVEsRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsQ0FBRTtRQUN6RixLQUFLLENBQUNSLFNBQVNDLGFBQWFDLFVBQVVDLFFBQVFDLE1BQU1DO1FBRXBELElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxXQUFX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
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L2ZpbGUvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGaWxlQ29udGV4dCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IHZlcmlmeUZpbGUgfSBmcm9tIFwiLi4vLi4vcHJvY2Vzcy92ZXJpZnlcIjtcbmltcG9ydCB7IGZ1cnRsZUxleGVyLCBmdXJ0bGVQYXJzZXIgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2Z1cnRsZVwiO1xuaW1wb3J0IHsgcHJvY2VkdXJlc0Zyb21KU09OLCBwcm9jZWR1cmVzVG9Qcm9jZWR1cmVzSlNPTiB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IG5vZGVzUXVlcnkgfSA9IHF1ZXJ5VXRpbGl0aWVzO1xuXG5jb25zdCBwcm9jZWR1cmVOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9wcm9jZWR1cmVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZ1cnRsZUZpbGVDb250ZXh0IGV4dGVuZHMgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBmaWxlQ29udGVudCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSwganNvbiwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIGZpbGVDb250ZW50LCBmaWxlUGF0aCwgdG9rZW5zLCBub2RlLCBqc29uKTtcblxuICAgIHRoaXMubGV4ZXIgPSBsZXhlcjtcbiAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0TGV4ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyO1xuICB9XG5cbiAgZ2V0TGFiZWxzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxhYmVscyA9IFtdO1xuXG4gICAgcmV0dXJuIGxhYmVscztcbiAgfVxuXG4gIGdldFR5cGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVzID0gW107XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRSdWxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBydWxlcyA9IFtdXG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBnZXRBeGlvbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0TGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbW1hcyA9IFtdO1xuXG4gICAgcmV0dXJuIGxlbW1hcztcbiAgfVxuXG4gIGdldFRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gdGhlb3JlbXM7XG4gIH1cblxuICBnZXRNZXRhTGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGFMZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhTGVtbWFzO1xuICB9XG5cbiAgZ2V0R2VuZXJhdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBnZW5lcmF0b3JzID0gW107XG5cbiAgICByZXR1cm4gZ2VuZXJhdG9ycztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbmplY3R1cmVzID0gW107XG5cbiAgICByZXR1cm4gY29uamVjdHVyZXM7XG4gIH1cblxuICBnZXRDb21iaW5hdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0VHlwZVByZWZpeGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVQcmVmaXhlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVQcmVmaXhlcztcbiAgfVxuXG4gIGdldENvbnN0cnVjdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcnM7XG4gIH1cblxuICBnZXRNZXRhdGhlb3JlbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gbWV0YXRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlcztcbiAgfVxuXG4gIGdldFByb2NlZHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlcyA9IGluY2x1ZGVSZWxlYXNlID9cbiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuZ2V0UHJvY2VkdXJlcygpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2VkdXJlcztcblxuICAgIHJldHVybiBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKG5lc3RlZCA9IHRydWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgIHJldHVybiB2YXJpYWJsZXM7XG4gIH1cblxuICBhZGRQcm9jZWR1cmUocHJvY2VkdXJlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gcHJvY2VkdXJlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5wcm9jZWR1cmVzLnB1c2gocHJvY2VkdXJlKTtcblxuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5nZXRGaWxlUGF0aCgpO1xuXG4gICAgdGhpcy5kZWJ1ZyhgQWRkZWQgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIHRvIHRoZSAnJHtmaWxlUGF0aH0nIGZpbGUgY29udGV4dC5gKTtcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVOb2RlKGxhYmVsKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIGxhYmVsTm9kZSA9IGxhYmVsLmdldE5vZGUoKSxcbiAgICAgICAgICBkb2N1bWVudE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZXMgPSBwcm9jZWR1cmVOb2Rlc1F1ZXJ5KGRvY3VtZW50Tm9kZSksXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZSA9IHByb2NlZHVyZU5vZGVzLmZpbmQoKHByb2NlZHVyZU5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsTWF0Y2hlcyA9IHByb2NlZHVyZU5vZGUubWF0Y2hMYWJlbE5vZGUobGFiZWxOb2RlKTtcblxuICAgICAgICAgICAgaWYgKGxhYmVsTWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZU5vZGU7XG4gIH1cblxuICBmaW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gdGhpcy5nZXRQcm9jZWR1cmVzKCksXG4gICAgICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlcy5maW5kKChwcm9jZWR1cmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2NlZHVyZUNvbXBhcmVzVG9Qcm9jZWR1cmVOYW1lID0gcHJvY2VkdXJlLmNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAocHJvY2VkdXJlQ29tcGFyZXNUb1Byb2NlZHVyZU5hbWUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBpc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXMuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSxcbiAgICAgICAgICBwcm9jZWR1cmVQcmVzZW50ID0gKHByb2NlZHVyZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUHJlc2VudDtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMucHJvY2VkdXJlcyA9IFtdO1xuICB9XG5cbiAgY29tcGxldGUoKSB7XG4gICAgLy8vXG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHN1cGVyLmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICBjb25zdCBqc29uID0gdGhpcy5nZXRKU09OKCk7XG5cbiAgICBpZiAoanNvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgICAgdGhpcy5wcm9jZWR1cmVzID0gcHJvY2VkdXJlc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICB2ZXJpZnlGaWxlKGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgY29udGV4dCA9IHRoaXMsIC8vL1xuICAgICAgICAgIGZpbGVOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgcmV0dXJuIHZlcmlmeUZpbGUoZmlsZU5vZGUsIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHByb2NlZHVyZXNKU09OID0gcHJvY2VkdXJlc1RvUHJvY2VkdXJlc0pTT04odGhpcy5wcm9jZWR1cmVzKSxcbiAgICAgICAgICBmaWxlQ29udGVudCA9IHRoaXMuZ2V0RmlsZUNvbnRlbnQoKSxcbiAgICAgICAgICBmaWxlUGF0aCA9IHRoaXMuZ2V0RmlsZVBhdGgoKSxcbiAgICAgICAgICBwcm9jZWR1cmVzID0gcHJvY2VkdXJlc0pTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgZmlsZUNvbnRlbnQsXG4gICAgICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgICAgIHByb2NlZHVyZXNcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGUoZmlsZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGxleGVyID0gZnVydGxlTGV4ZXIsICAvLy9cbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsICAvLy9cbiAgICAgICAgICBwcm9jZWR1cmVzID0gW10sXG4gICAgICAgICAgZnVydGxlRmlsZUNvbnRleHQgPSBGaWxlQ29udGV4dC5mcm9tRmlsZShGdXJ0bGVGaWxlQ29udGV4dCwgZmlsZSwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcywgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnVydGxlRmlsZUNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IGxleGVyID0gZnVydGxlTGV4ZXIsICAvLy9cbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsICAvLy9cbiAgICAgICAgICBwcm9jZWR1cmVzID0gbnVsbCxcbiAgICAgICAgICBmdXJ0bGVGaWxlQ29udGV4dCA9IEZpbGVDb250ZXh0LmZyb21KU09OKEZ1cnRsZUZpbGVDb250ZXh0LCBqc29uLCBsZXhlciwgcGFyc2VyLCBwcm9jZWR1cmVzLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmdXJ0bGVGaWxlQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkZ1cnRsZUZpbGVDb250ZXh0Iiwibm9kZXNRdWVyeSIsInF1ZXJ5VXRpbGl0aWVzIiwicHJvY2VkdXJlTm9kZXNRdWVyeSIsIkZpbGVDb250ZXh0IiwiY29udGV4dCIsImZpbGVDb250ZW50IiwiZmlsZVBhdGgiLCJ0b2tlbnMiLCJub2RlIiwianNvbiIsImxleGVyIiwicGFyc2VyIiwicHJvY2VkdXJlcyIsImdldExleGVyIiwiZ2V0UGFyc2VyIiwiZ2V0TGFiZWxzIiwiaW5jbHVkZVJlbGVhc2UiLCJsYWJlbHMiLCJnZXRUeXBlcyIsInR5cGVzIiwiZ2V0UnVsZXMiLCJydWxlcyIsImdldEF4aW9tcyIsImF4aW9tcyIsImdldExlbW1hcyIsImxlbW1hcyIsImdldFRoZW9yZW1zIiwidGhlb3JlbXMiLCJnZXRNZXRhTGVtbWFzIiwibWV0YUxlbW1hcyIsImdldEdlbmVyYXRvcnMiLCJnZW5lcmF0b3JzIiwiZ2V0Q29uamVjdHVyZXMiLCJjb25qZWN0dXJlcyIsImdldENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRUeXBlUHJlZml4ZXMiLCJ0eXBlUHJlZml4ZXMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJjb25zdHJ1Y3RvcnMiLCJnZXRNZXRhdGhlb3JlbXMiLCJtZXRhdGhlb3JlbXMiLCJnZXRNZXRhdmFyaWFibGVzIiwibWV0YXZhcmlhYmxlcyIsImdldFByb2NlZHVyZXMiLCJnZXRWYXJpYWJsZXMiLCJuZXN0ZWQiLCJ2YXJpYWJsZXMiLCJhZGRQcm9jZWR1cmUiLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJwdXNoIiwiZ2V0RmlsZVBhdGgiLCJkZWJ1ZyIsImZpbmRQcm9jZWR1cmVOb2RlIiwibGFiZWwiLCJnZXROb2RlIiwibGFiZWxOb2RlIiwiZG9jdW1lbnROb2RlIiwicHJvY2VkdXJlTm9kZXMiLCJwcm9jZWR1cmVOb2RlIiwiZmluZCIsImxhYmVsTWF0Y2hlcyIsIm1hdGNoTGFiZWxOb2RlIiwiZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmVDb21wYXJlc1RvUHJvY2VkdXJlTmFtZSIsImNvbXBhcmVQcm9jZWR1cmVOYW1lIiwiaXNQcm9jZWR1cmVQcmVzZW50QnlQcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlUHJlc2VudCIsImNsZWFyIiwiY29tcGxldGUiLCJpbml0aWFsaXNlIiwiZ2V0SlNPTiIsImZpbGVDb250ZXh0IiwicHJvY2VkdXJlc0Zyb21KU09OIiwidmVyaWZ5RmlsZSIsImJhY2siLCJmb3J3YXJkIiwiZmlsZU5vZGUiLCJ0b0pTT04iLCJwcm9jZWR1cmVzSlNPTiIsInByb2NlZHVyZXNUb1Byb2NlZHVyZXNKU09OIiwiZ2V0RmlsZUNvbnRlbnQiLCJmcm9tRmlsZSIsImZpbGUiLCJmdXJ0bGVMZXhlciIsImZ1cnRsZVBhcnNlciIsImZ1cnRsZUZpbGVDb250ZXh0IiwiZnJvbUpTT04iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBcUJBOzs7Z0NBWE87NEJBQ0c7d0JBRUo7d0JBQ2U7c0JBQ3FCO0FBRS9ELE1BQU0sRUFBRUMsVUFBVSxFQUFFLEdBQUdDLDBCQUFjO0FBRXJDLE1BQU1DLHNCQUFzQkYsV0FBVztBQUV4QixNQUFNRCwwQkFBMEJJLDJCQUFXO0lBQ3hELFlBQVlDLE9BQU8sRUFBRUMsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxVQUFVLENBQUU7UUFDekYsS0FBSyxDQUFDUixTQUFTQyxhQUFhQyxVQUFVQyxRQUFRQyxNQUFNQztRQUVwRCxJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMs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
@@ -71,7 +71,7 @@ const _default = (0, _elements.define)(class ListAssignment extends _occamlangua
71
71
  getBindings() {
72
72
  return this.bindings;
73
73
  }
74
- evaluate = breakable(function(context, continuation) {
74
+ evaluate = breakable(function(context, back, forward) {
75
75
  const listAssignmentString = this.getString(); ///
76
76
  context.trace(`Evaluating the '${listAssignmentString}' list assignment...`);
77
77
  const value = this.variable.evaluate(context), valueType = value.getType(), valueTypeListType = valueType.isListType();
@@ -93,7 +93,7 @@ const _default = (0, _elements.define)(class ListAssignment extends _occamlangua
93
93
  }
94
94
  });
95
95
  context.debug(`...evaluated the '${listAssignmentString}' list assignment.`);
96
- return continuation();
96
+ return forward();
97
97
  });
98
98
  evaluateBinding(binding, value, context) {
99
99
  const valueString = value.getString(), bindingString = binding.getString();
@@ -110,4 +110,4 @@ const _default = (0, _elements.define)(class ListAssignment extends _occamlangua
110
110
  static name = "ListAssignment";
111
111
  });
112
112
 
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvbGlzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUgfSBmcm9tIFwiLi4vLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTGlzdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgYmluZGluZ3MpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuYmluZGluZ3MgPSBiaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0QmluZGluZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmluZGluZ3M7XG4gIH1cblxuICBldmFsdWF0ZSA9IGJyZWFrYWJsZShmdW5jdGlvbiAoY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgY29uc3QgbGlzdEFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke2xpc3RBc3NpZ25tZW50U3RyaW5nfScgbGlzdCBhc3NpZ25tZW50Li4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHZhbHVlVHlwZUxpc3RUeXBlID0gdmFsdWVUeXBlLmlzTGlzdFR5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7TElTVF9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgYmluZGluZ3NMZW5ndGggPSB0aGlzLmJpbmRpbmdzLmdldExlbmd0aCgpLFxuICAgICAgICAgIHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBwcmltaXRpdmVWYWx1ZUxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmxlbmd0aDtcblxuICAgIGlmIChiaW5kaW5nc0xlbmd0aCA+IHByaW1pdGl2ZVZhbHVlTGVuZ3RoKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgYmluZGluZ3NTdHJpbmcgPSB0aGlzLmJpbmRpbmdzLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgbGVuZ3RoIG9mIHRoZSAnJHtiaW5kaW5nc1N0cmluZ30nIGJpbmRpbmdzIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbGVuZ3RoIG9mIHRoZSAnJHt2YWx1ZVN0cmluZ30nIGxpc3QuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlcyA9IHZhbHVlLmxpZnQoY29udGV4dCk7XG5cbiAgICB0aGlzLmJpbmRpbmdzLmZvckVhY2hCaW5kaW5nKChiaW5kaW5nLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgZWxpZGVkID0gYmluZGluZy5pc0VsaWRlZCgpO1xuXG4gICAgICBpZiAoIWVsaWRlZCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1tpbmRleF07XG5cbiAgICAgICAgdGhpcy5ldmFsdWF0ZUJpbmRpbmcoYmluZGluZywgdmFsdWUsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtsaXN0QXNzaWdubWVudFN0cmluZ30nIGxpc3QgYXNzaWdubWVudC5gKTtcblxuICAgIHJldHVybiBjb250aW51YXRpb24oKTtcbiAgfSk7XG5cbiAgZXZhbHVhdGVCaW5kaW5nKGJpbmRpbmcsIHZhbHVlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBiaW5kaW5nU3RyaW5nID0gYmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke2JpbmRpbmdTdHJpbmd9JyBiaW5kaW5nIGFnYWluc3QgdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUuLi5gKTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICBiaW5kaW5nVHlwZSA9IGJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIGJpbmRpbmdUeXBlRXF1YWxUb1ZhbHVlVHlwZSA9IGJpbmRpbmdUeXBlLmlzRXF1YWxUbyh2YWx1ZVR5cGUpO1xuXG4gICAgaWYgKCFiaW5kaW5nVHlwZUVxdWFsVG9WYWx1ZVR5cGUpIHtcbiAgICAgIGNvbnN0IGJpbmRpbmdUeXBlU3RyaW5nID0gYmluZGluZ1R5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICB2YWx1ZVR5cGVTdHJpbmcgPSB2YWx1ZVR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7YmluZGluZ1N0cmluZ30nIGJpbmRpbmcncyAnJHtiaW5kaW5nVHlwZVN0cmluZ30nIHR5cGUgaXMgbm90IGVxdWFsIHRvIHRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlU3RyaW5nfScgdHlwZS5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgeyBWYXJpYWJsZSB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tQmluZGluZyhiaW5kaW5nLCBjb250ZXh0KTtcblxuICAgIHZhcmlhYmxlLmFzc2lnbih2YWx1ZSwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke2JpbmRpbmdTdHJpbmd9JyBiaW5kaW5nIGFnYWluc3QgdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUuYCk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTGlzdEFzc2lnbm1lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrYWJsZSIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJMaXN0QXNzaWdubWVudCIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsImJpbmRpbmdzIiwiZ2V0VmFyaWFibGUiLCJnZXRCaW5kaW5ncyIsImV2YWx1YXRlIiwiY29udGludWF0aW9uIiwibGlzdEFzc2lnbm1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIkxJU1RfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJiaW5kaW5nc0xlbmd0aCIsImdldExlbmd0aCIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJwcmltaXRpdmVWYWx1ZUxlbmd0aCIsImxlbmd0aCIsImJpbmRpbmdzU3RyaW5nIiwidmFsdWVzIiwibGlmdCIsImZvckVhY2hCaW5kaW5nIiwiYmluZGluZyIsImluZGV4IiwiZWxpZGVkIiwiaXNFbGlkZWQiLCJldmFsdWF0ZUJpbmRpbmciLCJkZWJ1ZyIsImJpbmRpbmdTdHJpbmciLCJiaW5kaW5nVHlwZSIsImJpbmRpbmdUeXBlRXF1YWxUb1ZhbHVlVHlwZSIsImlzRXF1YWxUbyIsImJpbmRpbmdUeXBlU3RyaW5nIiwidmFsdWVUeXBlU3RyaW5nIiwiVmFyaWFibGUiLCJlbGVtZW50cyIsImZyb21CaW5kaW5nIiwiYXNzaWduIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUFBOzs7Z0NBVjZDO2tFQUV4QjtrRUFDQzsyQkFHUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0IsTUFBTSxFQUFFQSxTQUFTLEVBQUUsR0FBR0MsbUNBQW1CO01BRXpDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsdUJBQXVCQyx1QkFBTztJQUN4RCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEs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
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvbGlzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUgfSBmcm9tIFwiLi4vLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTGlzdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgYmluZGluZ3MpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuYmluZGluZ3MgPSBiaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0QmluZGluZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmluZGluZ3M7XG4gIH1cblxuICBldmFsdWF0ZSA9IGJyZWFrYWJsZShmdW5jdGlvbiAoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IGxpc3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtsaXN0QXNzaWdubWVudFN0cmluZ30nIGxpc3QgYXNzaWdubWVudC4uLmApO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB2YWx1ZVR5cGVMaXN0VHlwZSA9IHZhbHVlVHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICBpZiAoIXZhbHVlVHlwZUxpc3RUeXBlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGJpbmRpbmdzTGVuZ3RoID0gdGhpcy5iaW5kaW5ncy5nZXRMZW5ndGgoKSxcbiAgICAgICAgICBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgcHJpbWl0aXZlVmFsdWVMZW5ndGggPSBwcmltaXRpdmVWYWx1ZS5sZW5ndGg7XG5cbiAgICBpZiAoYmluZGluZ3NMZW5ndGggPiBwcmltaXRpdmVWYWx1ZUxlbmd0aCkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIGJpbmRpbmdzU3RyaW5nID0gdGhpcy5iaW5kaW5ncy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlIGxlbmd0aCBvZiB0aGUgJyR7YmluZGluZ3NTdHJpbmd9JyBiaW5kaW5ncyBpcyBncmVhdGVyIHRoYW4gdGhlIGxlbmd0aCBvZiB0aGUgJyR7dmFsdWVTdHJpbmd9JyBsaXN0LmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZXMgPSB2YWx1ZS5saWZ0KGNvbnRleHQpO1xuXG4gICAgdGhpcy5iaW5kaW5ncy5mb3JFYWNoQmluZGluZygoYmluZGluZywgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGVsaWRlZCA9IGJpbmRpbmcuaXNFbGlkZWQoKTtcblxuICAgICAgaWYgKCFlbGlkZWQpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdO1xuXG4gICAgICAgIHRoaXMuZXZhbHVhdGVCaW5kaW5nKGJpbmRpbmcsIHZhbHVlLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bGlzdEFzc2lnbm1lbnRTdHJpbmd9JyBsaXN0IGFzc2lnbm1lbnQuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCgpO1xuICB9KTtcblxuICBldmFsdWF0ZUJpbmRpbmcoYmluZGluZywgdmFsdWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgIGJpbmRpbmdTdHJpbmcgPSBiaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7YmluZGluZ1N0cmluZ30nIGJpbmRpbmcgYWdhaW5zdCB0aGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIGJpbmRpbmdUeXBlID0gYmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgYmluZGluZ1R5cGVFcXVhbFRvVmFsdWVUeXBlID0gYmluZGluZ1R5cGUuaXNFcXVhbFRvKHZhbHVlVHlwZSk7XG5cbiAgICBpZiAoIWJpbmRpbmdUeXBlRXF1YWxUb1ZhbHVlVHlwZSkge1xuICAgICAgY29uc3QgYmluZGluZ1R5cGVTdHJpbmcgPSBiaW5kaW5nVHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIHZhbHVlVHlwZVN0cmluZyA9IHZhbHVlVHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtiaW5kaW5nU3RyaW5nfScgYmluZGluZydzICcke2JpbmRpbmdUeXBlU3RyaW5nfScgdHlwZSBpcyBub3QgZXF1YWwgdG8gdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGVTdHJpbmd9JyB0eXBlLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB7IFZhcmlhYmxlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21CaW5kaW5nKGJpbmRpbmcsIGNvbnRleHQpO1xuXG4gICAgdmFyaWFibGUuYXNzaWduKHZhbHVlLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7YmluZGluZ1N0cmluZ30nIGJpbmRpbmcgYWdhaW5zdCB0aGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZS5gKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJMaXN0QXNzaWdubWVudFwiO1xufSk7XG4iXSwibmFtZXMiOlsiYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIkxpc3RBc3NpZ25tZW50IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwiYmluZGluZ3MiLCJnZXRWYXJpYWJsZSIsImdldEJpbmRpbmdzIiwiZXZhbHVhdGUiLCJiYWNrIiwiZm9yd2FyZCIsImxpc3RBc3NpZ25tZW50U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJ2YWx1ZVR5cGVMaXN0VHlwZSIsImlzTGlzdFR5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJMSVNUX1RZUEVfTkFNRSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiYmluZGluZ3NMZW5ndGgiLCJnZXRMZW5ndGgiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwicHJpbWl0aXZlVmFsdWVMZW5ndGgiLCJsZW5ndGgiLCJiaW5kaW5nc1N0cmluZyIsInZhbHVlcyIsImxpZnQiLCJmb3JFYWNoQmluZGluZyIsImJpbmRpbmciLCJpbmRleCIsImVsaWRlZCIsImlzRWxpZGVkIiwiZXZhbHVhdGVCaW5kaW5nIiwiZGVidWciLCJiaW5kaW5nU3RyaW5nIiwiYmluZGluZ1R5cGUiLCJiaW5kaW5nVHlwZUVxdWFsVG9WYWx1ZVR5cGUiLCJpc0VxdWFsVG8iLCJiaW5kaW5nVHlwZVN0cmluZyIsInZhbHVlVHlwZVN0cmluZyIsIlZhcmlhYmxlIiwiZWxlbWVudHMiLCJmcm9tQmluZGluZyIsImFzc2lnbiIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBQTs7O2dDQVY2QztrRUFFeEI7a0VBQ0M7MkJBR1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRS9CLE1BQU0sRUFBRUEsU0FBUyxFQUFFLEdBQUdDLG1DQUFtQjtNQUV6QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHVCQUF1QkMsdUJBQU87SUFDeEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVB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
@@ -75,7 +75,7 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
75
75
  getNamedBindings() {
76
76
  return this.namedBindings;
77
77
  }
78
- evaluate = breakable(function(context, continuation) {
78
+ evaluate = breakable(function(context, back, forward) {
79
79
  const objectAssignmentString = this.getString(); ///
80
80
  context.trace(`Evaluating the '${objectAssignmentString}' object assignment...`);
81
81
  const value = this.variable.evaluate(context), valueType = value.getType(), valueTypeNominalValueType = valueType.isNominalValueType();
@@ -88,7 +88,7 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
88
88
  this.evaluateNamedBinding(namedBinding, value, context);
89
89
  });
90
90
  context.debug(`...evaluated the '${objectAssignmentString}' object assignment.`);
91
- return continuation();
91
+ return forward();
92
92
  });
93
93
  evaluateNamedBinding(namedBinding, term, context) {
94
94
  const termString = term.getString(), namedBindingString = namedBinding.getString();
@@ -187,4 +187,4 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
187
187
  static name = "ObjectAssignment";
188
188
  });
189
189
 
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub21pbmFsVmFsdWVQcm9wZXJ0aWVzIGZyb20gXCIuLi8uLi9ub21pbmFsVmFsdWVQcm9wZXJ0aWVzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ0xpdGVyYWxcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwsIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSwgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi8uLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5jb25zdCB7IGJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE9iamVjdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgbmFtZWRCaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5uYW1lZEJpbmRpbmdzID0gbmFtZWRCaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lZEJpbmRpbmdzO1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGNvbnN0IG9iamVjdEFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke29iamVjdEFzc2lnbm1lbnRTdHJpbmd9JyBvYmplY3QgYXNzaWdubWVudC4uLmApO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlID0gdmFsdWVUeXBlLmlzTm9taW5hbFZhbHVlVHlwZSgpO1xuXG4gICAgaWYgKCF2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PTUlOQUxfVkFMVUVfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIG5vbWluYWxWYWx1ZVByb3BlcnRpZXMuY29tcGFyZU5hbWVkQmluZGluZ3ModGhpcy5uYW1lZEJpbmRpbmdzLCBjb250ZXh0KTtcblxuICAgIHRoaXMubmFtZWRCaW5kaW5ncy5mb3JFYWNoTmFtZWRCaW5kaW5nKChuYW1lZEJpbmRpbmcpID0+IHtcbiAgICAgIHRoaXMuZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB2YWx1ZSwgY29udGV4dCk7XG4gICAgfSk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke29iamVjdEFzc2lnbm1lbnRTdHJpbmd9JyBvYmplY3QgYXNzaWdubWVudC5gKTtcblxuICAgIHJldHVybiBjb250aW51YXRpb24oKTtcbiAgfSk7XG5cbiAgZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhZ2FpbnN0IHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS4uLmApO1xuXG4gICAgbGV0IHZhbHVlO1xuXG4gICAgY29uc3QgbmFtZSA9IG5hbWVkQmluZGluZy5nZXROYW1lKCk7XG5cbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgQ09OVEVOVF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgVEVSTUlOQUxfUEFSQU1FVEVSX05BTUU6IHtcbiAgICAgICAgdmFsdWUgPSB0aGlzLmV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRToge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB7IFZhcmlhYmxlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21OYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCBjb250ZXh0KTtcblxuICAgIHZhcmlhYmxlLmFzc2lnbih2YWx1ZSwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIHBhcmFtZXRlciBuYW1lZCBhZ2FpbnN0IHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS5gKTtcbiAgfVxuXG4gIGV2YWx1YXRlQ29udGVudE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBjb250ZW50ICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVTdHJpbmdUeXBlID0gdHlwZS5pc1N0cmluZ1R5cGUoKTtcblxuICAgIGlmICghdHlwZVN0cmluZ1R5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtTVFJJTkdfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSB0ZXJtaW5hbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIHN0cmluZyA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBzdHJpbmdMaXRlcmFsID0gc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcoc3RyaW5nKSxcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCwgY29udGV4dCksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNvbnRlbnQgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgdGVybWluYWwgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICB0ZXJtaW5hbCA9IG5vZGVUZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICBib29sZWFuID0gdGVybWluYWwsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSwgIC8vL1xuICAgICAgICAgIHZhbHVlU3R0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSB0ZXJtaW5hbCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIGNoaWxkIG5vZGVzICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVMaXN0VHlwZSA9IHR5cGUuaXNMaXN0VHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlTGlzdFR5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtMSVNUX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVOb25UZXJtaW5hbE5vZGUgPSBub2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoIW5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0ncyBub2RlIG11c3QgYmUgbm9uLXRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlKG5vZGVzLCBub21pbmFsVmFsdWUpLFxuICAgICAgICAgIHZhbHVlU3R0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSBjaGlsZE5vZGVzICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcgYXMgJyR7dmFsdWVTdHRyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBubyB3aGl0ZXNwYWNlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVCb29sZWFuVHlwZSA9IHR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlQm9vbGVhblR5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtCT09MRUFOX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoIW5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0ncyBub2RlIG11c3QgYmUgdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBub1doaXRlYXBjZSA9IHRlcm1pbmFsTm9kZS5pc05vV2hpdGVzcGFjZU5vZGUoKSxcbiAgICAgICAgICBib29sZWFuID0gbm9XaGl0ZWFwY2UsICAvLy9cbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIG5vIHdoaXRlc3BhY2UgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJPYmplY3RBc3NpZ25tZW50XCI7XG59KTtcbiJdLCJuYW1lcyI6WyJicmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiT2JqZWN0QXNzaWdubWVudCIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsIm5hbWVkQmluZGluZ3MiLCJnZXRWYXJpYWJsZSIsImdldE5hbWVkQmluZGluZ3MiLCJldmFsdWF0ZSIsImNvbnRpbnVhdGlvbiIsIm9iamVjdEFzc2lnbm1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZU5vbWluYWxWYWx1ZVR5cGUiLCJpc05vbWluYWxWYWx1ZVR5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibm9taW5hbFZhbHVlUHJvcGVydGllcyIsImNvbXBhcmVOYW1lZEJpbmRpbmdzIiwiZm9yRWFjaE5hbWVkQmluZGluZyIsIm5hbWVkQmluZGluZyIsImV2YWx1YXRlTmFtZWRCaW5kaW5nIiwiZGVidWciLCJ0ZXJtIiwidGVybVN0cmluZyIsIm5hbWVkQmluZGluZ1N0cmluZyIsIm5hbWUiLCJnZXROYW1lIiwiQ09OVEVOVF9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlQ29udGVudE5hbWVkQmluZGluZyIsIlRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZyIsIkNISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nIiwiTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlTm9XaGl0ZXNwYWNlTmFtZWRCaW5kaW5nIiwiVmFyaWFibGUiLCJlbGVtZW50cyIsImZyb21OYW1lZEJpbmRpbmciLCJhc3NpZ24iLCJ0eXBlIiwidHlwZVN0cmluZ1R5cGUiLCJpc1N0cmluZ1R5cGUiLCJTVFJJTkdfVFlQRV9OQU1FIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsIm5vbWluYWxWYWx1ZSIsImdldE5vZGUiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInN0cmluZ0xpdGVyYWwiLCJzdHJpbmdMaXRlcmFsRnJvbVN0cmluZyIsInZhbHVlRnJvbVN0cmluZ0xpdGVyYWwiLCJ2YWx1ZVN0dHJpbmciLCJ0eXBlQm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJ0ZXJtaW5hbCIsImJvb2xlYW4iLCJ2YWx1ZUZyb21Cb29sZWFuIiwidHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsIkxJU1RfVFlQRV9OQU1FIiwibm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub2RlcyIsInZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIiwibm9XaGl0ZWFwY2UiLCJpc05vV2hpdGVzcGFjZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQUE7OztnQ0FkNkM7a0VBRXhCO2tFQUNDOytFQUNhOytCQUdLO3VCQUNnRDsyQkFDSztnQ0FDNkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFILE1BQU0sRUFBRUEsU0FBUyxFQUFFLEdBQUdDLG1DQUFtQjtNQUV6QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHlCQUF5QkMsdUJBQU87SUFDMUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGFBQWEsQ0FBRTtRQUN0RSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1D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
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub21pbmFsVmFsdWVQcm9wZXJ0aWVzIGZyb20gXCIuLi8uLi9ub21pbmFsVmFsdWVQcm9wZXJ0aWVzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ0xpdGVyYWxcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwsIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSwgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi8uLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5jb25zdCB7IGJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE9iamVjdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgbmFtZWRCaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5uYW1lZEJpbmRpbmdzID0gbmFtZWRCaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lZEJpbmRpbmdzO1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSA9IHZhbHVlVHlwZS5pc05vbWluYWxWYWx1ZVR5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBub21pbmFsVmFsdWVQcm9wZXJ0aWVzLmNvbXBhcmVOYW1lZEJpbmRpbmdzKHRoaXMubmFtZWRCaW5kaW5ncywgY29udGV4dCk7XG5cbiAgICB0aGlzLm5hbWVkQmluZGluZ3MuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nKSA9PiB7XG4gICAgICB0aGlzLmV2YWx1YXRlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdmFsdWUsIGNvbnRleHQpO1xuICAgIH0pO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCgpO1xuICB9KTtcblxuICBldmFsdWF0ZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFnYWluc3QgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLi4uYCk7XG5cbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBuYW1lID0gbmFtZWRCaW5kaW5nLmdldE5hbWUoKTtcblxuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSBDT05URU5UX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5ldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBURVJNSU5BTF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5ldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5ldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIGNvbnRleHQpO1xuXG4gICAgdmFyaWFibGUuYXNzaWduKHZhbHVlLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgcGFyYW1ldGVyIG5hbWVkIGFnYWluc3QgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLmApO1xuICB9XG5cbiAgZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIGNvbnRlbnQgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZVN0cmluZ1R5cGUgPSB0eXBlLmlzU3RyaW5nVHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlU3RyaW5nVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke1NUUklOR19UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgc3RyaW5nID0gY29udGVudCwgIC8vL1xuICAgICAgICAgIHN0cmluZ0xpdGVyYWwgPSBzdHJpbmdMaXRlcmFsRnJvbVN0cmluZyhzdHJpbmcpLFxuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgY29udGVudCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSB0ZXJtaW5hbCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlQm9vbGVhblR5cGUgPSB0eXBlLmlzQm9vbGVhblR5cGUoKTtcblxuICAgIGlmICghdHlwZUJvb2xlYW5UeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIHRlcm1pbmFsID0gbm9kZVRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgIGJvb2xlYW4gPSB0ZXJtaW5hbCwgLy8vXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpLCAgLy8vXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIHRlcm1pbmFsICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcgYXMgJyR7dmFsdWVTdHRyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgY2hpbGQgbm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUxpc3RUeXBlID0gdHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVMaXN0VHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZU5vblRlcm1pbmFsTm9kZSA9IG5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSBub24tdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUobm9kZXMsIG5vbWluYWxWYWx1ZSksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNoaWxkTm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGV2YWx1YXRlTm9XaGl0ZXNwYWNlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIG5vIHdoaXRlc3BhY2UgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSB0ZXJtaW5hbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIG5vV2hpdGVhcGNlID0gdGVybWluYWxOb2RlLmlzTm9XaGl0ZXNwYWNlTm9kZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBub1doaXRlYXBjZSwgIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgbm8gd2hpdGVzcGFjZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk9iamVjdEFzc2lnbm1lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrYWJsZSIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJPYmplY3RBc3NpZ25tZW50IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwibmFtZWRCaW5kaW5ncyIsImdldFZhcmlhYmxlIiwiZ2V0TmFtZWRCaW5kaW5ncyIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJvYmplY3RBc3NpZ25tZW50U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJ2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlIiwiaXNOb21pbmFsVmFsdWVUeXBlIiwidmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsIm5vbWluYWxWYWx1ZVByb3BlcnRpZXMiLCJjb21wYXJlTmFtZWRCaW5kaW5ncyIsImZvckVhY2hOYW1lZEJpbmRpbmciLCJuYW1lZEJpbmRpbmciLCJldmFsdWF0ZU5hbWVkQmluZGluZyIsImRlYnVnIiwidGVybSIsInRlcm1TdHJpbmciLCJuYW1lZEJpbmRpbmdTdHJpbmciLCJuYW1lIiwiZ2V0TmFtZSIsIkNPTlRFTlRfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmciLCJURVJNSU5BTF9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmciLCJDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkQmluZGluZyIsIk5PX1dISVRFU1BBQ0VfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZyIsIlZhcmlhYmxlIiwiZWxlbWVudHMiLCJmcm9tTmFtZWRCaW5kaW5nIiwiYXNzaWduIiwidHlwZSIsInR5cGVTdHJpbmdUeXBlIiwiaXNTdHJpbmdUeXBlIiwiU1RSSU5HX1RZUEVfTkFNRSIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJub21pbmFsVmFsdWUiLCJnZXROb2RlIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJzdHJpbmdMaXRlcmFsIiwic3RyaW5nTGl0ZXJhbEZyb21TdHJpbmciLCJ2YWx1ZUZyb21TdHJpbmdMaXRlcmFsIiwidmFsdWVTdHRyaW5nIiwidHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwidGVybWluYWwiLCJib29sZWFuIiwidmFsdWVGcm9tQm9vbGVhbiIsInR5cGVMaXN0VHlwZSIsImlzTGlzdFR5cGUiLCJMSVNUX1RZUEVfTkFNRSIsIm5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9kZXMiLCJ2YWx1ZUZyb21Ob2Rlc0FuZE5vbWluYWxWYWx1ZSIsIm5vV2hpdGVhcGNlIiwiaXNOb1doaXRlc3BhY2VOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnQkE7OztlQUFBOzs7Z0NBZDZDO2tFQUV4QjtrRUFDQzsrRUFDYTsrQkFHSzt1QkFDZ0Q7MkJBQ0s7Z0NBQzZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxSCxNQUFNLEVBQUVBLFNBQVMsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFekMsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyx5QkFBeUJDLHVCQUFPO0lBQzFELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxhQUFhLENBQUU7UUFDdEUsS0FBSyxDQUFDTCxTQUFTQyxRQUFRQyxNQUFNQztR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
@@ -22,17 +22,17 @@ const _default = (0, _elements.define)(class VariableAssignment extends _occamla
22
22
  getExpression() {
23
23
  return this.expression;
24
24
  }
25
- evaluate(context, continuation) {
25
+ evaluate(context, back, forward) {
26
26
  const variableAssignmentString = this.getString(); ///
27
27
  context.trace(`Evaluating the '${variableAssignmentString}' variable assignment...`);
28
28
  this.expression.evaluate(context, (value)=>{
29
29
  this.variable.assign(value, context);
30
30
  const valueString = value.getString();
31
31
  context.debug(`...evaluated the '${variableAssignmentString}' variable assignment as '${valueString}'.`);
32
- return continuation(value);
32
+ return forward(value);
33
33
  });
34
34
  }
35
35
  static name = "VariableAssignment";
36
36
  });
37
37
 
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFyaWFibGVBc3NpZ25tZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIGV4cHJlc3Npb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldEV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGNvbnN0IHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7dmFyaWFibGVBc3NpZ25tZW50U3RyaW5nfScgdmFyaWFibGUgYXNzaWdubWVudC4uLmApO1xuXG4gICAgdGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKGNvbnRleHQsICh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy52YXJpYWJsZS5hc3NpZ24odmFsdWUsIGNvbnRleHQpO1xuXG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudFN0cmluZ30nIHZhcmlhYmxlIGFzc2lnbm1lbnQgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFyaWFibGVBc3NpZ25tZW50XCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJWYXJpYWJsZUFzc2lnbm1lbnQiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJleHByZXNzaW9uIiwiZ2V0VmFyaWFibGUiLCJnZXRFeHByZXNzaW9uIiwiZXZhbHVhdGUiLCJjb250aW51YXRpb24iLCJ2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwiYXNzaWduIiwidmFsdWVTdHJpbmciLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7O2dDQUp3QjswQkFFRDtNQUV2QixXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLDJCQUEyQkMsdUJBQU87SUFDNUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsQ0FBRTtRQUNuRSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDRixVQUFVO0lBQ3hCO0lBRUFHLFNBQVNSLE9BQU8sRUFBRVMsWUFBWSxFQUFFO1FBQzlCLE1BQU1DLDJCQUEyQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXREWCxRQUFRWSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYseUJBQXlCLHdCQUF3QixDQUFDO1FBRW5GLElBQUksQ0FBQ0wsVUFBVSxDQUFDRyxRQUFRLENBQUNSLFNBQVMsQ0FBQ2E7WUFDakMsSUFBSSxDQUFDVCxRQUFRLENBQUNVLE1BQU0sQ0FBQ0QsT0FBT2I7WUFFNUIsTUFBTWUsY0FBY0YsTUFBTUYsU0FBUztZQUVuQ1gsUUFBUWdCLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFTix5QkFBeUIsMEJBQTBCLEVBQUVLLFlBQVksRUFBRSxDQUFDO1lBRXZHLE9BQU9OLGFBQWFJO1FBQ3RCO0lBQ0Y7SUFFQSxPQUFPSSxPQUFPLHFCQUFxQjtBQUNyQyJ9
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFyaWFibGVBc3NpZ25tZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIGV4cHJlc3Npb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldEV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudFN0cmluZ30nIHZhcmlhYmxlIGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIHRoaXMuZXhwcmVzc2lvbi5ldmFsdWF0ZShjb250ZXh0LCAodmFsdWUpID0+IHtcbiAgICAgIHRoaXMudmFyaWFibGUuYXNzaWduKHZhbHVlLCBjb250ZXh0KTtcblxuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHt2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmd9JyB2YXJpYWJsZSBhc3NpZ25tZW50IGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJWYXJpYWJsZUFzc2lnbm1lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIlZhcmlhYmxlQXNzaWdubWVudCIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsImV4cHJlc3Npb24iLCJnZXRWYXJpYWJsZSIsImdldEV4cHJlc3Npb24iLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwidmFyaWFibGVBc3NpZ25tZW50U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsImFzc2lnbiIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQUE7OztnQ0FKd0I7MEJBRUQ7TUFFdkIsV0FBZUEsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQywyQkFBMkJDLHVCQUFPO0lBQzVELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxVQUFVLENBQUU7UUFDbkUsS0FBSyxDQUFDTCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFDLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtJQUN0QjtJQUVBRyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0YsVUFBVTtJQUN4QjtJQUVBRyxTQUFTUixPQUFPLEVBQUVTLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQy9CLE1BQU1DLDJCQUEyQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXREWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYseUJBQXlCLHdCQUF3QixDQUFDO1FBRW5GLElBQUksQ0FBQ04sVUFBVSxDQUFDRyxRQUFRLENBQUNSLFNBQVMsQ0FBQ2M7WUFDakMsSUFBSSxDQUFDVixRQUFRLENBQUNXLE1BQU0sQ0FBQ0QsT0FBT2Q7WUFFNUIsTUFBTWdCLGNBQWNGLE1BQU1GLFNBQVM7WUFFbkNaLFFBQVFpQixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRU4seUJBQXlCLDBCQUEwQixFQUFFSyxZQUFZLEVBQUUsQ0FBQztZQUV2RyxPQUFPTixRQUFRSTtRQUNqQjtJQUNGO0lBRUEsT0FBT0ksT0FBTyxxQkFBcUI7QUFDckMifQ==
@@ -19,17 +19,17 @@ const _default = (0, _elements.define)(class VariableAssignments extends _occaml
19
19
  getArray() {
20
20
  return this.array;
21
21
  }
22
- evaluate = breakable(function(context, continuation) {
22
+ evaluate = breakable(function(context, back, forward) {
23
23
  const variableAssignmentsString = this.getString(); ///
24
24
  context.trace(`Evaluating the '${variableAssignmentsString}' variable assignments...`);
25
- return forEach(this.array, (variableAssignment, continuation)=>{
26
- return variableAssignment.evaluate(context, continuation);
25
+ return forEach(this.array, (variableAssignment, back, forward)=>{
26
+ return variableAssignment.evaluate(context, back, forward);
27
27
  }, ()=>{
28
28
  context.debug(`...evaluated the '${variableAssignmentsString}' variable assignments.`);
29
- return continuation();
29
+ return forward();
30
30
  });
31
31
  });
32
32
  static name = "VariableAssignments";
33
33
  });
34
34
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnRzL3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFyaWFibGVBc3NpZ25tZW50cyBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbiAgfVxuXG4gIGdldEFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmFycmF5O1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGNvbnN0IHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmd9JyB2YXJpYWJsZSBhc3NpZ25tZW50cy4uLmApO1xuXG4gICAgcmV0dXJuIGZvckVhY2godGhpcy5hcnJheSwgKHZhcmlhYmxlQXNzaWdubWVudCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50LmV2YWx1YXRlKGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgfSwgKCkgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHt2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nfScgdmFyaWFibGUgYXNzaWdubWVudHMuYCk7XG5cbiAgICAgIHJldHVybiBjb250aW51YXRpb24oKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgc3RhdGljIG5hbWUgPSBcIlZhcmlhYmxlQXNzaWdubWVudHNcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImZvckVhY2giLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJicmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiVmFyaWFibGVBc3NpZ25tZW50cyIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJhcnJheSIsImdldEFycmF5IiwiZXZhbHVhdGUiLCJjb250aW51YXRpb24iLCJ2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YXJpYWJsZUFzc2lnbm1lbnQiLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVBvRTswQkFFN0M7QUFFdkIsTUFBTSxFQUFFQSxPQUFPLEVBQUUsR0FBR0MscUNBQXFCLEVBQ25DLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFekMsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyw0QkFBNEJDLHVCQUFPO0lBQzdELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxDQUFFO1FBQ3BELEtBQUssQ0FBQ0osU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO0lBQ2Y7SUFFQUMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDRCxLQUFLO0lBQ25CO0lBRUFFLFdBQVdYLFVBQVUsU0FBVUssT0FBTyxFQUFFTyxZQUFZO1FBQ2xELE1BQU1DLDRCQUE0QixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXZEVCxRQUFRVSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsMEJBQTBCLHlCQUF5QixDQUFDO1FBRXJGLE9BQU9mLFFBQVEsSUFBSSxDQUFDVyxLQUFLLEVBQUUsQ0FBQ08sb0JBQW9CSjtZQUM5QyxPQUFPSSxtQkFBbUJMLFFBQVEsQ0FBQ04sU0FBU087UUFDOUMsR0FBRztZQUNEUCxRQUFRWSxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRUosMEJBQTBCLHVCQUF1QixDQUFDO1lBRXJGLE9BQU9EO1FBQ1Q7SUFDRixHQUFHO0lBRUgsT0FBT00sT0FBTyxzQkFBc0I7QUFDdEMifQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnRzL3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFyaWFibGVBc3NpZ25tZW50cyBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbiAgfVxuXG4gIGdldEFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmFycmF5O1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nfScgdmFyaWFibGUgYXNzaWdubWVudHMuLi5gKTtcblxuICAgIHJldHVybiBmb3JFYWNoKHRoaXMuYXJyYXksICh2YXJpYWJsZUFzc2lnbm1lbnQsIGJhY2ssIGZvcndhcmQpID0+IHtcbiAgICAgIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnQuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSwgKCkgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHt2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nfScgdmFyaWFibGUgYXNzaWdubWVudHMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHN0YXRpYyBuYW1lID0gXCJWYXJpYWJsZUFzc2lnbm1lbnRzXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJmb3JFYWNoIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIlZhcmlhYmxlQXNzaWdubWVudHMiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwiYXJyYXkiLCJnZXRBcnJheSIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YXJpYWJsZUFzc2lnbm1lbnQiLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVBvRTswQkFFN0M7QUFFdkIsTUFBTSxFQUFFQSxPQUFPLEVBQUUsR0FBR0MscUNBQXFCLEVBQ25DLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFekMsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyw0QkFBNEJDLHVCQUFPO0lBQzdELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxDQUFFO1FBQ3BELEtBQUssQ0FBQ0osU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO0lBQ2Y7SUFFQUMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDRCxLQUFLO0lBQ25CO0lBRUFFLFdBQVdYLFVBQVUsU0FBVUssT0FBTyxFQUFFTyxJQUFJLEVBQUVDLE9BQU87UUFDbkQsTUFBTUMsNEJBQTRCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFdkRWLFFBQVFXLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRiwwQkFBMEIseUJBQXlCLENBQUM7UUFFckYsT0FBT2hCLFFBQVEsSUFBSSxDQUFDVyxLQUFLLEVBQUUsQ0FBQ1Esb0JBQW9CTCxNQUFNQztZQUNwRCxPQUFPSSxtQkFBbUJOLFFBQVEsQ0FBQ04sU0FBU08sTUFBTUM7UUFDcEQsR0FBRztZQUNEUixRQUFRYSxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRUosMEJBQTBCLHVCQUF1QixDQUFDO1lBRXJGLE9BQU9EO1FBQ1Q7SUFDRixHQUFHO0lBRUgsT0FBT00sT0FBTyxzQkFBc0I7QUFDdEMifQ==
@@ -14,14 +14,12 @@ const _default = (0, _elements.define)(class Error extends _occamlanguages.Eleme
14
14
  constructor(context, string, node, breakPoint){
15
15
  super(context, string, node, breakPoint);
16
16
  }
17
- verify(context, continuation) {
18
- let verifies;
17
+ verify(context, back, forward) {
19
18
  const errorString = this.getString(); ///
20
- verifies = false;
21
19
  context.warning(`The '${errorString}' error cannot be verified.`);
22
- return continuation(verifies);
20
+ return back();
23
21
  }
24
22
  static name = "Error";
25
23
  });
26
24
 
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Vycm9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEVycm9yIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG4gIH1cblxuICB2ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgbGV0IHZlcmlmaWVzO1xuXG4gICAgY29uc3QgZXJyb3JTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICB2ZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgY29udGV4dC53YXJuaW5nKGBUaGUgJyR7ZXJyb3JTdHJpbmd9JyBlcnJvciBjYW5ub3QgYmUgdmVyaWZpZWQuYCk7XG5cbiAgICByZXR1cm4gY29udGludWF0aW9uKHZlcmlmaWVzKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJFcnJvclwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiRXJyb3IiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmVyaWZ5IiwiY29udGludWF0aW9uIiwidmVyaWZpZXMiLCJlcnJvclN0cmluZyIsImdldFN0cmluZyIsIndhcm5pbmciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQUE7OztnQ0FKd0I7MEJBRUQ7TUFFdkIsV0FBZUEsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxjQUFjQyx1QkFBTztJQUMvQyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLENBQUU7UUFDN0MsS0FBSyxDQUFDSCxTQUFTQyxRQUFRQyxNQUFNQztJQUMvQjtJQUVBQyxPQUFPSixPQUFPLEVBQUVLLFlBQVksRUFBRTtRQUM1QixJQUFJQztRQUVKLE1BQU1DLGNBQWMsSUFBSSxDQUFDQyxTQUFTLElBQUssR0FBRztRQUUxQ0YsV0FBVztRQUVYTixRQUFRUyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUVGLFlBQVksMkJBQTJCLENBQUM7UUFFaEUsT0FBT0YsYUFBYUM7SUFDdEI7SUFFQSxPQUFPSSxPQUFPLFFBQVE7QUFDeEIifQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Vycm9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEVycm9yIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG4gIH1cblxuICB2ZXJpZnkoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IGVycm9yU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC53YXJuaW5nKGBUaGUgJyR7ZXJyb3JTdHJpbmd9JyBlcnJvciBjYW5ub3QgYmUgdmVyaWZpZWQuYCk7XG5cbiAgICByZXR1cm4gYmFjaygpO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkVycm9yXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJFcnJvciIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2ZXJpZnkiLCJiYWNrIiwiZm9yd2FyZCIsImVycm9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwid2FybmluZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7O2dDQUp3QjswQkFFRDtNQUV2QixXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGNBQWNDLHVCQUFPO0lBQy9DLFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsQ0FBRTtRQUM3QyxLQUFLLENBQUNILFNBQVNDLFFBQVFDLE1BQU1DO0lBQy9CO0lBRUFDLE9BQU9KLE9BQU8sRUFBRUssSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDN0IsTUFBTUMsY0FBYyxJQUFJLENBQUNDLFNBQVMsSUFBSyxHQUFHO1FBRTFDUixRQUFRUyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUVGLFlBQVksMkJBQTJCLENBQUM7UUFFaEUsT0FBT0Y7SUFDVDtJQUVBLE9BQU9LLE9BQU8sUUFBUTtBQUN4QiJ9
@@ -73,7 +73,7 @@ const _default = (0, _elements.define)(class Every extends _occamlanguages.Eleme
73
73
  getAnonymousProcedure() {
74
74
  return this.anonymousProcedure;
75
75
  }
76
- evaluate = breakable(function(context, continuation) {
76
+ evaluate = breakable(function(context, back, forward) {
77
77
  const everyString = this.getString();
78
78
  context.trace(`Evaluating the '${everyString}' every...`);
79
79
  const value = this.variable.evaluate(context), valueType = value.getType(), valueTypeListType = valueType.isListType();
@@ -82,7 +82,7 @@ const _default = (0, _elements.define)(class Every extends _occamlanguages.Eleme
82
82
  throw exception;
83
83
  }
84
84
  const nodes = value.getNodes();
85
- return every(nodes, (node, continuation)=>{
85
+ return every(nodes, (node, back, forward)=>{
86
86
  const { Values } = _elements.default, value = (0, _value.valueFromNode)(node, context), values = Values.fromValue(value, context);
87
87
  this.anonymousProcedure.call(values, context, (value)=>{
88
88
  const valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
@@ -91,15 +91,15 @@ const _default = (0, _elements.define)(class Every extends _occamlanguages.Eleme
91
91
  throw exception;
92
92
  }
93
93
  const boolean = value.getBoolean();
94
- return continuation(boolean);
94
+ return forward(boolean);
95
95
  });
96
96
  }, (boolean)=>{
97
97
  const value = (0, _value.valueFromBoolean)(boolean, context), valueString = value.getString();
98
98
  context.trace(`...evaluated the '${everyString}' every as '${valueString}'.`);
99
- return continuation(value);
99
+ return forward(value);
100
100
  });
101
101
  });
102
102
  static name = "Every";
103
103
  });
104
104
 
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V2ZXJ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbU5vZGUsIHZhbHVlRnJvbUJvb2xlYW4gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgZXZlcnkgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXZlcnkgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgYW5vbnltb3VzUHJvY2VkdXJlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLmFub255bW91c1Byb2NlZHVyZSA9IGFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0QW5vbnltb3VzUHJvY2VkdXJlKCkge1xuICAgIHJldHVybiB0aGlzLmFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGV2YWx1YXRlID0gYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICBjb25zdCBldmVyeVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtldmVyeVN0cmluZ30nIGV2ZXJ5Li4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHZhbHVlVHlwZUxpc3RUeXBlID0gdmFsdWVUeXBlLmlzTGlzdFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGVMaXN0VHlwZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtMSVNUX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlcyA9IHZhbHVlLmdldE5vZGVzKCk7XG5cbiAgICByZXR1cm4gZXZlcnkobm9kZXMsIChub2RlLCBjb250aW51YXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHsgVmFsdWVzIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9kZShub2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHZhbHVlcyA9IFZhbHVlcy5mcm9tVmFsdWUodmFsdWUsIGNvbnRleHQpO1xuXG4gICAgICB0aGlzLmFub255bW91c1Byb2NlZHVyZS5jYWxsKHZhbHVlcywgY29udGV4dCwgKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgdmFsdWVUeXBlQm9vbGVhblR5cGUgPSB2YWx1ZVR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgICAgIGlmICghdmFsdWVUeXBlQm9vbGVhblR5cGUpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyB0eXBlIGlzICcke3ZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJvb2xlYW4gPSB2YWx1ZS5nZXRCb29sZWFuKCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbihib29sZWFuKTtcbiAgICAgIH0pO1xuICAgIH0sIChib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCksXG4gICAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICBjb250ZXh0LnRyYWNlKGAuLi5ldmFsdWF0ZWQgdGhlICcke2V2ZXJ5U3RyaW5nfScgZXZlcnkgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHN0YXRpYyBuYW1lID0gXCJFdmVyeVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZXZlcnkiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJicmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiRXZlcnkiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJhbm9ueW1vdXNQcm9jZWR1cmUiLCJnZXRWYXJpYWJsZSIsImdldEFub255bW91c1Byb2NlZHVyZSIsImV2YWx1YXRlIiwiY29udGludWF0aW9uIiwiZXZlcnlTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIkxJU1RfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJub2RlcyIsImdldE5vZGVzIiwiVmFsdWVzIiwiZWxlbWVudHMiLCJ2YWx1ZUZyb21Ob2RlIiwidmFsdWVzIiwiZnJvbVZhbHVlIiwiY2FsbCIsInZhbHVlVHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwiYm9vbGVhbiIsImdldEJvb2xlYW4iLCJ2YWx1ZUZyb21Cb29sZWFuIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7Z0NBWm9FO2tFQUUvQztrRUFDQzt1QkFHMEI7MkJBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxELE1BQU0sRUFBRUEsS0FBSyxFQUFFLEdBQUdDLHFDQUFxQixFQUNqQyxFQUFFQyxTQUFTLEVBQUUsR0FBR0MsbUNBQW1CO01BRXpDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsY0FBY0MsdUJBQU87SUFDL0MsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGtCQUFrQixDQUFFO1FBQzNFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDRixNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDRyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0Msa0JBQWtCLEdBQUdBO0lBQzVCO0lBRUFDLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtJQUN0QjtJQUVBRyx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUNGLGtCQUFrQjtJQUNoQztJQUVBRyxXQUFXYixVQUFVLFNBQVVLLE9BQU8sRUFBRVMsWUFBWTtRQUNsRCxNQUFNQyxjQUFjLElBQUksQ0FBQ0MsU0FBUztRQUVsQ1gsUUFBUVksS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLFlBQVksVUFBVSxDQUFDO1FBRXhELE1BQU1HLFFBQVEsSUFBSSxDQUFDVCxRQUFRLENBQUNJLFFBQVEsQ0FBQ1IsVUFDL0JjLFlBQVlELE1BQU1FLE9BQU8sSUFDekJDLG9CQUFvQkYsVUFBVUcsVUFBVTtRQUU5QyxJQUFJRCxtQkFBbUI7WUFDckIsTUFBTUUsY0FBY0wsTUFBTUYsU0FBUyxJQUM3QlEsVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxXQUFXLEVBQUVKLFVBQVUsa0JBQWtCLEVBQUVNLHlCQUFjLENBQUMsRUFBRSxDQUFDLEVBQzNGQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNKO1lBRXhDLE1BQU1FO1FBQ1I7UUFFQSxNQUFNRyxRQUFRWCxNQUFNWSxRQUFRO1FBRTVCLE9BQU9oQyxNQUFNK0IsT0FBTyxDQUFDdEIsTUFBTU87WUFDekIsTUFBTSxFQUFFaUIsTUFBTSxFQUFFLEdBQUdDLGlCQUFRLEVBQ3JCZCxRQUFRZSxJQUFBQSxvQkFBYSxFQUFDMUIsTUFBTUYsVUFDNUI2QixTQUFTSCxPQUFPSSxTQUFTLENBQUNqQixPQUFPYjtZQUV2QyxJQUFJLENBQUNLLGtCQUFrQixDQUFDMEIsSUFBSSxDQUFDRixRQUFRN0IsU0FBUyxDQUFDYTtnQkFDN0MsTUFBTUMsWUFBWUQsTUFBTUUsT0FBTyxJQUN6QmlCLHVCQUF1QmxCLFVBQVVtQixhQUFhO2dCQUVwRCxJQUFJLENBQUNELHNCQUFzQjtvQkFDekIsTUFBTWQsY0FBY0wsTUFBTUYsU0FBUyxJQUM3QlEsVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxtQkFBbUIsRUFBRUosVUFBVSw2QkFBNkIsRUFBRW9CLDRCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUNqSGIsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtvQkFFeEMsTUFBTUU7Z0JBQ1I7Z0JBRUEsTUFBTWMsVUFBVXRCLE1BQU11QixVQUFVO2dCQUVoQyxPQUFPM0IsYUFBYTBCO1lBQ3RCO1FBQ0YsR0FBRyxDQUFDQTtZQUNGLE1BQU10QixRQUFRd0IsSUFBQUEsdUJBQWdCLEVBQUNGLFNBQVNuQyxVQUNsQ2tCLGNBQWNMLE1BQU1GLFNBQVM7WUFFbkNYLFFBQVFZLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFRixZQUFZLFlBQVksRUFBRVEsWUFBWSxFQUFFLENBQUM7WUFFNUUsT0FBT1QsYUFBYUk7UUFDdEI7SUFDRixHQUFHO0lBRUgsT0FBT3lCLE9BQU8sUUFBUTtBQUN4QiJ9
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V2ZXJ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbU5vZGUsIHZhbHVlRnJvbUJvb2xlYW4gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgZXZlcnkgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXZlcnkgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgYW5vbnltb3VzUHJvY2VkdXJlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLmFub255bW91c1Byb2NlZHVyZSA9IGFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0QW5vbnltb3VzUHJvY2VkdXJlKCkge1xuICAgIHJldHVybiB0aGlzLmFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGV2YWx1YXRlID0gYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgZXZlcnlTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7ZXZlcnlTdHJpbmd9JyBldmVyeS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB2YWx1ZVR5cGVMaXN0VHlwZSA9IHZhbHVlVHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICBpZiAodmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7TElTVF9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZXMgPSB2YWx1ZS5nZXROb2RlcygpO1xuXG4gICAgcmV0dXJuIGV2ZXJ5KG5vZGVzLCAobm9kZSwgYmFjaywgZm9yd2FyZCkgPT4ge1xuICAgICAgY29uc3QgeyBWYWx1ZXMgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Ob2RlKG5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgdmFsdWVzID0gVmFsdWVzLmZyb21WYWx1ZSh2YWx1ZSwgY29udGV4dCk7XG5cbiAgICAgIHRoaXMuYW5vbnltb3VzUHJvY2VkdXJlLmNhbGwodmFsdWVzLCBjb250ZXh0LCAodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgICB2YWx1ZVR5cGVCb29sZWFuVHlwZSA9IHZhbHVlVHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICAgICAgaWYgKCF2YWx1ZVR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzIHR5cGUgaXMgJyR7dmFsdWVUeXBlfScgd2hlbiBpdCBzaG91bGQgYmUgb2YgdHlwZSAnJHtCT09MRUFOX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYm9vbGVhbiA9IHZhbHVlLmdldEJvb2xlYW4oKTtcblxuICAgICAgICByZXR1cm4gZm9yd2FyZChib29sZWFuKTtcbiAgICAgIH0pO1xuICAgIH0sIChib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCksXG4gICAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICBjb250ZXh0LnRyYWNlKGAuLi5ldmFsdWF0ZWQgdGhlICcke2V2ZXJ5U3RyaW5nfScgZXZlcnkgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBzdGF0aWMgbmFtZSA9IFwiRXZlcnlcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImV2ZXJ5IiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIkV2ZXJ5IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwiYW5vbnltb3VzUHJvY2VkdXJlIiwiZ2V0VmFyaWFibGUiLCJnZXRBbm9ueW1vdXNQcm9jZWR1cmUiLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwiZXZlcnlTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIkxJU1RfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJub2RlcyIsImdldE5vZGVzIiwiVmFsdWVzIiwiZWxlbWVudHMiLCJ2YWx1ZUZyb21Ob2RlIiwidmFsdWVzIiwiZnJvbVZhbHVlIiwiY2FsbCIsInZhbHVlVHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwiYm9vbGVhbiIsImdldEJvb2xlYW4iLCJ2YWx1ZUZyb21Cb29sZWFuIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7Z0NBWm9FO2tFQUUvQztrRUFDQzt1QkFHMEI7MkJBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxELE1BQU0sRUFBRUEsS0FBSyxFQUFFLEdBQUdDLHFDQUFxQixFQUNqQyxFQUFFQyxTQUFTLEVBQUUsR0FBR0MsbUNBQW1CO01BRXpDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsY0FBY0MsdUJBQU87SUFDL0MsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGtCQUFrQixDQUFFO1FBQzNFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDRixNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDRyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0Msa0JBQWtCLEdBQUdBO0lBQzVCO0lBRUFDLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtJQUN0QjtJQUVBRyx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUNGLGtCQUFrQjtJQUNoQztJQUVBRyxXQUFXYixVQUFVLFNBQVVLLE9BQU8sRUFBRVMsSUFBSSxFQUFFQyxPQUFPO1FBQ25ELE1BQU1DLGNBQWMsSUFBSSxDQUFDQyxTQUFTO1FBRWxDWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsWUFBWSxVQUFVLENBQUM7UUFFeEQsTUFBTUcsUUFBUSxJQUFJLENBQUNWLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUixVQUMvQmUsWUFBWUQsTUFBTUUsT0FBTyxJQUN6QkMsb0JBQW9CRixVQUFVRyxVQUFVO1FBRTlDLElBQUlELG1CQUFtQjtZQUNyQixNQUFNRSxjQUFjTCxNQUFNRixTQUFTLElBQzdCUSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLFdBQVcsRUFBRUosVUFBVSxrQkFBa0IsRUFBRU0seUJBQWMsQ0FBQyxFQUFFLENBQUMsRUFDM0ZDLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0o7WUFFeEMsTUFBTUU7UUFDUjtRQUVBLE1BQU1HLFFBQVFYLE1BQU1ZLFFBQVE7UUFFNUIsT0FBT2pDLE1BQU1nQyxPQUFPLENBQUN2QixNQUFNTyxNQUFNQztZQUMvQixNQUFNLEVBQUVpQixNQUFNLEVBQUUsR0FBR0MsaUJBQVEsRUFDckJkLFFBQVFlLElBQUFBLG9CQUFhLEVBQUMzQixNQUFNRixVQUM1QjhCLFNBQVNILE9BQU9JLFNBQVMsQ0FBQ2pCLE9BQU9kO1lBRXZDLElBQUksQ0FBQ0ssa0JBQWtCLENBQUMyQixJQUFJLENBQUNGLFFBQVE5QixTQUFTLENBQUNjO2dCQUM3QyxNQUFNQyxZQUFZRCxNQUFNRSxPQUFPLElBQ3pCaUIsdUJBQXVCbEIsVUFBVW1CLGFBQWE7Z0JBRXBELElBQUksQ0FBQ0Qsc0JBQXNCO29CQUN6QixNQUFNZCxjQUFjTCxNQUFNRixTQUFTLElBQzdCUSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLG1CQUFtQixFQUFFSixVQUFVLDZCQUE2QixFQUFFb0IsNEJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQ2pIYixZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNKO29CQUV4QyxNQUFNRTtnQkFDUjtnQkFFQSxNQUFNYyxVQUFVdEIsTUFBTXVCLFVBQVU7Z0JBRWhDLE9BQU8zQixRQUFRMEI7WUFDakI7UUFDRixHQUFHLENBQUNBO1lBQ0YsTUFBTXRCLFFBQVF3QixJQUFBQSx1QkFBZ0IsRUFBQ0YsU0FBU3BDLFVBQ2xDbUIsY0FBY0wsTUFBTUYsU0FBUztZQUVuQ1osUUFBUWEsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVGLFlBQVksWUFBWSxFQUFFUSxZQUFZLEVBQUUsQ0FBQztZQUU1RSxPQUFPVCxRQUFRSTtRQUNqQjtJQUNGLEdBQUc7SUFFSCxPQUFPeUIsT0FBTyxRQUFRO0FBQ3hCIn0=
@@ -111,7 +111,7 @@ const _default = (0, _elements.define)(class Expression extends _occamlanguages.
111
111
  }
112
112
  return type;
113
113
  }
114
- evaluate(context, continuation) {
114
+ evaluate(context, back, forward) {
115
115
  let value = null;
116
116
  if (false) {
117
117
  ///
@@ -135,29 +135,29 @@ const _default = (0, _elements.define)(class Expression extends _occamlanguages.
135
135
  value = this.startsWith.evaluate(context);
136
136
  }
137
137
  if (value !== null) {
138
- return continuation(value);
138
+ return forward(value);
139
139
  }
140
140
  if (this.some !== null) {
141
- return this.some.evaluate(context, continuation);
141
+ return this.some.evaluate(context, back, forward);
142
142
  }
143
143
  if (this.every !== null) {
144
- return this.every.evaluate(context, continuation);
144
+ return this.every.evaluate(context, back, forward);
145
145
  }
146
146
  if (this.reduce !== null) {
147
- return this.reduce.evaluate(context, continuation);
147
+ return this.reduce.evaluate(context, back, forward);
148
148
  }
149
149
  if (this.ternary !== null) {
150
- return this.ternary.evaluate(context, continuation);
150
+ return this.ternary.evaluate(context, back, forward);
151
151
  }
152
152
  if (this.returnBlock !== null) {
153
153
  const variables = [];
154
- return this.returnBlock.evaluate(variables, context, continuation);
154
+ return this.returnBlock.evaluate(variables, context, back, forward);
155
155
  }
156
156
  if (this.procedureCall !== null) {
157
- return this.procedureCall.evaluate(context, continuation);
157
+ return this.procedureCall.evaluate(context, back, forward);
158
158
  }
159
159
  }
160
160
  static name = "Expression";
161
161
  });
162
162
 
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXhwcmVzc2lvbiBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIHNvbWUsIGV2ZXJ5LCByZWR1Y2UsIHRlcm5hcnksIG5vZGVRdWVyeSwgbm9kZXNRdWVyeSwgbGVuZ3RoT2YsIHRvSW50ZWdlciwgdHJ5SW50ZWdlciwgY29udGFpbnMsIGVuZHNXaXRoLCBzdGFydHNXaXRoLCByZXR1cm5CbG9jaywgcHJvY2VkdXJlQ2FsbCkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICAgIHRoaXMuc29tZSA9IHNvbWU7XG4gICAgdGhpcy5ldmVyeSA9IGV2ZXJ5O1xuICAgIHRoaXMucmVkdWNlID0gcmVkdWNlO1xuICAgIHRoaXMudGVybmFyeSA9IHRlcm5hcnk7XG4gICAgdGhpcy5ub2RlUXVlcnkgPSBub2RlUXVlcnk7XG4gICAgdGhpcy5ub2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeTtcbiAgICB0aGlzLmxlbmd0aE9mID0gbGVuZ3RoT2Y7XG4gICAgdGhpcy50b0ludGVnZXIgPSB0b0ludGVnZXI7XG4gICAgdGhpcy50cnlJbnRlZ2VyID0gdHJ5SW50ZWdlcjtcbiAgICB0aGlzLmNvbnRhaW5zID0gY29udGFpbnM7XG4gICAgdGhpcy5lbmRzV2l0aCA9IGVuZHNXaXRoO1xuICAgIHRoaXMuc3RhcnRzV2l0aCA9IHN0YXJ0c1dpdGg7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICAgIHRoaXMucHJvY2VkdXJlQ2FsbCA9IHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRTb21lKCkge1xuICAgIHJldHVybiB0aGlzLnNvbWU7XG4gIH1cblxuICBnZXRFdmVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ldmVyeTtcbiAgfVxuXG4gIGdldFJlZHVjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWR1Y2U7XG4gIH1cblxuICBnZXRUZXJuYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnRlcm5heTtcbiAgfVxuXG4gIGdldE5vZGVRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlUXVlcnk7XG4gIH1cblxuICBnZXROb2Rlc1F1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVzUXVlcnk7XG4gIH1cblxuICBnZXRMZW5ndGhPZigpIHtcbiAgICByZXR1cm4gdGhpcy5sZW5ndGhPZjtcbiAgfVxuXG4gIGdldFRvSW50ZWdlcigpIHtcbiAgICByZXR1cm4gdGhpcy50b0ludGVnZXI7XG4gIH1cblxuICBnZXRUcnlJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLnRyeUludGVnZXI7XG4gIH1cblxuICBnZXRDb250YWlucygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWlucztcbiAgfVxuXG4gIGdldEVuZHNXaXRoKCkge1xuICAgIHJldHVybiB0aGlzLmVuZHNXaXRoO1xuICB9XG5cbiAgZ2V0U3RhcnRzV2l0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydHNXaXRoO1xuICB9XG5cbiAgZ2V0UmV0dXJuQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVDYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMudGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvbWUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnNvbWUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZXZlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWR1Y2UgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJlZHVjZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRlcm5hcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVRdWVyeS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVzUXVlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGhPZiAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMubGVuZ3RoT2YuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b0ludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRvSW50ZWdlci5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRyeUludGVnZXIuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250YWlucyAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuY29udGFpbnMuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbmRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZW5kc1dpdGguZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5zdGFydHNXaXRoLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJldHVybkJsb2NrLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMucHJvY2VkdXJlQ2FsbC5nZXRUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICBsZXQgdmFsdWUgPSBudWxsO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnRlcm0uZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVRdWVyeSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLm5vZGVRdWVyeS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubm9kZXNRdWVyeSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLm5vZGVzUXVlcnkuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aE9mICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMubGVuZ3RoT2YuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRvSW50ZWdlciAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnRvSW50ZWdlci5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHJ5SW50ZWdlciAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnRyeUludGVnZXIuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRhaW5zICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuY29udGFpbnMuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmVuZHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuZW5kc1dpdGguZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0c1dpdGggIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5zdGFydHNXaXRoLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc29tZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuc29tZS5ldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmV2ZXJ5ICE9PSBudWxsKSB7XG4gICAgICAgcmV0dXJuIHRoaXMuZXZlcnkuZXZhbHVhdGUoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZWR1Y2UgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlZHVjZS5ldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnRlcm5hcnkuZXZhbHVhdGUoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXR1cm5CbG9jayAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrLmV2YWx1YXRlKHZhcmlhYmxlcywgY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9jZWR1cmVDYWxsICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9jZWR1cmVDYWxsLmV2YWx1YXRlKGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkV4cHJlc3Npb25cIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkV4cHJlc3Npb24iLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidGVybSIsInNvbWUiLCJldmVyeSIsInJlZHVjZSIsInRlcm5hcnkiLCJub2RlUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibGVuZ3RoT2YiLCJ0b0ludGVnZXIiLCJ0cnlJbnRlZ2VyIiwiY29udGFpbnMiLCJlbmRzV2l0aCIsInN0YXJ0c1dpdGgiLCJyZXR1cm5CbG9jayIsInByb2NlZHVyZUNhbGwiLCJnZXRUZXJtIiwiZ2V0U29tZSIsImdldEV2ZXJ5IiwiZ2V0UmVkdWNlIiwiZ2V0VGVybmFyeSIsInRlcm5heSIsImdldE5vZGVRdWVyeSIsImdldE5vZGVzUXVlcnkiLCJnZXRMZW5ndGhPZiIsImdldFRvSW50ZWdlciIsImdldFRyeUludGVnZXIiLCJnZXRDb250YWlucyIsImdldEVuZHNXaXRoIiwiZ2V0U3RhcnRzV2l0aCIsImdldFJldHVybkJsb2NrIiwiZ2V0UHJvY2VkdXJlQ2FsbCIsImdldFR5cGUiLCJ0eXBlIiwiZXZhbHVhdGUiLCJjb250aW51YXRpb24iLCJ2YWx1ZSIsInZhcmlhYmxlcyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7O2dDQUp3QjswQkFFRDtNQUV2QixXQUFlQSxJQUFBQSxnQkFB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
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXhwcmVzc2lvbiBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIHNvbWUsIGV2ZXJ5LCByZWR1Y2UsIHRlcm5hcnksIG5vZGVRdWVyeSwgbm9kZXNRdWVyeSwgbGVuZ3RoT2YsIHRvSW50ZWdlciwgdHJ5SW50ZWdlciwgY29udGFpbnMsIGVuZHNXaXRoLCBzdGFydHNXaXRoLCByZXR1cm5CbG9jaywgcHJvY2VkdXJlQ2FsbCkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICAgIHRoaXMuc29tZSA9IHNvbWU7XG4gICAgdGhpcy5ldmVyeSA9IGV2ZXJ5O1xuICAgIHRoaXMucmVkdWNlID0gcmVkdWNlO1xuICAgIHRoaXMudGVybmFyeSA9IHRlcm5hcnk7XG4gICAgdGhpcy5ub2RlUXVlcnkgPSBub2RlUXVlcnk7XG4gICAgdGhpcy5ub2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeTtcbiAgICB0aGlzLmxlbmd0aE9mID0gbGVuZ3RoT2Y7XG4gICAgdGhpcy50b0ludGVnZXIgPSB0b0ludGVnZXI7XG4gICAgdGhpcy50cnlJbnRlZ2VyID0gdHJ5SW50ZWdlcjtcbiAgICB0aGlzLmNvbnRhaW5zID0gY29udGFpbnM7XG4gICAgdGhpcy5lbmRzV2l0aCA9IGVuZHNXaXRoO1xuICAgIHRoaXMuc3RhcnRzV2l0aCA9IHN0YXJ0c1dpdGg7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICAgIHRoaXMucHJvY2VkdXJlQ2FsbCA9IHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRTb21lKCkge1xuICAgIHJldHVybiB0aGlzLnNvbWU7XG4gIH1cblxuICBnZXRFdmVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ldmVyeTtcbiAgfVxuXG4gIGdldFJlZHVjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWR1Y2U7XG4gIH1cblxuICBnZXRUZXJuYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnRlcm5heTtcbiAgfVxuXG4gIGdldE5vZGVRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlUXVlcnk7XG4gIH1cblxuICBnZXROb2Rlc1F1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVzUXVlcnk7XG4gIH1cblxuICBnZXRMZW5ndGhPZigpIHtcbiAgICByZXR1cm4gdGhpcy5sZW5ndGhPZjtcbiAgfVxuXG4gIGdldFRvSW50ZWdlcigpIHtcbiAgICByZXR1cm4gdGhpcy50b0ludGVnZXI7XG4gIH1cblxuICBnZXRUcnlJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLnRyeUludGVnZXI7XG4gIH1cblxuICBnZXRDb250YWlucygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWlucztcbiAgfVxuXG4gIGdldEVuZHNXaXRoKCkge1xuICAgIHJldHVybiB0aGlzLmVuZHNXaXRoO1xuICB9XG5cbiAgZ2V0U3RhcnRzV2l0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydHNXaXRoO1xuICB9XG5cbiAgZ2V0UmV0dXJuQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVDYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMudGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvbWUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnNvbWUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZXZlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWR1Y2UgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJlZHVjZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRlcm5hcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVRdWVyeS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVzUXVlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGhPZiAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMubGVuZ3RoT2YuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b0ludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRvSW50ZWdlci5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRyeUludGVnZXIuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250YWlucyAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuY29udGFpbnMuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbmRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZW5kc1dpdGguZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5zdGFydHNXaXRoLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJldHVybkJsb2NrLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMucHJvY2VkdXJlQ2FsbC5nZXRUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgbGV0IHZhbHVlID0gbnVsbDtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm0gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50ZXJtLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5ub2RlUXVlcnkuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5ub2Rlc1F1ZXJ5LmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGhPZiAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmxlbmd0aE9mLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b0ludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50b0ludGVnZXIuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50cnlJbnRlZ2VyLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250YWlucyAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmNvbnRhaW5zLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbmRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmVuZHNXaXRoLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuc3RhcnRzV2l0aC5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zb21lICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5zb21lLmV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmV2ZXJ5ICE9PSBudWxsKSB7XG4gICAgICAgcmV0dXJuIHRoaXMuZXZlcnkuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVkdWNlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWR1Y2UuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGVybmFyeSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMudGVybmFyeS5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXR1cm5CbG9jayAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrLmV2YWx1YXRlKHZhcmlhYmxlcywgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvY2VkdXJlQ2FsbC5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiRXhwcmVzc2lvblwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiRXhwcmVzc2lvbiIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtIiwic29tZSIsImV2ZXJ5IiwicmVkdWNlIiwidGVybmFyeSIsIm5vZGVRdWVyeSIsIm5vZGVzUXVlcnkiLCJsZW5ndGhPZiIsInRvSW50ZWdlciIsInRyeUludGVnZXIiLCJjb250YWlucyIsImVuZHNXaXRoIiwic3RhcnRzV2l0aCIsInJldHVybkJsb2NrIiwicHJvY2VkdXJlQ2FsbCIsImdldFRlcm0iLCJnZXRTb21lIiwiZ2V0RXZlcnkiLCJnZXRSZWR1Y2UiLCJnZXRUZXJuYXJ5IiwidGVybmF5IiwiZ2V0Tm9kZVF1ZXJ5IiwiZ2V0Tm9kZXNRdWVyeSIsImdldExlbmd0aE9mIiwiZ2V0VG9JbnRlZ2VyIiwiZ2V0VHJ5SW50ZWdlciIsImdldENvbnRhaW5zIiwiZ2V0RW5kc1dpdGgiLCJnZXRTdGFydHNXaXRoIiwiZ2V0UmV0dXJuQmxvY2siLCJnZXRQcm9jZWR1cmVDYWxsIiwiZ2V0VHlwZSIsInR5cGUiLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwidmFsdWUiLCJ2YXJpYWJsZXMiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQUE7OztnQ0FKd0I7MEJBRUQ7TUFFdkIsV0FBZUEsSUFBQUEs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