highmark-markdown 1.0.258 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/node/html.js CHANGED
@@ -266,6 +266,12 @@ var HTMLNode = /*#__PURE__*/ function(Node) {
266
266
  return this.someDescendantNode(callback);
267
267
  }
268
268
  },
269
+ {
270
+ key: "findDescendantHTMLNode",
271
+ value: function findDescendantHTMLNode(callback) {
272
+ return this.findDescendantNode(callback);
273
+ }
274
+ },
269
275
  {
270
276
  key: "removeChildHTMLNodes",
271
277
  value: function removeChildHTMLNodes() {
@@ -298,28 +304,6 @@ var HTMLNode = /*#__PURE__*/ function(Node) {
298
304
  return markdownNodeMatches;
299
305
  }
300
306
  },
301
- {
302
- key: "retrieveHTMLNode",
303
- value: function retrieveHTMLNode(callback) {
304
- var htmlNode;
305
- htmlNode = null;
306
- var childHTMLNodes = this.getChildHTMLNodes();
307
- childHTMLNodes.some(function(childHTMLNode) {
308
- htmlNode = childHTMLNode.retrieveHTMLNode(callback);
309
- if (htmlNode !== null) {
310
- return true;
311
- }
312
- });
313
- if (htmlNode === null) {
314
- htmlNode = this; ///
315
- var result = callback(htmlNode);
316
- if (!result) {
317
- htmlNode = null;
318
- }
319
- }
320
- return htmlNode;
321
- }
322
- },
323
307
  {
324
308
  key: "addChildHTMLNodes",
325
309
  value: function addChildHTMLNodes(addedChildHTMLNodes, startIndex) {
@@ -564,4 +548,4 @@ var HTMLNode = /*#__PURE__*/ function(Node) {
564
548
  Object.assign(HTMLNode.prototype, _node.default);
565
549
  var _default = HTMLNode;
566
550
 
567
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2h0bWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IE5vZGUgfSBmcm9tIFwib2NjYW0tZG9tXCI7XG5cbmltcG9ydCBub2RlTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbm9kZVwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIERPVUJMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHJlbW92ZSwgaW5zZXJ0QWZ0ZXIsIGluc2VydEJlZm9yZWhhbmQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2RvbVwiO1xuXG5jbGFzcyBIVE1MTm9kZSBleHRlbmRzIE5vZGUge1xuICBjb25zdHJ1Y3RvcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMsIGRvbUVsZW1lbnQpIHtcbiAgICBzdXBlcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMpO1xuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9tRWxlbWVudDtcbiAgfVxuXG4gIGdldERPTUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tRWxlbWVudDtcbiAgfVxuXG4gIHNldERPTUVsZW1lbnQoZG9tRWxlbWVudCkge1xuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvbUVsZW1lbnQ7XG4gIH1cblxuICByZXNldERPTUVsZW1lbnQoKSB7XG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lKCkge1xuICAgIGNvbnN0IG1hcmtkb3duTm9kZSA9IHRoaXMuZ2V0TWFya2Rvd25Ob2RlKCksXG4gICAgICAgICAgcnVsZU5hbWUgPSBtYXJrZG93bk5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgIHJldHVybiBydWxlTmFtZTtcbiAgfVxuXG4gIGlzVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGlzTm9uVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHRydWU7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xuICB9XG5cbiAgZ2V0TWFya2Rvd25Ob2RlKCkge1xuICAgIGNvbnN0IG91dGVyTm9kZSA9IHRoaXMuZ2V0T3V0ZXJOb2RlKCksXG4gICAgICAgICAgbWFya2Rvd25Ob2RlID0gb3V0ZXJOb2RlOyAvLy9cblxuICAgIHJldHVybiBtYXJrZG93bk5vZGU7XG4gIH1cblxuICBnZXRQYXJlbnRIVE1MTm9kZSgpIHtcbiAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5nZXRQYXJlbnROb2RlKCksXG4gICAgICAgICAgcGFyZW50SFRNTE5vZGUgPSBwYXJlbnROb2RlOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyZW50SFRNTE5vZGU7XG4gIH1cblxuICBnZXRDaGlsZEhUTUxOb2RlcygpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGRIVE1MTm9kZXMgPSBjaGlsZE5vZGVzOyAgLy8vXG5cbiAgICByZXR1cm4gY2hpbGRIVE1MTm9kZXM7XG4gIH1cblxuICBnZXRBbmNlc3RvckhUTUxOb2RlcygpIHtcbiAgICBjb25zdCBhbmNlc3Rvck5vZGVzID0gdGhpcy5nZXRBbmNlc3Rvck5vZGVzKCksXG4gICAgICAgICAgYW5jZXN0b3JIVE1MTm9kZXMgPSBhbmNlc3Rvck5vZGVzOyAgLy8vXG5cbiAgICByZXR1cm4gYW5jZXN0b3JIVE1MTm9kZXM7XG4gIH1cblxuICBzb21lQ2hpbGRIVE1MTm9kZShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5zb21lQ2hpbGROb2RlKGNhbGxiYWNrKTsgfVxuXG4gIHJlZHVjZUNoaWxkSFRNTE5vZGUoY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkgeyByZXR1cm4gdGhpcy5yZWR1Y2VDaGlsZE5vZGUoY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSk7IH1cblxuICBzb21lQW5jZXN0b3JIVE1MTm9kZShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5zb21lQW5jZXN0b3JOb2RlKGNhbGxiYWNrKTsgfVxuXG4gIHNvbWVEZXNjZW5kYW50SFRNTE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuc29tZURlc2NlbmRhbnROb2RlKGNhbGxiYWNrKTsgfVxuXG4gIHJlbW92ZUNoaWxkSFRNTE5vZGVzKHJlbW92ZWRDaGlsZEhUTUxOb2RlcyA9IG51bGwpIHtcbiAgICBsZXQgY2hpbGRIVE1MTm9kZXM7XG5cbiAgICBjaGlsZEhUTUxOb2RlcyA9IHRoaXMuZ2V0Q2hpbGRIVE1MTm9kZXMoKTtcblxuICAgIGlmIChyZW1vdmVkQ2hpbGRIVE1MTm9kZXMgIT09IG51bGwpIHtcbiAgICAgIGNoaWxkSFRNTE5vZGVzID0gY2hpbGRIVE1MTm9kZXMuZmlsdGVyKChjaGlsZEhUTUxOb2RlKSA9PiB7IC8vL1xuICAgICAgICBjb25zdCBtYXJrZG93bk5vZGUgPSBjaGlsZEhUTUxOb2RlLmdldE1hcmtkb3duTm9kZSgpLFxuICAgICAgICAgICAgICBpbmRleCA9IHJlbW92ZWRDaGlsZEhUTUxOb2Rlcy5maW5kSW5kZXgoKHJlbW92ZWRDaGlsZEhUTUxOb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlTWF0Y2hlcyA9IHJlbW92ZWRDaGlsZEhUTUxOb2RlLm1hdGNoTWFya2Rvd25Ob2RlKG1hcmtkb3duTm9kZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAobWFya2Rvd25Ob2RlTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGxldCByZW1vdmVkQ2hpbGROb2RlcyA9IGNoaWxkSFRNTE5vZGVzOyAgLy8vXG5cbiAgICByZW1vdmVkQ2hpbGROb2RlcyA9IHRoaXMucmVtb3ZlQ2hpbGROb2RlcyhyZW1vdmVkQ2hpbGROb2Rlcyk7XG5cbiAgICByZW1vdmVkQ2hpbGRIVE1MTm9kZXMgPSByZW1vdmVkQ2hpbGROb2RlczsgIC8vL1xuXG4gICAgcmV0dXJuIHJlbW92ZWRDaGlsZEhUTUxOb2RlcztcbiAgfVxuXG4gIG1hdGNoTWFya2Rvd25Ob2RlKG1hcmtkb3duTm9kZSkge1xuICAgIGNvbnN0IG91dGVyTm9kZSA9IG1hcmtkb3duTm9kZSwgLy8vXG4gICAgICAgICAgb3V0ZXJOb2RlTWF0Y2hlcyA9ICh0aGlzLm91dGVyTm9kZSA9PT0gb3V0ZXJOb2RlKSxcbiAgICAgICAgICBtYXJrZG93bk5vZGVNYXRjaGVzID0gb3V0ZXJOb2RlTWF0Y2hlczsgLy8vXG5cbiAgICByZXR1cm4gbWFya2Rvd25Ob2RlTWF0Y2hlcztcbiAgfVxuXG4gIHJldHJpZXZlSFRNTE5vZGUoY2FsbGJhY2spIHtcbiAgICBsZXQgaHRtbE5vZGU7XG5cbiAgICBodG1sTm9kZSA9IG51bGw7XG5cbiAgICBjb25zdCBjaGlsZEhUTUxOb2RlcyA9IHRoaXMuZ2V0Q2hpbGRIVE1MTm9kZXMoKTtcblxuICAgIGNoaWxkSFRNTE5vZGVzLnNvbWUoKGNoaWxkSFRNTE5vZGUpID0+IHtcbiAgICAgIGh0bWxOb2RlID0gY2hpbGRIVE1MTm9kZS5yZXRyaWV2ZUhUTUxOb2RlKGNhbGxiYWNrKVxuXG4gICAgICBpZiAoaHRtbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaHRtbE5vZGUgPT09IG51bGwpIHtcbiAgICAgIGh0bWxOb2RlID0gdGhpczsgIC8vL1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjayhodG1sTm9kZSk7XG5cbiAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgIGh0bWxOb2RlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbE5vZGU7XG4gIH1cblxuICBhZGRDaGlsZEhUTUxOb2RlcyhhZGRlZENoaWxkSFRNTE5vZGVzLCBzdGFydEluZGV4KSB7XG4gICAgY29uc3QgYWRkZWRDaGlsZE5vZGVzID0gYWRkZWRDaGlsZEhUTUxOb2RlczsgIC8vL1xuXG4gICAgdGhpcy5hZGRDaGlsZE5vZGVzKGFkZGVkQ2hpbGROb2Rlcywgc3RhcnRJbmRleCk7XG4gIH1cblxuICBhZGp1c3RJbmRlbnQoaW5kZW50KSB7XG4gICAgaW5kZW50ID0gKGluZGVudCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgRU1QVFlfU1RSSU5HIDpcbiAgICAgICAgICAgICAgICBgJHtET1VCTEVfU1BBQ0V9JHtpbmRlbnR9YDtcblxuICAgIHJldHVybiBpbmRlbnQ7XG4gIH1cblxuICBsaW5lcyhjb250ZXh0KSB7XG4gICAgbGV0IGxpbmVzO1xuXG4gICAgKHsgbGluZXMgPSBudWxsIH0gPSB0aGlzLmNvbnN0cnVjdG9yKTtcblxuICAgIGlmIChsaW5lcyA9PT0gbnVsbCkge1xuICAgICAgbGluZXMgPSB0aGlzLnJlZHVjZUNoaWxkTm9kZSgobGluZXMsIGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGVMaW5lcyA9IGNoaWxkTm9kZS5saW5lcyhjb250ZXh0KTtcblxuICAgICAgICBsaW5lcyArPSBjaGlsZE5vZGVMaW5lcztcblxuICAgICAgICByZXR1cm4gbGluZXM7XG4gICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGluZXM7XG4gIH1cblxuICB0YWdOYW1lKGNvbnRleHQpIHtcbiAgICBjb25zdCB7IHRhZ05hbWUgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICByZXR1cm4gdGFnTmFtZTtcbiAgfVxuXG4gIGRlcHRoKCkge1xuICAgIGNvbnN0IHsgZGVwdGggPSBudWxsIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgcmV0dXJuIGRlcHRoO1xuICB9XG5cbiAgY2xhc3NOYW1lKGNvbnRleHQpIHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiBjbGFzc05hbWU7XG4gIH1cblxuICBjbG9zaW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsb3NpbmdUYWcgPSBgPC8ke3RhZ05hbWV9PmA7XG5cbiAgICByZXR1cm4gY2xvc2luZ1RhZztcbiAgfVxuXG4gIHN0YXJ0aW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzSFRNTCA9IChjbGFzc05hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgYCBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyxcbiAgICAgICAgICBhdHRyaWJ1dGVIVE1MID0gKChhdHRyaWJ1dGVOYW1lICE9PSBudWxsKSAmJiAoYXR0cmlidXRlVmFsdWUgIT09IG51bGwpKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBgICR7YXR0cmlidXRlTmFtZX09XCIke2F0dHJpYnV0ZVZhbHVlfVwiYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcsXG4gICAgICAgICAgc3RhcnRpbmdUYWcgPSBgPCR7dGFnTmFtZX0ke2NsYXNzSFRNTH0ke2F0dHJpYnV0ZUhUTUx9PmA7XG5cbiAgICByZXR1cm4gc3RhcnRpbmdUYWc7XG4gIH1cblxuICBzZWxmQ2xvc2luZ1RhZyhjb250ZXh0KSB7XG4gICAgY29uc3QgdGFnTmFtZSA9IHRoaXMudGFnTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBjbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lID0gdGhpcy5hdHRyaWJ1dGVOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlID0gdGhpcy5hdHRyaWJ1dGVWYWx1ZShjb250ZXh0KSxcbiAgICAgICAgICBjbGFzc0hUTUwgPSAoY2xhc3NOYW1lICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgIGAgY2xhc3M9XCIke2NsYXNzTmFtZX1cImAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcsXG4gICAgICAgICAgYXR0cmlidXRlSFRNTCA9ICgoYXR0cmlidXRlTmFtZSAhPT0gbnVsbCkgJiYgKGF0dHJpYnV0ZVZhbHVlICE9PSBudWxsKSkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgYCAke2F0dHJpYnV0ZU5hbWV9PVwiJHthdHRyaWJ1dGVWYWx1ZX1cImAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU1QVFlfU1RSSU5HLFxuICAgICAgICAgIHNlbGZDbG9zaW5nVGFnID0gYDwke3RhZ05hbWV9JHtjbGFzc0hUTUx9JHthdHRyaWJ1dGVIVE1MfS8+YDtcblxuICAgIHJldHVybiBzZWxmQ2xvc2luZ1RhZztcbiAgfVxuXG4gIGF0dHJpYnV0ZU5hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZU5hbWU7XG4gIH1cblxuICBhdHRyaWJ1dGVWYWx1ZShjb250ZXh0KSB7XG4gICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZVZhbHVlO1xuICB9XG5cbiAgY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KSB7XG4gICAgbGV0IGRvbUVsZW1lbnQ7XG5cbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpO1xuXG4gICAgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG5cbiAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lID0gdGhpcy5hdHRyaWJ1dGVOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlID0gdGhpcy5hdHRyaWJ1dGVWYWx1ZShjb250ZXh0KTtcblxuICAgIGlmIChjbGFzc05hbWUgIT09IG51bGwpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oZG9tRWxlbWVudCwge1xuICAgICAgICBjbGFzc05hbWVcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICgoYXR0cmlidXRlTmFtZSAhPT0gbnVsbCkgJiYgKGF0dHJpYnV0ZVZhbHVlICE9PSBudWxsKSkge1xuICAgICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBkb21FbGVtZW50O1xuICB9XG5cbiAgbW91bnQocGFyZW50RE9NRWxlbWVudCwgc2libGluZ0RPTUVsZW1lbnQsIGNvbnRleHQpIHtcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSB0aGlzLmNyZWF0ZURPTUVsZW1lbnQoY29udGV4dCk7XG5cbiAgICAoc2libGluZ0RPTUVsZW1lbnQgIT09IG51bGwpID9cbiAgICAgIGluc2VydEFmdGVyKHRoaXMuZG9tRWxlbWVudCwgcGFyZW50RE9NRWxlbWVudCwgc2libGluZ0RPTUVsZW1lbnQpIDpcbiAgICAgICAgaW5zZXJ0QmVmb3JlaGFuZCh0aGlzLmRvbUVsZW1lbnQsIHBhcmVudERPTUVsZW1lbnQpO1xuXG4gICAgcGFyZW50RE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudDsgLy8vXG5cbiAgICBzaWJsaW5nRE9NRWxlbWVudCA9IG51bGw7XG5cbiAgICB0aGlzLmNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBzaWJsaW5nRE9NRWxlbWVudCA9IGNoaWxkTm9kZS5tb3VudChwYXJlbnRET01FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCwgY29udGV4dCk7XG4gICAgfSk7XG5cbiAgICBzaWJsaW5nRE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudDsgIC8vL1xuXG4gICAgcmV0dXJuIHNpYmxpbmdET01FbGVtZW50O1xuICB9XG5cbiAgdW5tb3VudChwYXJlbnRET01FbGVtZW50LCBjb250ZXh0KSB7XG4gICAge1xuICAgICAgY29uc3QgcGFyZW50RE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudDsgLy8vXG5cbiAgICAgIHRoaXMuY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICAgICAgY2hpbGROb2RlLnVubW91bnQocGFyZW50RE9NRWxlbWVudCwgY29udGV4dCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmUodGhpcy5kb21FbGVtZW50LCBwYXJlbnRET01FbGVtZW50KTtcblxuICAgIHRoaXMuZG9tRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBhc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29udGV4dCA9IGluZGVudDsgLy8vXG5cbiAgICAgIGluZGVudCA9IEVNUFRZX1NUUklORztcbiAgICB9XG5cbiAgICBsZXQgaHRtbDtcblxuICAgIGluZGVudCA9IHRoaXMuYWRqdXN0SW5kZW50KGluZGVudCk7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzSFRNTCA9IHRoaXMuY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKGNoaWxkTm9kZXNIVE1MICE9PSBFTVBUWV9TVFJJTkcpIHtcbiAgICAgIGNvbnN0IHN0YXJ0aW5nVGFnID0gdGhpcy5zdGFydGluZ1RhZyhjb250ZXh0KSxcbiAgICAgICAgICAgIGNsb3NpbmdUYWcgPSB0aGlzLmNsb3NpbmdUYWcoY29udGV4dCk7XG5cbiAgICAgIGh0bWwgPSBgJHtpbmRlbnR9JHtzdGFydGluZ1RhZ31cbiR7Y2hpbGROb2Rlc0hUTUx9JHtpbmRlbnR9JHtjbG9zaW5nVGFnfVxuYDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc2VsZkNsb3NpbmdUYWcgPSB0aGlzLnNlbGZDbG9zaW5nVGFnKGNvbnRleHQpO1xuXG4gICAgICBodG1sID0gYCR7aW5kZW50fSR7c2VsZkNsb3NpbmdUYWd9XG5gO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sO1xuICB9XG5cbiAgYXNQbGFpblRleHQoY29udGV4dCkge1xuICAgIGxldCBwbGFpblRleHQ7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzUGxhaW5UZXh0ID0gdGhpcy5jaGlsZE5vZGVzQXNQbGFpblRleHQoY29udGV4dCk7XG5cbiAgICBwbGFpblRleHQgPSBjaGlsZE5vZGVzUGxhaW5UZXh0OyAgLy8vXG5cbiAgICByZXR1cm4gcGxhaW5UZXh0O1xuICB9XG5cbiAgY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzSFRNTCA9IHRoaXMucmVkdWNlQ2hpbGROb2RlKChjaGlsZE5vZGVzSFRNTCwgY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVIVE1MID0gY2hpbGROb2RlLmFzSFRNTChpbmRlbnQsIGNvbnRleHQpO1xuXG4gICAgICBjaGlsZE5vZGVzSFRNTCA9IGAke2NoaWxkTm9kZXNIVE1MfSR7Y2hpbGROb2RlSFRNTH1gO1xuXG4gICAgICByZXR1cm4gY2hpbGROb2Rlc0hUTUw7XG4gICAgfSwgRU1QVFlfU1RSSU5HKTtcblxuICAgIHJldHVybiBjaGlsZE5vZGVzSFRNTDtcbiAgfVxuXG4gIGNoaWxkTm9kZXNBc1BsYWluVGV4dChjb250ZXh0KSB7XG4gICAgY29uc3QgY2hpbGROb2Rlc1BsYWluVGV4dCA9IHRoaXMucmVkdWNlQ2hpbGROb2RlKChjaGlsZE5vZGVzUGxhaW5UZXh0LCBjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZVBsYWluVGV4dCA9IGNoaWxkTm9kZS5hc1BsYWluVGV4dChjb250ZXh0KTtcblxuICAgICAgY2hpbGROb2Rlc1BsYWluVGV4dCA9IGAke2NoaWxkTm9kZXNQbGFpblRleHR9XG4ke2NoaWxkTm9kZVBsYWluVGV4dH1gO1xuXG4gICAgICByZXR1cm4gY2hpbGROb2Rlc1BsYWluVGV4dDtcbiAgICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNQbGFpblRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoQ2xhc3MsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGlmIChDbGFzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBDbGFzcyA9IEhUTUxOb2RlOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBkb21FbGVtZW50ID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gTm9kZS5mcm9tTm90aGluZyhDbGFzcywgZG9tRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21PdXRlck5vZGUoQ2xhc3MsIG91dGVyTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgaWYgKG91dGVyTm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvdXRlck5vZGUgPSBDbGFzczsgIC8vL1xuXG4gICAgICBDbGFzcyA9IEhUTUxOb2RlOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBkb21FbGVtZW50ID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gTm9kZS5mcm9tT3V0ZXJOb2RlKENsYXNzLCBvdXRlck5vZGUsIGRvbUVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ2hpbGROb2RlcyhDbGFzcywgY2hpbGROb2RlcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgaWYgKGNoaWxkTm9kZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY2hpbGROb2RlcyA9IENsYXNzOyAgLy8vXG5cbiAgICAgIENsYXNzID0gSFRNTE5vZGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBudWxsLFxuICAgICAgICAgIG5vZGUgPSBOb2RlLmZyb21DaGlsZE5vZGVzKENsYXNzLCBjaGlsZE5vZGVzLCBkb21FbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihIVE1MTm9kZS5wcm90b3R5cGUsIG5vZGVNaXhpbnMpO1xuXG5leHBvcnQgZGVmYXVsdCBIVE1MTm9kZTtcbiJdLCJuYW1lcyI6WyJIVE1MTm9kZSIsIm91dGVyTm9kZSIsInBhcmVudE5vZGUiLCJjaGlsZE5vZGVzIiwiZG9tRWxlbWVudCIsImdldERPTUVsZW1lbnQiLCJzZXRET01FbGVtZW50IiwicmVzZXRET01FbGVtZW50IiwiZ2V0UnVsZU5hbWUiLCJtYXJrZG93bk5vZGUiLCJnZXRNYXJrZG93bk5vZGUiLCJydWxlTmFtZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJnZXRPdXRlck5vZGUiLCJnZXRQYXJlbnRIVE1MTm9kZSIsImdldFBhcmVudE5vZGUiLCJwYXJlbnRIVE1MTm9kZSIsImdldENoaWxkSFRNTE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImNoaWxkSFRNTE5vZGVzIiwiZ2V0QW5jZXN0b3JIVE1MTm9kZXMiLCJhbmNlc3Rvck5vZGVzIiwiZ2V0QW5jZXN0b3JOb2RlcyIsImFuY2VzdG9ySFRNTE5vZGVzIiwic29tZUNoaWxkSFRNTE5vZGUiLCJjYWxsYmFjayIsInNvbWVDaGlsZE5vZGUiLCJyZWR1Y2VDaGlsZEhUTUxOb2RlIiwiaW5pdGlhbFZhbHVlIiwicmVkdWNlQ2hpbGROb2RlIiwic29tZUFuY2VzdG9ySFRNTE5vZGUiLCJzb21lQW5jZXN0b3JOb2RlIiwic29tZURlc2NlbmRhbnRIVE1MTm9kZSIsInNvbWVEZXNjZW5kYW50Tm9kZSIsInJlbW92ZUNoaWxkSFRNTE5vZGVzIiwicmVtb3ZlZENoaWxkSFRNTE5vZGVzIiwiZmlsdGVyIiwiY2hpbGRIVE1MTm9kZSIsImluZGV4IiwiZmluZEluZGV4IiwicmVtb3ZlZENoaWxkSFRNTE5vZGUiLCJtYXJrZG93bk5vZGVNYXRjaGVzIiwibWF0Y2hNYXJrZG93bk5vZGUiLCJyZW1vdmVkQ2hpbGROb2RlcyIsInJlbW92ZUNoaWxkTm9kZXMiLCJvdXRlck5vZGVNYXRjaGVzIiwicmV0cmlldmVIVE1MTm9kZSIsImh0bWxOb2RlIiwic29tZSIsInJlc3VsdCIsImFkZENoaWxkSFRNTE5vZGVzIiwiYWRkZWRDaGlsZEhUTUxOb2RlcyIsInN0YXJ0SW5kZXgiLCJhZGRlZENoaWxkTm9kZXMiLCJhZGRDaGlsZE5vZGVzIiwiYWRqdXN0SW5kZW50IiwiaW5kZW50IiwiRU1QVFlfU1RSSU5HIiwiRE9VQkxFX1NQQUNFIiwibGluZXMiLCJjb250ZXh0IiwiY29uc3RydWN0b3IiLCJjaGlsZE5vZGUiLCJjaGlsZE5vZGVMaW5lcyIsInRhZ05hbWUiLCJkZXB0aCIsImNsYXNzTmFtZSIsImNsb3NpbmdUYWciLCJzdGFydGluZ1RhZyIsImF0dHJpYnV0ZU5hbWUiLCJhdHRyaWJ1dGVWYWx1ZSIsImNsYXNzSFRNTCIsImF0dHJpYnV0ZUhUTUwiLCJzZWxmQ2xvc2luZ1RhZyIsImNyZWF0ZURPTUVsZW1lbnQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJzZXRBdHRyaWJ1dGUiLCJtb3VudCIsInBhcmVudERPTUVsZW1lbnQiLCJzaWJsaW5nRE9NRWxlbWVudCIsImluc2VydEFmdGVyIiwiaW5zZXJ0QmVmb3JlaGFuZCIsImZvckVhY2giLCJ1bm1vdW50IiwicmVtb3ZlIiwiYXNIVE1MIiwidW5kZWZpbmVkIiwiaHRtbCIsImNoaWxkTm9kZXNIVE1MIiwiY2hpbGROb2Rlc0FzSFRNTCIsImFzUGxhaW5UZXh0IiwicGxhaW5UZXh0IiwiY2hpbGROb2Rlc1BsYWluVGV4dCIsImNoaWxkTm9kZXNBc1BsYWluVGV4dCIsImNoaWxkTm9kZUhUTUwiLCJjaGlsZE5vZGVQbGFpblRleHQiLCJmcm9tTm90aGluZyIsIkNsYXNzIiwicmVtYWluaW5nQXJndW1lbnRzIiwiTm9kZSIsIm5vZGUiLCJmcm9tT3V0ZXJOb2RlIiwiZnJvbUNoaWxkTm9kZXMiLCJwcm90b3R5cGUiLCJub2RlTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE4WkE7OztlQUFBOzs7d0JBNVpxQjsyREFFRTt5QkFFb0I7bUJBQ1c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV0RCxJQUFBLEFBQU1BLHlCQUFOO2NBQU1BO2FBQUFBLFNBQ1FDLFNBQVMsRUFBRUMsVUFBVSxFQUFFQyxVQUFVLEVBQUVDLFVBQVU7Z0NBRHJESjs7Z0JBRUYsa0JBRkVBO1lBRUlDO1lBQVdDO1lBQVlDOztRQUU3QixNQUFLQyxVQUFVLEdBQUdBOzs7a0JBSmhCSjs7WUFPSkssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRCxVQUFVO1lBQ3hCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLGNBQWNGLFVBQVU7Z0JBQ3RCLElBQUksQ0FBQ0EsVUFBVSxHQUFHQTtZQUNwQjs7O1lBRUFH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
551
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2h0bWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IE5vZGUgfSBmcm9tIFwib2NjYW0tZG9tXCI7XG5cbmltcG9ydCBub2RlTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbm9kZVwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIERPVUJMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHJlbW92ZSwgaW5zZXJ0QWZ0ZXIsIGluc2VydEJlZm9yZWhhbmQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2RvbVwiO1xuXG5jbGFzcyBIVE1MTm9kZSBleHRlbmRzIE5vZGUge1xuICBjb25zdHJ1Y3RvcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMsIGRvbUVsZW1lbnQpIHtcbiAgICBzdXBlcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMpO1xuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9tRWxlbWVudDtcbiAgfVxuXG4gIGdldERPTUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tRWxlbWVudDtcbiAgfVxuXG4gIHNldERPTUVsZW1lbnQoZG9tRWxlbWVudCkge1xuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvbUVsZW1lbnQ7XG4gIH1cblxuICByZXNldERPTUVsZW1lbnQoKSB7XG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lKCkge1xuICAgIGNvbnN0IG1hcmtkb3duTm9kZSA9IHRoaXMuZ2V0TWFya2Rvd25Ob2RlKCksXG4gICAgICAgICAgcnVsZU5hbWUgPSBtYXJrZG93bk5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgIHJldHVybiBydWxlTmFtZTtcbiAgfVxuXG4gIGlzVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGlzTm9uVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHRydWU7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xuICB9XG5cbiAgZ2V0TWFya2Rvd25Ob2RlKCkge1xuICAgIGNvbnN0IG91dGVyTm9kZSA9IHRoaXMuZ2V0T3V0ZXJOb2RlKCksXG4gICAgICAgICAgbWFya2Rvd25Ob2RlID0gb3V0ZXJOb2RlOyAvLy9cblxuICAgIHJldHVybiBtYXJrZG93bk5vZGU7XG4gIH1cblxuICBnZXRQYXJlbnRIVE1MTm9kZSgpIHtcbiAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5nZXRQYXJlbnROb2RlKCksXG4gICAgICAgICAgcGFyZW50SFRNTE5vZGUgPSBwYXJlbnROb2RlOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyZW50SFRNTE5vZGU7XG4gIH1cblxuICBnZXRDaGlsZEhUTUxOb2RlcygpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGRIVE1MTm9kZXMgPSBjaGlsZE5vZGVzOyAgLy8vXG5cbiAgICByZXR1cm4gY2hpbGRIVE1MTm9kZXM7XG4gIH1cblxuICBnZXRBbmNlc3RvckhUTUxOb2RlcygpIHtcbiAgICBjb25zdCBhbmNlc3Rvck5vZGVzID0gdGhpcy5nZXRBbmNlc3Rvck5vZGVzKCksXG4gICAgICAgICAgYW5jZXN0b3JIVE1MTm9kZXMgPSBhbmNlc3Rvck5vZGVzOyAgLy8vXG5cbiAgICByZXR1cm4gYW5jZXN0b3JIVE1MTm9kZXM7XG4gIH1cblxuICBzb21lQ2hpbGRIVE1MTm9kZShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5zb21lQ2hpbGROb2RlKGNhbGxiYWNrKTsgfVxuXG4gIHJlZHVjZUNoaWxkSFRNTE5vZGUoY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkgeyByZXR1cm4gdGhpcy5yZWR1Y2VDaGlsZE5vZGUoY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSk7IH1cblxuICBzb21lQW5jZXN0b3JIVE1MTm9kZShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5zb21lQW5jZXN0b3JOb2RlKGNhbGxiYWNrKTsgfVxuXG4gIHNvbWVEZXNjZW5kYW50SFRNTE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuc29tZURlc2NlbmRhbnROb2RlKGNhbGxiYWNrKTsgfVxuXG4gIGZpbmREZXNjZW5kYW50SFRNTE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuZmluZERlc2NlbmRhbnROb2RlKGNhbGxiYWNrKTsgfVxuXG4gIHJlbW92ZUNoaWxkSFRNTE5vZGVzKHJlbW92ZWRDaGlsZEhUTUxOb2RlcyA9IG51bGwpIHtcbiAgICBsZXQgY2hpbGRIVE1MTm9kZXM7XG5cbiAgICBjaGlsZEhUTUxOb2RlcyA9IHRoaXMuZ2V0Q2hpbGRIVE1MTm9kZXMoKTtcblxuICAgIGlmIChyZW1vdmVkQ2hpbGRIVE1MTm9kZXMgIT09IG51bGwpIHtcbiAgICAgIGNoaWxkSFRNTE5vZGVzID0gY2hpbGRIVE1MTm9kZXMuZmlsdGVyKChjaGlsZEhUTUxOb2RlKSA9PiB7IC8vL1xuICAgICAgICBjb25zdCBtYXJrZG93bk5vZGUgPSBjaGlsZEhUTUxOb2RlLmdldE1hcmtkb3duTm9kZSgpLFxuICAgICAgICAgICAgICBpbmRleCA9IHJlbW92ZWRDaGlsZEhUTUxOb2Rlcy5maW5kSW5kZXgoKHJlbW92ZWRDaGlsZEhUTUxOb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlTWF0Y2hlcyA9IHJlbW92ZWRDaGlsZEhUTUxOb2RlLm1hdGNoTWFya2Rvd25Ob2RlKG1hcmtkb3duTm9kZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAobWFya2Rvd25Ob2RlTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGxldCByZW1vdmVkQ2hpbGROb2RlcyA9IGNoaWxkSFRNTE5vZGVzOyAgLy8vXG5cbiAgICByZW1vdmVkQ2hpbGROb2RlcyA9IHRoaXMucmVtb3ZlQ2hpbGROb2RlcyhyZW1vdmVkQ2hpbGROb2Rlcyk7XG5cbiAgICByZW1vdmVkQ2hpbGRIVE1MTm9kZXMgPSByZW1vdmVkQ2hpbGROb2RlczsgIC8vL1xuXG4gICAgcmV0dXJuIHJlbW92ZWRDaGlsZEhUTUxOb2RlcztcbiAgfVxuXG4gIG1hdGNoTWFya2Rvd25Ob2RlKG1hcmtkb3duTm9kZSkge1xuICAgIGNvbnN0IG91dGVyTm9kZSA9IG1hcmtkb3duTm9kZSwgLy8vXG4gICAgICAgICAgb3V0ZXJOb2RlTWF0Y2hlcyA9ICh0aGlzLm91dGVyTm9kZSA9PT0gb3V0ZXJOb2RlKSxcbiAgICAgICAgICBtYXJrZG93bk5vZGVNYXRjaGVzID0gb3V0ZXJOb2RlTWF0Y2hlczsgLy8vXG5cbiAgICByZXR1cm4gbWFya2Rvd25Ob2RlTWF0Y2hlcztcbiAgfVxuXG4gIGFkZENoaWxkSFRNTE5vZGVzKGFkZGVkQ2hpbGRIVE1MTm9kZXMsIHN0YXJ0SW5kZXgpIHtcbiAgICBjb25zdCBhZGRlZENoaWxkTm9kZXMgPSBhZGRlZENoaWxkSFRNTE5vZGVzOyAgLy8vXG5cbiAgICB0aGlzLmFkZENoaWxkTm9kZXMoYWRkZWRDaGlsZE5vZGVzLCBzdGFydEluZGV4KTtcbiAgfVxuXG4gIGFkanVzdEluZGVudChpbmRlbnQpIHtcbiAgICBpbmRlbnQgPSAoaW5kZW50ID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcgOlxuICAgICAgICAgICAgICAgIGAke0RPVUJMRV9TUEFDRX0ke2luZGVudH1gO1xuXG4gICAgcmV0dXJuIGluZGVudDtcbiAgfVxuXG4gIGxpbmVzKGNvbnRleHQpIHtcbiAgICBsZXQgbGluZXM7XG5cbiAgICAoeyBsaW5lcyA9IG51bGwgfSA9IHRoaXMuY29uc3RydWN0b3IpO1xuXG4gICAgaWYgKGxpbmVzID09PSBudWxsKSB7XG4gICAgICBsaW5lcyA9IHRoaXMucmVkdWNlQ2hpbGROb2RlKChsaW5lcywgY2hpbGROb2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoaWxkTm9kZUxpbmVzID0gY2hpbGROb2RlLmxpbmVzKGNvbnRleHQpO1xuXG4gICAgICAgIGxpbmVzICs9IGNoaWxkTm9kZUxpbmVzO1xuXG4gICAgICAgIHJldHVybiBsaW5lcztcbiAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHJldHVybiBsaW5lcztcbiAgfVxuXG4gIHRhZ05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IHsgdGFnTmFtZSB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiB0YWdOYW1lO1xuICB9XG5cbiAgZGVwdGgoKSB7XG4gICAgY29uc3QgeyBkZXB0aCA9IG51bGwgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICByZXR1cm4gZGVwdGg7XG4gIH1cblxuICBjbGFzc05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGNsb3NpbmdUYWcoY29udGV4dCkge1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCksXG4gICAgICAgICAgY2xvc2luZ1RhZyA9IGA8LyR7dGFnTmFtZX0+YDtcblxuICAgIHJldHVybiBjbG9zaW5nVGFnO1xuICB9XG5cbiAgc3RhcnRpbmdUYWcoY29udGV4dCkge1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCksXG4gICAgICAgICAgY2xhc3NOYW1lID0gdGhpcy5jbGFzc05hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlTmFtZSA9IHRoaXMuYXR0cmlidXRlTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuYXR0cmlidXRlVmFsdWUoY29udGV4dCksXG4gICAgICAgICAgY2xhc3NIVE1MID0gKGNsYXNzTmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBgIGNsYXNzPVwiJHtjbGFzc05hbWV9XCJgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgRU1QVFlfU1RSSU5HLFxuICAgICAgICAgIGF0dHJpYnV0ZUhUTUwgPSAoKGF0dHJpYnV0ZU5hbWUgIT09IG51bGwpICYmIChhdHRyaWJ1dGVWYWx1ZSAhPT0gbnVsbCkpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGAgJHthdHRyaWJ1dGVOYW1lfT1cIiR7YXR0cmlidXRlVmFsdWV9XCJgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyxcbiAgICAgICAgICBzdGFydGluZ1RhZyA9IGA8JHt0YWdOYW1lfSR7Y2xhc3NIVE1MfSR7YXR0cmlidXRlSFRNTH0+YDtcblxuICAgIHJldHVybiBzdGFydGluZ1RhZztcbiAgfVxuXG4gIHNlbGZDbG9zaW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzSFRNTCA9IChjbGFzc05hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgYCBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyxcbiAgICAgICAgICBhdHRyaWJ1dGVIVE1MID0gKChhdHRyaWJ1dGVOYW1lICE9PSBudWxsKSAmJiAoYXR0cmlidXRlVmFsdWUgIT09IG51bGwpKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBgICR7YXR0cmlidXRlTmFtZX09XCIke2F0dHJpYnV0ZVZhbHVlfVwiYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcsXG4gICAgICAgICAgc2VsZkNsb3NpbmdUYWcgPSBgPCR7dGFnTmFtZX0ke2NsYXNzSFRNTH0ke2F0dHJpYnV0ZUhUTUx9Lz5gO1xuXG4gICAgcmV0dXJuIHNlbGZDbG9zaW5nVGFnO1xuICB9XG5cbiAgYXR0cmlidXRlTmFtZShjb250ZXh0KSB7XG4gICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IG51bGw7XG5cbiAgICByZXR1cm4gYXR0cmlidXRlTmFtZTtcbiAgfVxuXG4gIGF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpIHtcbiAgICBjb25zdCBhdHRyaWJ1dGVWYWx1ZSA9IG51bGw7XG5cbiAgICByZXR1cm4gYXR0cmlidXRlVmFsdWU7XG4gIH1cblxuICBjcmVhdGVET01FbGVtZW50KGNvbnRleHQpIHtcbiAgICBsZXQgZG9tRWxlbWVudDtcblxuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCk7XG5cbiAgICBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTtcblxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpO1xuXG4gICAgaWYgKGNsYXNzTmFtZSAhPT0gbnVsbCkge1xuICAgICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKChhdHRyaWJ1dGVOYW1lICE9PSBudWxsKSAmJiAoYXR0cmlidXRlVmFsdWUgIT09IG51bGwpKSB7XG4gICAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGVWYWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRvbUVsZW1lbnQ7XG4gIH1cblxuICBtb3VudChwYXJlbnRET01FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCwgY29udGV4dCkge1xuICAgIHRoaXMuZG9tRWxlbWVudCA9IHRoaXMuY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KTtcblxuICAgIChzaWJsaW5nRE9NRWxlbWVudCAhPT0gbnVsbCkgP1xuICAgICAgaW5zZXJ0QWZ0ZXIodGhpcy5kb21FbGVtZW50LCBwYXJlbnRET01FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCkgOlxuICAgICAgICBpbnNlcnRCZWZvcmVoYW5kKHRoaXMuZG9tRWxlbWVudCwgcGFyZW50RE9NRWxlbWVudCk7XG5cbiAgICBwYXJlbnRET01FbGVtZW50ID0gdGhpcy5kb21FbGVtZW50OyAvLy9cblxuICAgIHNpYmxpbmdET01FbGVtZW50ID0gbnVsbDtcblxuICAgIHRoaXMuY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIHNpYmxpbmdET01FbGVtZW50ID0gY2hpbGROb2RlLm1vdW50KHBhcmVudERPTUVsZW1lbnQsIHNpYmxpbmdET01FbGVtZW50LCBjb250ZXh0KTtcbiAgICB9KTtcblxuICAgIHNpYmxpbmdET01FbGVtZW50ID0gdGhpcy5kb21FbGVtZW50OyAgLy8vXG5cbiAgICByZXR1cm4gc2libGluZ0RPTUVsZW1lbnQ7XG4gIH1cblxuICB1bm1vdW50KHBhcmVudERPTUVsZW1lbnQsIGNvbnRleHQpIHtcbiAgICB7XG4gICAgICBjb25zdCBwYXJlbnRET01FbGVtZW50ID0gdGhpcy5kb21FbGVtZW50OyAvLy9cblxuICAgICAgdGhpcy5jaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICBjaGlsZE5vZGUudW5tb3VudChwYXJlbnRET01FbGVtZW50LCBjb250ZXh0KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbW92ZSh0aGlzLmRvbUVsZW1lbnQsIHBhcmVudERPTUVsZW1lbnQpO1xuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIGFzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250ZXh0ID0gaW5kZW50OyAvLy9cblxuICAgICAgaW5kZW50ID0gRU1QVFlfU1RSSU5HO1xuICAgIH1cblxuICAgIGxldCBodG1sO1xuXG4gICAgaW5kZW50ID0gdGhpcy5hZGp1c3RJbmRlbnQoaW5kZW50KTtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXNIVE1MID0gdGhpcy5jaGlsZE5vZGVzQXNIVE1MKGluZGVudCwgY29udGV4dCk7XG5cbiAgICBpZiAoY2hpbGROb2Rlc0hUTUwgIT09IEVNUFRZX1NUUklORykge1xuICAgICAgY29uc3Qgc3RhcnRpbmdUYWcgPSB0aGlzLnN0YXJ0aW5nVGFnKGNvbnRleHQpLFxuICAgICAgICAgICAgY2xvc2luZ1RhZyA9IHRoaXMuY2xvc2luZ1RhZyhjb250ZXh0KTtcblxuICAgICAgaHRtbCA9IGAke2luZGVudH0ke3N0YXJ0aW5nVGFnfVxuJHtjaGlsZE5vZGVzSFRNTH0ke2luZGVudH0ke2Nsb3NpbmdUYWd9XG5gO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWxmQ2xvc2luZ1RhZyA9IHRoaXMuc2VsZkNsb3NpbmdUYWcoY29udGV4dCk7XG5cbiAgICAgIGh0bWwgPSBgJHtpbmRlbnR9JHtzZWxmQ2xvc2luZ1RhZ31cbmA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cblxuICBhc1BsYWluVGV4dChjb250ZXh0KSB7XG4gICAgbGV0IHBsYWluVGV4dDtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXNQbGFpblRleHQgPSB0aGlzLmNoaWxkTm9kZXNBc1BsYWluVGV4dChjb250ZXh0KTtcblxuICAgIHBsYWluVGV4dCA9IGNoaWxkTm9kZXNQbGFpblRleHQ7ICAvLy9cblxuICAgIHJldHVybiBwbGFpblRleHQ7XG4gIH1cblxuICBjaGlsZE5vZGVzQXNIVE1MKGluZGVudCwgY29udGV4dCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXNIVE1MID0gdGhpcy5yZWR1Y2VDaGlsZE5vZGUoKGNoaWxkTm9kZXNIVE1MLCBjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZUhUTUwgPSBjaGlsZE5vZGUuYXNIVE1MKGluZGVudCwgY29udGV4dCk7XG5cbiAgICAgIGNoaWxkTm9kZXNIVE1MID0gYCR7Y2hpbGROb2Rlc0hUTUx9JHtjaGlsZE5vZGVIVE1MfWA7XG5cbiAgICAgIHJldHVybiBjaGlsZE5vZGVzSFRNTDtcbiAgICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNIVE1MO1xuICB9XG5cbiAgY2hpbGROb2Rlc0FzUGxhaW5UZXh0KGNvbnRleHQpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzUGxhaW5UZXh0ID0gdGhpcy5yZWR1Y2VDaGlsZE5vZGUoKGNoaWxkTm9kZXNQbGFpblRleHQsIGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlUGxhaW5UZXh0ID0gY2hpbGROb2RlLmFzUGxhaW5UZXh0KGNvbnRleHQpO1xuXG4gICAgICBjaGlsZE5vZGVzUGxhaW5UZXh0ID0gYCR7Y2hpbGROb2Rlc1BsYWluVGV4dH1cbiR7Y2hpbGROb2RlUGxhaW5UZXh0fWA7XG5cbiAgICAgIHJldHVybiBjaGlsZE5vZGVzUGxhaW5UZXh0O1xuICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc1BsYWluVGV4dDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZyhDbGFzcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgaWYgKENsYXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIENsYXNzID0gSFRNTE5vZGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBudWxsLFxuICAgICAgICAgIG5vZGUgPSBOb2RlLmZyb21Ob3RoaW5nKENsYXNzLCBkb21FbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU91dGVyTm9kZShDbGFzcywgb3V0ZXJOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBpZiAob3V0ZXJOb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG91dGVyTm9kZSA9IENsYXNzOyAgLy8vXG5cbiAgICAgIENsYXNzID0gSFRNTE5vZGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBudWxsLFxuICAgICAgICAgIG5vZGUgPSBOb2RlLmZyb21PdXRlck5vZGUoQ2xhc3MsIG91dGVyTm9kZSwgZG9tRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21DaGlsZE5vZGVzKENsYXNzLCBjaGlsZE5vZGVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBpZiAoY2hpbGROb2RlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjaGlsZE5vZGVzID0gQ2xhc3M7ICAvLy9cblxuICAgICAgQ2xhc3MgPSBIVE1MTm9kZTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgZG9tRWxlbWVudCA9IG51bGwsXG4gICAgICAgICAgbm9kZSA9IE5vZGUuZnJvbUNoaWxkTm9kZXMoQ2xhc3MsIGNoaWxkTm9kZXMsIGRvbUVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEhUTUxOb2RlLnByb3RvdHlwZSwgbm9kZU1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IEhUTUxOb2RlO1xuIl0sIm5hbWVzIjpbIkhUTUxOb2RlIiwib3V0ZXJOb2RlIiwicGFyZW50Tm9kZSIsImNoaWxkTm9kZXMiLCJkb21FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsInNldERPTUVsZW1lbnQiLCJyZXNldERPTUVsZW1lbnQiLCJnZXRSdWxlTmFtZSIsIm1hcmtkb3duTm9kZSIsImdldE1hcmtkb3duTm9kZSIsInJ1bGVOYW1lIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImdldE91dGVyTm9kZSIsImdldFBhcmVudEhUTUxOb2RlIiwiZ2V0UGFyZW50Tm9kZSIsInBhcmVudEhUTUxOb2RlIiwiZ2V0Q2hpbGRIVE1MTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiY2hpbGRIVE1MTm9kZXMiLCJnZXRBbmNlc3RvckhUTUxOb2RlcyIsImFuY2VzdG9yTm9kZXMiLCJnZXRBbmNlc3Rvck5vZGVzIiwiYW5jZXN0b3JIVE1MTm9kZXMiLCJzb21lQ2hpbGRIVE1MTm9kZSIsImNhbGxiYWNrIiwic29tZUNoaWxkTm9kZSIsInJlZHVjZUNoaWxkSFRNTE5vZGUiLCJpbml0aWFsVmFsdWUiLCJyZWR1Y2VDaGlsZE5vZGUiLCJzb21lQW5jZXN0b3JIVE1MTm9kZSIsInNvbWVBbmNlc3Rvck5vZGUiLCJzb21lRGVzY2VuZGFudEhUTUxOb2RlIiwic29tZURlc2NlbmRhbnROb2RlIiwiZmluZERlc2NlbmRhbnRIVE1MTm9kZSIsImZpbmREZXNjZW5kYW50Tm9kZSIsInJlbW92ZUNoaWxkSFRNTE5vZGVzIiwicmVtb3ZlZENoaWxkSFRNTE5vZGVzIiwiZmlsdGVyIiwiY2hpbGRIVE1MTm9kZSIsImluZGV4IiwiZmluZEluZGV4IiwicmVtb3ZlZENoaWxkSFRNTE5vZGUiLCJtYXJrZG93bk5vZGVNYXRjaGVzIiwibWF0Y2hNYXJrZG93bk5vZGUiLCJyZW1vdmVkQ2hpbGROb2RlcyIsInJlbW92ZUNoaWxkTm9kZXMiLCJvdXRlck5vZGVNYXRjaGVzIiwiYWRkQ2hpbGRIVE1MTm9kZXMiLCJhZGRlZENoaWxkSFRNTE5vZGVzIiwic3RhcnRJbmRleCIsImFkZGVkQ2hpbGROb2RlcyIsImFkZENoaWxkTm9kZXMiLCJhZGp1c3RJbmRlbnQiLCJpbmRlbnQiLCJFTVBUWV9TVFJJTkciLCJET1VCTEVfU1BBQ0UiLCJsaW5lcyIsImNvbnRleHQiLCJjb25zdHJ1Y3RvciIsImNoaWxkTm9kZSIsImNoaWxkTm9kZUxpbmVzIiwidGFnTmFtZSIsImRlcHRoIiwiY2xhc3NOYW1lIiwiY2xvc2luZ1RhZyIsInN0YXJ0aW5nVGFnIiwiYXR0cmlidXRlTmFtZSIsImF0dHJpYnV0ZVZhbHVlIiwiY2xhc3NIVE1MIiwiYXR0cmlidXRlSFRNTCIsInNlbGZDbG9zaW5nVGFnIiwiY3JlYXRlRE9NRWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInNldEF0dHJpYnV0ZSIsIm1vdW50IiwicGFyZW50RE9NRWxlbWVudCIsInNpYmxpbmdET01FbGVtZW50IiwiaW5zZXJ0QWZ0ZXIiLCJpbnNlcnRCZWZvcmVoYW5kIiwiZm9yRWFjaCIsInVubW91bnQiLCJyZW1vdmUiLCJhc0hUTUwiLCJ1bmRlZmluZWQiLCJodG1sIiwiY2hpbGROb2Rlc0hUTUwiLCJjaGlsZE5vZGVzQXNIVE1MIiwiYXNQbGFpblRleHQiLCJwbGFpblRleHQiLCJjaGlsZE5vZGVzUGxhaW5UZXh0IiwiY2hpbGROb2Rlc0FzUGxhaW5UZXh0IiwiY2hpbGROb2RlSFRNTCIsImNoaWxkTm9kZVBsYWluVGV4dCIsImZyb21Ob3RoaW5nIiwiQ2xhc3MiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJOb2RlIiwibm9kZSIsImZyb21PdXRlck5vZGUiLCJmcm9tQ2hpbGROb2RlcyIsInByb3RvdHlwZSIsIm5vZGVNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9ZQTs7O2VBQUE7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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "highmark-markdown",
3
3
  "author": "James Smith",
4
- "version": "1.0.258",
4
+ "version": "1.1.2",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/highmark-markdown",
7
7
  "description": "Highmark's Markdown and Markdown Style languages.",
package/src/node/html.js CHANGED
@@ -81,6 +81,8 @@ class HTMLNode extends Node {
81
81
 
82
82
  someDescendantHTMLNode(callback) { return this.someDescendantNode(callback); }
83
83
 
84
+ findDescendantHTMLNode(callback) { return this.findDescendantNode(callback); }
85
+
84
86
  removeChildHTMLNodes(removedChildHTMLNodes = null) {
85
87
  let childHTMLNodes;
86
88
 
@@ -120,34 +122,6 @@ class HTMLNode extends Node {
120
122
  return markdownNodeMatches;
121
123
  }
122
124
 
123
- retrieveHTMLNode(callback) {
124
- let htmlNode;
125
-
126
- htmlNode = null;
127
-
128
- const childHTMLNodes = this.getChildHTMLNodes();
129
-
130
- childHTMLNodes.some((childHTMLNode) => {
131
- htmlNode = childHTMLNode.retrieveHTMLNode(callback)
132
-
133
- if (htmlNode !== null) {
134
- return true;
135
- }
136
- });
137
-
138
- if (htmlNode === null) {
139
- htmlNode = this; ///
140
-
141
- const result = callback(htmlNode);
142
-
143
- if (!result) {
144
- htmlNode = null;
145
- }
146
- }
147
-
148
- return htmlNode;
149
- }
150
-
151
125
  addChildHTMLNodes(addedChildHTMLNodes, startIndex) {
152
126
  const addedChildNodes = addedChildHTMLNodes; ///
153
127