occam-parsers 23.0.134 → 23.0.135
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/example.js +5 -6
- package/lib/mixins/node.js +4 -5
- package/lib/node/nonTerminal.js +2 -2
- package/package.json +1 -1
- package/src/mixins/node.js +7 -9
- package/src/node/nonTerminal.js +2 -2
package/lib/mixins/node.js
CHANGED
|
@@ -110,11 +110,10 @@ function removeChildNodes(removedChildNodes) {
|
|
|
110
110
|
removedChildNodes = _to_consumable_array(this.childNodes);
|
|
111
111
|
}
|
|
112
112
|
var removedChildNodesLength = removedChildNodes.length;
|
|
113
|
-
if (removedChildNodesLength
|
|
114
|
-
|
|
113
|
+
if (removedChildNodesLength > 0) {
|
|
114
|
+
var firstReplacedChildNode = first(removedChildNodes), startIndex = this.childNodes.indexOf(firstReplacedChildNode), deleteCount = removedChildNodesLength, addedChildNodes = [];
|
|
115
|
+
removedChildNodes = this.spliceChildNodes(startIndex, deleteCount, addedChildNodes);
|
|
115
116
|
}
|
|
116
|
-
var firstReplacedChildNode = first(removedChildNodes), startIndex = this.childNodes.indexOf(firstReplacedChildNode), deleteCount = removedChildNodesLength, addedChildNodes = [];
|
|
117
|
-
removedChildNodes = this.spliceChildNodes(startIndex, deleteCount, addedChildNodes);
|
|
118
117
|
return removedChildNodes;
|
|
119
118
|
}
|
|
120
119
|
function replaceChildNode(replacedChildNode, replacementChildNodes) {
|
|
@@ -256,4 +255,4 @@ var nodeMixins = {
|
|
|
256
255
|
};
|
|
257
256
|
var _default = nodeMixins;
|
|
258
257
|
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgZmlyc3QsIGZvcndhcmRzU29tZSwgYmFja3dhcmRzU29tZSB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmZ1bmN0aW9uIGdldE11bHRpcGxpY2l0eSgpIHtcbiAgY29uc3QgY2hpbGROb2Rlc0xlbmd0aCA9IHRoaXMuY2hpbGROb2Rlcy5sZW5ndGgsXG4gICAgICAgIG11bHRpcGxpY2l0eSA9IGNoaWxkTm9kZXNMZW5ndGg7ICAvLy9cblxuICByZXR1cm4gbXVsdGlwbGljaXR5O1xufVxuXG5mdW5jdGlvbiBtYXBDaGlsZE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuY2hpbGROb2Rlcy5tYXAoY2FsbGJhY2spOyB9XG5cbmZ1bmN0aW9uIHNvbWVDaGlsZE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuY2hpbGROb2Rlcy5zb21lKGNhbGxiYWNrKTsgfVxuXG5mdW5jdGlvbiBmaW5kQ2hpbGROb2RlKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmNoaWxkTm9kZXMuZmluZChjYWxsYmFjayk7IH1cblxuZnVuY3Rpb24gZXZlcnlDaGlsZE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuY2hpbGROb2Rlcy5ldmVyeShjYWxsYmFjayk7IH1cblxuZnVuY3Rpb24gZmlsdGVyQ2hpbGROb2RlKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmNoaWxkTm9kZXMuZmlsdGVyKGNhbGxiYWNrKTsgfVxuXG5mdW5jdGlvbiByZWR1Y2VDaGlsZE5vZGUoY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkgeyByZXR1cm4gdGhpcy5jaGlsZE5vZGVzLnJlZHVjZShjYWxsYmFjaywgaW5pdGlhbFZhbHVlKTsgfVxuXG5mdW5jdGlvbiBmb3JFYWNoQ2hpbGROb2RlKGNhbGxiYWNrKSB7IHRoaXMuY2hpbGROb2Rlcy5mb3JFYWNoKGNhbGxiYWNrKTsgfVxuXG5mdW5jdGlvbiBmb3J3YXJkc1NvbWVDaGlsZE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIGZvcndhcmRzU29tZSh0aGlzLmNoaWxkTm9kZXMsIGNhbGxiYWNrKTsgfVxuXG5mdW5jdGlvbiBiYWNrd2FyZHNTb21lQ2hpbGROb2RlKGNhbGxiYWNrKSB7IHJldHVybiBiYWNrd2FyZHNTb21lKHRoaXMuY2hpbGROb2RlcywgY2FsbGJhY2spOyB9XG5cbmZ1bmN0aW9uIGluZGV4T2ZDaGlsZE5vZGUoY2hpbGROb2RlKSB7IHJldHVybiB0aGlzLmNoaWxkTm9kZXMuaW5kZXhPZihjaGlsZE5vZGUpOyB9XG5cbmZ1bmN0aW9uIHNldENoaWxkTm9kZXNQYXJlbnROb2RlKGNoaWxkTm9kZXMpIHtcbiAgaWYgKGNoaWxkTm9kZXMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNoaWxkTm9kZXMgPSBbXG4gICAgICAuLi50aGlzLmNoaWxkTm9kZXNcbiAgICBdO1xuICB9XG5cbiAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXM7XG5cbiAgY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICBjaGlsZE5vZGUuc2V0UGFyZW50Tm9kZShwYXJlbnROb2RlKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUoY2hpbGROb2Rlcykge1xuICBpZiAoY2hpbGROb2RlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2hpbGROb2RlcyA9IFtcbiAgICAgIC4uLnRoaXMuY2hpbGROb2Rlc1xuICAgIF07XG4gIH1cblxuICBjb25zdCBwYXJlbnROb2RlID0gbnVsbDtcblxuICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNoaWxkTm9kZS5zZXRQYXJlbnROb2RlKHBhcmVudE5vZGUpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRkQ2hpbGROb2RlKGFkZGVkQ2hpbGROb2RlLCBzdGFydEluZGV4KSB7XG4gIGNvbnN0IGFkZGVkQ2hpbGROb2RlcyA9IFtcbiAgICBhZGRlZENoaWxkTm9kZVxuICBdO1xuXG4gIHRoaXMuYWRkQ2hpbGROb2RlcyhhZGRlZENoaWxkTm9kZXMsIHN0YXJ0SW5kZXgpO1xufVxuXG5mdW5jdGlvbiBhZGRDaGlsZE5vZGVzKGFkZGVkQ2hpbGROb2Rlcywgc3RhcnRJbmRleCkge1xuICBjb25zdCBkZWxldGVDb3VudCA9IDA7XG5cbiAgdGhpcy5zcGxpY2VDaGlsZE5vZGVzKHN0YXJ0SW5kZXgsIGRlbGV0ZUNvdW50LCBhZGRlZENoaWxkTm9kZXMpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVDaGlsZE5vZGUocmVtb3ZlZENoaWxkTm9kZSkge1xuICBsZXQgcmVtb3ZlZENoaWxkTm9kZXM7XG5cbiAgcmVtb3ZlZENoaWxkTm9kZXMgPSBbXG4gICAgcmVtb3ZlZENoaWxkTm9kZVxuICBdO1xuXG4gIHJlbW92ZWRDaGlsZE5vZGVzID0gdGhpcy5yZW1vdmVDaGlsZE5vZGVzKHJlbW92ZWRDaGlsZE5vZGVzKTtcblxuICByZXR1cm4gcmVtb3ZlZENoaWxkTm9kZXM7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkTm9kZXMocmVtb3ZlZENoaWxkTm9kZXMpIHtcbiAgaWYgKHJlbW92ZWRDaGlsZE5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICByZW1vdmVkQ2hpbGROb2RlcyA9IFtcbiAgICAgIC4uLnRoaXMuY2hpbGROb2Rlc1xuICAgIF07XG4gIH1cblxuICBjb25zdCByZW1vdmVkQ2hpbGROb2Rlc0xlbmd0aCA9IHJlbW92ZWRDaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAocmVtb3ZlZENoaWxkTm9kZXNMZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBmaXJzdFJlcGxhY2VkQ2hpbGROb2RlID0gZmlyc3QocmVtb3ZlZENoaWxkTm9kZXMpLFxuICAgICAgICBzdGFydEluZGV4ID0gdGhpcy5jaGlsZE5vZGVzLmluZGV4T2YoZmlyc3RSZXBsYWNlZENoaWxkTm9kZSksIC8vL1xuICAgICAgICBkZWxldGVDb3VudCA9IHJlbW92ZWRDaGlsZE5vZGVzTGVuZ3RoLCAvLy9cbiAgICAgICAgYWRkZWRDaGlsZE5vZGVzID0gW107XG5cbiAgcmVtb3ZlZENoaWxkTm9kZXMgPSB0aGlzLnNwbGljZUNoaWxkTm9kZXMoc3RhcnRJbmRleCwgZGVsZXRlQ291bnQsIGFkZGVkQ2hpbGROb2Rlcyk7XG5cbiAgcmV0dXJuIHJlbW92ZWRDaGlsZE5vZGVzO1xufVxuXG5mdW5jdGlvbiByZXBsYWNlQ2hpbGROb2RlKHJlcGxhY2VkQ2hpbGROb2RlLCByZXBsYWNlbWVudENoaWxkTm9kZXMpIHtcbiAgY29uc3QgcmVwbGFjZWRDaGlsZE5vZGVzID0gW1xuICAgIHJlcGxhY2VkQ2hpbGROb2RlXG4gIF07XG5cbiAgdGhpcy5yZXBsYWNlQ2hpbGROb2RlcyhyZXBsYWNlZENoaWxkTm9kZXMsIHJlcGxhY2VtZW50Q2hpbGROb2Rlcyk7XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2VDaGlsZE5vZGVzKHJlcGxhY2VkQ2hpbGROb2RlcywgcmVwbGFjZW1lbnRDaGlsZE5vZGVzKSB7XG4gIGNvbnN0IHJlcGxhY2VkQ2hpbGROb2Rlc0xlbmd0aCA9IHJlcGxhY2VkQ2hpbGROb2Rlcy5sZW5ndGgsXG4gICAgICAgIGZpcnN0UmVwbGFjZWRDaGlsZE5vZGUgPSBmaXJzdChyZXBsYWNlZENoaWxkTm9kZXMpLFxuICAgICAgICBzdGFydEluZGV4ID0gdGhpcy5jaGlsZE5vZGVzLmluZGV4T2YoZmlyc3RSZXBsYWNlZENoaWxkTm9kZSksIC8vL1xuICAgICAgICBkZWxldGVDb3VudCA9IHJlcGxhY2VkQ2hpbGROb2Rlc0xlbmd0aDsgLy8vXG5cbiAgdGhpcy5zcGxpY2VDaGlsZE5vZGVzKHN0YXJ0SW5kZXgsIGRlbGV0ZUNvdW50LCByZXBsYWNlbWVudENoaWxkTm9kZXMpO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRDaGlsZE5vZGUoYXBwZW5kZWRDaGlsZE5vZGUpIHtcbiAgY29uc3QgYXBwZW5kZWRDaGlsZE5vZGVzID0gW1xuICAgIGFwcGVuZGVkQ2hpbGROb2RlXG4gIF07XG5cbiAgdGhpcy5hcHBlbmRDaGlsZE5vZGVzKGFwcGVuZGVkQ2hpbGROb2Rlcyk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZENoaWxkTm9kZXMoYXBwZW5kZWRDaGlsZE5vZGVzKSB7XG4gIGNvbnN0IGFkZGVkQ2hpbGROb2RlcyA9IGFwcGVuZGVkQ2hpbGROb2RlcywgLy8vXG4gICAgICAgIG11bHRpcGxpY2l0eSA9IHRoaXMuZ2V0TXVsdGlwbGljaXR5KCksXG4gICAgICAgIHN0YXJ0SW5kZXggPSBtdWx0aXBsaWNpdHk7ICAvLy9cblxuICB0aGlzLmFkZENoaWxkTm9kZXMoYWRkZWRDaGlsZE5vZGVzLCBzdGFydEluZGV4KTtcbn1cblxuZnVuY3Rpb24gcHJlcGVuZENoaWxkTm9kZShwcmVwZW5kZWRDaGlsZE5vZGUpIHtcbiAgY29uc3QgcHJlcGVuZGVkQ2hpbGROb2RlcyA9IFtcbiAgICBwcmVwZW5kZWRDaGlsZE5vZGVcbiAgXTtcblxuICB0aGlzLnByZXBlbmRDaGlsZE5vZGVzKHByZXBlbmRlZENoaWxkTm9kZXMpO1xufVxuXG5mdW5jdGlvbiBwcmVwZW5kQ2hpbGROb2RlcyhwcmVwZW5kZWRDaGlsZE5vZGVzKSB7XG4gIGNvbnN0IGFkZGVkQ2hpbGROb2RlcyA9IHByZXBlbmRlZENoaWxkTm9kZXMsICAvLy9cbiAgICAgICAgc3RhcnRJbmRleCA9IDA7XG5cbiAgdGhpcy5hZGRDaGlsZE5vZGVzKGFkZGVkQ2hpbGROb2Rlcywgc3RhcnRJbmRleCk7XG59XG5cbmZ1bmN0aW9uIHNwbGljZUNoaWxkTm9kZXMoc3RhcnRJbmRleCwgZGVsZXRlQ291bnQsIGFkZGVkQ2hpbGROb2RlcyA9IFtdKSB7XG4gIGNvbnN0IHJlbW92ZWRDaGlsZE5vZGVzID0gdGhpcy5jaGlsZE5vZGVzLnNwbGljZShzdGFydEluZGV4LCBkZWxldGVDb3VudCwgLi4uYWRkZWRDaGlsZE5vZGVzKTtcblxuICB0aGlzLnJlc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUocmVtb3ZlZENoaWxkTm9kZXMpO1xuXG4gIHRoaXMuc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUoYWRkZWRDaGlsZE5vZGVzKTtcblxuICByZXR1cm4gcmVtb3ZlZENoaWxkTm9kZXM7XG59XG5cbmZ1bmN0aW9uIHNsaWNlQ2hpbGROb2RlcyhzdGFydEluZGV4LCBlbmRJbmRleCA9IEluZmluaXR5KSB7XG4gIGNvbnN0IGNoaWxkTm9kZXMgPSB0aGlzLmNoaWxkTm9kZXMuc2xpY2Uoc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xuXG4gIHJldHVybiBjaGlsZE5vZGVzO1xufVxuXG5mdW5jdGlvbiBnZXRBbmNlc3Rvck5vZGVzKCkge1xuICBjb25zdCBhbmNlc3Rvck5vZGVzID0gW107XG5cbiAgbGV0IGFuY2VzdG9yTm9kZSA9IHRoaXMucGFyZW50Tm9kZTsgLy8vXG5cbiAgd2hpbGUgKGFuY2VzdG9yTm9kZSAhPT0gbnVsbCkge1xuICAgIGFuY2VzdG9yTm9kZXMucHVzaChhbmNlc3Rvck5vZGUpO1xuXG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IGFuY2VzdG9yTm9kZS5nZXRQYXJlbnROb2RlKCk7XG5cbiAgICBhbmNlc3Rvck5vZGUgPSBwYXJlbnROb2RlOyAgLy8vXG4gIH1cblxuICByZXR1cm4gYW5jZXN0b3JOb2Rlcztcbn1cblxuZnVuY3Rpb24gbWFwQW5jZXN0b3JOb2RlKGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFuY2VzdG9yTm9kZXMgPSB0aGlzLmdldEFuY2VzdG9yTm9kZXMoKTtcblxuICByZXR1cm4gYW5jZXN0b3JOb2Rlcy5tYXAoY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiBzb21lQW5jZXN0b3JOb2RlKGNhbGxiYWNrKSB7XG4gIGxldCByZXN1bHQgPSBmYWxzZTtcblxuICBsZXQgaW5kZXggPSAwLFxuICAgICAgYW5jZXN0b3JOb2RlID0gdGhpcy5wYXJlbnROb2RlOyAvLy9cblxuICB3aGlsZSAoYW5jZXN0b3JOb2RlICE9PSBudWxsKSB7XG4gICAgcmVzdWx0ID0gY2FsbGJhY2soYW5jZXN0b3JOb2RlLCBpbmRleCk7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnROb2RlID0gYW5jZXN0b3JOb2RlLmdldFBhcmVudE5vZGUoKTtcblxuICAgIGFuY2VzdG9yTm9kZSA9IHBhcmVudE5vZGU7ICAvLy9cblxuICAgIGluZGV4Kys7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBmaW5kQW5jZXN0b3JOb2RlKGNhbGxiYWNrKSB7XG4gIGxldCBpbmRleCA9IDAsXG4gICAgICBhbmNlc3Rvck5vZGUgPSB0aGlzLnBhcmVudE5vZGU7IC8vL1xuXG4gIHdoaWxlIChhbmNlc3Rvck5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjayhhbmNlc3Rvck5vZGUsIGluZGV4KTtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJldHVybiBhbmNlc3Rvck5vZGU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IGFuY2VzdG9yTm9kZS5nZXRQYXJlbnROb2RlKCk7XG5cbiAgICBhbmNlc3Rvck5vZGUgPSBwYXJlbnROb2RlOyAgLy8vXG5cbiAgICBpbmRleCsrO1xuICB9XG59XG5cbmZ1bmN0aW9uIGV2ZXJ5QW5jZXN0b3JOb2RlKGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFuY2VzdG9yTm9kZXMgPSB0aGlzLmdldEFuY2VzdG9yTm9kZXMoKTtcblxuICByZXR1cm4gYW5jZXN0b3JOb2Rlcy5ldmVyeShjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIGZpbHRlckFuY2VzdG9yTm9kZShjYWxsYmFjaykge1xuICBjb25zdCBhbmNlc3Rvck5vZGVzID0gdGhpcy5nZXRBbmNlc3Rvck5vZGVzKCk7XG5cbiAgcmV0dXJuIGFuY2VzdG9yTm9kZXMuZmlsdGVyKGNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gcmVkdWNlQW5jZXN0b3JOb2RlKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgY29uc3QgYW5jZXN0b3JOb2RlcyA9IHRoaXMuZ2V0QW5jZXN0b3JOb2RlcygpO1xuXG4gIHJldHVybiBhbmNlc3Rvck5vZGVzLnJlZHVjZShjYWxsYmFjaywgaW5pdGlhbFZhbHVlKTtcbn1cblxuZnVuY3Rpb24gZm9yRWFjaEFuY2VzdG9yTm9kZShjYWxsYmFjaykge1xuICBjb25zdCBhbmNlc3Rvck5vZGVzID0gdGhpcy5nZXRBbmNlc3Rvck5vZGVzKCk7XG5cbiAgYW5jZXN0b3JOb2Rlcy5mb3JFYWNoKGNhbGxiYWNrKTtcbn1cblxuY29uc3Qgbm9kZU1peGlucyA9IHtcbiAgZ2V0TXVsdGlwbGljaXR5LFxuICBtYXBDaGlsZE5vZGUsXG4gIHNvbWVDaGlsZE5vZGUsXG4gIGZpbmRDaGlsZE5vZGUsXG4gIGV2ZXJ5Q2hpbGROb2RlLFxuICBmaWx0ZXJDaGlsZE5vZGUsXG4gIHJlZHVjZUNoaWxkTm9kZSxcbiAgZm9yRWFjaENoaWxkTm9kZSxcbiAgZm9yd2FyZHNTb21lQ2hpbGROb2RlLFxuICBiYWNrd2FyZHNTb21lQ2hpbGROb2RlLFxuICBpbmRleE9mQ2hpbGROb2RlLFxuICBzZXRDaGlsZE5vZGVzUGFyZW50Tm9kZSxcbiAgcmVzZXRDaGlsZE5vZGVzUGFyZW50Tm9kZSxcbiAgYWRkQ2hpbGROb2RlLFxuICBhZGRDaGlsZE5vZGVzLFxuICByZW1vdmVDaGlsZE5vZGUsXG4gIHJlbW92ZUNoaWxkTm9kZXMsXG4gIHJlcGxhY2VDaGlsZE5vZGUsXG4gIHJlcGxhY2VDaGlsZE5vZGVzLFxuICBhcHBlbmRDaGlsZE5vZGUsXG4gIGFwcGVuZENoaWxkTm9kZXMsXG4gIHByZXBlbmRDaGlsZE5vZGUsXG4gIHByZXBlbmRDaGlsZE5vZGVzLFxuICBzcGxpY2VDaGlsZE5vZGVzLFxuICBzbGljZUNoaWxkTm9kZXMsXG4gIGdldEFuY2VzdG9yTm9kZXMsXG4gIG1hcEFuY2VzdG9yTm9kZSxcbiAgc29tZUFuY2VzdG9yTm9kZSxcbiAgZmluZEFuY2VzdG9yTm9kZSxcbiAgZXZlcnlBbmNlc3Rvck5vZGUsXG4gIGZpbHRlckFuY2VzdG9yTm9kZSxcbiAgcmVkdWNlQW5jZXN0b3JOb2RlLFxuICBmb3JFYWNoQW5jZXN0b3JOb2RlXG59O1xuXG5leHBvcnQgZGVmYXVsdCBub2RlTWl4aW5zO1xuIl0sIm5hbWVzIjpbImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJmb3J3YXJkc1NvbWUiLCJiYWNrd2FyZHNTb21lIiwiZ2V0TXVsdGlwbGljaXR5IiwiY2hpbGROb2Rlc0xlbmd0aCIsImNoaWxkTm9kZXMiLCJsZW5ndGgiLCJtdWx0aXBsaWNpdHkiLCJtYXBDaGlsZE5vZGUiLCJjYWxsYmFjayIsIm1hcCIsInNvbWVDaGlsZE5vZGUiLCJzb21lIiwiZmluZENoaWxkTm9kZSIsImZpbmQiLCJldmVyeUNoaWxkTm9kZSIsImV2ZXJ5IiwiZmlsdGVyQ2hpbGROb2RlIiwiZmlsdGVyIiwicmVkdWNlQ2hpbGROb2RlIiwiaW5pdGlhbFZhbHVlIiwicmVkdWNlIiwiZm9yRWFjaENoaWxkTm9kZSIsImZvckVhY2giLCJmb3J3YXJkc1NvbWVDaGlsZE5vZGUiLCJiYWNrd2FyZHNTb21lQ2hpbGROb2RlIiwiaW5kZXhPZkNoaWxkTm9kZSIsImNoaWxkTm9kZSIsImluZGV4T2YiLCJzZXRDaGlsZE5vZGVzUGFyZW50Tm9kZSIsInVuZGVmaW5lZCIsInBhcmVudE5vZGUiLCJzZXRQYXJlbnROb2RlIiwicmVzZXRDaGlsZE5vZGVzUGFyZW50Tm9kZSIsImFkZENoaWxkTm9kZSIsImFkZGVkQ2hpbGROb2RlIiwic3RhcnRJbmRleCIsImFkZGVkQ2hpbGROb2RlcyIsImFkZENoaWxkTm9kZXMiLCJkZWxldGVDb3VudCIsInNwbGljZUNoaWxkTm9kZXMiLCJyZW1vdmVDaGlsZE5vZGUiLCJyZW1vdmVkQ2hpbGROb2RlIiwicmVtb3ZlZENoaWxkTm9kZXMiLCJyZW1vdmVDaGlsZE5vZGVzIiwicmVtb3ZlZENoaWxkTm9kZXNMZW5ndGgiLCJmaXJzdFJlcGxhY2VkQ2hpbGROb2RlIiwicmVwbGFjZUNoaWxkTm9kZSIsInJlcGxhY2VkQ2hpbGROb2RlIiwicmVwbGFjZW1lbnRDaGlsZE5vZGVzIiwicmVwbGFjZWRDaGlsZE5vZGVzIiwicmVwbGFjZUNoaWxkTm9kZXMiLCJyZXBsYWNlZENoaWxkTm9kZXNMZW5ndGgiLCJhcHBlbmRDaGlsZE5vZGUiLCJhcHBlbmRlZENoaWxkTm9kZSIsImFwcGVuZGVkQ2hpbGROb2RlcyIsImFwcGVuZENoaWxkTm9kZXMiLCJwcmVwZW5kQ2hpbGROb2RlIiwicHJlcGVuZGVkQ2hpbGROb2RlIiwicHJlcGVuZGVkQ2hpbGROb2RlcyIsInByZXBlbmRDaGlsZE5vZGVzIiwic3BsaWNlIiwic2xpY2VDaGlsZE5vZGVzIiwiZW5kSW5kZXgiLCJJbmZpbml0eSIsInNsaWNlIiwiZ2V0QW5jZXN0b3JOb2RlcyIsImFuY2VzdG9yTm9kZXMiLCJhbmNlc3Rvck5vZGUiLCJwdXNoIiwiZ2V0UGFyZW50Tm9kZSIsIm1hcEFuY2VzdG9yTm9kZSIsInNvbWVBbmNlc3Rvck5vZGUiLCJyZXN1bHQiLCJpbmRleCIsImZpbmRBbmNlc3Rvck5vZGUiLCJldmVyeUFuY2VzdG9yTm9kZSIsImZpbHRlckFuY2VzdG9yTm9kZSIsInJlZHVjZUFuY2VzdG9yTm9kZSIsImZvckVhY2hBbmNlc3Rvck5vZGUiLCJub2RlTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEwU0E7OztlQUFBOzs7eUJBeFMrQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0IsSUFBUUEsUUFBdUNDLHlCQUFjLENBQXJERCxPQUFPRSxlQUFnQ0QseUJBQWMsQ0FBOUNDLGNBQWNDLGdCQUFrQkYseUJBQWMsQ0FBaENFO0FBRTdCLFNBQVNDO0lBQ1AsSUFBTUMsbUJBQW1CLElBQUksQ0FBQ0MsVUFBVSxDQUFDQyxNQUFNLEVBQ3pDQyxlQUFlSCxrQkFBbUIsR0FBRztJQUUzQyxPQUFPRztBQUNUO0FBRUEsU0FBU0MsYUFBYUMsUUFBUTtJQUFJLE9BQU8sSUFBSSxDQUFDSixV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
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgZmlyc3QsIGZvcndhcmRzU29tZSwgYmFja3dhcmRzU29tZSB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmZ1bmN0aW9uIGdldE11bHRpcGxpY2l0eSgpIHtcbiAgY29uc3QgY2hpbGROb2Rlc0xlbmd0aCA9IHRoaXMuY2hpbGROb2Rlcy5sZW5ndGgsXG4gICAgICAgIG11bHRpcGxpY2l0eSA9IGNoaWxkTm9kZXNMZW5ndGg7ICAvLy9cblxuICByZXR1cm4gbXVsdGlwbGljaXR5O1xufVxuXG5mdW5jdGlvbiBtYXBDaGlsZE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuY2hpbGROb2Rlcy5tYXAoY2FsbGJhY2spOyB9XG5cbmZ1bmN0aW9uIHNvbWVDaGlsZE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuY2hpbGROb2Rlcy5zb21lKGNhbGxiYWNrKTsgfVxuXG5mdW5jdGlvbiBmaW5kQ2hpbGROb2RlKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmNoaWxkTm9kZXMuZmluZChjYWxsYmFjayk7IH1cblxuZnVuY3Rpb24gZXZlcnlDaGlsZE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuY2hpbGROb2Rlcy5ldmVyeShjYWxsYmFjayk7IH1cblxuZnVuY3Rpb24gZmlsdGVyQ2hpbGROb2RlKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmNoaWxkTm9kZXMuZmlsdGVyKGNhbGxiYWNrKTsgfVxuXG5mdW5jdGlvbiByZWR1Y2VDaGlsZE5vZGUoY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkgeyByZXR1cm4gdGhpcy5jaGlsZE5vZGVzLnJlZHVjZShjYWxsYmFjaywgaW5pdGlhbFZhbHVlKTsgfVxuXG5mdW5jdGlvbiBmb3JFYWNoQ2hpbGROb2RlKGNhbGxiYWNrKSB7IHRoaXMuY2hpbGROb2Rlcy5mb3JFYWNoKGNhbGxiYWNrKTsgfVxuXG5mdW5jdGlvbiBmb3J3YXJkc1NvbWVDaGlsZE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIGZvcndhcmRzU29tZSh0aGlzLmNoaWxkTm9kZXMsIGNhbGxiYWNrKTsgfVxuXG5mdW5jdGlvbiBiYWNrd2FyZHNTb21lQ2hpbGROb2RlKGNhbGxiYWNrKSB7IHJldHVybiBiYWNrd2FyZHNTb21lKHRoaXMuY2hpbGROb2RlcywgY2FsbGJhY2spOyB9XG5cbmZ1bmN0aW9uIGluZGV4T2ZDaGlsZE5vZGUoY2hpbGROb2RlKSB7IHJldHVybiB0aGlzLmNoaWxkTm9kZXMuaW5kZXhPZihjaGlsZE5vZGUpOyB9XG5cbmZ1bmN0aW9uIHNldENoaWxkTm9kZXNQYXJlbnROb2RlKGNoaWxkTm9kZXMpIHtcbiAgaWYgKGNoaWxkTm9kZXMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNoaWxkTm9kZXMgPSBbXG4gICAgICAuLi50aGlzLmNoaWxkTm9kZXNcbiAgICBdO1xuICB9XG5cbiAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXM7XG5cbiAgY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICBjaGlsZE5vZGUuc2V0UGFyZW50Tm9kZShwYXJlbnROb2RlKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUoY2hpbGROb2Rlcykge1xuICBpZiAoY2hpbGROb2RlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2hpbGROb2RlcyA9IFtcbiAgICAgIC4uLnRoaXMuY2hpbGROb2Rlc1xuICAgIF07XG4gIH1cblxuICBjb25zdCBwYXJlbnROb2RlID0gbnVsbDtcblxuICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNoaWxkTm9kZS5zZXRQYXJlbnROb2RlKHBhcmVudE5vZGUpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRkQ2hpbGROb2RlKGFkZGVkQ2hpbGROb2RlLCBzdGFydEluZGV4KSB7XG4gIGNvbnN0IGFkZGVkQ2hpbGROb2RlcyA9IFtcbiAgICBhZGRlZENoaWxkTm9kZVxuICBdO1xuXG4gIHRoaXMuYWRkQ2hpbGROb2RlcyhhZGRlZENoaWxkTm9kZXMsIHN0YXJ0SW5kZXgpO1xufVxuXG5mdW5jdGlvbiBhZGRDaGlsZE5vZGVzKGFkZGVkQ2hpbGROb2Rlcywgc3RhcnRJbmRleCkge1xuICBjb25zdCBkZWxldGVDb3VudCA9IDA7XG5cbiAgdGhpcy5zcGxpY2VDaGlsZE5vZGVzKHN0YXJ0SW5kZXgsIGRlbGV0ZUNvdW50LCBhZGRlZENoaWxkTm9kZXMpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVDaGlsZE5vZGUocmVtb3ZlZENoaWxkTm9kZSkge1xuICBsZXQgcmVtb3ZlZENoaWxkTm9kZXM7XG5cbiAgcmVtb3ZlZENoaWxkTm9kZXMgPSBbXG4gICAgcmVtb3ZlZENoaWxkTm9kZVxuICBdO1xuXG4gIHJlbW92ZWRDaGlsZE5vZGVzID0gdGhpcy5yZW1vdmVDaGlsZE5vZGVzKHJlbW92ZWRDaGlsZE5vZGVzKTtcblxuICByZXR1cm4gcmVtb3ZlZENoaWxkTm9kZXM7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkTm9kZXMocmVtb3ZlZENoaWxkTm9kZXMpIHtcbiAgaWYgKHJlbW92ZWRDaGlsZE5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICByZW1vdmVkQ2hpbGROb2RlcyA9IFtcbiAgICAgIC4uLnRoaXMuY2hpbGROb2Rlc1xuICAgIF07XG4gIH1cblxuICBjb25zdCByZW1vdmVkQ2hpbGROb2Rlc0xlbmd0aCA9IHJlbW92ZWRDaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAocmVtb3ZlZENoaWxkTm9kZXNMZW5ndGggPiAwKSB7XG4gICAgY29uc3QgZmlyc3RSZXBsYWNlZENoaWxkTm9kZSA9IGZpcnN0KHJlbW92ZWRDaGlsZE5vZGVzKSxcbiAgICAgICAgICBzdGFydEluZGV4ID0gdGhpcy5jaGlsZE5vZGVzLmluZGV4T2YoZmlyc3RSZXBsYWNlZENoaWxkTm9kZSksIC8vL1xuICAgICAgICAgIGRlbGV0ZUNvdW50ID0gcmVtb3ZlZENoaWxkTm9kZXNMZW5ndGgsIC8vL1xuICAgICAgICAgIGFkZGVkQ2hpbGROb2RlcyA9IFtdO1xuXG4gICAgcmVtb3ZlZENoaWxkTm9kZXMgPSB0aGlzLnNwbGljZUNoaWxkTm9kZXMoc3RhcnRJbmRleCwgZGVsZXRlQ291bnQsIGFkZGVkQ2hpbGROb2Rlcyk7XG4gIH1cblxuICByZXR1cm4gcmVtb3ZlZENoaWxkTm9kZXM7XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2VDaGlsZE5vZGUocmVwbGFjZWRDaGlsZE5vZGUsIHJlcGxhY2VtZW50Q2hpbGROb2Rlcykge1xuICBjb25zdCByZXBsYWNlZENoaWxkTm9kZXMgPSBbXG4gICAgcmVwbGFjZWRDaGlsZE5vZGVcbiAgXTtcblxuICB0aGlzLnJlcGxhY2VDaGlsZE5vZGVzKHJlcGxhY2VkQ2hpbGROb2RlcywgcmVwbGFjZW1lbnRDaGlsZE5vZGVzKTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZUNoaWxkTm9kZXMocmVwbGFjZWRDaGlsZE5vZGVzLCByZXBsYWNlbWVudENoaWxkTm9kZXMpIHtcbiAgY29uc3QgcmVwbGFjZWRDaGlsZE5vZGVzTGVuZ3RoID0gcmVwbGFjZWRDaGlsZE5vZGVzLmxlbmd0aCxcbiAgICAgICAgZmlyc3RSZXBsYWNlZENoaWxkTm9kZSA9IGZpcnN0KHJlcGxhY2VkQ2hpbGROb2RlcyksXG4gICAgICAgIHN0YXJ0SW5kZXggPSB0aGlzLmNoaWxkTm9kZXMuaW5kZXhPZihmaXJzdFJlcGxhY2VkQ2hpbGROb2RlKSwgLy8vXG4gICAgICAgIGRlbGV0ZUNvdW50ID0gcmVwbGFjZWRDaGlsZE5vZGVzTGVuZ3RoOyAvLy9cblxuICB0aGlzLnNwbGljZUNoaWxkTm9kZXMoc3RhcnRJbmRleCwgZGVsZXRlQ291bnQsIHJlcGxhY2VtZW50Q2hpbGROb2Rlcyk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZENoaWxkTm9kZShhcHBlbmRlZENoaWxkTm9kZSkge1xuICBjb25zdCBhcHBlbmRlZENoaWxkTm9kZXMgPSBbXG4gICAgYXBwZW5kZWRDaGlsZE5vZGVcbiAgXTtcblxuICB0aGlzLmFwcGVuZENoaWxkTm9kZXMoYXBwZW5kZWRDaGlsZE5vZGVzKTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kQ2hpbGROb2RlcyhhcHBlbmRlZENoaWxkTm9kZXMpIHtcbiAgY29uc3QgYWRkZWRDaGlsZE5vZGVzID0gYXBwZW5kZWRDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgbXVsdGlwbGljaXR5ID0gdGhpcy5nZXRNdWx0aXBsaWNpdHkoKSxcbiAgICAgICAgc3RhcnRJbmRleCA9IG11bHRpcGxpY2l0eTsgIC8vL1xuXG4gIHRoaXMuYWRkQ2hpbGROb2RlcyhhZGRlZENoaWxkTm9kZXMsIHN0YXJ0SW5kZXgpO1xufVxuXG5mdW5jdGlvbiBwcmVwZW5kQ2hpbGROb2RlKHByZXBlbmRlZENoaWxkTm9kZSkge1xuICBjb25zdCBwcmVwZW5kZWRDaGlsZE5vZGVzID0gW1xuICAgIHByZXBlbmRlZENoaWxkTm9kZVxuICBdO1xuXG4gIHRoaXMucHJlcGVuZENoaWxkTm9kZXMocHJlcGVuZGVkQ2hpbGROb2Rlcyk7XG59XG5cbmZ1bmN0aW9uIHByZXBlbmRDaGlsZE5vZGVzKHByZXBlbmRlZENoaWxkTm9kZXMpIHtcbiAgY29uc3QgYWRkZWRDaGlsZE5vZGVzID0gcHJlcGVuZGVkQ2hpbGROb2RlcywgIC8vL1xuICAgICAgICBzdGFydEluZGV4ID0gMDtcblxuICB0aGlzLmFkZENoaWxkTm9kZXMoYWRkZWRDaGlsZE5vZGVzLCBzdGFydEluZGV4KTtcbn1cblxuZnVuY3Rpb24gc3BsaWNlQ2hpbGROb2RlcyhzdGFydEluZGV4LCBkZWxldGVDb3VudCwgYWRkZWRDaGlsZE5vZGVzID0gW10pIHtcbiAgY29uc3QgcmVtb3ZlZENoaWxkTm9kZXMgPSB0aGlzLmNoaWxkTm9kZXMuc3BsaWNlKHN0YXJ0SW5kZXgsIGRlbGV0ZUNvdW50LCAuLi5hZGRlZENoaWxkTm9kZXMpO1xuXG4gIHRoaXMucmVzZXRDaGlsZE5vZGVzUGFyZW50Tm9kZShyZW1vdmVkQ2hpbGROb2Rlcyk7XG5cbiAgdGhpcy5zZXRDaGlsZE5vZGVzUGFyZW50Tm9kZShhZGRlZENoaWxkTm9kZXMpO1xuXG4gIHJldHVybiByZW1vdmVkQ2hpbGROb2Rlcztcbn1cblxuZnVuY3Rpb24gc2xpY2VDaGlsZE5vZGVzKHN0YXJ0SW5kZXgsIGVuZEluZGV4ID0gSW5maW5pdHkpIHtcbiAgY29uc3QgY2hpbGROb2RlcyA9IHRoaXMuY2hpbGROb2Rlcy5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleCk7XG5cbiAgcmV0dXJuIGNoaWxkTm9kZXM7XG59XG5cbmZ1bmN0aW9uIGdldEFuY2VzdG9yTm9kZXMoKSB7XG4gIGNvbnN0IGFuY2VzdG9yTm9kZXMgPSBbXTtcblxuICBsZXQgYW5jZXN0b3JOb2RlID0gdGhpcy5wYXJlbnROb2RlOyAvLy9cblxuICB3aGlsZSAoYW5jZXN0b3JOb2RlICE9PSBudWxsKSB7XG4gICAgYW5jZXN0b3JOb2Rlcy5wdXNoKGFuY2VzdG9yTm9kZSk7XG5cbiAgICBjb25zdCBwYXJlbnROb2RlID0gYW5jZXN0b3JOb2RlLmdldFBhcmVudE5vZGUoKTtcblxuICAgIGFuY2VzdG9yTm9kZSA9IHBhcmVudE5vZGU7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBhbmNlc3Rvck5vZGVzO1xufVxuXG5mdW5jdGlvbiBtYXBBbmNlc3Rvck5vZGUoY2FsbGJhY2spIHtcbiAgY29uc3QgYW5jZXN0b3JOb2RlcyA9IHRoaXMuZ2V0QW5jZXN0b3JOb2RlcygpO1xuXG4gIHJldHVybiBhbmNlc3Rvck5vZGVzLm1hcChjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIHNvbWVBbmNlc3Rvck5vZGUoY2FsbGJhY2spIHtcbiAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuXG4gIGxldCBpbmRleCA9IDAsXG4gICAgICBhbmNlc3Rvck5vZGUgPSB0aGlzLnBhcmVudE5vZGU7IC8vL1xuXG4gIHdoaWxlIChhbmNlc3Rvck5vZGUgIT09IG51bGwpIHtcbiAgICByZXN1bHQgPSBjYWxsYmFjayhhbmNlc3Rvck5vZGUsIGluZGV4KTtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudE5vZGUgPSBhbmNlc3Rvck5vZGUuZ2V0UGFyZW50Tm9kZSgpO1xuXG4gICAgYW5jZXN0b3JOb2RlID0gcGFyZW50Tm9kZTsgIC8vL1xuXG4gICAgaW5kZXgrKztcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGZpbmRBbmNlc3Rvck5vZGUoY2FsbGJhY2spIHtcbiAgbGV0IGluZGV4ID0gMCxcbiAgICAgIGFuY2VzdG9yTm9kZSA9IHRoaXMucGFyZW50Tm9kZTsgLy8vXG5cbiAgd2hpbGUgKGFuY2VzdG9yTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKGFuY2VzdG9yTm9kZSwgaW5kZXgpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcmV0dXJuIGFuY2VzdG9yTm9kZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnROb2RlID0gYW5jZXN0b3JOb2RlLmdldFBhcmVudE5vZGUoKTtcblxuICAgIGFuY2VzdG9yTm9kZSA9IHBhcmVudE5vZGU7ICAvLy9cblxuICAgIGluZGV4Kys7XG4gIH1cbn1cblxuZnVuY3Rpb24gZXZlcnlBbmNlc3Rvck5vZGUoY2FsbGJhY2spIHtcbiAgY29uc3QgYW5jZXN0b3JOb2RlcyA9IHRoaXMuZ2V0QW5jZXN0b3JOb2RlcygpO1xuXG4gIHJldHVybiBhbmNlc3Rvck5vZGVzLmV2ZXJ5KGNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gZmlsdGVyQW5jZXN0b3JOb2RlKGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFuY2VzdG9yTm9kZXMgPSB0aGlzLmdldEFuY2VzdG9yTm9kZXMoKTtcblxuICByZXR1cm4gYW5jZXN0b3JOb2Rlcy5maWx0ZXIoY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiByZWR1Y2VBbmNlc3Rvck5vZGUoY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkge1xuICBjb25zdCBhbmNlc3Rvck5vZGVzID0gdGhpcy5nZXRBbmNlc3Rvck5vZGVzKCk7XG5cbiAgcmV0dXJuIGFuY2VzdG9yTm9kZXMucmVkdWNlKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpO1xufVxuXG5mdW5jdGlvbiBmb3JFYWNoQW5jZXN0b3JOb2RlKGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFuY2VzdG9yTm9kZXMgPSB0aGlzLmdldEFuY2VzdG9yTm9kZXMoKTtcblxuICBhbmNlc3Rvck5vZGVzLmZvckVhY2goY2FsbGJhY2spO1xufVxuXG5jb25zdCBub2RlTWl4aW5zID0ge1xuICBnZXRNdWx0aXBsaWNpdHksXG4gIG1hcENoaWxkTm9kZSxcbiAgc29tZUNoaWxkTm9kZSxcbiAgZmluZENoaWxkTm9kZSxcbiAgZXZlcnlDaGlsZE5vZGUsXG4gIGZpbHRlckNoaWxkTm9kZSxcbiAgcmVkdWNlQ2hpbGROb2RlLFxuICBmb3JFYWNoQ2hpbGROb2RlLFxuICBmb3J3YXJkc1NvbWVDaGlsZE5vZGUsXG4gIGJhY2t3YXJkc1NvbWVDaGlsZE5vZGUsXG4gIGluZGV4T2ZDaGlsZE5vZGUsXG4gIHNldENoaWxkTm9kZXNQYXJlbnROb2RlLFxuICByZXNldENoaWxkTm9kZXNQYXJlbnROb2RlLFxuICBhZGRDaGlsZE5vZGUsXG4gIGFkZENoaWxkTm9kZXMsXG4gIHJlbW92ZUNoaWxkTm9kZSxcbiAgcmVtb3ZlQ2hpbGROb2RlcyxcbiAgcmVwbGFjZUNoaWxkTm9kZSxcbiAgcmVwbGFjZUNoaWxkTm9kZXMsXG4gIGFwcGVuZENoaWxkTm9kZSxcbiAgYXBwZW5kQ2hpbGROb2RlcyxcbiAgcHJlcGVuZENoaWxkTm9kZSxcbiAgcHJlcGVuZENoaWxkTm9kZXMsXG4gIHNwbGljZUNoaWxkTm9kZXMsXG4gIHNsaWNlQ2hpbGROb2RlcyxcbiAgZ2V0QW5jZXN0b3JOb2RlcyxcbiAgbWFwQW5jZXN0b3JOb2RlLFxuICBzb21lQW5jZXN0b3JOb2RlLFxuICBmaW5kQW5jZXN0b3JOb2RlLFxuICBldmVyeUFuY2VzdG9yTm9kZSxcbiAgZmlsdGVyQW5jZXN0b3JOb2RlLFxuICByZWR1Y2VBbmNlc3Rvck5vZGUsXG4gIGZvckVhY2hBbmNlc3Rvck5vZGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG5vZGVNaXhpbnM7XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImZvcndhcmRzU29tZSIsImJhY2t3YXJkc1NvbWUiLCJnZXRNdWx0aXBsaWNpdHkiLCJjaGlsZE5vZGVzTGVuZ3RoIiwiY2hpbGROb2RlcyIsImxlbmd0aCIsIm11bHRpcGxpY2l0eSIsIm1hcENoaWxkTm9kZSIsImNhbGxiYWNrIiwibWFwIiwic29tZUNoaWxkTm9kZSIsInNvbWUiLCJmaW5kQ2hpbGROb2RlIiwiZmluZCIsImV2ZXJ5Q2hpbGROb2RlIiwiZXZlcnkiLCJmaWx0ZXJDaGlsZE5vZGUiLCJmaWx0ZXIiLCJyZWR1Y2VDaGlsZE5vZGUiLCJpbml0aWFsVmFsdWUiLCJyZWR1Y2UiLCJmb3JFYWNoQ2hpbGROb2RlIiwiZm9yRWFjaCIsImZvcndhcmRzU29tZUNoaWxkTm9kZSIsImJhY2t3YXJkc1NvbWVDaGlsZE5vZGUiLCJpbmRleE9mQ2hpbGROb2RlIiwiY2hpbGROb2RlIiwiaW5kZXhPZiIsInNldENoaWxkTm9kZXNQYXJlbnROb2RlIiwidW5kZWZpbmVkIiwicGFyZW50Tm9kZSIsInNldFBhcmVudE5vZGUiLCJyZXNldENoaWxkTm9kZXNQYXJlbnROb2RlIiwiYWRkQ2hpbGROb2RlIiwiYWRkZWRDaGlsZE5vZGUiLCJzdGFydEluZGV4IiwiYWRkZWRDaGlsZE5vZGVzIiwiYWRkQ2hpbGROb2RlcyIsImRlbGV0ZUNvdW50Iiwic3BsaWNlQ2hpbGROb2RlcyIsInJlbW92ZUNoaWxkTm9kZSIsInJlbW92ZWRDaGlsZE5vZGUiLCJyZW1vdmVkQ2hpbGROb2RlcyIsInJlbW92ZUNoaWxkTm9kZXMiLCJyZW1vdmVkQ2hpbGROb2Rlc0xlbmd0aCIsImZpcnN0UmVwbGFjZWRDaGlsZE5vZGUiLCJyZXBsYWNlQ2hpbGROb2RlIiwicmVwbGFjZWRDaGlsZE5vZGUiLCJyZXBsYWNlbWVudENoaWxkTm9kZXMiLCJyZXBsYWNlZENoaWxkTm9kZXMiLCJyZXBsYWNlQ2hpbGROb2RlcyIsInJlcGxhY2VkQ2hpbGROb2Rlc0xlbmd0aCIsImFwcGVuZENoaWxkTm9kZSIsImFwcGVuZGVkQ2hpbGROb2RlIiwiYXBwZW5kZWRDaGlsZE5vZGVzIiwiYXBwZW5kQ2hpbGROb2RlcyIsInByZXBlbmRDaGlsZE5vZGUiLCJwcmVwZW5kZWRDaGlsZE5vZGUiLCJwcmVwZW5kZWRDaGlsZE5vZGVzIiwicHJlcGVuZENoaWxkTm9kZXMiLCJzcGxpY2UiLCJzbGljZUNoaWxkTm9kZXMiLCJlbmRJbmRleCIsIkluZmluaXR5Iiwic2xpY2UiLCJnZXRBbmNlc3Rvck5vZGVzIiwiYW5jZXN0b3JOb2RlcyIsImFuY2VzdG9yTm9kZSIsInB1c2giLCJnZXRQYXJlbnROb2RlIiwibWFwQW5jZXN0b3JOb2RlIiwic29tZUFuY2VzdG9yTm9kZSIsInJlc3VsdCIsImluZGV4IiwiZmluZEFuY2VzdG9yTm9kZSIsImV2ZXJ5QW5jZXN0b3JOb2RlIiwiZmlsdGVyQW5jZXN0b3JOb2RlIiwicmVkdWNlQW5jZXN0b3JOb2RlIiwiZm9yRWFjaEFuY2VzdG9yTm9kZSIsIm5vZGVNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdTQTs7O2VBQUE7Ozt5QkF0UytCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQixJQUFRQSxRQUF1Q0MseUJBQWMsQ0FBckRELE9BQU9FLGVBQWdDRCx5QkFBYyxDQUE5Q0MsY0FBY0MsZ0JBQWtCRix5QkFBYyxDQUFoQ0U7QUFFN0IsU0FBU0M7SUFDUCxJQUFNQyxtQkFBbUIsSUFBSSxDQUFDQyxVQUFVLENBQUNDLE1BQU0sRUFDekNDLGVBQWVILGtCQUFtQixHQUFHO0lBRTNDLE9BQU9HO0FBQ1Q7QUFFQSxTQUFTQyxhQUFhQyxRQUFRO0lBQUksT0FBTyxJQUFJLENBQUNKLFVBQVUsQ0FB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
|
package/lib/node/nonTerminal.js
CHANGED
|
@@ -408,6 +408,7 @@ var NonTerminalNode = /*#__PURE__*/ function() {
|
|
|
408
408
|
]);
|
|
409
409
|
return NonTerminalNode;
|
|
410
410
|
}();
|
|
411
|
+
Object.assign(NonTerminalNode.prototype, _node.default);
|
|
411
412
|
function cloneChildNodes(childNodes) {
|
|
412
413
|
childNodes = childNodes.map(function(childNode) {
|
|
413
414
|
childNode = childNode.clone(); ///
|
|
@@ -415,6 +416,5 @@ function cloneChildNodes(childNodes) {
|
|
|
415
416
|
});
|
|
416
417
|
return childNodes;
|
|
417
418
|
}
|
|
418
|
-
Object.assign(NonTerminalNode.prototype, _node.default);
|
|
419
419
|
|
|
420
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL25vblRlcm1pbmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IHNwZWNpYWxTeW1ib2xzIH0gZnJvbSBcIm9jY2FtLWxleGVyc1wiO1xuXG5pbXBvcnQgbm9kZU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL25vZGVcIjtcbmltcG9ydCBOb25UZXJtaW5hbE5vZGVQYXJzZVRyZWUgZnJvbSBcIi4uL3BhcnNlVHJlZS9ub25UZXJtaW5hbE5vZGVcIjtcblxuY29uc3QgeyBmaXJzdCwgbWF0Y2ggfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBvcGFxdWU6IG9wYXF1ZVNwZWNpYWxTeW1ib2wgLCBzZW1pT3BhcXVlOiBzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCB9ID0gc3BlY2lhbFN5bWJvbHM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5vblRlcm1pbmFsTm9kZSB7XG4gIGNvbnN0cnVjdG9yKHJ1bGVOYW1lLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7XG4gICAgdGhpcy5ydWxlTmFtZSA9IHJ1bGVOYW1lO1xuICAgIHRoaXMucGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XG4gICAgdGhpcy5jaGlsZE5vZGVzID0gY2hpbGROb2RlcztcbiAgICB0aGlzLm9wYWNpdHkgPSBvcGFjaXR5O1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBnZXRSdWxlTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlTmFtZTtcbiAgfVxuXG4gIGdldFBhcmVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50Tm9kZTtcbiAgfVxuXG4gIGdldENoaWxkTm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGROb2RlcztcbiAgfVxuXG4gIGdldE9wYWNpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMub3BhY2l0eTtcbiAgfVxuXG4gIGdldFByZWNlZGVuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJlY2VkZW5jZTtcbiAgfVxuXG4gIHNldFJ1bGVOYW1lKHJ1bGVOYW1lKSB7XG4gICAgdGhpcy5ydWxlTmFtZSA9IHJ1bGVOYW1lO1xuICB9XG5cbiAgc2V0UGFyZW50Tm9kZShwYXJlbnROb2RlKSB7XG4gICAgdGhpcy5wYXJlbnROb2RlID0gcGFyZW50Tm9kZTtcbiAgfVxuXG4gIHNldENoaWxkTm9kZXMoY2hpbGROb2Rlcykge1xuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSAwLFxuICAgICAgICAgIGRlbGV0ZUNvdW50ID0gSW5maW5pdHksXG4gICAgICAgICAgYWRkZWRDaGlsZE5vZGVzID0gY2hpbGROb2RlczsgIC8vL1xuXG4gICAgdGhpcy5zcGxpY2VDaGlsZE5vZGVzKHN0YXJ0SW5kZXgsIGRlbGV0ZUNvdW50LCBhZGRlZENoaWxkTm9kZXMpO1xuICB9XG5cbiAgc2V0T3BhY2l0eShvcGFjaXR5KSB7XG4gICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgfVxuXG4gIHNldFByZWNlZGVuY2UocHJlY2VkZW5jZSkge1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBpc09wYXF1ZSgpIHtcbiAgICBjb25zdCBvcGFxdWUgPSAodGhpcy5vcGFjaXR5ID09PSBvcGFxdWVTcGVjaWFsU3ltYm9sKTtcblxuICAgIHJldHVybiBvcGFxdWU7XG4gIH1cblxuICBpc1NlbWlPcGFxdWUoKSB7XG4gICAgY29uc3Qgc2VtaU9wYXF1ZSA9ICh0aGlzLm9wYWNpdHkgPT09IHNlbWlPcGFxdWVTcGVjaWFsU3ltYm9sKTtcblxuICAgIHJldHVybiBzZW1pT3BhcXVlO1xuICB9XG5cbiAgaXNUcmFuc3BhcmVudCgpIHtcbiAgICBjb25zdCBzZW1pT3BhcXVlID0gKHRoaXMub3BhY2l0eSA9PT0gbnVsbCk7XG5cbiAgICByZXR1cm4gc2VtaU9wYXF1ZTtcbiAgfVxuXG4gIGlzVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGlzTm9uVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHRydWU7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xuICB9XG5cbiAgZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKSB7XG4gICAgbGV0IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4O1xuXG4gICAgdGhpcy5mb3J3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpO1xuXG4gICAgICBpZiAoZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXg7XG4gIH1cblxuICBnZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2Vucykge1xuICAgIGxldCBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4O1xuXG4gICAgdGhpcy5iYWNrd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSBjaGlsZE5vZGU7IC8vL1xuXG4gICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2Vucyk7XG5cbiAgICAgIGlmIChsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXg7XG4gIH1cblxuICBnZXRTaWduaWZpY2FudFRva2VucyhzaWduaWZpY2FudFRva2VucyA9IFtdKSB7XG4gICAgdGhpcy5jaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY2hpbGROb2RlLmdldFNpZ25pZmljYW50VG9rZW5zKHNpZ25pZmljYW50VG9rZW5zKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzaWduaWZpY2FudFRva2VucztcbiAgfVxuXG4gIGdldERlc2NlbmRhbnROb2RlcyhkZXNjZW5kYW50Tm9kZXMgPSBbXSkge1xuICAgIGNvbnN0IGRlc2NlbmRhbnROb2RlID0gdGhpczsgLy8vXG5cbiAgICBkZXNjZW5kYW50Tm9kZXMucHVzaChkZXNjZW5kYW50Tm9kZSk7XG5cbiAgICB0aGlzLmNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cblxuICAgICAgICBub25UZXJtaW5hbE5vZGUuZ2V0RGVzY2VuZGFudE5vZGVzKGRlc2NlbmRhbnROb2Rlcyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGVzY2VuZGFudE5vZGVzO1xuICB9XG5cbiAgZ2V0TXVsdGlwbGljaXR5KCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXNMZW5ndGggPSB0aGlzLmNoaWxkTm9kZXMubGVuZ3RoLFxuICAgICAgICAgIG11bHRpcGxpY2l0eSA9IGNoaWxkTm9kZXNMZW5ndGg7ICAvLy9cblxuICAgIHJldHVybiBtdWx0aXBsaWNpdHk7XG4gIH1cblxuICBpc0VtcHR5KCkge1xuICAgIGNvbnN0IG11bHRpcGxpY2l0eSA9IHRoaXMuZ2V0TXVsdGlwbGljaXR5KCksXG4gICAgICAgICAgZW1wdHkgPSAobXVsdGlwbGljaXR5ID09PSAwKTtcblxuICAgIHJldHVybiBlbXB0eTtcbiAgfVxuXG4gIGlzU2luZ3VsYXIoKSB7XG4gICAgY29uc3QgbXVsdGlwbGljaXR5ID0gdGhpcy5nZXRNdWx0aXBsaWNpdHkoKSxcbiAgICAgICAgICBzaW5ndWxhciA9IChtdWx0aXBsaWNpdHkgPT09IDEpO1xuXG4gICAgcmV0dXJuIHNpbmd1bGFyO1xuICB9XG5cbiAgaXNMb3dlclByZWNlZGVuY2UocnVsZU5hbWUsIHByZWNlZGVuY2UpIHtcbiAgICBsZXQgbG93ZXJQcmVjZWRlbmNlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMucHJlY2VkZW5jZSA9PT0gbnVsbCkge1xuICAgICAgbG93ZXJQcmVjZWRlbmNlID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByZWNlZGVuY2UgPT09IEluZmluaXR5KSB7XG4gICAgICBjb25zdCBmaXJzdENoaWxkTm9kZSA9IGZpcnN0KHRoaXMuY2hpbGROb2Rlcyk7XG5cbiAgICAgIGxvd2VyUHJlY2VkZW5jZSA9IGZpcnN0Q2hpbGROb2RlLmlzTG93ZXJQcmVjZWRlbmNlKHJ1bGVOYW1lLCBwcmVjZWRlbmNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG93ZXJQcmVjZWRlbmNlID0gKCh0aGlzLnJ1bGVOYW1lID09PSBydWxlTmFtZSkgJiYgKHRoaXMucHJlY2VkZW5jZSA8IHByZWNlZGVuY2UpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbG93ZXJQcmVjZWRlbmNlO1xuICB9XG5cbiAgaXNVbnByZWNlZGVudGVkKCkge1xuICAgIGxldCB1bnByZWNlZGVudGVkID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5wcmVjZWRlbmNlICE9PSBudWxsKSB7XG4gICAgICB1bnByZWNlZGVudGVkID0gdGhpcy5jaGlsZE5vZGVzLnNvbWUoKGNoaWxkTm9kZSkgPT4geyAgLy8vXG4gICAgICAgIGNvbnN0IGNoaWxkTm9kZUxvd2VyUHJlY2VkZW5jZSA9IGNoaWxkTm9kZS5pc0xvd2VyUHJlY2VkZW5jZSh0aGlzLnJ1bGVOYW1lLCB0aGlzLnByZWNlZGVuY2UpO1xuXG4gICAgICAgIGlmIChjaGlsZE5vZGVMb3dlclByZWNlZGVuY2UpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVucHJlY2VkZW50ZWQ7XG4gIH1cblxuICBhc1BhcnNlVHJlZSh0b2tlbnMpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlUGFyc2VUcmVlID0gTm9uVGVybWluYWxOb2RlUGFyc2VUcmVlLmZyb21Ob25UZXJtaW5hbE5vZGVBbmRUb2tlbnMobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpLFxuICAgICAgICAgIHBhcnNlVHJlZSA9IG5vblRlcm1pbmFsTm9kZVBhcnNlVHJlZTsgIC8vL1xuXG4gICAgcmV0dXJuIHBhcnNlVHJlZTtcbiAgfVxuXG4gIG1hdGNoKG5vZGUsIGRlcHRoID0gSW5maW5pdHksIGV4YWN0bHkgPSBmYWxzZSkge1xuICAgIGxldCBtYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKG5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgICAgaWYgKHRoaXMucnVsZU5hbWUgPT09IG5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZU9wYWNpdHkgPSBub25UZXJtaW5hbE5vZGUuZ2V0T3BhY2l0eSgpO1xuXG4gICAgICAgIGlmICh0aGlzLm9wYWNpdHkgPT09IG5vblRlcm1pbmFsTm9kZU9wYWNpdHkpIHtcbiAgICAgICAgICBjb25zdCBwcmVjZWRlbmNlID0gdGhpcy5nZXRQcmVjZWRlbmNlKCksXG4gICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlUHJlY2VkZW5jZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRQcmVjZWRlbmNlKCk7XG5cbiAgICAgICAgICBpZiAocHJlY2VkZW5jZSA9PT0gbm9uVGVybWluYWxOb2RlUHJlY2VkZW5jZSkge1xuICAgICAgICAgICAgZGVwdGgtLTtcblxuICAgICAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgICAgIG1hdGNoZXMgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCk7XG5cbiAgICAgICAgICAgICAgbWF0Y2hlcyA9IG1hdGNoKHRoaXMuY2hpbGROb2Rlcywgbm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcywgKGNoaWxkTm9kZSwgbm9uVGVybWluYWxOb2RlQ2hpbGROb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGROb2RlTWF0Y2hlc05vblRlcm1pbmFsTm9kZUNoaWxkTm9kZSA9IGNoaWxkTm9kZS5tYXRjaChub25UZXJtaW5hbE5vZGVDaGlsZE5vZGUsIGRlcHRoLCBleGFjdGx5KTtcblxuICAgICAgICAgICAgICAgIGlmIChjaGlsZE5vZGVNYXRjaGVzTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgcmV3cml0ZSgpIHtcbiAgICBjb25zdCByZXdyaXR0ZW5Ob25UZXJtaW5hbE5vZGUgPSBudWxsO1xuXG4gICAgcmV0dXJuIHJld3JpdHRlbk5vblRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5mb3JFYWNoQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNoaWxkTm9kZS5kZXN0cm95KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnBhcmVudE5vZGUgPSBudWxsO1xuICAgIHRoaXMuY2hpbGROb2RlcyA9IG51bGw7XG4gIH1cblxuICBjbG9uZSguLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBDbGFzcyA9IHRoaXMuY29uc3RydWN0b3IsXG4gICAgICAgICAgcGFyZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgcnVsZU5hbWUgPSB0aGlzLnJ1bGVOYW1lLFxuICAgICAgICAgIGNoaWxkTm9kZXMgPSBjbG9uZUNoaWxkTm9kZXModGhpcy5jaGlsZE5vZGVzKSxcbiAgICAgICAgICBvcGFjaXR5ID0gdGhpcy5vcGFjaXR5LFxuICAgICAgICAgIHByZWNlZGVuY2UgPSB0aGlzLnByZWNlZGVuY2UsXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gbmV3IENsYXNzKHJ1bGVOYW1lLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgbm9uVGVybWluYWxOb2RlLnNldENoaWxkTm9kZXNQYXJlbnROb2RlKCk7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KENsYXNzLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgaWYgKG9wYWNpdHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgb3BhY2l0eSA9IGNoaWxkTm9kZXM7IC8vL1xuXG4gICAgICBjaGlsZE5vZGVzID0gcnVsZU5hbWU7ICAvLy9cblxuICAgICAgcnVsZU5hbWUgPSBDbGFzczsgLy8vXG5cbiAgICAgIENsYXNzID0gTm9uVGVybWluYWxOb2RlOyAgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gbmV3IENsYXNzKHJ1bGVOYW1lLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgbm9uVGVybWluYWxOb2RlLnNldENoaWxkTm9kZXNQYXJlbnROb2RlKCk7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNsb25lQ2hpbGROb2RlcyhjaGlsZE5vZGVzKSB7XG4gIGNoaWxkTm9kZXMgPSBjaGlsZE5vZGVzLm1hcCgoY2hpbGROb2RlKSA9PiB7ICAvLy9cbiAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUuY2xvbmUoKTsgIC8vL1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNoaWxkTm9kZXM7XG59XG5cbk9iamVjdC5hc3NpZ24oTm9uVGVybWluYWxOb2RlLnByb3RvdHlwZSwgbm9kZU1peGlucyk7XG4iXSwibmFtZXMiOlsiTm9uVGVybWluYWxOb2RlIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsIm1hdGNoIiwib3BhcXVlIiwib3BhcXVlU3BlY2lhbFN5bWJvbCIsInNwZWNpYWxTeW1ib2xzIiwic2VtaU9wYXF1ZSIsInNlbWlPcGFxdWVTcGVjaWFsU3ltYm9sIiwicnVsZU5hbWUiLCJwYXJlbnROb2RlIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIiwiZ2V0UnVsZU5hbWUiLCJnZXRQYXJlbnROb2RlIiwiZ2V0Q2hpbGROb2RlcyIsImdldE9wYWNpdHkiLCJnZXRQcmVjZWRlbmNlIiwic2V0UnVsZU5hbWUiLCJzZXRQYXJlbnROb2RlIiwic2V0Q2hpbGROb2RlcyIsInN0YXJ0SW5kZXgiLCJkZWxldGVDb3VudCIsIkluZmluaXR5IiwiYWRkZWRDaGlsZE5vZGVzIiwic3BsaWNlQ2hpbGROb2RlcyIsInNldE9wYWNpdHkiLCJzZXRQcmVjZWRlbmNlIiwiaXNPcGFxdWUiLCJpc1NlbWlPcGFxdWUiLCJpc1RyYW5zcGFyZW50IiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwidG9rZW5zIiwiZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJmb3J3YXJkc1NvbWVDaGlsZE5vZGUiLCJjaGlsZE5vZGUiLCJub2RlIiwiZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImxhc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJiYWNrd2FyZHNTb21lQ2hpbGROb2RlIiwiZ2V0U2lnbmlmaWNhbnRUb2tlbnMiLCJzaWduaWZpY2FudFRva2VucyIsImZvckVhY2giLCJnZXREZXNjZW5kYW50Tm9kZXMiLCJkZXNjZW5kYW50Tm9kZXMiLCJkZXNjZW5kYW50Tm9kZSIsInB1c2giLCJjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUiLCJnZXRNdWx0aXBsaWNpdHkiLCJjaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwibXVsdGlwbGljaXR5IiwiaXNFbXB0eSIsImVtcHR5IiwiaXNTaW5ndWxhciIsInNpbmd1bGFyIiwiaXNMb3dlclByZWNlZGVuY2UiLCJsb3dlclByZWNlZGVuY2UiLCJmaXJzdENoaWxkTm9kZSIsImlzVW5wcmVjZWRlbnRlZCIsInVucHJlY2VkZW50ZWQiLCJzb21lIiwiY2hpbGROb2RlTG93ZXJQcmVjZWRlbmNlIiwiYXNQYXJzZVRyZWUiLCJub25UZXJtaW5hbE5vZGVQYXJzZVRyZWUiLCJOb25UZXJtaW5hbE5vZGVQYXJzZVRyZWUiLCJmcm9tTm9uVGVybWluYWxOb2RlQW5kVG9rZW5zIiwicGFyc2VUcmVlIiwiZGVwdGgiLCJleGFjdGx5IiwibWF0Y2hlcyIsIm5vZGVOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVSdWxlTmFtZSIsIm5vblRlcm1pbmFsTm9kZU9wYWNpdHkiLCJub25UZXJtaW5hbE5vZGVQcmVjZWRlbmNlIiwibm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyIsIm5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZSIsImNoaWxkTm9kZU1hdGNoZXNOb25UZXJtaW5hbE5vZGVDaGlsZE5vZGUiLCJyZXdyaXRlIiwicmV3cml0dGVuTm9uVGVybWluYWxOb2RlIiwiZGVzdHJveSIsImZvckVhY2hDaGlsZE5vZGUiLCJjbG9uZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsIkNsYXNzIiwiY29uc3RydWN0b3IiLCJjbG9uZUNoaWxkTm9kZXMiLCJzZXRDaGlsZE5vZGVzUGFyZW50Tm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5IiwidW5kZWZpbmVkIiwibWFwIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwibm9kZU1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJBOzs7eUJBVFU7MkJBQ0E7MkRBRVI7c0VBQ2M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckMsSUFBUUMsUUFBaUJDLHlCQUFjLENBQS9CRCxPQUFPRSxRQUFVRCx5QkFBYyxDQUF4QkMsT0FDUEMsQUFBUUMsc0JBQThEQywyQkFBYyxDQUFwRkYsUUFBOEJHLEFBQVlDLDBCQUE0QkYsMkJBQWMsQ0FBdERDO0FBRXZCLElBQUEsQUFBTVAsZ0NBQU47YUFBTUEsZ0JBQ1BTLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVTtnQ0FEOUNiO1FBRWpCLElBQUksQ0FBQ1MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7a0JBTkRiOztZQVNuQmMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxRQUFRO1lBQ3RCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxVQUFVO1lBQ3hCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxVQUFVO1lBQ3hCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxPQUFPO1lBQ3JCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxVQUFVO1lBQ3hCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVlWLFFBQVE7Z0JBQ2xCLElBQUksQ0FBQ0EsUUFBUSxHQUFHQTtZQUNsQjs7O1lBRUFXLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjVixVQUFVO2dCQUN0QixJQUFJLENBQUNBLFVBQVUsR0FBR0E7WUFDcEI7OztZQUVBVyxLQUFBQTttQkFBQUEsU0FBQUEsY0FBY1YsVUFBVTtnQkFDdEIsSUFBTVcsYUFBYSxHQUNiQyxjQUFjQyxVQUNkQyxrQkFBa0JkLFlBQWEsR0FBRztnQkFFeEMsSUFBSSxDQUFDZSxnQkFBZ0IsQ0FBQ0osWUFBWUMsYUFBYUU7WUFDakQ7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsV0FBV2YsT0FBTztnQkFDaEIsSUFBSSxDQUFDQSxPQUFPLEdBQUdBO1lBQ2pCOzs7WUFFQWdCLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjZixVQUFVO2dCQUN0QixJQUFJLENBQUNBLFVBQVUsR0FBR0E7WUFDcEI7OztZQUVBZ0IsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU16QixTQUFVLElBQUksQ0FBQ1EsT0FBTyxLQUFLUDtnQkFFakMsT0FBT0Q7WUFDVDs7O1lBRUEwQixLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTXZCLGFBQWMsSUFBSSxDQUFDSyxPQUFPLEtBQUtKO2dCQUVyQyxPQUFPRDtZQUNUOzs7WUFFQXdCLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNeEIsYUFBYyxJQUFJLENBQUNLLE9BQU8sS0FBSztnQkFFckMsT0FBT0w7WUFDVDs7O1lBRUF5QixLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsZUFBZTtnQkFFckIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxrQkFBa0I7Z0JBRXhCLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsOEJBQThCQyxNQUFNO2dCQUNsQyxJQUFJQztnQkFFSixJQUFJLENBQUNDLHFCQUFxQixDQUFDLFNBQUNDO29CQUMxQixJQUFNQyxPQUFPRCxXQUFXLEdBQUc7b0JBRTNCRiw2QkFBNkJHLEtBQUtMLDZCQUE2QixDQUFDQztvQkFFaEUsSUFBSUMsK0JBQStCLE1BQU07d0JBQ3ZDLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT0E7WUFDVDs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSw2QkFBNkJMLE1BQU07Z0JBQ2pDLElBQUlNO2dCQUVKLElBQUksQ0FBQ0Msc0JBQXNCLENBQUMsU0FBQ0o7b0JBQzNCLElBQU1DLE9BQU9ELFdBQVcsR0FBRztvQkFFM0JHLDRCQUE0QkYsS0FBS0MsNEJBQTRCLENBQUNMO29CQUU5RCxJQUFJTSw4QkFBOEIsTUFBTTt3QkFDdEMsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPQTtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFxQkMsb0JBQUFBLGlFQUFvQixFQUFFO2dCQUN6QyxJQUFJLENBQUNuQyxVQUFVLENBQUNvQyxPQUFPLENBQUMsU0FBQ1A7b0JBQ3ZCQSxVQUFVSyxvQkFBb0IsQ0FBQ0M7Z0JBQ2pDO2dCQUVBLE9BQU9BO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQW1CQyxrQkFBQUEsaUVBQWtCLEVBQUU7Z0JBQ3JDLElBQU1DLGlCQUFpQixJQUFJLEVBQUUsR0FBRztnQkFFaENELGdCQUFnQkUsSUFBSSxDQUFDRDtnQkFFckIsSUFBSSxDQUFDdkMsVUFBVSxDQUFDb0MsT0FBTyxDQUFDLFNBQUNQO29CQUN2QixJQUFNWSwyQkFBMkJaLFVBQVVOLGlCQUFpQjtvQkFFNUQsSUFBSWtCLDBCQUEwQjt3QkFDNUIsSUFBTWpCLGtCQUFrQkssV0FBWSxHQUFHO3dCQUV2Q0wsZ0JBQWdCYSxrQkFBa0IsQ0FBQ0M7b0JBQ3JDO2dCQUNGO2dCQUVBLE9BQU9BO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsbUJBQW1CLElBQUksQ0FBQzNDLFVBQVUsQ0FBQzRDLE1BQU0sRUFDekNDLGVBQWVGLGtCQUFtQixHQUFHO2dCQUUzQyxPQUFPRTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1ELGVBQWUsSUFBSSxDQUFDSCxlQUFlLElBQ25DSyxRQUFTRixpQkFBaUI7Z0JBRWhDLE9BQU9FO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUgsZUFBZSxJQUFJLENBQUNILGVBQWUsSUFDbkNPLFdBQVlKLGlCQUFpQjtnQkFFbkMsT0FBT0k7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0JwRCxRQUFRLEVBQUVJLFVBQVU7Z0JBQ3BDLElBQUlpRDtnQkFFSixJQUFJLE9BQU87Z0JBQ1QsR0FBRztnQkFDTCxPQUFPLElBQUksSUFBSSxDQUFDakQsVUFBVSxLQUFLLE1BQU07b0JBQ25DaUQsa0JBQWtCO2dCQUNwQixPQUFPLElBQUksSUFBSSxDQUFDakQsVUFBVSxLQUFLVyxVQUFVO29CQUN2QyxJQUFNdUMsaUJBQWlCOUQsTUFBTSxJQUFJLENBQUNVLFVBQVU7b0JBRTVDbUQsa0JBQWtCQyxlQUFlRixpQkFBaUIsQ0FBQ3BELFVBQVVJO2dCQUMvRCxPQUFPO29CQUNMaUQsa0JBQW1CLEFBQUMsSUFBSSxDQUFDckQsUUFBUSxLQUFLQSxZQUFjLElBQUksQ0FBQ0ksVUFBVSxHQUFHQTtnQkFDeEU7Z0JBRUEsT0FBT2lEO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7O2dCQUNFLElBQUlDLGdCQUFnQjtnQkFFcEIsSUFBSSxJQUFJLENBQUNwRCxVQUFVLEtBQUssTUFBTTtvQkFDNUJvRCxnQkFBZ0IsSUFBSSxDQUFDdEQsVUFBVSxDQUFDdUQsSUFBSSxDQUFDLFNBQUMxQjt3QkFDcEMsSUFBTTJCLDJCQUEyQjNCLFVBQVVxQixpQkFBaUIsQ0FBQyxNQUFLcEQsUUFBUSxFQUFFLE1BQUtJLFVBQVU7d0JBRTNGLElBQUlzRCwwQkFBMEI7NEJBQzVCLE9BQU87d0JBQ1Q7b0JBQ0Y7Z0JBQ0Y7Z0JBRUEsT0FBT0Y7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFZL0IsTUFBTTtnQkFDaEIsSUFBTUYsa0JBQWtCLElBQUksRUFDdEJrQywyQkFBMkJDLHdCQUF3QixDQUFDQyw0QkFBNEIsQ0FBQ3BDLGlCQUFpQkUsU0FDbEdtQyxZQUFZSCwwQkFBMkIsR0FBRztnQkFFaEQsT0FBT0c7WUFDVDs7O1lBRUFyRSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBTXNDLElBQUk7b0JBQUVnQyxRQUFBQSxpRUFBUWpELFVBQVVrRCxVQUFBQSxpRUFBVTtnQkFDdEMsSUFBSUMsVUFBVTtnQkFFZCxJQUFNQyxzQkFBc0JuQyxLQUFLUCxpQkFBaUI7Z0JBRWxELElBQUkwQyxxQkFBcUI7b0JBQ3ZCLElBQU16QyxrQkFBa0JNLE1BQ2xCb0MsMEJBQTBCMUMsZ0JBQWdCckIsV0FBVztvQkFFM0QsSUFBSSxJQUFJLENBQUNMLFFBQVEsS0FBS29FLHlCQUF5Qjt3QkFDN0MsSUFBTUMseUJBQXlCM0MsZ0JBQWdCbEIsVUFBVTt3QkFFekQsSUFBSSxJQUFJLENBQUNMLE9BQU8sS0FBS2tFLHdCQUF3Qjs0QkFDM0MsSUFBTWpFLGFBQWEsSUFBSSxDQUFDSyxhQUFhLElBQy9CNkQsNEJBQTRCNUMsZ0JBQWdCakIsYUFBYTs0QkFFL0QsSUFBSUwsZUFBZWtFLDJCQUEyQjtnQ0FDNUNOO2dDQUVBLElBQUlBLFVBQVUsR0FBRztvQ0FDZkUsVUFBVTtnQ0FDWixPQUFPO29DQUNMLElBQU1LLDRCQUE0QjdDLGdCQUFnQm5CLGFBQWE7b0NBRS9EMkQsVUFBVXhFLE1BQU0sSUFBSSxDQUFDUSxVQUFVLEVBQUVxRSwyQkFBMkIsU0FBQ3hDLFdBQVd5Qzt3Q0FDdEUsSUFBTUMsMkNBQTJDMUMsVUFBVXJDLEtBQUssQ0FBQzhFLDBCQUEwQlIsT0FBT0M7d0NBRWxHLElBQUlRLDBDQUEwQzs0Q0FDNUMsT0FBTzt3Q0FDVDtvQ0FDRjtnQ0FDRjs0QkFDRjt3QkFDRjtvQkFDRjtnQkFDRjtnQkFFQSxPQUFPUDtZQUNUOzs7WUFFQVEsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLDJCQUEyQjtnQkFFakMsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLGdCQUFnQixDQUFDLFNBQUM5QztvQkFDckJBLFVBQVU2QyxPQUFPO2dCQUNuQjtnQkFFQSxJQUFJLENBQUMzRSxVQUFVLEdBQUc7Z0JBQ2xCLElBQUksQ0FBQ0MsVUFBVSxHQUFHO1lBQ3BCOzs7WUFFQTRFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBTSxJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR0MscUJBQUgsVUFBQSxPQUFBLE9BQUEsR0FBQSxPQUFBLE1BQUE7b0JBQUdBLG1CQUFILFFBQUEsU0FBQSxDQUFBLEtBQXFCOztnQkFDekIsSUFBTUMsUUFBUSxJQUFJLENBQUNDLFdBQVcsRUFDeEJoRixhQUFhLE1BQ2JELFdBQVcsSUFBSSxDQUFDQSxRQUFRLEVBQ3hCRSxhQUFhZ0YsZ0JBQWdCLElBQUksQ0FBQ2hGLFVBQVUsR0FDNUNDLFVBQVUsSUFBSSxDQUFDQSxPQUFPLEVBQ3RCQyxhQUFhLElBQUksQ0FBQ0EsVUFBVSxFQUM1QnNCLGtCQUFrQixXQUFJc0QsT0FBSjtvQkFBVWhGO29CQUFVQztvQkFBWUM7b0JBQVlDO29CQUFTQztpQkFBa0MsQ0FBdkYsT0FBaUUscUJBQUcyRTtnQkFFNUZyRCxnQkFBZ0J5RCx1QkFBdUI7Z0JBRXZDLE9BQU96RDtZQUNUOzs7O1lBRU8wRCxLQUFBQTttQkFBUCxTQUFPQSxpQ0FBaUNKLEtBQUssRUFBRWhGLFFBQVEsRUFBRUUsVUFBVSxFQUFFQyxPQUFPO2dCQUFFLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHNEUscUJBQUgsVUFBQSxPQUFBLElBQUEsT0FBQSxRQUFBLE9BQUEsR0FBQSxPQUFBLE1BQUE7b0JBQUdBLG1CQUFILE9BQUEsS0FBQSxTQUFBLENBQUEsS0FBcUI7O2dCQUNqRyxJQUFJNUUsWUFBWWtGLFdBQVc7b0JBQ3pCbEYsVUFBVUQsWUFBWSxHQUFHO29CQUV6QkEsYUFBYUYsVUFBVyxHQUFHO29CQUUzQkEsV0FBV2dGLE9BQU8sR0FBRztvQkFFckJBLFFBelJlekYsaUJBeVJXLEdBQUc7Z0JBQy9CO2dCQUVBLElBQU1VLGFBQWEsTUFDYkcsYUFBYSxNQUNic0Isa0JBQWtCLFdBQUlzRCxPQUFKO29CQUFVaEY7b0JBQVVDO29CQUFZQztvQkFBWUM7b0JBQVNDO2lCQUFrQyxDQUF2RixPQUFpRSxxQkFBRzJFO2dCQUU1RnJELGdCQUFnQnlELHVCQUF1QjtnQkFFdkMsT0FBT3pEO1lBQ1Q7OztXQW5TbUJuQzs7QUFzU3JCLFNBQVMyRixnQkFBZ0JoRixVQUFVO0lBQ2pDQSxhQUFhQSxXQUFXb0YsR0FBRyxDQUFDLFNBQUN2RDtRQUMzQkEsWUFBWUEsVUFBVStDLEtBQUssSUFBSyxHQUFHO1FBRW5DLE9BQU8vQztJQUNUO0lBRUEsT0FBTzdCO0FBQ1Q7QUFFQXFGLE9BQU9DLE1BQU0sQ0FBQ2pHLGdCQUFnQmtHLFNBQVMsRUFBRUMsYUFBVSJ9
|
|
420
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL25vblRlcm1pbmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IHNwZWNpYWxTeW1ib2xzIH0gZnJvbSBcIm9jY2FtLWxleGVyc1wiO1xuXG5pbXBvcnQgbm9kZU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL25vZGVcIjtcbmltcG9ydCBOb25UZXJtaW5hbE5vZGVQYXJzZVRyZWUgZnJvbSBcIi4uL3BhcnNlVHJlZS9ub25UZXJtaW5hbE5vZGVcIjtcblxuY29uc3QgeyBmaXJzdCwgbWF0Y2ggfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBvcGFxdWU6IG9wYXF1ZVNwZWNpYWxTeW1ib2wgLCBzZW1pT3BhcXVlOiBzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCB9ID0gc3BlY2lhbFN5bWJvbHM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5vblRlcm1pbmFsTm9kZSB7XG4gIGNvbnN0cnVjdG9yKHJ1bGVOYW1lLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7XG4gICAgdGhpcy5ydWxlTmFtZSA9IHJ1bGVOYW1lO1xuICAgIHRoaXMucGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XG4gICAgdGhpcy5jaGlsZE5vZGVzID0gY2hpbGROb2RlcztcbiAgICB0aGlzLm9wYWNpdHkgPSBvcGFjaXR5O1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBnZXRSdWxlTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlTmFtZTtcbiAgfVxuXG4gIGdldFBhcmVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50Tm9kZTtcbiAgfVxuXG4gIGdldENoaWxkTm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGROb2RlcztcbiAgfVxuXG4gIGdldE9wYWNpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMub3BhY2l0eTtcbiAgfVxuXG4gIGdldFByZWNlZGVuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJlY2VkZW5jZTtcbiAgfVxuXG4gIHNldFJ1bGVOYW1lKHJ1bGVOYW1lKSB7XG4gICAgdGhpcy5ydWxlTmFtZSA9IHJ1bGVOYW1lO1xuICB9XG5cbiAgc2V0UGFyZW50Tm9kZShwYXJlbnROb2RlKSB7XG4gICAgdGhpcy5wYXJlbnROb2RlID0gcGFyZW50Tm9kZTtcbiAgfVxuXG4gIHNldENoaWxkTm9kZXMoY2hpbGROb2Rlcykge1xuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSAwLFxuICAgICAgICAgIGRlbGV0ZUNvdW50ID0gSW5maW5pdHksXG4gICAgICAgICAgYWRkZWRDaGlsZE5vZGVzID0gY2hpbGROb2RlczsgIC8vL1xuXG4gICAgdGhpcy5zcGxpY2VDaGlsZE5vZGVzKHN0YXJ0SW5kZXgsIGRlbGV0ZUNvdW50LCBhZGRlZENoaWxkTm9kZXMpO1xuICB9XG5cbiAgc2V0T3BhY2l0eShvcGFjaXR5KSB7XG4gICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgfVxuXG4gIHNldFByZWNlZGVuY2UocHJlY2VkZW5jZSkge1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBpc09wYXF1ZSgpIHtcbiAgICBjb25zdCBvcGFxdWUgPSAodGhpcy5vcGFjaXR5ID09PSBvcGFxdWVTcGVjaWFsU3ltYm9sKTtcblxuICAgIHJldHVybiBvcGFxdWU7XG4gIH1cblxuICBpc1NlbWlPcGFxdWUoKSB7XG4gICAgY29uc3Qgc2VtaU9wYXF1ZSA9ICh0aGlzLm9wYWNpdHkgPT09IHNlbWlPcGFxdWVTcGVjaWFsU3ltYm9sKTtcblxuICAgIHJldHVybiBzZW1pT3BhcXVlO1xuICB9XG5cbiAgaXNUcmFuc3BhcmVudCgpIHtcbiAgICBjb25zdCBzZW1pT3BhcXVlID0gKHRoaXMub3BhY2l0eSA9PT0gbnVsbCk7XG5cbiAgICByZXR1cm4gc2VtaU9wYXF1ZTtcbiAgfVxuXG4gIGlzVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGlzTm9uVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHRydWU7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xuICB9XG5cbiAgZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKSB7XG4gICAgbGV0IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4O1xuXG4gICAgdGhpcy5mb3J3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpO1xuXG4gICAgICBpZiAoZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXg7XG4gIH1cblxuICBnZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2Vucykge1xuICAgIGxldCBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4O1xuXG4gICAgdGhpcy5iYWNrd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSBjaGlsZE5vZGU7IC8vL1xuXG4gICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2Vucyk7XG5cbiAgICAgIGlmIChsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXg7XG4gIH1cblxuICBnZXRTaWduaWZpY2FudFRva2VucyhzaWduaWZpY2FudFRva2VucyA9IFtdKSB7XG4gICAgdGhpcy5jaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY2hpbGROb2RlLmdldFNpZ25pZmljYW50VG9rZW5zKHNpZ25pZmljYW50VG9rZW5zKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzaWduaWZpY2FudFRva2VucztcbiAgfVxuXG4gIGdldERlc2NlbmRhbnROb2RlcyhkZXNjZW5kYW50Tm9kZXMgPSBbXSkge1xuICAgIGNvbnN0IGRlc2NlbmRhbnROb2RlID0gdGhpczsgLy8vXG5cbiAgICBkZXNjZW5kYW50Tm9kZXMucHVzaChkZXNjZW5kYW50Tm9kZSk7XG5cbiAgICB0aGlzLmNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cblxuICAgICAgICBub25UZXJtaW5hbE5vZGUuZ2V0RGVzY2VuZGFudE5vZGVzKGRlc2NlbmRhbnROb2Rlcyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGVzY2VuZGFudE5vZGVzO1xuICB9XG5cbiAgZ2V0TXVsdGlwbGljaXR5KCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXNMZW5ndGggPSB0aGlzLmNoaWxkTm9kZXMubGVuZ3RoLFxuICAgICAgICAgIG11bHRpcGxpY2l0eSA9IGNoaWxkTm9kZXNMZW5ndGg7ICAvLy9cblxuICAgIHJldHVybiBtdWx0aXBsaWNpdHk7XG4gIH1cblxuICBpc0VtcHR5KCkge1xuICAgIGNvbnN0IG11bHRpcGxpY2l0eSA9IHRoaXMuZ2V0TXVsdGlwbGljaXR5KCksXG4gICAgICAgICAgZW1wdHkgPSAobXVsdGlwbGljaXR5ID09PSAwKTtcblxuICAgIHJldHVybiBlbXB0eTtcbiAgfVxuXG4gIGlzU2luZ3VsYXIoKSB7XG4gICAgY29uc3QgbXVsdGlwbGljaXR5ID0gdGhpcy5nZXRNdWx0aXBsaWNpdHkoKSxcbiAgICAgICAgICBzaW5ndWxhciA9IChtdWx0aXBsaWNpdHkgPT09IDEpO1xuXG4gICAgcmV0dXJuIHNpbmd1bGFyO1xuICB9XG5cbiAgaXNMb3dlclByZWNlZGVuY2UocnVsZU5hbWUsIHByZWNlZGVuY2UpIHtcbiAgICBsZXQgbG93ZXJQcmVjZWRlbmNlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMucHJlY2VkZW5jZSA9PT0gbnVsbCkge1xuICAgICAgbG93ZXJQcmVjZWRlbmNlID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByZWNlZGVuY2UgPT09IEluZmluaXR5KSB7XG4gICAgICBjb25zdCBmaXJzdENoaWxkTm9kZSA9IGZpcnN0KHRoaXMuY2hpbGROb2Rlcyk7XG5cbiAgICAgIGxvd2VyUHJlY2VkZW5jZSA9IGZpcnN0Q2hpbGROb2RlLmlzTG93ZXJQcmVjZWRlbmNlKHJ1bGVOYW1lLCBwcmVjZWRlbmNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG93ZXJQcmVjZWRlbmNlID0gKCh0aGlzLnJ1bGVOYW1lID09PSBydWxlTmFtZSkgJiYgKHRoaXMucHJlY2VkZW5jZSA8IHByZWNlZGVuY2UpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbG93ZXJQcmVjZWRlbmNlO1xuICB9XG5cbiAgaXNVbnByZWNlZGVudGVkKCkge1xuICAgIGxldCB1bnByZWNlZGVudGVkID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5wcmVjZWRlbmNlICE9PSBudWxsKSB7XG4gICAgICB1bnByZWNlZGVudGVkID0gdGhpcy5jaGlsZE5vZGVzLnNvbWUoKGNoaWxkTm9kZSkgPT4geyAgLy8vXG4gICAgICAgIGNvbnN0IGNoaWxkTm9kZUxvd2VyUHJlY2VkZW5jZSA9IGNoaWxkTm9kZS5pc0xvd2VyUHJlY2VkZW5jZSh0aGlzLnJ1bGVOYW1lLCB0aGlzLnByZWNlZGVuY2UpO1xuXG4gICAgICAgIGlmIChjaGlsZE5vZGVMb3dlclByZWNlZGVuY2UpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVucHJlY2VkZW50ZWQ7XG4gIH1cblxuICBhc1BhcnNlVHJlZSh0b2tlbnMpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlUGFyc2VUcmVlID0gTm9uVGVybWluYWxOb2RlUGFyc2VUcmVlLmZyb21Ob25UZXJtaW5hbE5vZGVBbmRUb2tlbnMobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpLFxuICAgICAgICAgIHBhcnNlVHJlZSA9IG5vblRlcm1pbmFsTm9kZVBhcnNlVHJlZTsgIC8vL1xuXG4gICAgcmV0dXJuIHBhcnNlVHJlZTtcbiAgfVxuXG4gIG1hdGNoKG5vZGUsIGRlcHRoID0gSW5maW5pdHksIGV4YWN0bHkgPSBmYWxzZSkge1xuICAgIGxldCBtYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKG5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgICAgaWYgKHRoaXMucnVsZU5hbWUgPT09IG5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZU9wYWNpdHkgPSBub25UZXJtaW5hbE5vZGUuZ2V0T3BhY2l0eSgpO1xuXG4gICAgICAgIGlmICh0aGlzLm9wYWNpdHkgPT09IG5vblRlcm1pbmFsTm9kZU9wYWNpdHkpIHtcbiAgICAgICAgICBjb25zdCBwcmVjZWRlbmNlID0gdGhpcy5nZXRQcmVjZWRlbmNlKCksXG4gICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlUHJlY2VkZW5jZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRQcmVjZWRlbmNlKCk7XG5cbiAgICAgICAgICBpZiAocHJlY2VkZW5jZSA9PT0gbm9uVGVybWluYWxOb2RlUHJlY2VkZW5jZSkge1xuICAgICAgICAgICAgZGVwdGgtLTtcblxuICAgICAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgICAgIG1hdGNoZXMgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCk7XG5cbiAgICAgICAgICAgICAgbWF0Y2hlcyA9IG1hdGNoKHRoaXMuY2hpbGROb2Rlcywgbm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcywgKGNoaWxkTm9kZSwgbm9uVGVybWluYWxOb2RlQ2hpbGROb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGROb2RlTWF0Y2hlc05vblRlcm1pbmFsTm9kZUNoaWxkTm9kZSA9IGNoaWxkTm9kZS5tYXRjaChub25UZXJtaW5hbE5vZGVDaGlsZE5vZGUsIGRlcHRoLCBleGFjdGx5KTtcblxuICAgICAgICAgICAgICAgIGlmIChjaGlsZE5vZGVNYXRjaGVzTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgcmV3cml0ZSgpIHtcbiAgICBjb25zdCByZXdyaXR0ZW5Ob25UZXJtaW5hbE5vZGUgPSBudWxsO1xuXG4gICAgcmV0dXJuIHJld3JpdHRlbk5vblRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5mb3JFYWNoQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNoaWxkTm9kZS5kZXN0cm95KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnBhcmVudE5vZGUgPSBudWxsO1xuICAgIHRoaXMuY2hpbGROb2RlcyA9IG51bGw7XG4gIH1cblxuICBjbG9uZSguLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBDbGFzcyA9IHRoaXMuY29uc3RydWN0b3IsXG4gICAgICAgICAgcGFyZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgcnVsZU5hbWUgPSB0aGlzLnJ1bGVOYW1lLFxuICAgICAgICAgIGNoaWxkTm9kZXMgPSBjbG9uZUNoaWxkTm9kZXModGhpcy5jaGlsZE5vZGVzKSxcbiAgICAgICAgICBvcGFjaXR5ID0gdGhpcy5vcGFjaXR5LFxuICAgICAgICAgIHByZWNlZGVuY2UgPSB0aGlzLnByZWNlZGVuY2UsXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gbmV3IENsYXNzKHJ1bGVOYW1lLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgbm9uVGVybWluYWxOb2RlLnNldENoaWxkTm9kZXNQYXJlbnROb2RlKCk7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KENsYXNzLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgaWYgKG9wYWNpdHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgb3BhY2l0eSA9IGNoaWxkTm9kZXM7IC8vL1xuXG4gICAgICBjaGlsZE5vZGVzID0gcnVsZU5hbWU7ICAvLy9cblxuICAgICAgcnVsZU5hbWUgPSBDbGFzczsgLy8vXG5cbiAgICAgIENsYXNzID0gTm9uVGVybWluYWxOb2RlOyAgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gbmV3IENsYXNzKHJ1bGVOYW1lLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgbm9uVGVybWluYWxOb2RlLnNldENoaWxkTm9kZXNQYXJlbnROb2RlKCk7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oTm9uVGVybWluYWxOb2RlLnByb3RvdHlwZSwgbm9kZU1peGlucyk7XG5cbmZ1bmN0aW9uIGNsb25lQ2hpbGROb2RlcyhjaGlsZE5vZGVzKSB7XG4gIGNoaWxkTm9kZXMgPSBjaGlsZE5vZGVzLm1hcCgoY2hpbGROb2RlKSA9PiB7ICAvLy9cbiAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUuY2xvbmUoKTsgIC8vL1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNoaWxkTm9kZXM7XG59XG4iXSwibmFtZXMiOlsiTm9uVGVybWluYWxOb2RlIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsIm1hdGNoIiwib3BhcXVlIiwib3BhcXVlU3BlY2lhbFN5bWJvbCIsInNwZWNpYWxTeW1ib2xzIiwic2VtaU9wYXF1ZSIsInNlbWlPcGFxdWVTcGVjaWFsU3ltYm9sIiwicnVsZU5hbWUiLCJwYXJlbnROb2RlIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIiwiZ2V0UnVsZU5hbWUiLCJnZXRQYXJlbnROb2RlIiwiZ2V0Q2hpbGROb2RlcyIsImdldE9wYWNpdHkiLCJnZXRQcmVjZWRlbmNlIiwic2V0UnVsZU5hbWUiLCJzZXRQYXJlbnROb2RlIiwic2V0Q2hpbGROb2RlcyIsInN0YXJ0SW5kZXgiLCJkZWxldGVDb3VudCIsIkluZmluaXR5IiwiYWRkZWRDaGlsZE5vZGVzIiwic3BsaWNlQ2hpbGROb2RlcyIsInNldE9wYWNpdHkiLCJzZXRQcmVjZWRlbmNlIiwiaXNPcGFxdWUiLCJpc1NlbWlPcGFxdWUiLCJpc1RyYW5zcGFyZW50IiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwidG9rZW5zIiwiZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJmb3J3YXJkc1NvbWVDaGlsZE5vZGUiLCJjaGlsZE5vZGUiLCJub2RlIiwiZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImxhc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJiYWNrd2FyZHNTb21lQ2hpbGROb2RlIiwiZ2V0U2lnbmlmaWNhbnRUb2tlbnMiLCJzaWduaWZpY2FudFRva2VucyIsImZvckVhY2giLCJnZXREZXNjZW5kYW50Tm9kZXMiLCJkZXNjZW5kYW50Tm9kZXMiLCJkZXNjZW5kYW50Tm9kZSIsInB1c2giLCJjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUiLCJnZXRNdWx0aXBsaWNpdHkiLCJjaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwibXVsdGlwbGljaXR5IiwiaXNFbXB0eSIsImVtcHR5IiwiaXNTaW5ndWxhciIsInNpbmd1bGFyIiwiaXNMb3dlclByZWNlZGVuY2UiLCJsb3dlclByZWNlZGVuY2UiLCJmaXJzdENoaWxkTm9kZSIsImlzVW5wcmVjZWRlbnRlZCIsInVucHJlY2VkZW50ZWQiLCJzb21lIiwiY2hpbGROb2RlTG93ZXJQcmVjZWRlbmNlIiwiYXNQYXJzZVRyZWUiLCJub25UZXJtaW5hbE5vZGVQYXJzZVRyZWUiLCJOb25UZXJtaW5hbE5vZGVQYXJzZVRyZWUiLCJmcm9tTm9uVGVybWluYWxOb2RlQW5kVG9rZW5zIiwicGFyc2VUcmVlIiwiZGVwdGgiLCJleGFjdGx5IiwibWF0Y2hlcyIsIm5vZGVOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVSdWxlTmFtZSIsIm5vblRlcm1pbmFsTm9kZU9wYWNpdHkiLCJub25UZXJtaW5hbE5vZGVQcmVjZWRlbmNlIiwibm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyIsIm5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZSIsImNoaWxkTm9kZU1hdGNoZXNOb25UZXJtaW5hbE5vZGVDaGlsZE5vZGUiLCJyZXdyaXRlIiwicmV3cml0dGVuTm9uVGVybWluYWxOb2RlIiwiZGVzdHJveSIsImZvckVhY2hDaGlsZE5vZGUiLCJjbG9uZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsIkNsYXNzIiwiY29uc3RydWN0b3IiLCJjbG9uZUNoaWxkTm9kZXMiLCJzZXRDaGlsZE5vZGVzUGFyZW50Tm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5IiwidW5kZWZpbmVkIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwibm9kZU1peGlucyIsIm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJBOzs7eUJBVFU7MkJBQ0E7MkRBRVI7c0VBQ2M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckMsSUFBUUMsUUFBaUJDLHlCQUFjLENBQS9CRCxPQUFPRSxRQUFVRCx5QkFBYyxDQUF4QkMsT0FDUEMsQUFBUUMsc0JBQThEQywyQkFBYyxDQUFwRkYsUUFBOEJHLEFBQVlDLDBCQUE0QkYsMkJB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
|
package/package.json
CHANGED
package/src/mixins/node.js
CHANGED
|
@@ -94,16 +94,14 @@ function removeChildNodes(removedChildNodes) {
|
|
|
94
94
|
|
|
95
95
|
const removedChildNodesLength = removedChildNodes.length;
|
|
96
96
|
|
|
97
|
-
if (removedChildNodesLength
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
startIndex = this.childNodes.indexOf(firstReplacedChildNode), ///
|
|
103
|
-
deleteCount = removedChildNodesLength, ///
|
|
104
|
-
addedChildNodes = [];
|
|
97
|
+
if (removedChildNodesLength > 0) {
|
|
98
|
+
const firstReplacedChildNode = first(removedChildNodes),
|
|
99
|
+
startIndex = this.childNodes.indexOf(firstReplacedChildNode), ///
|
|
100
|
+
deleteCount = removedChildNodesLength, ///
|
|
101
|
+
addedChildNodes = [];
|
|
105
102
|
|
|
106
|
-
|
|
103
|
+
removedChildNodes = this.spliceChildNodes(startIndex, deleteCount, addedChildNodes);
|
|
104
|
+
}
|
|
107
105
|
|
|
108
106
|
return removedChildNodes;
|
|
109
107
|
}
|
package/src/node/nonTerminal.js
CHANGED
|
@@ -303,6 +303,8 @@ export default class NonTerminalNode {
|
|
|
303
303
|
}
|
|
304
304
|
}
|
|
305
305
|
|
|
306
|
+
Object.assign(NonTerminalNode.prototype, nodeMixins);
|
|
307
|
+
|
|
306
308
|
function cloneChildNodes(childNodes) {
|
|
307
309
|
childNodes = childNodes.map((childNode) => { ///
|
|
308
310
|
childNode = childNode.clone(); ///
|
|
@@ -312,5 +314,3 @@ function cloneChildNodes(childNodes) {
|
|
|
312
314
|
|
|
313
315
|
return childNodes;
|
|
314
316
|
}
|
|
315
|
-
|
|
316
|
-
Object.assign(NonTerminalNode.prototype, nodeMixins);
|