occam-languages 3.0.12 → 3.0.13

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.
@@ -61,7 +61,7 @@ function verifyReleaseContext(releaseContext, context, back, forward) {
61
61
  log.info(`Verifying the '${releaseName}' project...`);
62
62
  return releaseContext.verify(back, ()=>{
63
63
  log.info(`...verified the '${releaseName}' project.`);
64
- return forward();
64
+ return forward(context);
65
65
  });
66
66
  }
67
67
  function createReleaseContext(dependency, dependentNames, dependentReleased, context, fail, succeed) {
@@ -201,4 +201,4 @@ function checkProjectDependencyOfPackage(releaseContext, dependentReleased, depe
201
201
  return projectDependencyOfPackage;
202
202
  }
203
203
 
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyaWZpY2F0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBEZXBlbmRlbmN5IH0gZnJvbSBcIm9jY2FtLW1vZGVsXCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgZXZlcnkgIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250aW51YXRpb25cIjtcbmltcG9ydCB7IFNJTkdMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBsYXN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5TmFtZSwgY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCBuYW1lID0gZGVwZW5kZW5jeU5hbWUsICAvLy9cbiAgICAgICAgZGVwZW5kZW5jeSA9IERlcGVuZGVuY3kuZnJvbU5hbWUobmFtZSksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzID0gW10sXG4gICAgICAgIGRlcGVuZGVudFJlbGVhc2VkID0gZmFsc2U7XG5cbiAgcmV0dXJuIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnRSZWxlYXNlZCwgY29udGV4dCwgZmFpbCwgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkgPT4ge1xuICAgIGxldCByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gZmFsc2U7XG5cbiAgICBpZiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgICByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dHNDcmVhdGVkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzKGNvbnRleHQpIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dHMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlSZWxlYXNlQ29udGV4dHMoY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dCxcbiAgICAgICAgYmFjayA9IGZhaWwsICAvLy9cbiAgICAgICAgZm9yd2FyZCA9IHN1Y2NlZWQ7ICAvLy9cblxuICByZXR1cm4gZXZlcnkocmVsZWFzZUNvbnRleHRzLCB2ZXJpZnlSZWxlYXNlQ29udGV4dCwgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY3JlYXRlUmVsZWFzZUNvbnRleHRzLFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzLFxuICB2ZXJpZnlSZWxlYXNlQ29udGV4dHNcbn07XG5cbmZ1bmN0aW9uIHZlcmlmeVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gIGNvbnN0IHJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNSZWxlYXNlZCgpLFxuICAgICAgICB2ZXJpZmllZCA9IHJlbGVhc2VDb250ZXh0Lmhhc1ZlcmlmaWVkKCk7XG5cbiAgaWYgKHJlbGVhc2VkIHx8IHZlcmlmaWVkKSB7XG4gICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgfVxuXG4gIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWU7IC8vL1xuXG4gIGxvZy5pbmZvKGBWZXJpZnlpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgcHJvamVjdC4uLmApO1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dC52ZXJpZnkoYmFjaywgKCkgPT4ge1xuICAgIGxvZy5pbmZvKGAuLi52ZXJpZmllZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwcm9qZWN0LmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnRSZWxlYXNlZCwgY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCB7IGxvZyB9ID0gY29udGV4dCxcbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSBmaW5kUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgY29udGV4dCk7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgY29uc3QgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gdHJ1ZTtcblxuICAgIHJldHVybiBzdWNjZWVkKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCk7XG4gIH1cblxuICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICBkZXBlbmRlbnROYW1lc0xlbmd0aCA9IGRlcGVuZGVudE5hbWVzLmxlbmd0aDtcblxuICBpZiAoZGVwZW5kZW50TmFtZXNMZW5ndGggPT09IDApIHtcbiAgICBsb2cuaW5mbyhgQ3JlYXRpbmcgdGhlICcke2RlcGVuZGVuY3lOYW1lfScgcGFja2FnZSBjb250ZXh0Li4uYCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbGFzdERlcGVuZGVudE5hbWUgPSBsYXN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWUsICAvLy9cbiAgICAgICAgICBkZXBlbmRlbmN5U3RyaW5nID0gZGVwZW5kZW5jeS5hc1N0cmluZygpO1xuXG4gICAgbG9nLmluZm8oYENyZWF0aW5nIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dCBnaXZlbiB0aGUgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGFudCdzICcke2RlcGVuZGVuY3lTdHJpbmd9JyBkZXBlbmRlbmN5Li4uYCk7XG4gIH1cblxuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3kgfSA9IGNvbnRleHQ7XG5cbiAgcmV0dXJuIHJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3koZGVwZW5kZW5jeSwgY29udGV4dCwgZmFpbCwgKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgbGV0IHJlbGVhc2VDb250ZXh0Q3JlYXRlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcmVsZWF0ZVByZXNlbnQgPSBjaGVja1JlbGVhc2VQcmVzZW50KHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5TmFtZSwgY29udGV4dCk7XG5cbiAgICBpZiAoIXJlbGVhdGVQcmVzZW50KSB7XG4gICAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlID0gY2hlY2tQcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZShyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW50UmVsZWFzZWQsIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmIChwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSkge1xuICAgICAgcmV0dXJuIHN1Y2NlZWQocmVsZWFzZUNvbnRleHRDcmVhdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSBjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeShyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKCFyZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kpIHtcbiAgICAgIHJldHVybiBzdWNjZWVkKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBmYWlsLCAoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQpID0+IHtcbiAgICAgIGlmIChkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZCkge1xuICAgICAgICByZWxlYXNlQ29udGV4dENyZWF0ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgICAgIGFkZFJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgcmVsZWFzZUNvbnRleHRDcmVhdGVkID9cbiAgICAgICAgbG9nLmRlYnVnKGAuLi5jcmVhdGVkIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dC5gKSA6XG4gICAgICAgICAgbG9nLndhcm5pbmcoYC4uLnVuYWJsZSB0byBjcmVhdGUgdGhlICcke2RlcGVuZGVuY3lOYW1lfScgcGFja2FnZSBjb250ZXh0LmApO1xuXG4gICAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQsIGZhaWwsIHN1Y2NlZWQpIHtcbiAgY29uc3QgbmFtZSA9IHJlbGVhc2VDb250ZXh0LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZWQgPSByZWxlYXNlQ29udGV4dC5pc1JlbGVhc2VkKCksXG4gICAgICAgIGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpLFxuICAgICAgICBkZXBlbmRlbnROYW1lID0gbmFtZSwgIC8vL1xuICAgICAgICBkZXBlbmRlbnRSZWxlYXNlZCA9IHJlbGVhc2VkOyAgLy8vXG5cbiAgZGVwZW5kZW50TmFtZXMgPSBbIC4uLmRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnROYW1lIF07ICAvLy9cblxuICBjb25zdCBhcnJheSA9IGRlcGVuZGVuY2llcy5nZXRBcnJheSgpO1xuXG4gIHJldHVybiBldmVyeShhcnJheSwgKGRlcGVuZGVuY3ksIGJhY2ssIGZvcndhcmQpID0+IHtcbiAgICBjb25zdCBjeWNsaWNEZXBlbmRlbmN5UHJlc2VudCA9IGNoZWNrQ3ljbGljRGVwZW5kZW5jeVByZXNlbnQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKGN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50KSB7XG4gICAgICByZXR1cm4gYmFjaygpO1xuICAgIH1cblxuICAgIHJldHVybiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgZGVwZW5kZW50UmVsZWFzZWQsIGNvbnRleHQsIGZhaWwsIChyZWxlYXNlQ29udGV4dENyZWF0ZWQpID0+IHtcbiAgICAgIHJldHVybiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSA/XG4gICAgICAgICAgICAgICAgZm9yd2FyZCgpIDpcbiAgICAgICAgICAgICAgICAgIGJhY2soKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4gc3VjY2VlZChmYWxzZSksICgpID0+IHN1Y2NlZWQodHJ1ZSkpO1xufVxuXG5mdW5jdGlvbiBhZGRSZWxlYXNlQ29udGV4dChyZWxlYXNlQ29udGV4dCwgY29udGV4dCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dDtcblxuICByZWxlYXNlQ29udGV4dHMucHVzaChyZWxlYXNlQ29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIGZpbmRSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgcmVsZWFzZUNvbnRleHRzIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0cy5maW5kKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlcGVuZGVuY3lOYW1lTWF0Y2hlcyA9IHJlbGVhc2VDb250ZXh0Lm1hdGNoRGVwZW5kZW5jeU5hbWUoZGVwZW5kZW5jeU5hbWUpO1xuXG4gICAgICAgICAgaWYgKGRlcGVuZGVuY3lOYW1lTWF0Y2hlcykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KSB8fCBudWxsO1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dDtcbn1cblxuZnVuY3Rpb24gY2hlY2tSZWxlYXNlUHJlc2VudChyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeU5hbWUsIGNvbnRleHQpIHtcbiAgbGV0IHJlbGVhc2VQcmVzZW50ID0gdHJ1ZTtcblxuICBpZiAocmVsZWFzZUNvbnRleHQgPT09IG51bGwpIHtcbiAgICBjb25zdCB7IGxvZyB9ID0gY29udGV4dDtcblxuICAgIGxvZy53YXJuaW5nKGBUaGUgJyR7ZGVwZW5kZW5jeU5hbWV9JyBwYWNrYWdlIGNvbnRleHQgY291bGQgbm90IGJlIGNyZWF0ZWQuIFBlcmhhcHMgdGhlICdtZXRhLmpzb24nIGZpbGUgaXMgbWlzc2luZyBvciBpbnZhbGlkLmApO1xuXG4gICAgcmVsZWFzZVByZXNlbnQgPSBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiByZWxlYXNlUHJlc2VudDtcbn1cblxuZnVuY3Rpb24gcmV0cmlldmVSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGNvbnRleHQsIHJlbGVhc2VDb250ZXh0cyA9IFtdKSB7XG4gIGNvbnN0IHJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dHMuaW5jbHVkZXMocmVsZWFzZUNvbnRleHQpO1xuXG4gIGlmICghcmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gICAgZGVwZW5kZW5jaWVzLmZvckVhY2hEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgICBjb25zdCByZWxlYXNlQ29udGV4dCA9IGZpbmRSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBjb250ZXh0KTtcblxuICAgICAgcmV0cmlldmVSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGNvbnRleHQsIHJlbGVhc2VDb250ZXh0cyk7XG4gICAgfSk7XG5cbiAgICByZWxlYXNlQ29udGV4dHMudW5zaGlmdChyZWxlYXNlQ29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZUNvbnRleHRzO1xufVxuXG5mdW5jdGlvbiBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHQocmVsZWFzZUNvbnRleHQsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgIG5hbWUgPSByZWxlYXNlQ29udGV4dC5nZXROYW1lKCksXG4gICAgICAgIHJlbGVhc2VOYW1lID0gbmFtZSwgLy8vXG4gICAgICAgIHJlbGVhc2VDb250ZXh0cyA9IHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KTtcblxuICBsb2cuaW5mbyhgSW5pdGlhbGlzaW5nIHRoZSAnJHtyZWxlYXNlTmFtZX0nIHBhY2thZ2UgY29udGV4dC4uLmApO1xuXG4gIGNvbnN0IHsgRmlsZUNvbnRleHRGcm9tRmlsZVBhdGggfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHQuaW5pdGlhbGlzZShyZWxlYXNlQ29udGV4dHMsIEZpbGVDb250ZXh0RnJvbUZpbGVQYXRoKTtcblxuICBsb2cuZGVidWcoYC4uLmluaXRpYWxpc2VkIHRoZSAnJHtyZWxlYXNlTmFtZX0nIHBhY2thZ2UgY29udGV4dC5gKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tDeWNsaWNEZXBlbmRlbmN5UHJlc2VudChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgY3ljbGljRGVwZW5kZW5jeVByZXNlbnQgPSBmYWxzZTtcblxuICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICBpbmRleCA9IGRlcGVuZGVudE5hbWVzLmluZGV4T2YoZGVwZW5kZW5jeU5hbWUpO1xuXG4gIGlmIChpbmRleCA+IC0xKSB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgY2lyY3VsYXJEZXBlbmRlbnROYW1lcyA9IGRlcGVuZGVudE5hbWVzLnNsaWNlKGluZGV4KSxcbiAgICAgICAgICBjaXJjdWxhckRlcGVuZGVuY3lOYW1lcyA9IFtcbiAgICAgICAgICAgIC4uLmNpcmN1bGFyRGVwZW5kZW50TmFtZXMsXG4gICAgICAgICAgICBkZXBlbmRlbmN5TmFtZVxuICAgICAgICAgIF0sXG4gICAgICAgICAgY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXNTdHJpbmcgPSBjaXJjdWxhckRlcGVuZGVuY3lOYW1lcy5qb2luKFNJTkdMRV9TUEFDRSk7XG5cbiAgICBsb2cud2FybmluZyhgVGhlcmUgaXMgYSBjeWNsaWMgZGVwZW5kZW5jeSwgJyR7Y2lyY3VsYXJEZXBlbmRlbmN5TmFtZXNTdHJpbmd9Jy5gKTtcblxuICAgIGN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBjeWNsaWNEZXBlbmRlbmN5UHJlc2VudDtcbn1cblxuZnVuY3Rpb24gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KSB7XG4gIGxldCByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSB0cnVlO1xuXG4gIGNvbnN0IHNob3J0ZW5lZFZlcnNpb24gPSBkZXBlbmRlbmN5LmdldFNob3J0ZW5lZFZlcnNpb24oKTtcblxuICBpZiAoc2hvcnRlbmVkVmVyc2lvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24gPSByZWxlYXNlQ29udGV4dC5tYXRjaFNob3J0ZW5lZFZlcnNpb24oc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgICBpZiAoIWVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24pIHtcbiAgICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgICAgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgIGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWUsICAvLy9cbiAgICAgICAgICAgIHZlcnNpb25TdHJpbmcgPSB2ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBkZXBlbmRlbmN5U3RyaW5nID0gZGVwZW5kZW5jeS5hc1N0cmluZygpO1xuXG4gICAgICBsb2cud2FybmluZyhgVGhlICcke2RlcGVuZGVudE5hbWV9JyBkZXBlbmRlbnQgcmVxdWlyZXMgdGhlICcke2RlcGVuZGVuY3lTdHJpbmd9JyBkZXBlbmRlbmN5IGJ1dCBhIGNvbnRleHQgd2l0aCB2ZXJzaW9uICcke3ZlcnNpb25TdHJpbmd9JyB3YXMgcHJvdmlkZWQuYCk7XG5cbiAgICAgIHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3k7XG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudFJlbGVhc2VkLCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgcHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UgPSBmYWxzZTtcblxuICBpZiAoZGVwZW5kZW50UmVsZWFzZWQpIHtcbiAgICBjb25zdCB1bnJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNVbnJlbGVhc2VkKCk7XG5cbiAgICBpZiAodW5yZWxlYXNlZCkge1xuICAgICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbGFzdERlcGVuZGVudE5hbWUgPSBsYXN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICAgIGRlcGVuZGVuY3lOYW1lID0gbmFtZSwvLy9cbiAgICAgICAgICAgIGRlcGVuZGVudE5hbWUgPSBsYXN0RGVwZW5kZW50TmFtZTsgIC8vL1xuXG4gICAgICBsb2cud2FybmluZyhgVGhlICcke2RlcGVuZGVuY3lOYW1lfScgZGVwZW5kZW5jeSBpcyBhIHByb2plY3Qgd2hpbHN0IGl0cyAnJHtkZXBlbmRlbnROYW1lfScgZGVwZW5kZW50IGlzIGEgcGFja2FnZS5gKTtcblxuICAgICAgcHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZTtcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVSZWxlYXNlQ29udGV4dHMiLCJpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzIiwidmVyaWZ5UmVsZWFzZUNvbnRleHRzIiwibGFzdCIsImFycmF5VXRpbGl0aWVzIiwiZGVwZW5kZW5jeU5hbWUiLCJjb250ZXh0IiwiZmFpbCIsInN1Y2NlZWQiLCJuYW1lIiwiZGVwZW5kZW5jeSIsIkRlcGVuZGVuY3kiLCJmcm9tTmFtZSIsImRlcGVuZGVudE5hbWVzIiwiZGVwZW5kZW50UmVsZWFzZWQiLCJjcmVhdGVSZWxlYXNlQ29udGV4dCIsInJlbGVhc2VDb250ZXh0Q3JlYXRlZCIsInJlbGVhc2VDb250ZXh0c0NyZWF0ZWQiLCJyZWxlYXNlQ29udGV4dHMiLCJmb3JFYWNoIiwicmVsZWFzZUNvbnRleHQiLCJpbml0aWFsaXNlUmVsZWFzZUNvbnRleHQiLCJiYWNrIiwiZm9yd2FyZCIsImV2ZXJ5IiwidmVyaWZ5UmVsZWFzZUNvbnRleHQiLCJyZWxlYXNlZCIsImlzUmVsZWFzZWQiLCJ2ZXJpZmllZCIsImhhc1ZlcmlmaWVkIiwibG9nIiwiZ2V0TmFtZSIsInJlbGVhc2VOYW1lIiwiaW5mbyIsInZlcmlmeSIsImZpbmRSZWxlYXNlQ29udGV4dCIsImRlcGVuZGVudE5hbWVzTGVuZ3RoIiwibGVuZ3RoIiwibGFzdERlcGVuZGVudE5hbWUiLCJkZXBlbmRlbnROYW1lIiwiZGVwZW5kZW5jeVN0cmluZyIsImFzU3RyaW5nIiwicmVsZWFzZUNvbnRleHRGcm9tRGVwZW5kZW5jeSIsInJlbGVhdGVQcmVzZW50IiwiY2hlY2tSZWxlYXNlUHJlc2VudCIsInByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlIiwiY2hlY2tQcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSIsInJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSIsImNoZWNrUmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5IiwiY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNDcmVhdGVkIiwiYWRkUmVsZWFzZUNvbnRleHQiLCJkZWJ1ZyIsIndhcm5pbmciLCJkZXBlbmRlbmNpZXMiLCJnZXREZXBlbmRlbmNpZXMiLCJhcnJheSIsImdldEFycmF5IiwiY3ljbGljRGVwZW5kZW5jeVByZXNlbnQiLCJjaGVja0N5Y2xpY0RlcGVuZGVuY3lQcmVzZW50IiwicHVzaCIsImZpbmQiLCJkZXBlbmRlbmN5TmFtZU1hdGNoZXMiLCJtYXRjaERlcGVuZGVuY3lOYW1lIiwicmVsZWFzZVByZXNlbnQiLCJyZXRyaWV2ZVJlbGVhc2VDb250ZXh0cyIsInJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQiLCJpbmNsdWRlcyIsImZvckVhY2hEZXBlbmRlbmN5IiwidW5zaGlmdCIsIkZpbGVDb250ZXh0RnJvbUZpbGVQYXRoIiwiaW5pdGlhbGlzZSIsImluZGV4IiwiaW5kZXhPZiIsImNpcmN1bGFyRGVwZW5kZW50TmFtZXMiLCJzbGljZSIsImNpcmN1bGFyRGVwZW5kZW5jeU5hbWVzIiwiY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXNTdHJpbmciLCJqb2luIiwiU0lOR0xFX1NQQUNFIiwic2hvcnRlbmVkVmVyc2lvbiIsImdldFNob3J0ZW5lZFZlcnNpb24iLCJlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwibWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwidmVyc2lvbiIsImdldFZlcnNpb24iLCJ2ZXJzaW9uU3RyaW5nIiwidG9TdHJpbmciLCJ1bnJlbGVhc2VkIiwiaXNVbnJlbGVhc2VkIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFVZ0JBO2VBQUFBOztRQWlDaEI7ZUFBQTs7UUFoQmdCQztlQUFBQTs7UUFRQUM7ZUFBQUE7Ozs0QkFqQ1c7MkJBQ0k7OEJBRVI7MkJBQ007QUFFN0IsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MseUJBQWM7QUFFeEIsU0FBU0osc0JBQXNCSyxjQUFjLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFQyxPQUFPO0lBQzFFLE1BQU1DLE9BQU9KLGdCQUNQSyxhQUFhQyxzQkFBVSxDQUFDQyxRQUFRLENBQUNILE9BQ2pDSSxpQkFBaUIsRUFBRSxFQUNuQkMsb0JBQW9CO0lBRTFCLE9BQU9DLHFCQUFxQkwsWUFBWUcsZ0JBQWdCQyxtQkFBbUJSLFNBQVNDLE1BQU0sQ0FBQ1M7UUFDekYsSUFBSUMseUJBQXlCO1FBRTdCLElBQUlELHVCQUF1QjtZQUN6QkMseUJBQXlCO1FBQzNCO1FBRUEsT0FBT1QsUUFBUVM7SUFDakI7QUFDRjtBQUVPLFNBQVNoQiwwQkFBMEJLLE9BQU87SUFDL0MsTUFB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
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyaWZpY2F0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBEZXBlbmRlbmN5IH0gZnJvbSBcIm9jY2FtLW1vZGVsXCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgZXZlcnkgIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250aW51YXRpb25cIjtcbmltcG9ydCB7IFNJTkdMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBsYXN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5TmFtZSwgY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCBuYW1lID0gZGVwZW5kZW5jeU5hbWUsICAvLy9cbiAgICAgICAgZGVwZW5kZW5jeSA9IERlcGVuZGVuY3kuZnJvbU5hbWUobmFtZSksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzID0gW10sXG4gICAgICAgIGRlcGVuZGVudFJlbGVhc2VkID0gZmFsc2U7XG5cbiAgcmV0dXJuIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnRSZWxlYXNlZCwgY29udGV4dCwgZmFpbCwgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkgPT4ge1xuICAgIGxldCByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gZmFsc2U7XG5cbiAgICBpZiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgICByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dHNDcmVhdGVkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzKGNvbnRleHQpIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dHMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlSZWxlYXNlQ29udGV4dHMoY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dCxcbiAgICAgICAgYmFjayA9IGZhaWwsICAvLy9cbiAgICAgICAgZm9yd2FyZCA9IHN1Y2NlZWQ7ICAvLy9cblxuICByZXR1cm4gZXZlcnkocmVsZWFzZUNvbnRleHRzLCB2ZXJpZnlSZWxlYXNlQ29udGV4dCwgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY3JlYXRlUmVsZWFzZUNvbnRleHRzLFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzLFxuICB2ZXJpZnlSZWxlYXNlQ29udGV4dHNcbn07XG5cbmZ1bmN0aW9uIHZlcmlmeVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gIGNvbnN0IHJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNSZWxlYXNlZCgpLFxuICAgICAgICB2ZXJpZmllZCA9IHJlbGVhc2VDb250ZXh0Lmhhc1ZlcmlmaWVkKCk7XG5cbiAgaWYgKHJlbGVhc2VkIHx8IHZlcmlmaWVkKSB7XG4gICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgfVxuXG4gIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWU7IC8vL1xuXG4gIGxvZy5pbmZvKGBWZXJpZnlpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgcHJvamVjdC4uLmApO1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dC52ZXJpZnkoYmFjaywgKCkgPT4ge1xuICAgIGxvZy5pbmZvKGAuLi52ZXJpZmllZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwcm9qZWN0LmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgZGVwZW5kZW50UmVsZWFzZWQsIGNvbnRleHQsIGZhaWwsIHN1Y2NlZWQpIHtcbiAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gZmluZFJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGNvbnRleHQpO1xuXG4gIGlmIChyZWxlYXNlQ29udGV4dCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0Q3JlYXRlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICB9XG5cbiAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgZGVwZW5kZW50TmFtZXNMZW5ndGggPSBkZXBlbmRlbnROYW1lcy5sZW5ndGg7XG5cbiAgaWYgKGRlcGVuZGVudE5hbWVzTGVuZ3RoID09PSAwKSB7XG4gICAgbG9nLmluZm8oYENyZWF0aW5nIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dC4uLmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgZGVwZW5kZW50TmFtZSA9IGxhc3REZXBlbmRlbnROYW1lLCAgLy8vXG4gICAgICAgICAgZGVwZW5kZW5jeVN0cmluZyA9IGRlcGVuZGVuY3kuYXNTdHJpbmcoKTtcblxuICAgIGxvZy5pbmZvKGBDcmVhdGluZyB0aGUgJyR7ZGVwZW5kZW5jeU5hbWV9JyBwYWNrYWdlIGNvbnRleHQgZ2l2ZW4gdGhlICcke2RlcGVuZGVudE5hbWV9JyBkZXBlbmRhbnQncyAnJHtkZXBlbmRlbmN5U3RyaW5nfScgZGVwZW5kZW5jeS4uLmApO1xuICB9XG5cbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IH0gPSBjb250ZXh0O1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5KGRlcGVuZGVuY3ksIGNvbnRleHQsIGZhaWwsIChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgIGxldCByZWxlYXNlQ29udGV4dENyZWF0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHJlbGVhdGVQcmVzZW50ID0gY2hlY2tSZWxlYXNlUHJlc2VudChyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeU5hbWUsIGNvbnRleHQpO1xuXG4gICAgaWYgKCFyZWxlYXRlUHJlc2VudCkge1xuICAgICAgcmV0dXJuIHN1Y2NlZWQocmVsZWFzZUNvbnRleHRDcmVhdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSA9IGNoZWNrUHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudFJlbGVhc2VkLCBkZXBlbmRlbnROYW1lcywgY29udGV4dCk7XG5cbiAgICBpZiAocHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UpIHtcbiAgICAgIHJldHVybiBzdWNjZWVkKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmICghcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5KSB7XG4gICAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICAgIH1cblxuICAgIHJldHVybiBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgZmFpbCwgKGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNDcmVhdGVkKSA9PiB7XG4gICAgICBpZiAoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQpIHtcbiAgICAgICAgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkge1xuICAgICAgICBhZGRSZWxlYXNlQ29udGV4dChyZWxlYXNlQ29udGV4dCwgY29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIHJlbGVhc2VDb250ZXh0Q3JlYXRlZCA/XG4gICAgICAgIGxvZy5kZWJ1ZyhgLi4uY3JlYXRlZCB0aGUgJyR7ZGVwZW5kZW5jeU5hbWV9JyBwYWNrYWdlIGNvbnRleHQuYCkgOlxuICAgICAgICAgIGxvZy53YXJuaW5nKGAuLi51bmFibGUgdG8gY3JlYXRlIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dC5gKTtcblxuICAgICAgcmV0dXJuIHN1Y2NlZWQocmVsZWFzZUNvbnRleHRDcmVhdGVkKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBmYWlsLCBzdWNjZWVkKSB7XG4gIGNvbnN0IG5hbWUgPSByZWxlYXNlQ29udGV4dC5nZXROYW1lKCksXG4gICAgICAgIHJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNSZWxlYXNlZCgpLFxuICAgICAgICBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKSxcbiAgICAgICAgZGVwZW5kZW50TmFtZSA9IG5hbWUsICAvLy9cbiAgICAgICAgZGVwZW5kZW50UmVsZWFzZWQgPSByZWxlYXNlZDsgIC8vL1xuXG4gIGRlcGVuZGVudE5hbWVzID0gWyAuLi5kZXBlbmRlbnROYW1lcywgZGVwZW5kZW50TmFtZSBdOyAgLy8vXG5cbiAgY29uc3QgYXJyYXkgPSBkZXBlbmRlbmNpZXMuZ2V0QXJyYXkoKTtcblxuICByZXR1cm4gZXZlcnkoYXJyYXksIChkZXBlbmRlbmN5LCBiYWNrLCBmb3J3YXJkKSA9PiB7XG4gICAgY29uc3QgY3ljbGljRGVwZW5kZW5jeVByZXNlbnQgPSBjaGVja0N5Y2xpY0RlcGVuZGVuY3lQcmVzZW50KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmIChjeWNsaWNEZXBlbmRlbmN5UHJlc2VudCkge1xuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGRlcGVuZGVudFJlbGVhc2VkLCBjb250ZXh0LCBmYWlsLCAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSA9PiB7XG4gICAgICByZXR1cm4gKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkgP1xuICAgICAgICAgICAgICAgIGZvcndhcmQoKSA6XG4gICAgICAgICAgICAgICAgICBiYWNrKCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHN1Y2NlZWQoZmFsc2UpLCAoKSA9PiBzdWNjZWVkKHRydWUpKTtcbn1cblxuZnVuY3Rpb24gYWRkUmVsZWFzZUNvbnRleHQocmVsZWFzZUNvbnRleHQsIGNvbnRleHQpIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dHMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRzLnB1c2gocmVsZWFzZUNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiBmaW5kUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgY29udGV4dCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dHMuZmluZCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgICBjb25zdCBkZXBlbmRlbmN5TmFtZU1hdGNoZXMgPSByZWxlYXNlQ29udGV4dC5tYXRjaERlcGVuZGVuY3lOYW1lKGRlcGVuZGVuY3lOYW1lKTtcblxuICAgICAgICAgIGlmIChkZXBlbmRlbmN5TmFtZU1hdGNoZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICByZXR1cm4gcmVsZWFzZUNvbnRleHQ7XG59XG5cbmZ1bmN0aW9uIGNoZWNrUmVsZWFzZVByZXNlbnQocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3lOYW1lLCBjb250ZXh0KSB7XG4gIGxldCByZWxlYXNlUHJlc2VudCA9IHRydWU7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ID09PSBudWxsKSB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQ7XG5cbiAgICBsb2cud2FybmluZyhgVGhlICcke2RlcGVuZGVuY3lOYW1lfScgcGFja2FnZSBjb250ZXh0IGNvdWxkIG5vdCBiZSBjcmVhdGVkLiBQZXJoYXBzIHRoZSAnbWV0YS5qc29uJyBmaWxlIGlzIG1pc3Npbmcgb3IgaW52YWxpZC5gKTtcblxuICAgIHJlbGVhc2VQcmVzZW50ID0gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZVByZXNlbnQ7XG59XG5cbmZ1bmN0aW9uIHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCByZWxlYXNlQ29udGV4dHMgPSBbXSkge1xuICBjb25zdCByZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRzLmluY2x1ZGVzKHJlbGVhc2VDb250ZXh0KTtcblxuICBpZiAoIXJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKTtcblxuICAgIGRlcGVuZGVuY2llcy5mb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4ge1xuICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHQgPSBmaW5kUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgY29udGV4dCk7XG5cbiAgICAgIHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCByZWxlYXNlQ29udGV4dHMpO1xuICAgIH0pO1xuXG4gICAgcmVsZWFzZUNvbnRleHRzLnVuc2hpZnQocmVsZWFzZUNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHJlbGVhc2VDb250ZXh0cztcbn1cblxuZnVuY3Rpb24gaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWUsIC8vL1xuICAgICAgICByZWxlYXNlQ29udGV4dHMgPSByZXRyaWV2ZVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgY29udGV4dCk7XG5cbiAgbG9nLmluZm8oYEluaXRpYWxpc2luZyB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwYWNrYWdlIGNvbnRleHQuLi5gKTtcblxuICBjb25zdCB7IEZpbGVDb250ZXh0RnJvbUZpbGVQYXRoIH0gPSBjb250ZXh0O1xuXG4gIHJlbGVhc2VDb250ZXh0LmluaXRpYWxpc2UocmVsZWFzZUNvbnRleHRzLCBGaWxlQ29udGV4dEZyb21GaWxlUGF0aCk7XG5cbiAgbG9nLmRlYnVnKGAuLi5pbml0aWFsaXNlZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwYWNrYWdlIGNvbnRleHQuYCk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrQ3ljbGljRGVwZW5kZW5jeVByZXNlbnQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpIHtcbiAgbGV0IGN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50ID0gZmFsc2U7XG5cbiAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgaW5kZXggPSBkZXBlbmRlbnROYW1lcy5pbmRleE9mKGRlcGVuZGVuY3lOYW1lKTtcblxuICBpZiAoaW5kZXggPiAtMSkge1xuICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgIGNpcmN1bGFyRGVwZW5kZW50TmFtZXMgPSBkZXBlbmRlbnROYW1lcy5zbGljZShpbmRleCksXG4gICAgICAgICAgY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXMgPSBbXG4gICAgICAgICAgICAuLi5jaXJjdWxhckRlcGVuZGVudE5hbWVzLFxuICAgICAgICAgICAgZGVwZW5kZW5jeU5hbWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGNpcmN1bGFyRGVwZW5kZW5jeU5hbWVzU3RyaW5nID0gY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXMuam9pbihTSU5HTEVfU1BBQ0UpO1xuXG4gICAgbG9nLndhcm5pbmcoYFRoZXJlIGlzIGEgY3ljbGljIGRlcGVuZGVuY3ksICcke2NpcmN1bGFyRGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYCk7XG5cbiAgICBjeWNsaWNEZXBlbmRlbmN5UHJlc2VudCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gY3ljbGljRGVwZW5kZW5jeVByZXNlbnQ7XG59XG5cbmZ1bmN0aW9uIGNoZWNrUmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5KHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gdHJ1ZTtcblxuICBjb25zdCBzaG9ydGVuZWRWZXJzaW9uID0gZGVwZW5kZW5jeS5nZXRTaG9ydGVuZWRWZXJzaW9uKCk7XG5cbiAgaWYgKHNob3J0ZW5lZFZlcnNpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uID0gcmVsZWFzZUNvbnRleHQubWF0Y2hTaG9ydGVuZWRWZXJzaW9uKHNob3J0ZW5lZFZlcnNpb24pO1xuXG4gICAgaWYgKCFlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uKSB7XG4gICAgICBjb25zdCB7IGxvZyB9ID0gY29udGV4dCxcbiAgICAgICAgICAgIHZlcnNpb24gPSByZWxlYXNlQ29udGV4dC5nZXRWZXJzaW9uKCksXG4gICAgICAgICAgICBsYXN0RGVwZW5kZW50TmFtZSA9IGxhc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgICAgZGVwZW5kZW50TmFtZSA9IGxhc3REZXBlbmRlbnROYW1lLCAgLy8vXG4gICAgICAgICAgICB2ZXJzaW9uU3RyaW5nID0gdmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICAgICAgZGVwZW5kZW5jeVN0cmluZyA9IGRlcGVuZGVuY3kuYXNTdHJpbmcoKTtcblxuICAgICAgbG9nLndhcm5pbmcoYFRoZSAnJHtkZXBlbmRlbnROYW1lfScgZGVwZW5kZW50IHJlcXVpcmVzIHRoZSAnJHtkZXBlbmRlbmN5U3RyaW5nfScgZGVwZW5kZW5jeSBidXQgYSBjb250ZXh0IHdpdGggdmVyc2lvbiAnJHt2ZXJzaW9uU3RyaW5nfScgd2FzIHByb3ZpZGVkLmApO1xuXG4gICAgICByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5O1xufVxuXG5mdW5jdGlvbiBjaGVja1Byb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbnRSZWxlYXNlZCwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpIHtcbiAgbGV0IHByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlID0gZmFsc2U7XG5cbiAgaWYgKGRlcGVuZGVudFJlbGVhc2VkKSB7XG4gICAgY29uc3QgdW5yZWxlYXNlZCA9IHJlbGVhc2VDb250ZXh0LmlzVW5yZWxlYXNlZCgpO1xuXG4gICAgaWYgKHVucmVsZWFzZWQpIHtcbiAgICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgICAgbmFtZSA9IHJlbGVhc2VDb250ZXh0LmdldE5hbWUoKSxcbiAgICAgICAgICAgIGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IG5hbWUsLy8vXG4gICAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWU7ICAvLy9cblxuICAgICAgbG9nLndhcm5pbmcoYFRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIGRlcGVuZGVuY3kgaXMgYSBwcm9qZWN0IHdoaWxzdCBpdHMgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGVudCBpcyBhIHBhY2thZ2UuYCk7XG5cbiAgICAgIHByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2U7XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUmVsZWFzZUNvbnRleHRzIiwiaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0cyIsInZlcmlmeVJlbGVhc2VDb250ZXh0cyIsImxhc3QiLCJhcnJheVV0aWxpdGllcyIsImRlcGVuZGVuY3lOYW1lIiwiY29udGV4dCIsImZhaWwiLCJzdWNjZWVkIiwibmFtZSIsImRlcGVuZGVuY3kiLCJEZXBlbmRlbmN5IiwiZnJvbU5hbWUiLCJkZXBlbmRlbnROYW1lcyIsImRlcGVuZGVudFJlbGVhc2VkIiwiY3JlYXRlUmVsZWFzZUNvbnRleHQiLCJyZWxlYXNlQ29udGV4dENyZWF0ZWQiLCJyZWxlYXNlQ29udGV4dHNDcmVhdGVkIiwicmVsZWFzZUNvbnRleHRzIiwiZm9yRWFjaCIsInJlbGVhc2VDb250ZXh0IiwiaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0IiwiYmFjayIsImZvcndhcmQiLCJldmVyeSIsInZlcmlmeVJlbGVhc2VDb250ZXh0IiwicmVsZWFzZWQiLCJpc1JlbGVhc2VkIiwidmVyaWZpZWQiLCJoYXNWZXJpZmllZCIsImxvZyIsImdldE5hbWUiLCJyZWxlYXNlTmFtZSIsImluZm8iLCJ2ZXJpZnkiLCJmaW5kUmVsZWFzZUNvbnRleHQiLCJkZXBlbmRlbnROYW1lc0xlbmd0aCIsImxlbmd0aCIsImxhc3REZXBlbmRlbnROYW1lIiwiZGVwZW5kZW50TmFtZSIsImRlcGVuZGVuY3lTdHJpbmciLCJhc1N0cmluZyIsInJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3kiLCJyZWxlYXRlUHJlc2VudCIsImNoZWNrUmVsZWFzZVByZXNlbnQiLCJwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSIsImNoZWNrUHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UiLCJyZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kiLCJjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSIsImNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZCIsImFkZFJlbGVhc2VDb250ZXh0IiwiZGVidWciLCJ3YXJuaW5nIiwiZGVwZW5kZW5jaWVzIiwiZ2V0RGVwZW5kZW5jaWVzIiwiYXJyYXkiLCJnZXRBcnJheSIsImN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50IiwiY2hlY2tDeWNsaWNEZXBlbmRlbmN5UHJlc2VudCIsInB1c2giLCJmaW5kIiwiZGVwZW5kZW5jeU5hbWVNYXRjaGVzIiwibWF0Y2hEZXBlbmRlbmN5TmFtZSIsInJlbGVhc2VQcmVzZW50IiwicmV0cmlldmVSZWxlYXNlQ29udGV4dHMiLCJyZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0IiwiaW5jbHVkZXMiLCJmb3JFYWNoRGVwZW5kZW5jeSIsInVuc2hpZnQiLCJGaWxlQ29udGV4dEZyb21GaWxlUGF0aCIsImluaXRpYWxpc2UiLCJpbmRleCIsImluZGV4T2YiLCJjaXJjdWxhckRlcGVuZGVudE5hbWVzIiwic2xpY2UiLCJjaXJjdWxhckRlcGVuZGVuY3lOYW1lcyIsImNpcmN1bGFyRGVwZW5kZW5jeU5hbWVzU3RyaW5nIiwiam9pbiIsIlNJTkdMRV9TUEFDRSIsInNob3J0ZW5lZFZlcnNpb24iLCJnZXRTaG9ydGVuZWRWZXJzaW9uIiwiZW50cmllc01hdGNoU2hvcnRlbmVkVmVyc2lvbiIsIm1hdGNoU2hvcnRlbmVkVmVyc2lvbiIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwidmVyc2lvblN0cmluZyIsInRvU3RyaW5nIiwidW5yZWxlYXNlZCIsImlzVW5yZWxlYXNlZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBVWdCQTtlQUFBQTs7UUFpQ2hCO2VBQUE7O1FBaEJnQkM7ZUFBQUE7O1FBUUFDO2VBQUFBOzs7NEJBakNXOzJCQUNJOzhCQUVSOzJCQUNNO0FBRTdCLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLHlCQUFjO0FBRXhCLFNBQVNKLHNCQUFzQkssY0FBYyxFQUFFQyxPQUFPLEVBQUVDLElBQUksRUFBRUMsT0FBTztJQUMxRSxNQUFNQyxPQUFPSixnQkFDUEssYUFBYUMsc0JBQVUsQ0FBQ0MsUUFBUSxDQUFDSCxPQUNqQ0ksaUJBQWlCLEVBQUUsRUFDbkJDLG9CQUFvQjtJQUUxQixPQUFPQyxxQkFBcUJMLFlBQVlHLGdCQUFnQkMsbUJBQW1CUixTQUFTQyxNQUFNLENBQUNTO1FBQ3pGLElBQUlDLHlCQUF5QjtRQUU3QixJQUFJRCx1QkFBdUI7WUFDekJDLHlCQUF5QjtRQUMzQjtRQUVBLE9BQU9ULFFBQVFTO0lBQ2pCO0FBQ0Y7QUFFTyxTQUFTaEIsMEJBQTBCSyxPQUFPO0lB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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-languages",
3
3
  "author": "James Smith",
4
- "version": "3.0.12",
4
+ "version": "3.0.13",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-languages",
7
7
  "description": "Occam's common language functionality.",
@@ -64,7 +64,7 @@ function verifyReleaseContext(releaseContext, context, back, forward) {
64
64
  return releaseContext.verify(back, () => {
65
65
  log.info(`...verified the '${releaseName}' project.`);
66
66
 
67
- return forward();
67
+ return forward(context);
68
68
  });
69
69
  }
70
70