highmark-markdown 1.1.113 → 1.1.115
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 +66 -23
- package/lib/example/view/xmp.js +2 -3
- package/lib/example/view.js +9 -13
- package/lib/utilities/grammar.js +50 -2
- package/lib/utilities/index.js +8 -10
- package/package.json +1 -1
- package/src/example/view/xmp.js +1 -4
- package/src/example/view.js +19 -21
- package/src/utilities/grammar.js +30 -1
- package/src/utilities/index.js +15 -24
package/lib/example/view/xmp.js
CHANGED
|
@@ -176,8 +176,7 @@ var XMP = /*#__PURE__*/ function(Element) {
|
|
|
176
176
|
_create_class(XMP, [
|
|
177
177
|
{
|
|
178
178
|
key: "update",
|
|
179
|
-
value: function update(
|
|
180
|
-
var indent = null, html = divisionHTMLNode.asHTML(indent, context);
|
|
179
|
+
value: function update(html) {
|
|
181
180
|
this.html(html);
|
|
182
181
|
}
|
|
183
182
|
},
|
|
@@ -204,4 +203,4 @@ var XMP = /*#__PURE__*/ function(Element) {
|
|
|
204
203
|
_define_property(XMP, "tagName", "xmp");
|
|
205
204
|
var _default = (0, _easywithstyle.default)(XMP)(_templateObject());
|
|
206
205
|
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcveG1wLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jbGFzcyBYTVAgZXh0ZW5kcyBFbGVtZW50IHtcbiAgdXBkYXRlKGh0bWwpIHtcbiAgICB0aGlzLmh0bWwoaHRtbCk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBjb25zdCBodG1sID0gRU1QVFlfU1RSSU5HO1xuXG4gICAgdGhpcy5odG1sKGh0bWwpO1xuICB9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBjbGVhclhNUCA9IHRoaXMuY2xlYXIuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgdXBkYXRlWE1QID0gdGhpcy51cGRhdGUuYmluZCh0aGlzKTsgIC8vL1xuXG4gICAgcmV0dXJuICh7XG4gICAgICBjbGVhclhNUCxcbiAgICAgIHVwZGF0ZVhNUFxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcInhtcFwiO1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoWE1QKWBcblxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIFxuYDtcbiJdLCJuYW1lcyI6WyJYTVAiLCJ1cGRhdGUiLCJodG1sIiwiY2xlYXIiLCJFTVBUWV9TVFJJTkciLCJwYXJlbnRDb250ZXh0IiwiY2xlYXJYTVAiLCJiaW5kIiwidXBkYXRlWE1QIiwiRWxlbWVudCIsInRhZ05hbWUiLCJ3aXRoU3R5bGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdDQTs7O2VBQUE7OztvRUE5QnNCO29CQUVFO3lCQUVLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdCLElBQUEsQUFBTUEsb0JBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLElBQUk7Z0JBQ1QsSUFBSSxDQUFDQSxJQUFJLENBQUNBO1lBQ1o7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUQsT0FBT0UsdUJBQVk7Z0JBRXpCLElBQUksQ0FBQ0YsSUFBSSxDQUFDQTtZQUNaOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFdBQVcsSUFBSSxDQUFDSCxLQUFLLENBQUNJLElBQUksQ0FBQyxJQUFJLEdBQy9CQyxZQUFZLElBQUksQ0FBQ1AsTUFBTSxDQUFDTSxJQUFJLENBQUMsSUFBSSxHQUFJLEdBQUc7Z0JBRTlDLE9BQVE7b0JBQ05ELFVBQUFBO29CQUNBRSxXQUFBQTtnQkFDRjtZQUNGOzs7V0FuQklSO3FCQUFZUyxhQUFPO0FBcUJ2QixpQkFyQklULEtBcUJHVSxXQUFVO0lBR25CLFdBQWVDLElBQUFBLHNCQUFTLEVBQUNYIn0=
|
package/lib/example/view.js
CHANGED
|
@@ -27,6 +27,7 @@ var _plainText = /*#__PURE__*/ _interop_require_default(require("./view/div/cont
|
|
|
27
27
|
var _markdownStyle = /*#__PURE__*/ _interop_require_default(require("./view/div/container/markdownStyle"));
|
|
28
28
|
var _importer = require("./importer");
|
|
29
29
|
var _targets = require("../targets");
|
|
30
|
+
var _constants = require("./constants");
|
|
30
31
|
function _assert_this_initialized(self) {
|
|
31
32
|
if (self === void 0) {
|
|
32
33
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -183,7 +184,7 @@ function _templateObject() {
|
|
|
183
184
|
};
|
|
184
185
|
return data;
|
|
185
186
|
}
|
|
186
|
-
var tokensFromMarkdown = _index.grammarUtilities.tokensFromMarkdown, markdownNodeFromTokens = _index.grammarUtilities.markdownNodeFromTokens, tokensFromMarkdownStyle = _index.grammarUtilities.tokensFromMarkdownStyle, markdownStyleNodeFromTokens = _index.grammarUtilities.markdownStyleNodeFromTokens, topmostHTMLNodeFromMarkdownNode = _index.grammarUtilities.topmostHTMLNodeFromMarkdownNode, topmostCSSNodeFromMarkdownStyleNode = _index.grammarUtilities.topmostCSSNodeFromMarkdownStyleNode;
|
|
187
|
+
var tokensFromMarkdown = _index.grammarUtilities.tokensFromMarkdown, markdownNodeFromTokens = _index.grammarUtilities.markdownNodeFromTokens, tokensFromMarkdownStyle = _index.grammarUtilities.tokensFromMarkdownStyle, markdownStyleNodeFromTokens = _index.grammarUtilities.markdownStyleNodeFromTokens, topmostHTMLNodeFromMarkdownNode = _index.grammarUtilities.topmostHTMLNodeFromMarkdownNode, htmlFromMarkdownOptionsAndImporter = _index.grammarUtilities.htmlFromMarkdownOptionsAndImporter, topmostCSSNodeFromMarkdownStyleNode = _index.grammarUtilities.topmostCSSNodeFromMarkdownStyleNode, cssFromMarkdownStyleAndCSSSelectorsString = _index.grammarUtilities.cssFromMarkdownStyleAndCSSSelectorsString;
|
|
187
188
|
var View = /*#__PURE__*/ function(Element) {
|
|
188
189
|
_inherits(View, Element);
|
|
189
190
|
function View() {
|
|
@@ -232,13 +233,6 @@ var View = /*#__PURE__*/ function(Element) {
|
|
|
232
233
|
this.setMarkdownStyleTokens(markdownStyleTokens);
|
|
233
234
|
this.setTopmostMarkdownStyleNode(topmostMarkdownStyleNode);
|
|
234
235
|
this.updateMarkdownStyleParseTreeTextarea(parseTree);
|
|
235
|
-
var markdownStyleElement = this.getMarkdownStyleElement(), topmostCSSNode = topmostCSSNodeFromMarkdownStyleNode(markdownStyleNode), target = _targets.WEB_TARGET, context = {
|
|
236
|
-
target: target,
|
|
237
|
-
tokens: tokens
|
|
238
|
-
};
|
|
239
|
-
topmostCSSNode.resolve(context);
|
|
240
|
-
var css = topmostCSSNode.asCSS(context);
|
|
241
|
-
markdownStyleElement.setCSS(css);
|
|
242
236
|
}
|
|
243
237
|
},
|
|
244
238
|
{
|
|
@@ -280,7 +274,6 @@ var View = /*#__PURE__*/ function(Element) {
|
|
|
280
274
|
var context;
|
|
281
275
|
var markdownTokens = this.getMarkdownTokens(), tokens = markdownTokens; ///
|
|
282
276
|
context = {
|
|
283
|
-
indexOptions: _indexOptions.default,
|
|
284
277
|
tokens: tokens
|
|
285
278
|
};
|
|
286
279
|
topmostHTMLNode.resolve(context);
|
|
@@ -288,16 +281,17 @@ var View = /*#__PURE__*/ function(Element) {
|
|
|
288
281
|
if (divisionHTMLNOde === null) {
|
|
289
282
|
return;
|
|
290
283
|
}
|
|
291
|
-
var divisionHTMLNOdeParseTree = divisionHTMLNOde.asParseTree(), htmlParseTree = divisionHTMLNOdeParseTree, multiplicity = topmostHTMLNode.getMultiplicity(), length = multiplicity;
|
|
284
|
+
var divisionHTMLNOdeParseTree = divisionHTMLNOde.asParseTree(), htmlParseTree = divisionHTMLNOdeParseTree, multiplicity = topmostHTMLNode.getMultiplicity(), length = multiplicity; ///
|
|
292
285
|
context = {
|
|
293
286
|
tokens: tokens,
|
|
294
287
|
pathToURL: pathToURL
|
|
295
288
|
};
|
|
296
|
-
this.updateXMP(divisionHTMLNOde, context);
|
|
297
289
|
this.updatePreviewDiv(divisionHTMLNOde, context);
|
|
298
290
|
this.updatePlainTextTextarea(divisionHTMLNOde, context);
|
|
299
291
|
this.updateHTMLParseTreeTextarea(htmlParseTree);
|
|
300
292
|
this.updatePageButtonsDiv(length, index);
|
|
293
|
+
var markdown = this.getMarkdown(), options = _indexOptions.default, html = htmlFromMarkdownOptionsAndImporter(markdown, options, _importer.importer);
|
|
294
|
+
this.updateXMP(html, context);
|
|
301
295
|
}
|
|
302
296
|
},
|
|
303
297
|
{
|
|
@@ -308,8 +302,10 @@ var View = /*#__PURE__*/ function(Element) {
|
|
|
308
302
|
tokens: tokens
|
|
309
303
|
};
|
|
310
304
|
topmostCSSNode.resolve(context);
|
|
311
|
-
var topmostCSSNodeParseTree = topmostCSSNode.asParseTree(tokens), cssParseTree = topmostCSSNodeParseTree
|
|
305
|
+
var topmostCSSNodeParseTree = topmostCSSNode.asParseTree(tokens), cssParseTree = topmostCSSNodeParseTree; ///
|
|
312
306
|
this.updateCSSParseTreeTextarea(cssParseTree);
|
|
307
|
+
var markdownStyleElement = this.getMarkdownStyleElement(), cssSelectorsString = _constants.PREVIEW_CSS_SELECTORS_STRING, markdownStyle = this.getMarkdownStyle(), css = cssFromMarkdownStyleAndCSSSelectorsString(markdownStyle, cssSelectorsString);
|
|
308
|
+
markdownStyleElement.setCSS(css);
|
|
313
309
|
this.setCSS(css);
|
|
314
310
|
}
|
|
315
311
|
},
|
|
@@ -540,4 +536,4 @@ function pathToURL(path) {
|
|
|
540
536
|
return url;
|
|
541
537
|
}
|
|
542
538
|
|
|
543
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgZ3JhbW1hclV0aWxpdGllcyB9IGZyb20gXCIuLi9pbmRleFwiOyAgLy8vXG5pbXBvcnQgeyBSb3dzRGl2LCBDb2x1bW5EaXYsIENvbHVtbnNEaXYsIFZlcnRpY2FsU3BsaXR0ZXJEaXYgfSBmcm9tIFwiZWFzeS1sYXlvdXRcIjtcblxuaW1wb3J0IGluZGV4T3B0aW9ucyBmcm9tIFwiLi9pbmRleE9wdGlvbnNcIjtcbmltcG9ydCBQYWdlQnV0dG9uc0RpdiBmcm9tIFwiLi92aWV3L2Rpdi9wYWdlQnV0dG9uc1wiO1xuaW1wb3J0IExlZnRTaXplYWJsZURpdiBmcm9tIFwiLi92aWV3L2Rpdi9zaXplYWJsZS9sZWZ0XCI7XG5pbXBvcnQgQ1NTQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9jc3NcIjtcbmltcG9ydCBIVE1MQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9odG1sXCI7XG5pbXBvcnQgTGVmdFRhYkJ1dHRvbnNEaXYgZnJvbSBcIi4vdmlldy9kaXYvdGFiQnV0dG9ucy9sZWZ0XCI7XG5pbXBvcnQgUmlnaHRUYWJCdXR0b25zRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3RhYkJ1dHRvbnMvcmlnaHRcIjtcbmltcG9ydCBQcmV2aWV3Q29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9wcmV2aWV3XCI7XG5pbXBvcnQgTWFya2Rvd25Db250YWluZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvY29udGFpbmVyL21hcmtkb3duXCI7XG5pbXBvcnQgQ1NTUGFyc2VUcmVlVGV4dGFyZWEgZnJvbSBcIi4vdmlldy90ZXh0YXJlYS9wYXJzZVRyZWUvY3NzXCI7XG5pbXBvcnQgSFRNTFBhcnNlVHJlZVRleHRhcmVhIGZyb20gXCIuL3ZpZXcvdGV4dGFyZWEvcGFyc2VUcmVlL2h0bWxcIjtcbmltcG9ydCBQbGFpblRleHRDb250YWluZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvY29udGFpbmVyL3BsYWluVGV4dFwiO1xuaW1wb3J0IE1hcmtkb3duU3R5bGVDb250YWluZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvY29udGFpbmVyL21hcmtkb3duU3R5bGVcIjtcblxuaW1wb3J0IHsgaW1wb3J0ZXIgfSBmcm9tIFwiLi9pbXBvcnRlclwiO1xuaW1wb3J0IHsgV0VCX1RBUkdFVCB9IGZyb20gXCIuLi90YXJnZXRzXCI7XG5cbmNvbnN0IHsgdG9rZW5zRnJvbU1hcmtkb3duLFxuICAgICAgICBtYXJrZG93bk5vZGVGcm9tVG9rZW5zLFxuICAgICAgICB0b2tlbnNGcm9tTWFya2Rvd25TdHlsZSxcbiAgICAgICAgbWFya2Rvd25TdHlsZU5vZGVGcm9tVG9rZW5zLFxuICAgICAgICB0b3Btb3N0SFRNTE5vZGVGcm9tTWFya2Rvd25Ob2RlLFxuICAgICAgICB0b3Btb3N0Q1NTTm9kZUZyb21NYXJrZG93blN0eWxlTm9kZSB9ID0gZ3JhbW1hclV0aWxpdGllcztcblxuY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBwYWdlVXBkYXRlQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICB0aGlzLnVwZGF0ZUhUTUwoaW5kZXgpO1xuICB9XG5cbiAgbWFya2Rvd25TdHlsZUN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLm1hcmtkb3duU3R5bGUoKTtcbiAgfVxuXG4gIG1hcmtkb3duQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMubWFya2Rvd24oKTtcbiAgfVxuXG4gIHBsYWluVGV4dEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLnBsYWluVGV4dCgpO1xuICB9XG5cbiAgcHJldmlld0N1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLnByZXZpZXcoKTtcbiAgfVxuXG4gIGtleVVwQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBodG1sQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuaHRtbCgpO1xuICB9XG5cbiAgY3NzQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuY3NzKCk7XG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgdGhpcy51cGRhdGVNYXJrZG93blN0eWxlKCk7XG5cbiAgICB0aGlzLnVwZGF0ZU1hcmtkb3duKCk7XG5cbiAgICB0aGlzLnVwZGF0ZUhUTUwoKTtcblxuICAgIHRoaXMudXBkYXRlQ1NTKCk7XG4gIH1cblxuICB1cGRhdGVNYXJrZG93blN0eWxlKCkge1xuICAgIGNvbnN0IG1hcmtkb3duU3R5bGUgPSB0aGlzLmdldE1hcmtkb3duU3R5bGUoKSxcbiAgICAgICAgICB0b2tlbnMgPSB0b2tlbnNGcm9tTWFya2Rvd25TdHlsZShtYXJrZG93blN0eWxlKSxcbiAgICAgICAgICBtYXJrZG93blN0eWxlTm9kZSA9IG1hcmtkb3duU3R5bGVOb2RlRnJvbVRva2Vucyh0b2tlbnMpO1xuXG4gICAgaWYgKG1hcmtkb3duU3R5bGVOb2RlID09PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc2V0TWFya2Rvd25TdHlsZVRva2VucygpO1xuXG4gICAgICB0aGlzLnJlc2V0VG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlKCk7XG5cbiAgICAgIHRoaXMuY2xlYXJNYXJrZG93blN0eWxlUGFyc2VUcmVlVGV4dGFyZWEoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBtYXJrZG93blN0eWxlTm9kZSwgLy8vXG4gICAgICAgICAgcGFyc2VUcmVlID0gbm9kZS5hc1BhcnNlVHJlZSh0b2tlbnMpLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGVUb2tlbnMgPSB0b2tlbnMsIC8vL1xuICAgICAgICAgIHRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSA9IG5vZGU7IC8vL1xuXG4gICAgdGhpcy5zZXRNYXJrZG93blN0eWxlVG9rZW5zKG1hcmtkb3duU3R5bGVUb2tlbnMpO1xuXG4gICAgdGhpcy5zZXRUb3Btb3N0TWFya2Rvd25TdHlsZU5vZGUodG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlKTtcblxuICAgIHRoaXMudXBkYXRlTWFya2Rvd25TdHlsZVBhcnNlVHJlZVRleHRhcmVhKHBhcnNlVHJlZSk7XG5cbiAgICBjb25zdCBtYXJrZG93blN0eWxlRWxlbWVudCA9IHRoaXMuZ2V0TWFya2Rvd25TdHlsZUVsZW1lbnQoKSxcbiAgICAgICAgICB0b3Btb3N0Q1NTTm9kZSA9IHRvcG1vc3RDU1NOb2RlRnJvbU1hcmtkb3duU3R5bGVOb2RlKG1hcmtkb3duU3R5bGVOb2RlKSxcbiAgICAgICAgICB0YXJnZXQgPSBXRUJfVEFSR0VULFxuICAgICAgICAgIGNvbnRleHQgPSB7XG4gICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICB0b2tlbnNcbiAgICAgICAgICB9O1xuXG4gICAgdG9wbW9zdENTU05vZGUucmVzb2x2ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IGNzcyA9IHRvcG1vc3RDU1NOb2RlLmFzQ1NTKGNvbnRleHQpO1xuXG4gICAgbWFya2Rvd25TdHlsZUVsZW1lbnQuc2V0Q1NTKGNzcyk7XG4gIH1cblxuICB1cGRhdGVNYXJrZG93bigpIHtcbiAgICBjb25zdCBtYXJrZG93biA9IHRoaXMuZ2V0TWFya2Rvd24oKSxcbiAgICAgICAgICB0b2tlbnMgPSB0b2tlbnNGcm9tTWFya2Rvd24obWFya2Rvd24pLFxuICAgICAgICAgIG1hcmtkb3duTm9kZSA9IG1hcmtkb3duTm9kZUZyb21Ub2tlbnModG9rZW5zKTtcblxuICAgIGlmIChtYXJrZG93bk5vZGUgPT09IG51bGwpIHtcbiAgICAgIHRoaXMucmVzZXRNYXJrZG93blRva2VucygpO1xuXG4gICAgICB0aGlzLnJlc2V0VG9wbW9zdE1hcmtkb3duTm9kZSgpO1xuXG4gICAgICB0aGlzLmNsZWFyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGNvbnRleHQ7XG5cbiAgICBjb25zdCB0b3Btb3N0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlOyAvLy9cblxuICAgIGNvbnRleHQgPSB7XG4gICAgICB0b2tlbnMsXG4gICAgICBpbXBvcnRlclxuICAgIH07XG5cbiAgICB0b3Btb3N0TWFya2Rvd25Ob2RlLnJlc29sdmUoY29udGV4dCk7XG5cbiAgICBjb25zdCB0b3Btb3N0TWFya2Rvd25Ob2RlUGFyc2VUcmVlID0gdG9wbW9zdE1hcmtkb3duTm9kZS5hc1BhcnNlVHJlZSh0b2tlbnMpLFxuICAgICAgICAgIG1hcmtkb3duUGFyc2VUcmVlID0gdG9wbW9zdE1hcmtkb3duTm9kZVBhcnNlVHJlZSwgLy8vXG4gICAgICAgICAgbWFya2Rvd25Ub2tlbnMgPSB0b2tlbnM7ICAvLy9cblxuICAgIHRoaXMuc2V0TWFya2Rvd25Ub2tlbnMobWFya2Rvd25Ub2tlbnMpO1xuXG4gICAgdGhpcy5zZXRUb3Btb3N0TWFya2Rvd25Ob2RlKHRvcG1vc3RNYXJrZG93bk5vZGUpO1xuXG4gICAgdGhpcy51cGRhdGVNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhKG1hcmtkb3duUGFyc2VUcmVlKTtcbiAgfVxuXG4gIHVwZGF0ZUhUTUwoaW5kZXggPSAwKSB7XG4gICAgdGhpcy5jbGVhclhNUCgpO1xuXG4gICAgdGhpcy5jbGVhclByZXZpZXdEaXYoKTtcblxuICAgIHRoaXMuY2xlYXJQbGFpblRleHRUZXh0YXJlYSgpO1xuXG4gICAgdGhpcy5jbGVhckhUTUxQYXJzZVRyZWVUZXh0YXJlYSgpO1xuXG4gICAgdGhpcy5jbGVhclBhZ2VCdXR0b25zRGl2KCk7XG5cbiAgICBjb25zdCB0b3Btb3N0TWFya2Rvd25Ob2RlID0gdGhpcy5nZXRUb3Btb3N0TWFya2Rvd25Ob2RlKCksXG4gICAgICAgICAgbWFya2Rvd25Ob2RlID0gdG9wbW9zdE1hcmtkb3duTm9kZSwgLy8vXG4gICAgICAgICAgdG9wbW9zdEhUTUxOb2RlID0gdG9wbW9zdEhUTUxOb2RlRnJvbU1hcmtkb3duTm9kZShtYXJrZG93bk5vZGUpO1xuXG4gICAgaWYgKHRvcG1vc3RIVE1MTm9kZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBjb250ZXh0O1xuXG4gICAgY29uc3QgbWFya2Rvd25Ub2tlbnMgPSB0aGlzLmdldE1hcmtkb3duVG9rZW5zKCksXG4gICAgICAgICAgdG9rZW5zID0gbWFya2Rvd25Ub2tlbnM7ICAvLy9cblxuICAgIGNvbnRleHQgPSB7XG4gICAgICBpbmRleE9wdGlvbnMsXG4gICAgICB0b2tlbnNcbiAgICB9O1xuXG4gICAgdG9wbW9zdEhUTUxOb2RlLnJlc29sdmUoY29udGV4dCk7XG5cbiAgICBjb25zdCBkaXZpc2lvbkhUTUxOT2RlID0gdG9wbW9zdEhUTUxOb2RlLmdldERpdmlzaW9uSFRNTE5vZGVBdChpbmRleCk7XG5cbiAgICBpZiAoZGl2aXNpb25IVE1MTk9kZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRpdmlzaW9uSFRNTE5PZGVQYXJzZVRyZWUgPSBkaXZpc2lvbkhUTUxOT2RlLmFzUGFyc2VUcmVlKCksXG4gICAgICAgICAgaHRtbFBhcnNlVHJlZSA9IGRpdmlzaW9uSFRNTE5PZGVQYXJzZVRyZWUsICAvLy9cbiAgICAgICAgICBtdWx0aXBsaWNpdHkgPSB0b3Btb3N0SFRNTE5vZGUuZ2V0TXVsdGlwbGljaXR5KCksXG4gICAgICAgICAgbGVuZ3RoID0gbXVsdGlwbGljaXR5O1xuXG4gICAgY29udGV4dCA9IHtcbiAgICAgIHRva2VucyxcbiAgICAgIHBhdGhUb1VSTFxuICAgIH07XG5cbiAgICB0aGlzLnVwZGF0ZVhNUChkaXZpc2lvbkhUTUxOT2RlLCBjb250ZXh0KTtcblxuICAgIHRoaXMudXBkYXRlUHJldmlld0RpdihkaXZpc2lvbkhUTUxOT2RlLCBjb250ZXh0KTtcblxuICAgIHRoaXMudXBkYXRlUGxhaW5UZXh0VGV4dGFyZWEoZGl2aXNpb25IVE1MTk9kZSwgY29udGV4dCk7XG5cbiAgICB0aGlzLnVwZGF0ZUhUTUxQYXJzZVRyZWVUZXh0YXJlYShodG1sUGFyc2VUcmVlKTtcblxuICAgIHRoaXMudXBkYXRlUGFnZUJ1dHRvbnNEaXYobGVuZ3RoLCBpbmRleCk7XG4gIH1cblxuICB1cGRhdGVDU1MoKSB7XG4gICAgY29uc3QgdG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlID0gdGhpcy5nZXRUb3Btb3N0TWFya2Rvd25TdHlsZU5vZGUoKSxcbiAgICAgICAgICBtYXJrZG93blN0eWxlVG9rZW5zID0gdGhpcy5nZXRNYXJrZG93blN0eWxlVG9rZW5zKCksXG4gICAgICAgICAgbWFya2Rvd25TdHlsZU5vZGUgPSB0b3Btb3N0TWFya2Rvd25TdHlsZU5vZGUsIC8vL1xuICAgICAgICAgIHRvcG1vc3RDU1NOb2RlID0gdG9wbW9zdENTU05vZGVGcm9tTWFya2Rvd25TdHlsZU5vZGUobWFya2Rvd25TdHlsZU5vZGUpLFxuICAgICAgICAgIHRhcmdldCA9IFdFQl9UQVJHRVQsXG4gICAgICAgICAgdG9rZW5zID0gbWFya2Rvd25TdHlsZVRva2VucywgLy8vXG4gICAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgIHRva2Vuc1xuICAgICAgICAgIH07XG5cbiAgICB0b3Btb3N0Q1NTTm9kZS5yZXNvbHZlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgdG9wbW9zdENTU05vZGVQYXJzZVRyZWUgPSB0b3Btb3N0Q1NTTm9kZS5hc1BhcnNlVHJlZSh0b2tlbnMpLFxuICAgICAgICAgIGNzc1BhcnNlVHJlZSA9IHRvcG1vc3RDU1NOb2RlUGFyc2VUcmVlLCAvLy9cbiAgICAgICAgICBjc3MgPSB0b3Btb3N0Q1NTTm9kZS5hc0NTUyhjb250ZXh0KTtcblxuICAgIHRoaXMudXBkYXRlQ1NTUGFyc2VUcmVlVGV4dGFyZWEoY3NzUGFyc2VUcmVlKTtcblxuICAgIHRoaXMuc2V0Q1NTKGNzcyk7XG4gIH1cblxuICBtYXJrZG93blN0eWxlKCkge1xuICAgIHRoaXMuaGlkZU1hcmtkb3duQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5zaG93TWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgbWFya2Rvd24oKSB7XG4gICAgdGhpcy5zaG93TWFya2Rvd25Db250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2KCk7XG4gIH1cblxuICBwbGFpblRleHQoKSB7XG4gICAgdGhpcy5oaWRlQ1NTQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlSFRNTENvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVByZXZpZXdDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dQbGFpblRleHRDb250YWluZXJEaXYoKTtcblxuICAgIHRoaXMuaGlkZUNTU1BhcnNlVHJlZVRleHRhcmVhKCk7XG4gICAgdGhpcy5zaG93SFRNTFBhcnNlVHJlZVRleHRhcmVhKCk7XG4gIH1cblxuICBwcmV2aWV3KCkge1xuICAgIHRoaXMuaGlkZUNTU0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZUhUTUxDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dQcmV2aWV3Q29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUGxhaW5UZXh0Q29udGFpbmVyRGl2KCk7XG5cbiAgICB0aGlzLmhpZGVDU1NQYXJzZVRyZWVUZXh0YXJlYSgpO1xuICAgIHRoaXMuc2hvd0hUTUxQYXJzZVRyZWVUZXh0YXJlYSgpO1xuICB9XG5cbiAgaHRtbCgpIHtcbiAgICB0aGlzLmhpZGVDU1NDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dIVE1MQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUHJldmlld0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdigpO1xuXG4gICAgdGhpcy5oaWRlQ1NTUGFyc2VUcmVlVGV4dGFyZWEoKTtcbiAgICB0aGlzLnNob3dIVE1MUGFyc2VUcmVlVGV4dGFyZWEoKTtcbiAgfVxuXG4gIGNzcygpIHtcbiAgICB0aGlzLnNob3dDU1NDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVIVE1MQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUHJldmlld0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdigpO1xuXG4gICAgdGhpcy5zaG93Q1NTUGFyc2VUcmVlVGV4dGFyZWEoKTtcbiAgICB0aGlzLmhpZGVIVE1MUGFyc2VUcmVlVGV4dGFyZWEoKTtcbiAgfVxuXG4gIHJlc2V0TWFya2Rvd25Ub2tlbnMoKSB7XG4gICAgY29uc3QgbWFya2Rvd25Ub2tlbnMgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRNYXJrZG93blRva2VucyhtYXJrZG93blRva2Vucyk7XG4gIH1cblxuICByZXNldE1hcmtkb3duU3R5bGVUb2tlbnMoKSB7XG4gICAgY29uc3QgbWFya2Rvd25TdHlsZVRva2VucyA9IG51bGw7XG5cbiAgICB0aGlzLnNldE1hcmtkb3duU3R5bGVUb2tlbnMobWFya2Rvd25TdHlsZVRva2Vucyk7XG4gIH1cblxuICByZXNldFRvcG1vc3RNYXJrZG93bk5vZGUoKSB7XG4gICAgY29uc3QgdG9wbW9zdE1hcmtkb3duTm9kZSA9IG51bGw7XG5cbiAgICB0aGlzLnNldFRvcG1vc3RNYXJrZG93bk5vZGUodG9wbW9zdE1hcmtkb3duTm9kZSk7XG4gIH1cblxuICByZXNldFRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSgpIHtcbiAgICBjb25zdCB0b3Btb3N0TWFya2Rvd25TdHlsZU5vZGUgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRUb3Btb3N0TWFya2Rvd25TdHlsZU5vZGUodG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlKTtcbiAgfVxuXG4gIGdldE1hcmtkb3duU3R5bGVFbGVtZW50KCkge1xuICAgIGNvbnN0IHsgbWFya2Rvd25TdHlsZUVsZW1lbnQgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiBtYXJrZG93blN0eWxlRWxlbWVudDtcbiAgfVxuXG4gIGdldE1hcmtkb3duVG9rZW5zKCkge1xuICAgIGNvbnN0IHsgbWFya2Rvd25Ub2tlbnMgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiBtYXJrZG93blRva2VucztcbiAgfVxuXG4gIGdldE1hcmtkb3duU3R5bGVUb2tlbnMoKSB7XG4gICAgY29uc3QgeyBtYXJrZG93blN0eWxlVG9rZW5zIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgICByZXR1cm4gbWFya2Rvd25TdHlsZVRva2VucztcbiAgfVxuXG4gIGdldFRvcG1vc3RNYXJrZG93bk5vZGUoKSB7XG4gICAgY29uc3QgeyB0b3Btb3N0TU1hcmtkb3duTm9kZSB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIHRvcG1vc3RNTWFya2Rvd25Ob2RlO1xuICB9XG5cbiAgZ2V0VG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlKCkge1xuICAgIGNvbnN0IHsgdG9wbW9zdE1NYXJrZG93blN0eWxlTm9kZSB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIHRvcG1vc3RNTWFya2Rvd25TdHlsZU5vZGU7XG4gIH1cblxuICBzZXRNYXJrZG93blRva2VucyhtYXJrZG93blRva2Vucykge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgbWFya2Rvd25Ub2tlbnNcbiAgICB9KTtcbiAgfVxuXG4gIHNldE1hcmtkb3duU3R5bGVUb2tlbnMobWFya2Rvd25TdHlsZVRva2Vucykge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgbWFya2Rvd25TdHlsZVRva2Vuc1xuICAgIH0pO1xuICB9XG5cbiAgc2V0VG9wbW9zdE1hcmtkb3duTm9kZSh0b3Btb3N0TU1hcmtkb3duTm9kZSkge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgdG9wbW9zdE1NYXJrZG93bk5vZGVcbiAgICB9KTtcbiAgfVxuXG4gIHNldFRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSh0b3Btb3N0TU1hcmtkb3duU3R5bGVOb2RlKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICB0b3Btb3N0TU1hcmtkb3duU3R5bGVOb2RlXG4gICAgfSk7XG4gIH1cblxuICBzZXRJbml0aWFsU3RhdGUoKSB7XG4gICAgY29uc3QgbWFya2Rvd25Ub2tlbnMgPSBudWxsLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGVUb2tlbnMgPSBudWxsLFxuICAgICAgICAgIHRvcG1vc3RNYXJrZG93bk5vZGUgPSBudWxsLFxuICAgICAgICAgIHRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSA9IG51bGw7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIG1hcmtkb3duVG9rZW5zLFxuICAgICAgbWFya2Rvd25TdHlsZVRva2VucyxcbiAgICAgIHRvcG1vc3RNYXJrZG93bk5vZGUsXG4gICAgICB0b3Btb3N0TWFya2Rvd25TdHlsZU5vZGVcbiAgICB9KTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIHRoaXMubWFya2Rvd24oKTtcblxuICAgIHRoaXMucHJldmlldygpO1xuXG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIC8vL1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgICByZXR1cm4gKFxuXG4gICAgICA8Q29sdW1uc0Rpdj5cbiAgICAgICAgPExlZnRTaXplYWJsZURpdj5cbiAgICAgICAgICA8TGVmdFRhYkJ1dHRvbnNEaXYgb25DdXN0b21NYXJrZG93bj17dGhpcy5tYXJrZG93bkN1c3RvbUhhbmRsZXJ9IG9uQ3VzdG9tTWFya2Rvd25TdHlsZT17dGhpcy5tYXJrZG93blN0eWxlQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgICA8TWFya2Rvd25Db250YWluZXJEaXYgb25DdXN0b21LZXlVcD17dGhpcy5rZXlVcEN1c3RvbUhhbmRsZXJ9IC8+XG4gICAgICAgICAgPE1hcmtkb3duU3R5bGVDb250YWluZXJEaXYgb25DdXN0b21LZXlVcD17dGhpcy5rZXlVcEN1c3RvbUhhbmRsZXJ9IC8+XG4gICAgICAgIDwvTGVmdFNpemVhYmxlRGl2PlxuICAgICAgICA8VmVydGljYWxTcGxpdHRlckRpdi8+XG4gICAgICAgIDxDb2x1bW5EaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8UmlnaHRUYWJCdXR0b25zRGl2IG9uQ3VzdG9tQ1NTPXt0aGlzLmNzc0N1c3RvbUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ3VzdG9tSFRNTD17dGhpcy5odG1sQ3VzdG9tSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DdXN0b21QcmV2aWV3PXt0aGlzLnByZXZpZXdDdXN0b21IYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkN1c3RvbVBsYWluVGV4dD17dGhpcy5wbGFpblRleHRDdXN0b21IYW5kbGVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQYWdlQnV0dG9uc0RpdiBvbkN1c3RvbVBhZ2VVcGRhdGU9e3RoaXMucGFnZVVwZGF0ZUN1c3RvbUhhbmRsZXJ9IC8+XG4gICAgICAgICAgICA8Q1NTQ29udGFpbmVyRGl2Lz5cbiAgICAgICAgICAgIDxIVE1MQ29udGFpbmVyRGl2Lz5cbiAgICAgICAgICAgIDxQcmV2aWV3Q29udGFpbmVyRGl2Lz5cbiAgICAgICAgICAgIDxQbGFpblRleHRDb250YWluZXJEaXYvPlxuICAgICAgICAgICAgPEhUTUxQYXJzZVRyZWVUZXh0YXJlYS8+XG4gICAgICAgICAgICA8Q1NTUGFyc2VUcmVlVGV4dGFyZWEvPlxuICAgICAgICAgIDwvUm93c0Rpdj5cbiAgICAgICAgPC9Db2x1bW5EaXY+XG4gICAgICA8L0NvbHVtbnNEaXY+XG5cbiAgICApO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XG5cbiAgICBjb25zdCB7IGluaXRpYWxNYXJrZG93biwgaW5pdGlhbE1hcmtkb3duU3R5bGUgfSA9IHRoaXMuY29uc3RydWN0b3IsXG4gICAgICAgICAgbWFya2Rvd25TdHlsZSA9IGluaXRpYWxNYXJrZG93blN0eWxlLCAvLy9cbiAgICAgICAgICBtYXJrZG93biA9IGluaXRpYWxNYXJrZG93bjsgLy8vXG5cbiAgICB0aGlzLnNldE1hcmtkb3duU3R5bGUobWFya2Rvd25TdHlsZSk7XG5cbiAgICB0aGlzLnNldE1hcmtkb3duKG1hcmtkb3duKTtcbiAgfVxuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd24gPSBgIyBGb3VuZGF0aW9uc1xuICBcbiBcXGBcXGBcXGBcbiBCbG9jayBsaXN0aW5nXG4gXFxgXFxgXFxgXG4gIFxuICBgO1xuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd25TdHlsZSA9IGBcblxucHJpbWFyeUhlYWRpbmcge1xuXG4gIFxcYFxcYFxcYG9kZlxuICBtYXJnaW46IGxlZnQ7XG4gIFxcYFxcYFxcYFxufSAgXG4gIFxuXG5gO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJtYXJrZG93blN0eWxlRWxlbWVudFwiXG4gIF07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJ2aWV3XCJcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFZpZXcpYFxuXG4gIHBhZGRpbmc6IDFyZW07XG4gIFxuYDtcblxuZnVuY3Rpb24gcGF0aFRvVVJMKHBhdGgpIHtcbiAgY29uc3QgdXJsID0gYGh0dHBzOi8vZGphbGJhdC5jb20vJHtwYXRofWA7XG5cbiAgcmV0dXJuIHVybDtcbn1cbiJdLCJuYW1lcyI6WyJ0b2tlbnNGcm9tTWFya2Rvd24iLCJncmFtbWFyVXRpbGl0aWVzIiwibWFya2Rvd25Ob2RlRnJvbVRva2VucyIsInRva2Vuc0Zyb21NYXJrZG93blN0eWxlIiwibWFya2Rvd25TdHlsZU5vZGVGcm9tVG9rZW5zIiwidG9wbW9zdEhUTUxOb2RlRnJvbU1hcmtkb3duTm9kZSIsInRvcG1vc3RDU1NOb2RlRnJvbU1hcmtkb3duU3R5bGVOb2RlIiwiVmlldyIsInBhZ2VVcGRhdGVDdXN0b21IYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwiaW5kZXgiLCJ1cGRhdGVIVE1MIiwibWFya2Rvd25TdHlsZUN1c3RvbUhhbmRsZXIiLCJtYXJrZG93blN0eWxlIiwibWFya2Rvd25DdXN0b21IYW5kbGVyIiwibWFya2Rvd24iLCJwbGFpblRleHRDdXN0b21IYW5kbGVyIiwicGxhaW5UZXh0IiwicHJldmlld0N1c3RvbUhhbmRsZXIiLCJwcmV2aWV3Iiwia2V5VXBDdXN0b21IYW5kbGVyIiwidXBkYXRlIiwiaHRtbEN1c3RvbUhhbmRsZXIiLCJodG1sIiwiY3NzQ3VzdG9tSGFuZGxlciIsImNzcyIsInVwZGF0ZU1hcmtkb3duU3R5bGUiLCJ1cGRhdGVNYXJrZG93biIsInVwZGF0ZUNTUyIsImdldE1hcmtkb3duU3R5bGUiLCJ0b2tlbnMiLCJtYXJrZG93blN0eWxlTm9kZSIsInJlc2V0TWFya2Rvd25TdHlsZVRva2VucyIsInJlc2V0VG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlIiwiY2xlYXJNYXJrZG93blN0eWxlUGFyc2VUcmVlVGV4dGFyZWEiLCJub2RlIiwicGFyc2VUcmVlIiwiYXNQYXJzZVRyZWUiLCJtYXJrZG93blN0eWxlVG9rZW5zIiwidG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlIiwic2V0TWFya2Rvd25TdHlsZVRva2VucyIsInNldFRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSIsInVwZGF0ZU1hcmtkb3duU3R5bGVQYXJzZVRyZWVUZXh0YXJlYSIsIm1hcmtkb3duU3R5bGVFbGVtZW50IiwiZ2V0TWFya2Rvd25TdHlsZUVsZW1lbnQiLCJ0b3Btb3N0Q1NTTm9kZSIsInRhcmdldCIsIldFQl9UQVJHRVQiLCJjb250ZXh0IiwicmVzb2x2ZSIsImFzQ1NTIiwic2V0Q1NTIiwiZ2V0TWFya2Rvd24iLCJtYXJrZG93bk5vZGUiLCJyZXNldE1hcmtkb3duVG9rZW5zIiwicmVzZXRUb3Btb3N0TWFya2Rvd25Ob2RlIiwiY2xlYXJNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhIiwidG9wbW9zdE1hcmtkb3duTm9kZSIsImltcG9ydGVyIiwidG9wbW9zdE1hcmtkb3duTm9kZVBhcnNlVHJlZSIsIm1hcmtkb3duUGFyc2VUcmVlIiwibWFya2Rvd25Ub2tlbnMiLCJzZXRNYXJrZG93blRva2VucyIsInNldFRvcG1vc3RNYXJrZG93bk5vZGUiLCJ1cGRhdGVNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhIiwiY2xlYXJYTVAiLCJjbGVhclByZXZpZXdEaXYiLCJjbGVhclBsYWluVGV4dFRleHRhcmVhIiwiY2xlYXJIVE1MUGFyc2VUcmVlVGV4dGFyZWEiLCJjbGVhclBhZ2VCdXR0b25zRGl2IiwiZ2V0VG9wbW9zdE1hcmtkb3duTm9kZSIsInRvcG1vc3RIVE1MTm9kZSIsImdldE1hcmtkb3duVG9rZW5zIiwiaW5kZXhPcHRpb25zIiwiZGl2aXNpb25IVE1MTk9kZSIsImdldERpdmlzaW9uSFRNTE5vZGVBdCIsImRpdmlzaW9uSFRNTE5PZGVQYXJzZVRyZWUiLCJodG1sUGFyc2VUcmVlIiwibXVsdGlwbGljaXR5IiwiZ2V0TXVsdGlwbGljaXR5IiwibGVuZ3RoIiwicGF0aFRvVVJMIiwidXBkYXRlWE1QIiwidXBkYXRlUHJldmlld0RpdiIsInVwZGF0ZVBsYWluVGV4dFRleHRhcmVhIiwidXBkYXRlSFRNTFBhcnNlVHJlZVRleHRhcmVhIiwidXBkYXRlUGFnZUJ1dHRvbnNEaXYiLCJnZXRUb3Btb3N0TWFya2Rvd25TdHlsZU5vZGUiLCJnZXRNYXJrZG93blN0eWxlVG9rZW5zIiwidG9wbW9zdENTU05vZGVQYXJzZVRyZWUiLCJjc3NQYXJzZVRyZWUiLCJ1cGRhdGVDU1NQYXJzZVRyZWVUZXh0YXJlYSIsImhpZGVNYXJrZG93bkNvbnRhaW5lckRpdiIsInNob3dNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2Iiwic2hvd01hcmtkb3duQ29udGFpbmVyRGl2IiwiaGlkZU1hcmtkb3duU3R5bGVDb250YWluZXJEaXYiLCJoaWRlQ1NTQ29udGFpbmVyRGl2IiwiaGlkZUhUTUxDb250YWluZXJEaXYiLCJoaWRlUHJldmlld0NvbnRhaW5lckRpdiIsInNob3dQbGFpblRleHRDb250YWluZXJEaXYiLCJoaWRlQ1NTUGFyc2VUcmVlVGV4dGFyZWEiLCJzaG93SFRNTFBhcnNlVHJlZVRleHRhcmVhIiwic2hvd1ByZXZpZXdDb250YWluZXJEaXYiLCJoaWRlUGxhaW5UZXh0Q29udGFpbmVyRGl2Iiwic2hvd0hUTUxDb250YWluZXJEaXYiLCJzaG93Q1NTQ29udGFpbmVyRGl2Iiwic2hvd0NTU1BhcnNlVHJlZVRleHRhcmVhIiwiaGlkZUhUTUxQYXJzZVRyZWVUZXh0YXJlYSIsInByb3BlcnRpZXMiLCJnZXRTdGF0ZSIsInRvcG1vc3RNTWFya2Rvd25Ob2RlIiwidG9wbW9zdE1NYXJrZG93blN0eWxlTm9kZSIsInVwZGF0ZVN0YXRlIiwic2V0SW5pdGlhbFN0YXRlIiwic2V0U3RhdGUiLCJkaWRNb3VudCIsIndpbGxVbm1vdW50IiwiY2hpbGRFbGVtZW50cyIsIkNvbHVtbnNEaXYiLCJMZWZ0U2l6ZWFibGVEaXYiLCJMZWZ0VGFiQnV0dG9uc0RpdiIsIm9uQ3VzdG9tTWFya2Rvd24iLCJvbkN1c3RvbU1hcmtkb3duU3R5bGUiLCJNYXJrZG93bkNvbnRhaW5lckRpdiIsIm9uQ3VzdG9tS2V5VXAiLCJNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2IiwiVmVydGljYWxTcGxpdHRlckRpdiIsIkNvbHVtbkRpdiIsIlJvd3NEaXYiLCJSaWdodFRhYkJ1dHRvbnNEaXYiLCJvbkN1c3RvbUNTUyIsIm9uQ3VzdG9tSFRNTCIsIm9uQ3VzdG9tUHJldmlldyIsIm9uQ3VzdG9tUGxhaW5UZXh0IiwiUGFnZUJ1dHRvbnNEaXYiLCJvbkN1c3RvbVBhZ2VVcGRhdGUiLCJDU1NDb250YWluZXJEaXYiLCJIVE1MQ29udGFpbmVyRGl2IiwiUHJldmlld0NvbnRhaW5lckRpdiIsIlBsYWluVGV4dENvbnRhaW5lckRpdiIsIkhUTUxQYXJzZVRyZWVUZXh0YXJlYSIsIkNTU1BhcnNlVHJlZVRleHRhcmVhIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJpbml0aWFsTWFya2Rvd24iLCJpbml0aWFsTWFya2Rvd25TdHlsZSIsInNldE1hcmtkb3duU3R5bGUiLCJzZXRNYXJrZG93biIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIndpdGhTdHlsZSIsInBhdGgiLCJ1cmwiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdkQTs7O2VBQUE7OztvRUE5Y3NCO29CQUVFO3FCQUNTOzBCQUNtQzttRUFFM0M7a0VBQ0U7MkRBQ0M7MERBQ0E7MkRBQ0M7NERBQ0M7NERBQ0M7OERBQ0M7K0RBQ0M7MkRBQ0E7NERBQ0M7Z0VBQ0E7b0VBQ0k7d0JBRWI7dUJBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFM0IsSUFBUUEscUJBS3dDQyx1QkFBZ0IsQ0FMeERELG9CQUNBRSx5QkFJd0NELHVCQUFnQixDQUp4REMsd0JBQ0FDLDBCQUd3Q0YsdUJBQWdCLENBSHhERSx5QkFDQUMsOEJBRXdDSCx1QkFBZ0IsQ0FGeERHLDZCQUNBQyxrQ0FDd0NKLHVCQUFnQixDQUR4REksaUNBQ0FDLHNDQUF3Q0wsdUJBQWdCLENBQXhESztBQUVSLElBQUEsQUFBTUMscUJBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBOztnQkFBTixrQkFBTUEsa0JBQ0pDLHdCQUFBQSwyQkFBMEIsU0FBQ0MsT0FBT0MsU0FBU0M7WUFDekMsTUFBS0MsVUFBVSxDQUFDRDtRQUNsQixJQUVBRSx3QkFBQUEsOEJBQTZCLFNBQUNKLE9BQU9DO1lBQ25DLE1BQUtJLGFBQWE7UUFDcEIsSUFFQUMsd0JBQUFBLHlCQUF3QixTQUFDTixPQUFPQztZQUM5QixNQUFLTSxRQUFRO1FBQ2YsSUFFQUMsd0JBQUFBLDBCQUF5QixTQUFDUixPQUFPQztZQUMvQixNQUFLUSxTQUFTO1FBQ2hCLElBRUFDLHdCQUFBQSx3QkFBdUIsU0FBQ1YsT0FBT0M7WUFDN0IsTUFBS1UsT0FBTztRQUNkLElBRUFDLHdCQUFBQSxzQkFBcUIsU0FBQ1osT0FBT0M7WUFDM0IsTUFBS1ksTUFBTTtRQUNiLElBRUFDLHdCQUFBQSxxQkFBb0IsU0FBQ2QsT0FBT0M7WUFDMUIsTUFBS2MsSUFBSTtRQUNYLElBRUFDLHdCQUFBQSxvQkFBbUIsU0FBQ2hCLE9BQU9DO1lBQ3pCLE1BQUtnQixHQUFHO1FBQ1Y7OztrQkEvQkluQjs7WUFpQ0plLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNLLG1CQUFtQjtnQkFFeEIsSUFBSSxDQUFDQyxjQUFjO2dCQUVuQixJQUFJLENBQUNoQixVQUFVO2dCQUVmLElBQUksQ0FBQ2lCLFNBQVM7WUFDaEI7OztZQUVBRixLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTWIsZ0JBQWdCLElBQUksQ0FBQ2dCLGdCQUFnQixJQUNyQ0MsU0FBUzVCLHdCQUF3QlcsZ0JBQ2pDa0Isb0JBQW9CNUIsNEJBQTRCMkI7Z0JBRXRELElBQUlDLHNCQUFzQixNQUFNO29CQUM5QixJQUFJLENBQUNDLHdCQUF3QjtvQkFFN0IsSUFBSSxDQUFDQyw2QkFBNkI7b0JBRWxDLElBQUksQ0FBQ0MsbUNBQW1DO29CQUV4QztnQkFDRjtnQkFFQSxJQUFNQyxPQUFPSixtQkFDUEssWUFBWUQsS0FBS0UsV0FBVyxDQUFDUCxTQUM3QlEsc0JBQXNCUixRQUN0QlMsMkJBQTJCSixNQUFNLEdBQUc7Z0JBRTFDLElBQUksQ0FBQ0ssc0JBQXNCLENBQUNGO2dCQUU1QixJQUFJLENBQUNHLDJCQUEyQixDQUFDRjtnQkFFakMsSUFBSSxDQUFDRyxvQ0FBb0MsQ0FBQ047Z0JBRTFDLElBQU1PLHVCQUF1QixJQUFJLENBQUNDLHVCQUF1QixJQUNuREMsaUJBQWlCeEMsb0NBQW9DMEIsb0JBQ3JEZSxTQUFTQyxtQkFBVSxFQUNuQkMsVUFBVTtvQkFDUkYsUUFBQUE7b0JBQ0FoQixRQUFBQTtnQkFDRjtnQkFFTmUsZUFBZUksT0FBTyxDQUFDRDtnQkFFdkIsSUFBTXZCLE1BQU1vQixlQUFlSyxLQUFLLENBQUNGO2dCQUVqQ0wscUJBQXFCUSxNQUFNLENBQUMxQjtZQUM5Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNWixXQUFXLElBQUksQ0FBQ3FDLFdBQVcsSUFDM0J0QixTQUFTL0IsbUJBQW1CZ0IsV0FDNUJzQyxlQUFlcEQsdUJBQXVCNkI7Z0JBRTVDLElBQUl1QixpQkFBaUIsTUFBTTtvQkFDekIsSUFBSSxDQUFDQyxtQkFBbUI7b0JBRXhCLElBQUksQ0FBQ0Msd0JBQXdCO29CQUU3QixJQUFJLENBQUNDLDhCQUE4QjtvQkFFbkM7Z0JBQ0Y7Z0JBRUEsSUFBSVI7Z0JBRUosSUFBTVMsc0JBQXNCSixjQUFjLEdBQUc7Z0JBRTdDTCxVQUFVO29CQUNSbEIsUUFBQUE7b0JBQ0E0QixVQUFBQSxrQkFBUTtnQkFDVjtnQkFFQUQsb0JBQW9CUixPQUFPLENBQUNEO2dCQUU1QixJQUFNVywrQkFBK0JGLG9CQUFvQnBCLFdBQVcsQ0FBQ1AsU0FDL0Q4QixvQkFBb0JELDhCQUNwQkUsaUJBQWlCL0IsUUFBUyxHQUFHO2dCQUVuQyxJQUFJLENBQUNnQyxpQkFBaUIsQ0FBQ0Q7Z0JBRXZCLElBQUksQ0FBQ0Usc0JBQXNCLENBQUNOO2dCQUU1QixJQUFJLENBQUNPLCtCQUErQixDQUFDSjtZQUN2Qzs7O1lBRUFqRCxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQVdELFFBQUFBLGlFQUFRO2dCQUNqQixJQUFJLENBQUN1RCxRQUFRO2dCQUViLElBQUksQ0FBQ0MsZUFBZTtnQkFFcEIsSUFBSSxDQUFDQyxzQkFBc0I7Z0JBRTNCLElBQUksQ0FBQ0MsMEJBQTBCO2dCQUUvQixJQUFJLENBQUNDLG1CQUFtQjtnQkFFeEIsSUFBTVosc0JBQXNCLElBQUksQ0FBQ2Esc0JBQXNCLElBQ2pEakIsZUFBZUkscUJBQ2ZjLGtCQUFrQm5FLGdDQUFnQ2lEO2dCQUV4RCxJQUFJa0Isb0JBQW9CLE1BQU07b0JBQzVCO2dCQUNGO2dCQUVBLElBQUl2QjtnQkFFSixJQUFNYSxpQkFBaUIsSUFBSSxDQUFDVyxpQkFBaUIsSUFDdkMxQyxTQUFTK0IsZ0JBQWlCLEdBQUc7Z0JBRW5DYixVQUFVO29CQUNSeUIsY0FBQUEscUJBQVk7b0JBQ1ozQyxRQUFBQTtnQkFDRjtnQkFFQXlDLGdCQUFnQnRCLE9BQU8sQ0FBQ0Q7Z0JBRXhCLElBQU0wQixtQkFBbUJILGdCQUFnQkkscUJBQXFCLENBQUNqRTtnQkFFL0QsSUFBSWdFLHFCQUFxQixNQUFNO29CQUM3QjtnQkFDRjtnQkFFQSxJQUFNRSw0QkFBNEJGLGlCQUFpQnJDLFdBQVcsSUFDeER3QyxnQkFBZ0JELDJCQUNoQkUsZUFBZVAsZ0JBQWdCUSxlQUFlLElBQzlDQyxTQUFTRjtnQkFFZjlCLFVBQVU7b0JBQ1JsQixRQUFBQTtvQkFDQW1ELFdBQUFBO2dCQUNGO2dCQUVBLElBQUksQ0FBQ0MsU0FBUyxDQUFDUixrQkFBa0IxQjtnQkFFakMsSUFBSSxDQUFDbUMsZ0JBQWdCLENBQUNULGtCQUFrQjFCO2dCQUV4QyxJQUFJLENBQUNvQyx1QkFBdUIsQ0FBQ1Ysa0JBQWtCMUI7Z0JBRS9DLElBQUksQ0FBQ3FDLDJCQUEyQixDQUFDUjtnQkFFakMsSUFBSSxDQUFDUyxvQkFBb0IsQ0FBQ04sUUFBUXRFO1lBQ3BDOzs7WUFFQWtCLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNVywyQkFBMkIsSUFBSSxDQUFDZ0QsMkJBQTJCLElBQzNEakQsc0JBQXNCLElBQUksQ0FBQ2tELHNCQUFzQixJQUNqRHpELG9CQUFvQlEsMEJBQ3BCTSxpQkFBaUJ4QyxvQ0FBb0MwQixvQkFDckRlLFNBQVNDLG1CQUFVLEVBQ25CakIsU0FBU1EscUJBQ1RVLFVBQVU7b0JBQ1JGLFFBQUFBO29CQUNBaEIsUUFBQUE7Z0JBQ0Y7Z0JBRU5lLGVBQWVJLE9BQU8sQ0FBQ0Q7Z0JBRXZCLElBQU15QywwQkFBMEI1QyxlQUFlUixXQUFXLENBQUNQLFNBQ3JENEQsZUFBZUQseUJBQ2ZoRSxNQUFNb0IsZUFBZUssS0FBSyxDQUFDRjtnQkFFakMsSUFBSSxDQUFDMkMsMEJBQTBCLENBQUNEO2dCQUVoQyxJQUFJLENBQUN2QyxNQUFNLENBQUMxQjtZQUNkOzs7WUFFQVosS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQytFLHdCQUF3QjtnQkFDN0IsSUFBSSxDQUFDQyw2QkFBNkI7WUFDcEM7OztZQUVBOUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQytFLHdCQUF3QjtnQkFDN0IsSUFBSSxDQUFDQyw2QkFBNkI7WUFDcEM7OztZQUVBOUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQytFLG1CQUFtQjtnQkFDeEIsSUFBSSxDQUFDQyxvQkFBb0I7Z0JBQ3pCLElBQUksQ0FBQ0MsdUJBQXVCO2dCQUM1QixJQUFJLENBQUNDLHlCQUF5QjtnQkFFOUIsSUFBSSxDQUFDQyx3QkFBd0I7Z0JBQzdCLElBQUksQ0FBQ0MseUJBQXlCO1lBQ2hDOzs7WUFFQWxGLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUM2RSxtQkFBbUI7Z0JBQ3hCLElBQUksQ0FBQ0Msb0JBQW9CO2dCQUN6QixJQUFJLENBQUNLLHVCQUF1QjtnQkFDNUIsSUFBSSxDQUFDQyx5QkFBeUI7Z0JBRTlCLElBQUksQ0FBQ0gsd0JBQXdCO2dCQUM3QixJQUFJLENBQUNDLHlCQUF5QjtZQUNoQzs7O1lBRUE5RSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDeUUsbUJBQW1CO2dCQUN4QixJQUFJLENBQUNRLG9CQUFvQjtnQkFDekIsSUFBSSxDQUFDTix1QkFBdUI7Z0JBQzVCLElBQUksQ0FBQ0sseUJBQXlCO2dCQUU5QixJQUFJLENBQUNILHdCQUF3QjtnQkFDN0IsSUFBSSxDQUFDQyx5QkFBeUI7WUFDaEM7OztZQUVBNUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ2dGLG1CQUFtQjtnQkFDeEIsSUFBSSxDQUFDUixvQkFBb0I7Z0JBQ3pCLElBQUksQ0FBQ0MsdUJBQXVCO2dCQUM1QixJQUFJLENBQUNLLHlCQUF5QjtnQkFFOUIsSUFBSSxDQUFDRyx3QkFBd0I7Z0JBQzdCLElBQUksQ0FBQ0MseUJBQXlCO1lBQ2hDOzs7WUFFQXJELEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNTyxpQkFBaUI7Z0JBRXZCLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNEO1lBQ3pCOzs7WUFFQTdCLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNTSxzQkFBc0I7Z0JBRTVCLElBQUksQ0FBQ0Usc0JBQXNCLENBQUNGO1lBQzlCOzs7WUFFQWlCLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNRSxzQkFBc0I7Z0JBRTVCLElBQUksQ0FBQ00sc0JBQXNCLENBQUNOO1lBQzlCOzs7WUFFQXhCLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNTSwyQkFBMkI7Z0JBRWpDLElBQUksQ0FBQ0UsMkJBQTJCLENBQUNGO1lBQ25DOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU0sQUFBRUQsdUJBQXlCLElBQUksQ0FBQ2lFLFVBQVUsQ0FBeENqRTtnQkFFUixPQUFPQTtZQUNUOzs7WUFFQTZCLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNLEFBQUVYLGlCQUFtQixJQUFJLENBQUNnRCxRQUFRLEdBQWhDaEQ7Z0JBRVIsT0FBT0E7WUFDVDs7O1lBRUEyQixLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTSxBQUFFbEQsc0JBQXdCLElBQUksQ0FBQ3VFLFFBQVEsR0FBckN2RTtnQkFFUixPQUFPQTtZQUNUOzs7WUFFQWdDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNLEFBQUV3Qyx1QkFBeUIsSUFBSSxDQUFDRCxRQUFRLEdBQXRDQztnQkFFUixPQUFPQTtZQUNUOzs7WUFFQXZCLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNLEFBQUV3Qiw0QkFBOEIsSUFBSSxDQUFDRixRQUFRLEdBQTNDRTtnQkFFUixPQUFPQTtZQUNUOzs7WUFFQWpELEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0JELGNBQWM7Z0JBQzlCLElBQUksQ0FBQ21ELFdBQVcsQ0FBQztvQkFDZm5ELGdCQUFBQTtnQkFDRjtZQUNGOzs7WUFFQXJCLEtBQUFBO21CQUFBQSxTQUFBQSx1QkFBdUJGLG1CQUFtQjtnQkFDeEMsSUFBSSxDQUFDMEUsV0FBVyxDQUFDO29CQUNmMUUscUJBQUFBO2dCQUNGO1lBQ0Y7OztZQUVBeUIsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QitDLG9CQUFvQjtnQkFDekMsSUFBSSxDQUFDRSxXQUFXLENBQUM7b0JBQ2ZGLHNCQUFBQTtnQkFDRjtZQUNGOzs7WUFFQXJFLEtBQUFBO21CQUFBQSxTQUFBQSw0QkFBNEJzRSx5QkFBeUI7Z0JBQ25ELElBQUksQ0FBQ0MsV0FBVyxDQUFDO29CQUNmRCwyQkFBQUE7Z0JBQ0Y7WUFDRjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNcEQsaUJBQWlCLE1BQ2pCdkIsc0JBQXNCLE1BQ3RCbUIsc0JBQXNCLE1BQ3RCbEIsMkJBQTJCO2dCQUVqQyxJQUFJLENBQUMyRSxRQUFRLENBQUM7b0JBQ1pyRCxnQkFBQUE7b0JBQ0F2QixxQkFBQUE7b0JBQ0FtQixxQkFBQUE7b0JBQ0FsQiwwQkFBQUE7Z0JBQ0Y7WUFDRjs7O1lBRUE0RSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDcEcsUUFBUTtnQkFFYixJQUFJLENBQUNJLE9BQU87Z0JBRVosSUFBSSxDQUFDRSxNQUFNO1lBQ2I7OztZQUVBK0YsS0FBQUE7bUJBQUFBLFNBQUFBO1lBQ0UsR0FBRztZQUNMOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLHFCQUVFLG9CQUFDQyxzQkFBVSxzQkFDVCxvQkFBQ0MsYUFBZSxzQkFDZCxvQkFBQ0MsY0FBaUI7b0JBQUNDLGtCQUFrQixJQUFJLENBQUMzRyxxQkFBcUI7b0JBQUU0Ryx1QkFBdUIsSUFBSSxDQUFDOUcsMEJBQTBCO2tDQUN2SCxvQkFBQytHLGlCQUFvQjtvQkFBQ0MsZUFBZSxJQUFJLENBQUN4RyxrQkFBa0I7a0NBQzVELG9CQUFDeUcsc0JBQXlCO29CQUFDRCxlQUFlLElBQUksQ0FBQ3hHLGtCQUFrQjttQ0FFbkUsb0JBQUMwRywrQkFBbUIsdUJBQ3BCLG9CQUFDQyxxQkFBUyxzQkFDUixvQkFBQ0MsbUJBQU8sc0JBQ04sb0JBQUNDLGNBQWtCO29CQUFDQyxhQUFhLElBQUksQ0FBQzFHLGdCQUFnQjtvQkFDbEMyRyxjQUFjLElBQUksQ0FBQzdHLGlCQUFpQjtvQkFDcEM4RyxpQkFBaUIsSUFBSSxDQUFDbEgsb0JBQW9CO29CQUMxQ21ILG1CQUFtQixJQUFJLENBQUNySCxzQkFBc0I7a0NBRWxFLG9CQUFDc0gsb0JBQWM7b0JBQUNDLG9CQUFvQixJQUFJLENBQUNoSSx1QkFBdUI7a0NBQ2hFLG9CQUFDaUksWUFBZSx1QkFDaEIsb0JBQUNDLGFBQWdCLHVCQUNqQixvQkFBQ0MsZ0JBQW1CLHVCQUNwQixvQkFBQ0Msa0JBQXFCLHVCQUN0QixvQkFBQ0MsY0FBcUIsdUJBQ3RCLG9CQUFDQyxhQUFvQjtZQU0vQjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLGFBQWE7Z0JBRWxCLElBQUksQ0FBQzlCLGVBQWU7Z0JBRXBCLElBQWtELG9CQUFBLElBQUksQ0FBQyxXQUFXLEVBQTFEK0Isa0JBQTBDLGtCQUExQ0EsaUJBQWlCQyx1QkFBeUIsa0JBQXpCQSxzQkFDbkJwSSxnQkFBZ0JvSSxzQkFDaEJsSSxXQUFXaUksaUJBQWlCLEdBQUc7Z0JBRXJDLElBQUksQ0FBQ0UsZ0JBQWdCLENBQUNySTtnQkFFdEIsSUFBSSxDQUFDc0ksV0FBVyxDQUFDcEk7WUFDbkI7OztXQS9ZSVQ7cUJBQWE4SSxhQUFPO0FBaVp4QixpQkFqWkk5SSxNQWlaRzBJLG1CQUFrQjtBQVF6QixpQkF6WkkxSSxNQXlaRzJJLHdCQUF1QjtBQVk5QixpQkFyYUkzSSxNQXFhRytJLFdBQVU7QUFFakIsaUJBdmFJL0ksTUF1YUdnSixxQkFBb0I7SUFDekI7Q0FDRDtBQUVELGlCQTNhSWhKLE1BMmFHaUoscUJBQW9CO0lBQ3pCQyxXQUFXO0FBQ2I7SUFHRixXQUFlQyxJQUFBQSxzQkFBUyxFQUFDbko7QUFNekIsU0FBUzJFLFVBQVV5RSxJQUFJO0lBQ3JCLElBQU1DLE1BQU0sQUFBQyx1QkFBMkIsT0FBTEQ7SUFFbkMsT0FBT0M7QUFDVCJ9
|
|
539
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgZ3JhbW1hclV0aWxpdGllcyB9IGZyb20gXCIuLi9pbmRleFwiOyAgLy8vXG5pbXBvcnQgeyBSb3dzRGl2LCBDb2x1bW5EaXYsIENvbHVtbnNEaXYsIFZlcnRpY2FsU3BsaXR0ZXJEaXYgfSBmcm9tIFwiZWFzeS1sYXlvdXRcIjtcblxuaW1wb3J0IGluZGV4T3B0aW9ucyBmcm9tIFwiLi9pbmRleE9wdGlvbnNcIjtcbmltcG9ydCBQYWdlQnV0dG9uc0RpdiBmcm9tIFwiLi92aWV3L2Rpdi9wYWdlQnV0dG9uc1wiO1xuaW1wb3J0IExlZnRTaXplYWJsZURpdiBmcm9tIFwiLi92aWV3L2Rpdi9zaXplYWJsZS9sZWZ0XCI7XG5pbXBvcnQgQ1NTQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9jc3NcIjtcbmltcG9ydCBIVE1MQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9odG1sXCI7XG5pbXBvcnQgTGVmdFRhYkJ1dHRvbnNEaXYgZnJvbSBcIi4vdmlldy9kaXYvdGFiQnV0dG9ucy9sZWZ0XCI7XG5pbXBvcnQgUmlnaHRUYWJCdXR0b25zRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3RhYkJ1dHRvbnMvcmlnaHRcIjtcbmltcG9ydCBQcmV2aWV3Q29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9wcmV2aWV3XCI7XG5pbXBvcnQgTWFya2Rvd25Db250YWluZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvY29udGFpbmVyL21hcmtkb3duXCI7XG5pbXBvcnQgQ1NTUGFyc2VUcmVlVGV4dGFyZWEgZnJvbSBcIi4vdmlldy90ZXh0YXJlYS9wYXJzZVRyZWUvY3NzXCI7XG5pbXBvcnQgSFRNTFBhcnNlVHJlZVRleHRhcmVhIGZyb20gXCIuL3ZpZXcvdGV4dGFyZWEvcGFyc2VUcmVlL2h0bWxcIjtcbmltcG9ydCBQbGFpblRleHRDb250YWluZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvY29udGFpbmVyL3BsYWluVGV4dFwiO1xuaW1wb3J0IE1hcmtkb3duU3R5bGVDb250YWluZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvY29udGFpbmVyL21hcmtkb3duU3R5bGVcIjtcblxuaW1wb3J0IHsgaW1wb3J0ZXIgfSBmcm9tIFwiLi9pbXBvcnRlclwiO1xuaW1wb3J0IHsgV0VCX1RBUkdFVCB9IGZyb20gXCIuLi90YXJnZXRzXCI7XG5pbXBvcnQgeyBQUkVWSUVXX0NTU19TRUxFQ1RPUlNfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgdG9rZW5zRnJvbU1hcmtkb3duLFxuICAgICAgICBtYXJrZG93bk5vZGVGcm9tVG9rZW5zLFxuICAgICAgICB0b2tlbnNGcm9tTWFya2Rvd25TdHlsZSxcbiAgICAgICAgbWFya2Rvd25TdHlsZU5vZGVGcm9tVG9rZW5zLFxuICAgICAgICB0b3Btb3N0SFRNTE5vZGVGcm9tTWFya2Rvd25Ob2RlLFxuICAgICAgICBodG1sRnJvbU1hcmtkb3duT3B0aW9uc0FuZEltcG9ydGVyLFxuICAgICAgICB0b3Btb3N0Q1NTTm9kZUZyb21NYXJrZG93blN0eWxlTm9kZSxcbiAgICAgICAgY3NzRnJvbU1hcmtkb3duU3R5bGVBbmRDU1NTZWxlY3RvcnNTdHJpbmcgfSA9IGdyYW1tYXJVdGlsaXRpZXM7XG5cbmNsYXNzIFZpZXcgZXh0ZW5kcyBFbGVtZW50IHtcbiAgcGFnZVVwZGF0ZUN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgdGhpcy51cGRhdGVIVE1MKGluZGV4KTtcbiAgfVxuXG4gIG1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5tYXJrZG93blN0eWxlKCk7XG4gIH1cblxuICBtYXJrZG93bkN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLm1hcmtkb3duKCk7XG4gIH1cblxuICBwbGFpblRleHRDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5wbGFpblRleHQoKTtcbiAgfVxuXG4gIHByZXZpZXdDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5wcmV2aWV3KCk7XG4gIH1cblxuICBrZXlVcEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgaHRtbEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLmh0bWwoKTtcbiAgfVxuXG4gIGNzc0N1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLmNzcygpO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIHRoaXMudXBkYXRlTWFya2Rvd25TdHlsZSgpO1xuXG4gICAgdGhpcy51cGRhdGVNYXJrZG93bigpO1xuXG4gICAgdGhpcy51cGRhdGVIVE1MKCk7XG5cbiAgICB0aGlzLnVwZGF0ZUNTUygpO1xuICB9XG5cbiAgdXBkYXRlTWFya2Rvd25TdHlsZSgpIHtcbiAgICBjb25zdCBtYXJrZG93blN0eWxlID0gdGhpcy5nZXRNYXJrZG93blN0eWxlKCksXG4gICAgICAgICAgdG9rZW5zID0gdG9rZW5zRnJvbU1hcmtkb3duU3R5bGUobWFya2Rvd25TdHlsZSksXG4gICAgICAgICAgbWFya2Rvd25TdHlsZU5vZGUgPSBtYXJrZG93blN0eWxlTm9kZUZyb21Ub2tlbnModG9rZW5zKTtcblxuICAgIGlmIChtYXJrZG93blN0eWxlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5yZXNldE1hcmtkb3duU3R5bGVUb2tlbnMoKTtcblxuICAgICAgdGhpcy5yZXNldFRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSgpO1xuXG4gICAgICB0aGlzLmNsZWFyTWFya2Rvd25TdHlsZVBhcnNlVHJlZVRleHRhcmVhKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gbWFya2Rvd25TdHlsZU5vZGUsIC8vL1xuICAgICAgICAgIHBhcnNlVHJlZSA9IG5vZGUuYXNQYXJzZVRyZWUodG9rZW5zKSxcbiAgICAgICAgICBtYXJrZG93blN0eWxlVG9rZW5zID0gdG9rZW5zLCAvLy9cbiAgICAgICAgICB0b3Btb3N0TWFya2Rvd25TdHlsZU5vZGUgPSBub2RlOyAvLy9cblxuICAgIHRoaXMuc2V0TWFya2Rvd25TdHlsZVRva2VucyhtYXJrZG93blN0eWxlVG9rZW5zKTtcblxuICAgIHRoaXMuc2V0VG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlKHRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSk7XG5cbiAgICB0aGlzLnVwZGF0ZU1hcmtkb3duU3R5bGVQYXJzZVRyZWVUZXh0YXJlYShwYXJzZVRyZWUpO1xuICB9XG5cbiAgdXBkYXRlTWFya2Rvd24oKSB7XG4gICAgY29uc3QgbWFya2Rvd24gPSB0aGlzLmdldE1hcmtkb3duKCksXG4gICAgICAgICAgdG9rZW5zID0gdG9rZW5zRnJvbU1hcmtkb3duKG1hcmtkb3duKSxcbiAgICAgICAgICBtYXJrZG93bk5vZGUgPSBtYXJrZG93bk5vZGVGcm9tVG9rZW5zKHRva2Vucyk7XG5cbiAgICBpZiAobWFya2Rvd25Ob2RlID09PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc2V0TWFya2Rvd25Ub2tlbnMoKTtcblxuICAgICAgdGhpcy5yZXNldFRvcG1vc3RNYXJrZG93bk5vZGUoKTtcblxuICAgICAgdGhpcy5jbGVhck1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBjb250ZXh0O1xuXG4gICAgY29uc3QgdG9wbW9zdE1hcmtkb3duTm9kZSA9IG1hcmtkb3duTm9kZTsgLy8vXG5cbiAgICBjb250ZXh0ID0ge1xuICAgICAgdG9rZW5zLFxuICAgICAgaW1wb3J0ZXJcbiAgICB9O1xuXG4gICAgdG9wbW9zdE1hcmtkb3duTm9kZS5yZXNvbHZlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgdG9wbW9zdE1hcmtkb3duTm9kZVBhcnNlVHJlZSA9IHRvcG1vc3RNYXJrZG93bk5vZGUuYXNQYXJzZVRyZWUodG9rZW5zKSxcbiAgICAgICAgICBtYXJrZG93blBhcnNlVHJlZSA9IHRvcG1vc3RNYXJrZG93bk5vZGVQYXJzZVRyZWUsIC8vL1xuICAgICAgICAgIG1hcmtkb3duVG9rZW5zID0gdG9rZW5zOyAgLy8vXG5cbiAgICB0aGlzLnNldE1hcmtkb3duVG9rZW5zKG1hcmtkb3duVG9rZW5zKTtcblxuICAgIHRoaXMuc2V0VG9wbW9zdE1hcmtkb3duTm9kZSh0b3Btb3N0TWFya2Rvd25Ob2RlKTtcblxuICAgIHRoaXMudXBkYXRlTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYShtYXJrZG93blBhcnNlVHJlZSk7XG4gIH1cblxuICB1cGRhdGVIVE1MKGluZGV4ID0gMCkge1xuICAgIHRoaXMuY2xlYXJYTVAoKTtcblxuICAgIHRoaXMuY2xlYXJQcmV2aWV3RGl2KCk7XG5cbiAgICB0aGlzLmNsZWFyUGxhaW5UZXh0VGV4dGFyZWEoKTtcblxuICAgIHRoaXMuY2xlYXJIVE1MUGFyc2VUcmVlVGV4dGFyZWEoKTtcblxuICAgIHRoaXMuY2xlYXJQYWdlQnV0dG9uc0RpdigpO1xuXG4gICAgY29uc3QgdG9wbW9zdE1hcmtkb3duTm9kZSA9IHRoaXMuZ2V0VG9wbW9zdE1hcmtkb3duTm9kZSgpLFxuICAgICAgICAgIG1hcmtkb3duTm9kZSA9IHRvcG1vc3RNYXJrZG93bk5vZGUsIC8vL1xuICAgICAgICAgIHRvcG1vc3RIVE1MTm9kZSA9IHRvcG1vc3RIVE1MTm9kZUZyb21NYXJrZG93bk5vZGUobWFya2Rvd25Ob2RlKTtcblxuICAgIGlmICh0b3Btb3N0SFRNTE5vZGUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgY29udGV4dDtcblxuICAgIGNvbnN0IG1hcmtkb3duVG9rZW5zID0gdGhpcy5nZXRNYXJrZG93blRva2VucygpLFxuICAgICAgICAgIHRva2VucyA9IG1hcmtkb3duVG9rZW5zOyAgLy8vXG5cbiAgICBjb250ZXh0ID0ge1xuICAgICAgdG9rZW5zXG4gICAgfTtcblxuICAgIHRvcG1vc3RIVE1MTm9kZS5yZXNvbHZlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgZGl2aXNpb25IVE1MTk9kZSA9IHRvcG1vc3RIVE1MTm9kZS5nZXREaXZpc2lvbkhUTUxOb2RlQXQoaW5kZXgpO1xuXG4gICAgaWYgKGRpdmlzaW9uSFRNTE5PZGUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkaXZpc2lvbkhUTUxOT2RlUGFyc2VUcmVlID0gZGl2aXNpb25IVE1MTk9kZS5hc1BhcnNlVHJlZSgpLFxuICAgICAgICAgIGh0bWxQYXJzZVRyZWUgPSBkaXZpc2lvbkhUTUxOT2RlUGFyc2VUcmVlLCAgLy8vXG4gICAgICAgICAgbXVsdGlwbGljaXR5ID0gdG9wbW9zdEhUTUxOb2RlLmdldE11bHRpcGxpY2l0eSgpLFxuICAgICAgICAgIGxlbmd0aCA9IG11bHRpcGxpY2l0eTsgIC8vL1xuXG4gICAgY29udGV4dCA9IHtcbiAgICAgIHRva2VucyxcbiAgICAgIHBhdGhUb1VSTFxuICAgIH07XG5cbiAgICB0aGlzLnVwZGF0ZVByZXZpZXdEaXYoZGl2aXNpb25IVE1MTk9kZSwgY29udGV4dCk7XG5cbiAgICB0aGlzLnVwZGF0ZVBsYWluVGV4dFRleHRhcmVhKGRpdmlzaW9uSFRNTE5PZGUsIGNvbnRleHQpO1xuXG4gICAgdGhpcy51cGRhdGVIVE1MUGFyc2VUcmVlVGV4dGFyZWEoaHRtbFBhcnNlVHJlZSk7XG5cbiAgICB0aGlzLnVwZGF0ZVBhZ2VCdXR0b25zRGl2KGxlbmd0aCwgaW5kZXgpO1xuXG4gICAgY29uc3QgbWFya2Rvd24gPSB0aGlzLmdldE1hcmtkb3duKCksXG4gICAgICAgICAgb3B0aW9ucyA9IGluZGV4T3B0aW9ucywgLy8vXG4gICAgICAgICAgaHRtbCA9IGh0bWxGcm9tTWFya2Rvd25PcHRpb25zQW5kSW1wb3J0ZXIobWFya2Rvd24sIG9wdGlvbnMsIGltcG9ydGVyKTtcblxuICAgIHRoaXMudXBkYXRlWE1QKGh0bWwsIGNvbnRleHQpO1xuICB9XG5cbiAgdXBkYXRlQ1NTKCkge1xuICAgIGNvbnN0IHRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSA9IHRoaXMuZ2V0VG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlKCksXG4gICAgICAgICAgbWFya2Rvd25TdHlsZVRva2VucyA9IHRoaXMuZ2V0TWFya2Rvd25TdHlsZVRva2VucygpLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGVOb2RlID0gdG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlLCAvLy9cbiAgICAgICAgICB0b3Btb3N0Q1NTTm9kZSA9IHRvcG1vc3RDU1NOb2RlRnJvbU1hcmtkb3duU3R5bGVOb2RlKG1hcmtkb3duU3R5bGVOb2RlKSxcbiAgICAgICAgICB0YXJnZXQgPSBXRUJfVEFSR0VULFxuICAgICAgICAgIHRva2VucyA9IG1hcmtkb3duU3R5bGVUb2tlbnMsIC8vL1xuICAgICAgICAgIGNvbnRleHQgPSB7XG4gICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICB0b2tlbnNcbiAgICAgICAgICB9O1xuXG4gICAgdG9wbW9zdENTU05vZGUucmVzb2x2ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHRvcG1vc3RDU1NOb2RlUGFyc2VUcmVlID0gdG9wbW9zdENTU05vZGUuYXNQYXJzZVRyZWUodG9rZW5zKSxcbiAgICAgICAgICBjc3NQYXJzZVRyZWUgPSB0b3Btb3N0Q1NTTm9kZVBhcnNlVHJlZTsgLy8vXG5cbiAgICB0aGlzLnVwZGF0ZUNTU1BhcnNlVHJlZVRleHRhcmVhKGNzc1BhcnNlVHJlZSk7XG5cbiAgICBjb25zdCBtYXJrZG93blN0eWxlRWxlbWVudCA9IHRoaXMuZ2V0TWFya2Rvd25TdHlsZUVsZW1lbnQoKSxcbiAgICAgICAgICBjc3NTZWxlY3RvcnNTdHJpbmcgPSBQUkVWSUVXX0NTU19TRUxFQ1RPUlNfU1RSSU5HLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGUgPSB0aGlzLmdldE1hcmtkb3duU3R5bGUoKSxcbiAgICAgICAgICBjc3MgPSBjc3NGcm9tTWFya2Rvd25TdHlsZUFuZENTU1NlbGVjdG9yc1N0cmluZyhtYXJrZG93blN0eWxlLCBjc3NTZWxlY3RvcnNTdHJpbmcpO1xuXG4gICAgbWFya2Rvd25TdHlsZUVsZW1lbnQuc2V0Q1NTKGNzcyk7XG5cbiAgICB0aGlzLnNldENTUyhjc3MpO1xuICB9XG5cbiAgbWFya2Rvd25TdHlsZSgpIHtcbiAgICB0aGlzLmhpZGVNYXJrZG93bkNvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuc2hvd01hcmtkb3duU3R5bGVDb250YWluZXJEaXYoKTtcbiAgfVxuXG4gIG1hcmtkb3duKCkge1xuICAgIHRoaXMuc2hvd01hcmtkb3duQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgcGxhaW5UZXh0KCkge1xuICAgIHRoaXMuaGlkZUNTU0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZUhUTUxDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVQcmV2aWV3Q29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5zaG93UGxhaW5UZXh0Q29udGFpbmVyRGl2KCk7XG5cbiAgICB0aGlzLmhpZGVDU1NQYXJzZVRyZWVUZXh0YXJlYSgpO1xuICAgIHRoaXMuc2hvd0hUTUxQYXJzZVRyZWVUZXh0YXJlYSgpO1xuICB9XG5cbiAgcHJldmlldygpIHtcbiAgICB0aGlzLmhpZGVDU1NDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVIVE1MQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5zaG93UHJldmlld0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdigpO1xuXG4gICAgdGhpcy5oaWRlQ1NTUGFyc2VUcmVlVGV4dGFyZWEoKTtcbiAgICB0aGlzLnNob3dIVE1MUGFyc2VUcmVlVGV4dGFyZWEoKTtcbiAgfVxuXG4gIGh0bWwoKSB7XG4gICAgdGhpcy5oaWRlQ1NTQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5zaG93SFRNTENvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVByZXZpZXdDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVQbGFpblRleHRDb250YWluZXJEaXYoKTtcblxuICAgIHRoaXMuaGlkZUNTU1BhcnNlVHJlZVRleHRhcmVhKCk7XG4gICAgdGhpcy5zaG93SFRNTFBhcnNlVHJlZVRleHRhcmVhKCk7XG4gIH1cblxuICBjc3MoKSB7XG4gICAgdGhpcy5zaG93Q1NTQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlSFRNTENvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVByZXZpZXdDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVQbGFpblRleHRDb250YWluZXJEaXYoKTtcblxuICAgIHRoaXMuc2hvd0NTU1BhcnNlVHJlZVRleHRhcmVhKCk7XG4gICAgdGhpcy5oaWRlSFRNTFBhcnNlVHJlZVRleHRhcmVhKCk7XG4gIH1cblxuICByZXNldE1hcmtkb3duVG9rZW5zKCkge1xuICAgIGNvbnN0IG1hcmtkb3duVG9rZW5zID0gbnVsbDtcblxuICAgIHRoaXMuc2V0TWFya2Rvd25Ub2tlbnMobWFya2Rvd25Ub2tlbnMpO1xuICB9XG5cbiAgcmVzZXRNYXJrZG93blN0eWxlVG9rZW5zKCkge1xuICAgIGNvbnN0IG1hcmtkb3duU3R5bGVUb2tlbnMgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRNYXJrZG93blN0eWxlVG9rZW5zKG1hcmtkb3duU3R5bGVUb2tlbnMpO1xuICB9XG5cbiAgcmVzZXRUb3Btb3N0TWFya2Rvd25Ob2RlKCkge1xuICAgIGNvbnN0IHRvcG1vc3RNYXJrZG93bk5vZGUgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRUb3Btb3N0TWFya2Rvd25Ob2RlKHRvcG1vc3RNYXJrZG93bk5vZGUpO1xuICB9XG5cbiAgcmVzZXRUb3Btb3N0TWFya2Rvd25TdHlsZU5vZGUoKSB7XG4gICAgY29uc3QgdG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlID0gbnVsbDtcblxuICAgIHRoaXMuc2V0VG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlKHRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSk7XG4gIH1cblxuICBnZXRNYXJrZG93blN0eWxlRWxlbWVudCgpIHtcbiAgICBjb25zdCB7IG1hcmtkb3duU3R5bGVFbGVtZW50IH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICByZXR1cm4gbWFya2Rvd25TdHlsZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRNYXJrZG93blRva2VucygpIHtcbiAgICBjb25zdCB7IG1hcmtkb3duVG9rZW5zIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgICByZXR1cm4gbWFya2Rvd25Ub2tlbnM7XG4gIH1cblxuICBnZXRNYXJrZG93blN0eWxlVG9rZW5zKCkge1xuICAgIGNvbnN0IHsgbWFya2Rvd25TdHlsZVRva2VucyB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIG1hcmtkb3duU3R5bGVUb2tlbnM7XG4gIH1cblxuICBnZXRUb3Btb3N0TWFya2Rvd25Ob2RlKCkge1xuICAgIGNvbnN0IHsgdG9wbW9zdE1NYXJrZG93bk5vZGUgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiB0b3Btb3N0TU1hcmtkb3duTm9kZTtcbiAgfVxuXG4gIGdldFRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSgpIHtcbiAgICBjb25zdCB7IHRvcG1vc3RNTWFya2Rvd25TdHlsZU5vZGUgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiB0b3Btb3N0TU1hcmtkb3duU3R5bGVOb2RlO1xuICB9XG5cbiAgc2V0TWFya2Rvd25Ub2tlbnMobWFya2Rvd25Ub2tlbnMpIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgIG1hcmtkb3duVG9rZW5zXG4gICAgfSk7XG4gIH1cblxuICBzZXRNYXJrZG93blN0eWxlVG9rZW5zKG1hcmtkb3duU3R5bGVUb2tlbnMpIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgIG1hcmtkb3duU3R5bGVUb2tlbnNcbiAgICB9KTtcbiAgfVxuXG4gIHNldFRvcG1vc3RNYXJrZG93bk5vZGUodG9wbW9zdE1NYXJrZG93bk5vZGUpIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgIHRvcG1vc3RNTWFya2Rvd25Ob2RlXG4gICAgfSk7XG4gIH1cblxuICBzZXRUb3Btb3N0TWFya2Rvd25TdHlsZU5vZGUodG9wbW9zdE1NYXJrZG93blN0eWxlTm9kZSkge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgdG9wbW9zdE1NYXJrZG93blN0eWxlTm9kZVxuICAgIH0pO1xuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xuICAgIGNvbnN0IG1hcmtkb3duVG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBtYXJrZG93blN0eWxlVG9rZW5zID0gbnVsbCxcbiAgICAgICAgICB0b3Btb3N0TWFya2Rvd25Ob2RlID0gbnVsbCxcbiAgICAgICAgICB0b3Btb3N0TWFya2Rvd25TdHlsZU5vZGUgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBtYXJrZG93blRva2VucyxcbiAgICAgIG1hcmtkb3duU3R5bGVUb2tlbnMsXG4gICAgICB0b3Btb3N0TWFya2Rvd25Ob2RlLFxuICAgICAgdG9wbW9zdE1hcmtkb3duU3R5bGVOb2RlXG4gICAgfSk7XG4gIH1cblxuICBkaWRNb3VudCgpIHtcbiAgICB0aGlzLm1hcmtkb3duKCk7XG5cbiAgICB0aGlzLnByZXZpZXcoKTtcblxuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICAvLy9cbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIChcblxuICAgICAgPENvbHVtbnNEaXY+XG4gICAgICAgIDxMZWZ0U2l6ZWFibGVEaXY+XG4gICAgICAgICAgPExlZnRUYWJCdXR0b25zRGl2IG9uQ3VzdG9tTWFya2Rvd249e3RoaXMubWFya2Rvd25DdXN0b21IYW5kbGVyfSBvbkN1c3RvbU1hcmtkb3duU3R5bGU9e3RoaXMubWFya2Rvd25TdHlsZUN1c3RvbUhhbmRsZXJ9IC8+XG4gICAgICAgICAgPE1hcmtkb3duQ29udGFpbmVyRGl2IG9uQ3VzdG9tS2V5VXA9e3RoaXMua2V5VXBDdXN0b21IYW5kbGVyfSAvPlxuICAgICAgICAgIDxNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2IG9uQ3VzdG9tS2V5VXA9e3RoaXMua2V5VXBDdXN0b21IYW5kbGVyfSAvPlxuICAgICAgICA8L0xlZnRTaXplYWJsZURpdj5cbiAgICAgICAgPFZlcnRpY2FsU3BsaXR0ZXJEaXYvPlxuICAgICAgICA8Q29sdW1uRGl2PlxuICAgICAgICAgIDxSb3dzRGl2PlxuICAgICAgICAgICAgPFJpZ2h0VGFiQnV0dG9uc0RpdiBvbkN1c3RvbUNTUz17dGhpcy5jc3NDdXN0b21IYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkN1c3RvbUhUTUw9e3RoaXMuaHRtbEN1c3RvbUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ3VzdG9tUHJldmlldz17dGhpcy5wcmV2aWV3Q3VzdG9tSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DdXN0b21QbGFpblRleHQ9e3RoaXMucGxhaW5UZXh0Q3VzdG9tSGFuZGxlcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8UGFnZUJ1dHRvbnNEaXYgb25DdXN0b21QYWdlVXBkYXRlPXt0aGlzLnBhZ2VVcGRhdGVDdXN0b21IYW5kbGVyfSAvPlxuICAgICAgICAgICAgPENTU0NvbnRhaW5lckRpdi8+XG4gICAgICAgICAgICA8SFRNTENvbnRhaW5lckRpdi8+XG4gICAgICAgICAgICA8UHJldmlld0NvbnRhaW5lckRpdi8+XG4gICAgICAgICAgICA8UGxhaW5UZXh0Q29udGFpbmVyRGl2Lz5cbiAgICAgICAgICAgIDxIVE1MUGFyc2VUcmVlVGV4dGFyZWEvPlxuICAgICAgICAgICAgPENTU1BhcnNlVHJlZVRleHRhcmVhLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvQ29sdW1uRGl2PlxuICAgICAgPC9Db2x1bW5zRGl2PlxuXG4gICAgKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuXG4gICAgY29uc3QgeyBpbml0aWFsTWFya2Rvd24sIGluaXRpYWxNYXJrZG93blN0eWxlIH0gPSB0aGlzLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGUgPSBpbml0aWFsTWFya2Rvd25TdHlsZSwgLy8vXG4gICAgICAgICAgbWFya2Rvd24gPSBpbml0aWFsTWFya2Rvd247IC8vL1xuXG4gICAgdGhpcy5zZXRNYXJrZG93blN0eWxlKG1hcmtkb3duU3R5bGUpO1xuXG4gICAgdGhpcy5zZXRNYXJrZG93bihtYXJrZG93bik7XG4gIH1cblxuICBzdGF0aWMgaW5pdGlhbE1hcmtkb3duID0gYCMgRm91bmRhdGlvbnNcbiAgXG4gXFxgXFxgXFxgXG4gQmxvY2sgbGlzdGluZ1xuIFxcYFxcYFxcYFxuICBcbiAgYDtcblxuICBzdGF0aWMgaW5pdGlhbE1hcmtkb3duU3R5bGUgPSBgXG5cbnByaW1hcnlIZWFkaW5nIHtcblxuICBcXGBcXGBcXGBvZGZcbiAgbWFyZ2luOiBsZWZ0O1xuICBcXGBcXGBcXGBcbn0gIFxuICBcblxuYDtcblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwibWFya2Rvd25TdHlsZUVsZW1lbnRcIlxuICBdO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwidmlld1wiXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShWaWV3KWBcblxuICBwYWRkaW5nOiAxcmVtO1xuICBcbmA7XG5cbmZ1bmN0aW9uIHBhdGhUb1VSTChwYXRoKSB7XG4gIGNvbnN0IHVybCA9IGBodHRwczovL2RqYWxiYXQuY29tLyR7cGF0aH1gO1xuXG4gIHJldHVybiB1cmw7XG59XG4iXSwibmFtZXMiOlsidG9rZW5zRnJvbU1hcmtkb3duIiwiZ3JhbW1hclV0aWxpdGllcyIsIm1hcmtkb3duTm9kZUZyb21Ub2tlbnMiLCJ0b2tlbnNGcm9tTWFya2Rvd25TdHlsZSIsIm1hcmtkb3duU3R5bGVOb2RlRnJvbVRva2VucyIsInRvcG1vc3RIVE1MTm9kZUZyb21NYXJrZG93bk5vZGUiLCJodG1sRnJvbU1hcmtkb3duT3B0aW9uc0FuZEltcG9ydGVyIiwidG9wbW9zdENTU05vZGVGcm9tTWFya2Rvd25TdHlsZU5vZGUiLCJjc3NGcm9tTWFya2Rvd25TdHlsZUFuZENTU1NlbGVjdG9yc1N0cmluZyIsIlZpZXciLCJwYWdlVXBkYXRlQ3VzdG9tSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsImluZGV4IiwidXBkYXRlSFRNTCIsIm1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyIiwibWFya2Rvd25TdHlsZSIsIm1hcmtkb3duQ3VzdG9tSGFuZGxlciIsIm1hcmtkb3duIiwicGxhaW5UZXh0Q3VzdG9tSGFuZGxlciIsInBsYWluVGV4dCIsInByZXZpZXdDdXN0b21IYW5kbGVyIiwicHJldmlldyIsImtleVVwQ3VzdG9tSGFuZGxlciIsInVwZGF0ZSIsImh0bWxDdXN0b21IYW5kbGVyIiwiaHRtbCIsImNzc0N1c3RvbUhhbmRsZXIiLCJjc3MiLCJ1cGRhdGVNYXJrZG93blN0eWxlIiwidXBkYXRlTWFya2Rvd24iLCJ1cGRhdGVDU1MiLCJnZXRNYXJrZG93blN0eWxlIiwidG9rZW5zIiwibWFya2Rvd25TdHlsZU5vZGUiLCJyZXNldE1hcmtkb3duU3R5bGVUb2tlbnMiLCJyZXNldFRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSIsImNsZWFyTWFya2Rvd25TdHlsZVBhcnNlVHJlZVRleHRhcmVhIiwibm9kZSIsInBhcnNlVHJlZSIsImFzUGFyc2VUcmVlIiwibWFya2Rvd25TdHlsZVRva2VucyIsInRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSIsInNldE1hcmtkb3duU3R5bGVUb2tlbnMiLCJzZXRUb3Btb3N0TWFya2Rvd25TdHlsZU5vZGUiLCJ1cGRhdGVNYXJrZG93blN0eWxlUGFyc2VUcmVlVGV4dGFyZWEiLCJnZXRNYXJrZG93biIsIm1hcmtkb3duTm9kZSIsInJlc2V0TWFya2Rvd25Ub2tlbnMiLCJyZXNldFRvcG1vc3RNYXJrZG93bk5vZGUiLCJjbGVhck1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEiLCJjb250ZXh0IiwidG9wbW9zdE1hcmtkb3duTm9kZSIsImltcG9ydGVyIiwicmVzb2x2ZSIsInRvcG1vc3RNYXJrZG93bk5vZGVQYXJzZVRyZWUiLCJtYXJrZG93blBhcnNlVHJlZSIsIm1hcmtkb3duVG9rZW5zIiwic2V0TWFya2Rvd25Ub2tlbnMiLCJzZXRUb3Btb3N0TWFya2Rvd25Ob2RlIiwidXBkYXRlTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSIsImNsZWFyWE1QIiwiY2xlYXJQcmV2aWV3RGl2IiwiY2xlYXJQbGFpblRleHRUZXh0YXJlYSIsImNsZWFySFRNTFBhcnNlVHJlZVRleHRhcmVhIiwiY2xlYXJQYWdlQnV0dG9uc0RpdiIsImdldFRvcG1vc3RNYXJrZG93bk5vZGUiLCJ0b3Btb3N0SFRNTE5vZGUiLCJnZXRNYXJrZG93blRva2VucyIsImRpdmlzaW9uSFRNTE5PZGUiLCJnZXREaXZpc2lvbkhUTUxOb2RlQXQiLCJkaXZpc2lvbkhUTUxOT2RlUGFyc2VUcmVlIiwiaHRtbFBhcnNlVHJlZSIsIm11bHRpcGxpY2l0eSIsImdldE11bHRpcGxpY2l0eSIsImxlbmd0aCIsInBhdGhUb1VSTCIsInVwZGF0ZVByZXZpZXdEaXYiLCJ1cGRhdGVQbGFpblRleHRUZXh0YXJlYSIsInVwZGF0ZUhUTUxQYXJzZVRyZWVUZXh0YXJlYSIsInVwZGF0ZVBhZ2VCdXR0b25zRGl2Iiwib3B0aW9ucyIsImluZGV4T3B0aW9ucyIsInVwZGF0ZVhNUCIsImdldFRvcG1vc3RNYXJrZG93blN0eWxlTm9kZSIsImdldE1hcmtkb3duU3R5bGVUb2tlbnMiLCJ0b3Btb3N0Q1NTTm9kZSIsInRhcmdldCIsIldFQl9UQVJHRVQiLCJ0b3Btb3N0Q1NTTm9kZVBhcnNlVHJlZSIsImNzc1BhcnNlVHJlZSIsInVwZGF0ZUNTU1BhcnNlVHJlZVRleHRhcmVhIiwibWFya2Rvd25TdHlsZUVsZW1lbnQiLCJnZXRNYXJrZG93blN0eWxlRWxlbWVudCIsImNzc1NlbGVjdG9yc1N0cmluZyIsIlBSRVZJRVdfQ1NTX1NFTEVDVE9SU19TVFJJTkciLCJzZXRDU1MiLCJoaWRlTWFya2Rvd25Db250YWluZXJEaXYiLCJzaG93TWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiIsInNob3dNYXJrZG93bkNvbnRhaW5lckRpdiIsImhpZGVNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2IiwiaGlkZUNTU0NvbnRhaW5lckRpdiIsImhpZGVIVE1MQ29udGFpbmVyRGl2IiwiaGlkZVByZXZpZXdDb250YWluZXJEaXYiLCJzaG93UGxhaW5UZXh0Q29udGFpbmVyRGl2IiwiaGlkZUNTU1BhcnNlVHJlZVRleHRhcmVhIiwic2hvd0hUTUxQYXJzZVRyZWVUZXh0YXJlYSIsInNob3dQcmV2aWV3Q29udGFpbmVyRGl2IiwiaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdiIsInNob3dIVE1MQ29udGFpbmVyRGl2Iiwic2hvd0NTU0NvbnRhaW5lckRpdiIsInNob3dDU1NQYXJzZVRyZWVUZXh0YXJlYSIsImhpZGVIVE1MUGFyc2VUcmVlVGV4dGFyZWEiLCJwcm9wZXJ0aWVzIiwiZ2V0U3RhdGUiLCJ0b3Btb3N0TU1hcmtkb3duTm9kZSIsInRvcG1vc3RNTWFya2Rvd25TdHlsZU5vZGUiLCJ1cGRhdGVTdGF0ZSIsInNldEluaXRpYWxTdGF0ZSIsInNldFN0YXRlIiwiZGlkTW91bnQiLCJ3aWxsVW5tb3VudCIsImNoaWxkRWxlbWVudHMiLCJDb2x1bW5zRGl2IiwiTGVmdFNpemVhYmxlRGl2IiwiTGVmdFRhYkJ1dHRvbnNEaXYiLCJvbkN1c3RvbU1hcmtkb3duIiwib25DdXN0b21NYXJrZG93blN0eWxlIiwiTWFya2Rvd25Db250YWluZXJEaXYiLCJvbkN1c3RvbUtleVVwIiwiTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiIsIlZlcnRpY2FsU3BsaXR0ZXJEaXYiLCJDb2x1bW5EaXYiLCJSb3dzRGl2IiwiUmlnaHRUYWJCdXR0b25zRGl2Iiwib25DdXN0b21DU1MiLCJvbkN1c3RvbUhUTUwiLCJvbkN1c3RvbVByZXZpZXciLCJvbkN1c3RvbVBsYWluVGV4dCIsIlBhZ2VCdXR0b25zRGl2Iiwib25DdXN0b21QYWdlVXBkYXRlIiwiQ1NTQ29udGFpbmVyRGl2IiwiSFRNTENvbnRhaW5lckRpdiIsIlByZXZpZXdDb250YWluZXJEaXYiLCJQbGFpblRleHRDb250YWluZXJEaXYiLCJIVE1MUGFyc2VUcmVlVGV4dGFyZWEiLCJDU1NQYXJzZVRyZWVUZXh0YXJlYSIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0IiwiaW5pdGlhbE1hcmtkb3duIiwiaW5pdGlhbE1hcmtkb3duU3R5bGUiLCJzZXRNYXJrZG93blN0eWxlIiwic2V0TWFya2Rvd24iLCJFbGVtZW50IiwidGFnTmFtZSIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJ3aXRoU3R5bGUiLCJwYXRoIiwidXJsIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE4Y0E7OztlQUFBOzs7b0VBNWNzQjtvQkFFRTtxQkFDUzsw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
|
package/lib/utilities/grammar.js
CHANGED
|
@@ -21,6 +21,9 @@ _export(exports, {
|
|
|
21
21
|
get default () {
|
|
22
22
|
return _default;
|
|
23
23
|
},
|
|
24
|
+
get htmlFromMarkdownOptionsAndImporter () {
|
|
25
|
+
return htmlFromMarkdownOptionsAndImporter;
|
|
26
|
+
},
|
|
24
27
|
get markdownNodeFromTokens () {
|
|
25
28
|
return markdownNodeFromTokens;
|
|
26
29
|
},
|
|
@@ -56,11 +59,39 @@ var _markdownStyle = /*#__PURE__*/ _interop_require_default(require("../queries/
|
|
|
56
59
|
var _targets = require("../targets");
|
|
57
60
|
var _constants = require("../constants");
|
|
58
61
|
var _query = require("../utilities/query");
|
|
62
|
+
function _define_property(obj, key, value) {
|
|
63
|
+
if (key in obj) {
|
|
64
|
+
Object.defineProperty(obj, key, {
|
|
65
|
+
value: value,
|
|
66
|
+
enumerable: true,
|
|
67
|
+
configurable: true,
|
|
68
|
+
writable: true
|
|
69
|
+
});
|
|
70
|
+
} else {
|
|
71
|
+
obj[key] = value;
|
|
72
|
+
}
|
|
73
|
+
return obj;
|
|
74
|
+
}
|
|
59
75
|
function _interop_require_default(obj) {
|
|
60
76
|
return obj && obj.__esModule ? obj : {
|
|
61
77
|
default: obj
|
|
62
78
|
};
|
|
63
79
|
}
|
|
80
|
+
function _object_spread(target) {
|
|
81
|
+
for(var i = 1; i < arguments.length; i++){
|
|
82
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
83
|
+
var ownKeys = Object.keys(source);
|
|
84
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
85
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
86
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
ownKeys.forEach(function(key) {
|
|
90
|
+
_define_property(target, key, source[key]);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return target;
|
|
94
|
+
}
|
|
64
95
|
var topmostNodeFromOuterNodes = _occamdom.nodeUtilities.topmostNodeFromOuterNodes;
|
|
65
96
|
var markdownLexer = _lexer.default.fromNothing(), markdownParser = _parser.default.fromNothing(), markdownStyleLexer = _lexer1.default.fromNothing(), markdownStyleParser = _parser1.default.fromNothing();
|
|
66
97
|
function tokensFromMarkdown(markdown) {
|
|
@@ -104,6 +135,22 @@ function topmostHTMLNodeFromMarkdownNode(markdownNode) {
|
|
|
104
135
|
var node = markdownNode, queries = _markdown.default, nodes = (0, _query.nodesFromNodeAndQueries)(node, queries), outerNodes = nodes, topmostNode = topmostNodeFromOuterNodes(ClassFromOuterNode, outerNodes), topmostHTMLNode = topmostNode; ///
|
|
105
136
|
return topmostHTMLNode;
|
|
106
137
|
}
|
|
138
|
+
function htmlFromMarkdownOptionsAndImporter(markdown, options, importer) {
|
|
139
|
+
var html = null;
|
|
140
|
+
var tokens = tokensFromMarkdown(markdown), markdownNode = markdownNodeFromTokens(tokens);
|
|
141
|
+
if (markdownNode !== null) {
|
|
142
|
+
var topmostMarkdownNode = markdownNode, context = _object_spread({
|
|
143
|
+
tokens: tokens,
|
|
144
|
+
importer: importer
|
|
145
|
+
}, options);
|
|
146
|
+
topmostMarkdownNode.resolve(context);
|
|
147
|
+
var topmostHTMLNode = topmostHTMLNodeFromMarkdownNode(markdownNode);
|
|
148
|
+
topmostHTMLNode.resolve(context);
|
|
149
|
+
var divisionHTMLNOde = topmostHTMLNode.getDivisionHTMLNode();
|
|
150
|
+
html = divisionHTMLNOde.asHTML(context);
|
|
151
|
+
}
|
|
152
|
+
return html;
|
|
153
|
+
}
|
|
107
154
|
function topmostCSSNodeFromMarkdownStyleNode(markdownStyleNode) {
|
|
108
155
|
var ClassFromOuterNode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : CSSClassFromMarkdownStyleNode;
|
|
109
156
|
var node = markdownStyleNode, queries = _markdownStyle.default, nodes = (0, _query.nodesFromNodeAndQueries)(node, queries), outerNodes = nodes, topmostNode = topmostNodeFromOuterNodes(ClassFromOuterNode, outerNodes), topmostCSSNode = topmostNode; ///
|
|
@@ -120,7 +167,7 @@ function cssFromMarkdownStyleAndCSSSelectorsString(markdownStyle, cssSelectorsSt
|
|
|
120
167
|
topmostCSSNode.resolve(context);
|
|
121
168
|
css = topmostCSSNode.asCSS(context);
|
|
122
169
|
}
|
|
123
|
-
css = "".concat(cssSelectorsString, " {\n
|
|
170
|
+
css = "".concat(cssSelectorsString, " {\n").concat(css, "\n}");
|
|
124
171
|
return css;
|
|
125
172
|
}
|
|
126
173
|
var _default = {
|
|
@@ -131,8 +178,9 @@ var _default = {
|
|
|
131
178
|
markdownStyleNodeFromTokens: markdownStyleNodeFromTokens,
|
|
132
179
|
CSSClassFromMarkdownStyleNode: CSSClassFromMarkdownStyleNode,
|
|
133
180
|
topmostHTMLNodeFromMarkdownNode: topmostHTMLNodeFromMarkdownNode,
|
|
181
|
+
htmlFromMarkdownOptionsAndImporter: htmlFromMarkdownOptionsAndImporter,
|
|
134
182
|
topmostCSSNodeFromMarkdownStyleNode: topmostCSSNodeFromMarkdownStyleNode,
|
|
135
183
|
cssFromMarkdownStyleAndCSSSelectorsString: cssFromMarkdownStyleAndCSSSelectorsString
|
|
136
184
|
};
|
|
137
185
|
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ3JhbW1hci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1kb21cIjtcblxuaW1wb3J0IENTU05vZGUgZnJvbSBcIi4uL25vZGUvY3NzXCI7XG5pbXBvcnQgSFRNTE5vZGUgZnJvbSBcIi4uL25vZGUvaHRtbFwiO1xuaW1wb3J0IGNzc05vZGVNYXAgZnJvbSBcIi4uL21hcC9ub2RlL2Nzc1wiO1xuaW1wb3J0IGh0bWxOb2RlTWFwIGZyb20gXCIuLi9tYXAvbm9kZS9odG1sXCI7XG5pbXBvcnQgTWFya2Rvd25MZXhlciBmcm9tIFwiLi4vbWFya2Rvd24vbGV4ZXJcIjtcbmltcG9ydCBNYXJrZG93blBhcnNlciBmcm9tIFwiLi4vbWFya2Rvd24vcGFyc2VyXCI7XG5pbXBvcnQgVG9wbW9zdENTU05vZGUgZnJvbSBcIi4uL25vZGUvY3NzL3RvcG1vc3RcIjtcbmltcG9ydCBtYXJrZG93blF1ZXJpZXMgZnJvbSBcIi4uL3F1ZXJpZXMvbWFya2Rvd25cIjtcbmltcG9ydCBUb3Btb3N0SFRNTE5vZGUgZnJvbSBcIi4uL25vZGUvaHRtbC90b3Btb3N0XCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZUxleGVyIGZyb20gXCIuLi9tYXJrZG93blN0eWxlL2xleGVyXCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZVBhcnNlciBmcm9tIFwiLi4vbWFya2Rvd25TdHlsZS9wYXJzZXJcIjtcbmltcG9ydCBtYXJrZG93blN0eWxlUXVlcmllcyBmcm9tIFwiLi4vcXVlcmllcy9tYXJrZG93blN0eWxlXCI7XG5cbmltcG9ydCB7IFdFQl9UQVJHRVQgfSBmcm9tIFwiLi4vdGFyZ2V0c1wiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHsgdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyB9ID0gbm9kZVV0aWxpdGllcztcblxuY29uc3QgbWFya2Rvd25MZXhlciA9IE1hcmtkb3duTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duUGFyc2VyID0gTWFya2Rvd25QYXJzZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duU3R5bGVMZXhlciA9IE1hcmtkb3duU3R5bGVMZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25TdHlsZVBhcnNlciA9IE1hcmtkb3duU3R5bGVQYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRva2Vuc0Zyb21NYXJrZG93bihtYXJrZG93bikge1xuICBjb25zdCBsZXhlciA9IG1hcmtkb3duTGV4ZXIsIC8vL1xuICAgICAgICBjb250ZW50ID0gbWFya2Rvd24sICAvLy9cbiAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcmtkb3duTm9kZUZyb21Ub2tlbnModG9rZW5zKSB7XG4gIGNvbnN0IHBhcnNlciA9IG1hcmtkb3duUGFyc2VyLCAvLy9cbiAgICAgICAgc3RhcnRSdWxlID0gcGFyc2VyLmdldFN0YXJ0UnVsZSgpLFxuICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2Vucywgc3RhcnRSdWxlKSxcbiAgICAgICAgbWFya2Rvd25Ob2RlID0gbm9kZTsgIC8vL1xuXG4gIHJldHVybiBtYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbnNGcm9tTWFya2Rvd25TdHlsZShtYXJrZG93blN0eWxlKSB7XG4gIGNvbnN0IGxleGVyID0gbWFya2Rvd25TdHlsZUxleGVyLCAvLy9cbiAgICAgICAgY29udGVudCA9IG1hcmtkb3duU3R5bGUsICAvLy9cbiAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhUTUxDbGFzc0Zyb21NYXJrZG93bk5vZGUobWFya2Rvd25Ob2RlKSB7XG4gIGxldCBDbGFzcztcblxuICBpZiAobWFya2Rvd25Ob2RlID09PSBudWxsKSB7XG4gICAgQ2xhc3MgPSBUb3Btb3N0SFRNTE5vZGU7ICAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtYXJrZG93bk5vZGUsICAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgQ2xhc3MgPSBodG1sTm9kZU1hcFtydWxlTmFtZV0gfHwgSFRNTE5vZGU7XG4gIH1cblxuICByZXR1cm4gQ2xhc3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrZG93blN0eWxlTm9kZUZyb21Ub2tlbnModG9rZW5zKSB7XG4gIGNvbnN0IHBhcnNlciA9IG1hcmtkb3duU3R5bGVQYXJzZXIsIC8vL1xuICAgICAgICBzdGFydFJ1bGUgPSBwYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUpLFxuICAgICAgICBtYXJrZG93blN0eWxlTm9kZSA9IG5vZGU7IC8vL1xuXG4gIHJldHVybiBtYXJrZG93blN0eWxlTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENTU0NsYXNzRnJvbU1hcmtkb3duU3R5bGVOb2RlKG1hcmtkb3duU3R5bGVOb2RlKSB7XG4gIGxldCBDbGFzcztcblxuICBpZiAobWFya2Rvd25TdHlsZU5vZGUgPT09IG51bGwpIHtcbiAgICBDbGFzcyA9IFRvcG1vc3RDU1NOb2RlOyAgLy8vXG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWFya2Rvd25TdHlsZU5vZGUsICAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgQ2xhc3MgPSBjc3NOb2RlTWFwW3J1bGVOYW1lXSB8fCBDU1NOb2RlO1xuICB9XG5cbiAgcmV0dXJuIENsYXNzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9wbW9zdEhUTUxOb2RlRnJvbU1hcmtkb3duTm9kZShtYXJrZG93bk5vZGUsIENsYXNzRnJvbU91dGVyTm9kZSA9IEhUTUxDbGFzc0Zyb21NYXJrZG93bk5vZGUpIHtcbiAgY29uc3Qgbm9kZSA9IG1hcmtkb3duTm9kZSwgIC8vL1xuICAgICAgICBxdWVyaWVzID0gbWFya2Rvd25RdWVyaWVzLCAvLy9cbiAgICAgICAgbm9kZXMgPSBub2Rlc0Zyb21Ob2RlQW5kUXVlcmllcyhub2RlLCBxdWVyaWVzKSxcbiAgICAgICAgb3V0ZXJOb2RlcyA9IG5vZGVzLCAvLy9cbiAgICAgICAgdG9wbW9zdE5vZGUgPSB0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzKENsYXNzRnJvbU91dGVyTm9kZSwgb3V0ZXJOb2RlcyksXG4gICAgICAgIHRvcG1vc3RIVE1MTm9kZSA9IHRvcG1vc3ROb2RlOyAgLy8vXG5cbiAgcmV0dXJuIHRvcG1vc3RIVE1MTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvcG1vc3RDU1NOb2RlRnJvbU1hcmtkb3duU3R5bGVOb2RlKG1hcmtkb3duU3R5bGVOb2RlLCBDbGFzc0Zyb21PdXRlck5vZGUgPSBDU1NDbGFzc0Zyb21NYXJrZG93blN0eWxlTm9kZSkge1xuICBjb25zdCBub2RlID0gbWFya2Rvd25TdHlsZU5vZGUsICAvLy9cbiAgICAgICAgcXVlcmllcyA9IG1hcmtkb3duU3R5bGVRdWVyaWVzLCAvLy9cbiAgICAgICAgbm9kZXMgPSBub2Rlc0Zyb21Ob2RlQW5kUXVlcmllcyhub2RlLCBxdWVyaWVzKSxcbiAgICAgICAgb3V0ZXJOb2RlcyA9IG5vZGVzLCAvLy9cbiAgICAgICAgdG9wbW9zdE5vZGUgPSB0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzKENsYXNzRnJvbU91dGVyTm9kZSwgb3V0ZXJOb2RlcyksXG4gICAgICAgIHRvcG1vc3RDU1NOb2RlID0gdG9wbW9zdE5vZGU7ICAvLy9cblxuICByZXR1cm4gdG9wbW9zdENTU05vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjc3NGcm9tTWFya2Rvd25TdHlsZUFuZENTU1NlbGVjdG9yc1N0cmluZyhtYXJrZG93blN0eWxlLCBjc3NTZWxlY3RvcnNTdHJpbmcpIHtcbiAgbGV0IGNzcyA9IEVNUFRZX1NUUklORztcblxuICBjb25zdCB0YXJnZXQgPSBXRUJfVEFSR0VULFxuICAgICAgICB0b2tlbnMgPSB0b2tlbnNGcm9tTWFya2Rvd25TdHlsZShtYXJrZG93blN0eWxlKSxcbiAgICAgICAgbWFya2Rvd25TdHlsZU5vZGUgPSBtYXJrZG93blN0eWxlTm9kZUZyb21Ub2tlbnModG9rZW5zKTtcblxuICBpZiAobWFya2Rvd25TdHlsZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB0b3Btb3N0Q1NTTm9kZSA9IHRvcG1vc3RDU1NOb2RlRnJvbU1hcmtkb3duU3R5bGVOb2RlKG1hcmtkb3duU3R5bGVOb2RlKSxcbiAgICAgICAgICBjb250ZXh0ID0ge1xuICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgdG9rZW5zXG4gICAgICAgICAgfTtcblxuICAgIHRvcG1vc3RDU1NOb2RlLnJlc29sdmUoY29udGV4dCk7XG5cbiAgICBjc3MgPSB0b3Btb3N0Q1NTTm9kZS5hc0NTUyhjb250ZXh0KTtcbiAgfVxuXG4gIGNzcyA9IGAke2Nzc1NlbGVjdG9yc1N0cmluZ30ge1xuICAke2Nzc31cbn1gO1xuXG4gIHJldHVybiBjc3M7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgdG9rZW5zRnJvbU1hcmtkb3duLFxuICBtYXJrZG93bk5vZGVGcm9tVG9rZW5zLFxuICB0b2tlbnNGcm9tTWFya2Rvd25TdHlsZSxcbiAgSFRNTENsYXNzRnJvbU1hcmtkb3duTm9kZSxcbiAgbWFya2Rvd25TdHlsZU5vZGVGcm9tVG9rZW5zLFxuICBDU1NDbGFzc0Zyb21NYXJrZG93blN0eWxlTm9kZSxcbiAgdG9wbW9zdEhUTUxOb2RlRnJvbU1hcmtkb3duTm9kZSxcbiAgdG9wbW9zdENTU05vZGVGcm9tTWFya2Rvd25TdHlsZU5vZGUsXG4gIGNzc0Zyb21NYXJrZG93blN0eWxlQW5kQ1NTU2VsZWN0b3JzU3RyaW5nXG59O1xuIl0sIm5hbWVzIjpbIkNTU0NsYXNzRnJvbU1hcmtkb3duU3R5bGVOb2RlIiwiSFRNTENsYXNzRnJvbU1hcmtkb3duTm9kZSIsImNzc0Zyb21NYXJrZG93blN0eWxlQW5kQ1NTU2VsZWN0b3JzU3RyaW5nIiwibWFya2Rvd25Ob2RlRnJvbVRva2VucyIsIm1hcmtkb3duU3R5bGVOb2RlRnJvbVRva2VucyIsInRva2Vuc0Zyb21NYXJrZG93biIsInRva2Vuc0Zyb21NYXJrZG93blN0eWxlIiwidG9wbW9zdENTU05vZGVGcm9tTWFya2Rvd25TdHlsZU5vZGUiLCJ0b3Btb3N0SFRNTE5vZGVGcm9tTWFya2Rvd25Ob2RlIiwidG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyIsIm5vZGVVdGlsaXRpZXMiLCJtYXJrZG93bkxleGVyIiwiTWFya2Rvd25MZXhlciIsImZyb21Ob3RoaW5nIiwibWFya2Rvd25QYXJzZXIiLCJNYXJrZG93blBhcnNlciIsIm1hcmtkb3duU3R5bGVMZXhlciIsIk1hcmtkb3duU3R5bGVMZXhlciIsIm1hcmtkb3duU3R5bGVQYXJzZXIiLCJNYXJrZG93blN0eWxlUGFyc2VyIiwibWFya2Rvd24iLCJsZXhlciIsImNvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsInBhcnNlciIsInN0YXJ0UnVsZSIsImdldFN0YXJ0UnVsZSIsIm5vZGUiLCJwYXJzZSIsIm1hcmtkb3duTm9kZSIsIm1hcmtkb3duU3R5bGUiLCJDbGFzcyIsIlRvcG1vc3RIVE1MTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJodG1sTm9kZU1hcCIsIkhUTUxOb2RlIiwibWFya2Rvd25TdHlsZU5vZGUiLCJUb3Btb3N0Q1NTTm9kZSIsImNzc05vZGVNYXAiLCJDU1NOb2RlIiwiQ2xhc3NGcm9tT3V0ZXJOb2RlIiwicXVlcmllcyIsIm1hcmtkb3duUXVlcmllcyIsIm5vZGVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMiLCJvdXRlck5vZGVzIiwidG9wbW9zdE5vZGUiLCJ0b3Btb3N0SFRNTE5vZGUiLCJtYXJrZG93blN0eWxlUXVlcmllcyIsInRvcG1vc3RDU1NOb2RlIiwiY3NzU2VsZWN0b3JzU3RyaW5nIiwiY3NzIiwiRU1QVFlfU1RSSU5HIiwidGFyZ2V0IiwiV0VCX1RBUkdFVCIsImNvbnRleHQiLCJyZXNvbHZlIiwiYXNDU1MiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQTZFZ0JBO2VBQUFBOztRQXhCQUM7ZUFBQUE7O1FBNkRBQztlQUFBQTs7UUEwQmhCO2VBQUE7O1FBeEdnQkM7ZUFBQUE7O1FBZ0NBQztlQUFBQTs7UUF4Q0FDO2VBQUFBOztRQWlCQUM7ZUFBQUE7O1FBMERBQztlQUFBQTs7UUFYQUM7ZUFBQUE7Ozt3QkExRmM7MERBRVY7MkRBQ0M7MkRBQ0U7NERBQ0M7NERBQ0U7NkRBQ0M7OERBQ0E7K0RBQ0M7K0RBQ0E7NkRBQ0c7OERBQ0M7b0VBQ0M7dUJBRU47eUJBQ0U7cUJBQ1c7Ozs7OztBQUV4QyxJQUFNLEFBQUVDLDRCQUE4QkMsdUJBQWEsQ0FBM0NEO0FBRVIsSUFBTUUsZ0JBQWdCQyxjQUFhLENBQUNDLFdBQVcsSUFDekNDLGlCQUFpQkMsZUFBYyxDQUFDRixXQUFXLElBQzNDRyxxQkFBcUJDLGVBQWtCLENBQUNKLFdBQVcsSUFDbkRLLHNCQUFzQkMsZ0JBQW1CLENBQUNOLFdBQVc7QUFFcEQsU0FBU1IsbUJBQW1CZSxRQUFRO0lBQ3pDLElBQU1DLFFBQVFWLGVBQ1JXLFVBQVVGLFVBQ1ZHLFNBQVNGLE1BQU1HLFFBQVEsQ0FBQ0Y7SUFFOUIsT0FBT0M7QUFDVDtBQUVPLFNBQVNwQix1QkFBdUJvQixNQUFNO0lBQzNDLElBQU1FLFNBQVNYLGdCQUNUWSxZ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
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ3JhbW1hci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1kb21cIjtcblxuaW1wb3J0IENTU05vZGUgZnJvbSBcIi4uL25vZGUvY3NzXCI7XG5pbXBvcnQgSFRNTE5vZGUgZnJvbSBcIi4uL25vZGUvaHRtbFwiO1xuaW1wb3J0IGNzc05vZGVNYXAgZnJvbSBcIi4uL21hcC9ub2RlL2Nzc1wiO1xuaW1wb3J0IGh0bWxOb2RlTWFwIGZyb20gXCIuLi9tYXAvbm9kZS9odG1sXCI7XG5pbXBvcnQgTWFya2Rvd25MZXhlciBmcm9tIFwiLi4vbWFya2Rvd24vbGV4ZXJcIjtcbmltcG9ydCBNYXJrZG93blBhcnNlciBmcm9tIFwiLi4vbWFya2Rvd24vcGFyc2VyXCI7XG5pbXBvcnQgVG9wbW9zdENTU05vZGUgZnJvbSBcIi4uL25vZGUvY3NzL3RvcG1vc3RcIjtcbmltcG9ydCBtYXJrZG93blF1ZXJpZXMgZnJvbSBcIi4uL3F1ZXJpZXMvbWFya2Rvd25cIjtcbmltcG9ydCBUb3Btb3N0SFRNTE5vZGUgZnJvbSBcIi4uL25vZGUvaHRtbC90b3Btb3N0XCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZUxleGVyIGZyb20gXCIuLi9tYXJrZG93blN0eWxlL2xleGVyXCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZVBhcnNlciBmcm9tIFwiLi4vbWFya2Rvd25TdHlsZS9wYXJzZXJcIjtcbmltcG9ydCBtYXJrZG93blN0eWxlUXVlcmllcyBmcm9tIFwiLi4vcXVlcmllcy9tYXJrZG93blN0eWxlXCI7XG5cbmltcG9ydCB7IFdFQl9UQVJHRVQgfSBmcm9tIFwiLi4vdGFyZ2V0c1wiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHsgdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyB9ID0gbm9kZVV0aWxpdGllcztcblxuY29uc3QgbWFya2Rvd25MZXhlciA9IE1hcmtkb3duTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duUGFyc2VyID0gTWFya2Rvd25QYXJzZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duU3R5bGVMZXhlciA9IE1hcmtkb3duU3R5bGVMZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25TdHlsZVBhcnNlciA9IE1hcmtkb3duU3R5bGVQYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRva2Vuc0Zyb21NYXJrZG93bihtYXJrZG93bikge1xuICBjb25zdCBsZXhlciA9IG1hcmtkb3duTGV4ZXIsIC8vL1xuICAgICAgICBjb250ZW50ID0gbWFya2Rvd24sICAvLy9cbiAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcmtkb3duTm9kZUZyb21Ub2tlbnModG9rZW5zKSB7XG4gIGNvbnN0IHBhcnNlciA9IG1hcmtkb3duUGFyc2VyLCAvLy9cbiAgICAgICAgc3RhcnRSdWxlID0gcGFyc2VyLmdldFN0YXJ0UnVsZSgpLFxuICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2Vucywgc3RhcnRSdWxlKSxcbiAgICAgICAgbWFya2Rvd25Ob2RlID0gbm9kZTsgIC8vL1xuXG4gIHJldHVybiBtYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbnNGcm9tTWFya2Rvd25TdHlsZShtYXJrZG93blN0eWxlKSB7XG4gIGNvbnN0IGxleGVyID0gbWFya2Rvd25TdHlsZUxleGVyLCAvLy9cbiAgICAgICAgY29udGVudCA9IG1hcmtkb3duU3R5bGUsICAvLy9cbiAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhUTUxDbGFzc0Zyb21NYXJrZG93bk5vZGUobWFya2Rvd25Ob2RlKSB7XG4gIGxldCBDbGFzcztcblxuICBpZiAobWFya2Rvd25Ob2RlID09PSBudWxsKSB7XG4gICAgQ2xhc3MgPSBUb3Btb3N0SFRNTE5vZGU7ICAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtYXJrZG93bk5vZGUsICAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgQ2xhc3MgPSBodG1sTm9kZU1hcFtydWxlTmFtZV0gfHwgSFRNTE5vZGU7XG4gIH1cblxuICByZXR1cm4gQ2xhc3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrZG93blN0eWxlTm9kZUZyb21Ub2tlbnModG9rZW5zKSB7XG4gIGNvbnN0IHBhcnNlciA9IG1hcmtkb3duU3R5bGVQYXJzZXIsIC8vL1xuICAgICAgICBzdGFydFJ1bGUgPSBwYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUpLFxuICAgICAgICBtYXJrZG93blN0eWxlTm9kZSA9IG5vZGU7IC8vL1xuXG4gIHJldHVybiBtYXJrZG93blN0eWxlTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENTU0NsYXNzRnJvbU1hcmtkb3duU3R5bGVOb2RlKG1hcmtkb3duU3R5bGVOb2RlKSB7XG4gIGxldCBDbGFzcztcblxuICBpZiAobWFya2Rvd25TdHlsZU5vZGUgPT09IG51bGwpIHtcbiAgICBDbGFzcyA9IFRvcG1vc3RDU1NOb2RlOyAgLy8vXG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWFya2Rvd25TdHlsZU5vZGUsICAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgQ2xhc3MgPSBjc3NOb2RlTWFwW3J1bGVOYW1lXSB8fCBDU1NOb2RlO1xuICB9XG5cbiAgcmV0dXJuIENsYXNzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9wbW9zdEhUTUxOb2RlRnJvbU1hcmtkb3duTm9kZShtYXJrZG93bk5vZGUsIENsYXNzRnJvbU91dGVyTm9kZSA9IEhUTUxDbGFzc0Zyb21NYXJrZG93bk5vZGUpIHtcbiAgY29uc3Qgbm9kZSA9IG1hcmtkb3duTm9kZSwgIC8vL1xuICAgICAgICBxdWVyaWVzID0gbWFya2Rvd25RdWVyaWVzLCAvLy9cbiAgICAgICAgbm9kZXMgPSBub2Rlc0Zyb21Ob2RlQW5kUXVlcmllcyhub2RlLCBxdWVyaWVzKSxcbiAgICAgICAgb3V0ZXJOb2RlcyA9IG5vZGVzLCAvLy9cbiAgICAgICAgdG9wbW9zdE5vZGUgPSB0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzKENsYXNzRnJvbU91dGVyTm9kZSwgb3V0ZXJOb2RlcyksXG4gICAgICAgIHRvcG1vc3RIVE1MTm9kZSA9IHRvcG1vc3ROb2RlOyAgLy8vXG5cbiAgcmV0dXJuIHRvcG1vc3RIVE1MTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh0bWxGcm9tTWFya2Rvd25PcHRpb25zQW5kSW1wb3J0ZXIobWFya2Rvd24sIG9wdGlvbnMsIGltcG9ydGVyKSB7XG4gIGxldCBodG1sID0gbnVsbDtcblxuICBjb25zdCB0b2tlbnMgPSB0b2tlbnNGcm9tTWFya2Rvd24obWFya2Rvd24pLFxuICAgICAgICBtYXJrZG93bk5vZGUgPSBtYXJrZG93bk5vZGVGcm9tVG9rZW5zKHRva2Vucyk7XG5cbiAgaWYgKG1hcmtkb3duTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHRvcG1vc3RNYXJrZG93bk5vZGUgPSBtYXJrZG93bk5vZGUsIC8vL1xuICAgICAgICAgIGNvbnRleHQgPSB7XG4gICAgICAgICAgICB0b2tlbnMsXG4gICAgICAgICAgICBpbXBvcnRlcixcbiAgICAgICAgICAgIC4uLm9wdGlvbnNcbiAgICAgICAgICB9O1xuXG4gICAgdG9wbW9zdE1hcmtkb3duTm9kZS5yZXNvbHZlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgdG9wbW9zdEhUTUxOb2RlID0gdG9wbW9zdEhUTUxOb2RlRnJvbU1hcmtkb3duTm9kZShtYXJrZG93bk5vZGUpO1xuXG4gICAgdG9wbW9zdEhUTUxOb2RlLnJlc29sdmUoY29udGV4dCk7XG5cbiAgICBjb25zdCBkaXZpc2lvbkhUTUxOT2RlID0gdG9wbW9zdEhUTUxOb2RlLmdldERpdmlzaW9uSFRNTE5vZGUoKTtcblxuICAgIGh0bWwgPSBkaXZpc2lvbkhUTUxOT2RlLmFzSFRNTChjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBodG1sO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9wbW9zdENTU05vZGVGcm9tTWFya2Rvd25TdHlsZU5vZGUobWFya2Rvd25TdHlsZU5vZGUsIENsYXNzRnJvbU91dGVyTm9kZSA9IENTU0NsYXNzRnJvbU1hcmtkb3duU3R5bGVOb2RlKSB7XG4gIGNvbnN0IG5vZGUgPSBtYXJrZG93blN0eWxlTm9kZSwgIC8vL1xuICAgICAgICBxdWVyaWVzID0gbWFya2Rvd25TdHlsZVF1ZXJpZXMsIC8vL1xuICAgICAgICBub2RlcyA9IG5vZGVzRnJvbU5vZGVBbmRRdWVyaWVzKG5vZGUsIHF1ZXJpZXMpLFxuICAgICAgICBvdXRlck5vZGVzID0gbm9kZXMsIC8vL1xuICAgICAgICB0b3Btb3N0Tm9kZSA9IHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMoQ2xhc3NGcm9tT3V0ZXJOb2RlLCBvdXRlck5vZGVzKSxcbiAgICAgICAgdG9wbW9zdENTU05vZGUgPSB0b3Btb3N0Tm9kZTsgIC8vL1xuXG4gIHJldHVybiB0b3Btb3N0Q1NTTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNzc0Zyb21NYXJrZG93blN0eWxlQW5kQ1NTU2VsZWN0b3JzU3RyaW5nKG1hcmtkb3duU3R5bGUsIGNzc1NlbGVjdG9yc1N0cmluZykge1xuICBsZXQgY3NzID0gRU1QVFlfU1RSSU5HO1xuXG4gIGNvbnN0IHRhcmdldCA9IFdFQl9UQVJHRVQsXG4gICAgICAgIHRva2VucyA9IHRva2Vuc0Zyb21NYXJrZG93blN0eWxlKG1hcmtkb3duU3R5bGUpLFxuICAgICAgICBtYXJrZG93blN0eWxlTm9kZSA9IG1hcmtkb3duU3R5bGVOb2RlRnJvbVRva2Vucyh0b2tlbnMpO1xuXG4gIGlmIChtYXJrZG93blN0eWxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHRvcG1vc3RDU1NOb2RlID0gdG9wbW9zdENTU05vZGVGcm9tTWFya2Rvd25TdHlsZU5vZGUobWFya2Rvd25TdHlsZU5vZGUpLFxuICAgICAgICAgIGNvbnRleHQgPSB7XG4gICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICB0b2tlbnNcbiAgICAgICAgICB9O1xuXG4gICAgdG9wbW9zdENTU05vZGUucmVzb2x2ZShjb250ZXh0KTtcblxuICAgIGNzcyA9IHRvcG1vc3RDU1NOb2RlLmFzQ1NTKGNvbnRleHQpO1xuICB9XG5cbiAgY3NzID0gYCR7Y3NzU2VsZWN0b3JzU3RyaW5nfSB7XG4ke2Nzc31cbn1gO1xuXG4gIHJldHVybiBjc3M7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgdG9rZW5zRnJvbU1hcmtkb3duLFxuICBtYXJrZG93bk5vZGVGcm9tVG9rZW5zLFxuICB0b2tlbnNGcm9tTWFya2Rvd25TdHlsZSxcbiAgSFRNTENsYXNzRnJvbU1hcmtkb3duTm9kZSxcbiAgbWFya2Rvd25TdHlsZU5vZGVGcm9tVG9rZW5zLFxuICBDU1NDbGFzc0Zyb21NYXJrZG93blN0eWxlTm9kZSxcbiAgdG9wbW9zdEhUTUxOb2RlRnJvbU1hcmtkb3duTm9kZSxcbiAgaHRtbEZyb21NYXJrZG93bk9wdGlvbnNBbmRJbXBvcnRlcixcbiAgdG9wbW9zdENTU05vZGVGcm9tTWFya2Rvd25TdHlsZU5vZGUsXG4gIGNzc0Zyb21NYXJrZG93blN0eWxlQW5kQ1NTU2VsZWN0b3JzU3RyaW5nXG59O1xuIl0sIm5hbWVzIjpbIkNTU0NsYXNzRnJvbU1hcmtkb3duU3R5bGVOb2RlIiwiSFRNTENsYXNzRnJvbU1hcmtkb3duTm9kZSIsImNzc0Zyb21NYXJrZG93blN0eWxlQW5kQ1NTU2VsZWN0b3JzU3RyaW5nIiwiaHRtbEZyb21NYXJrZG93bk9wdGlvbnNBbmRJbXBvcnRlciIsIm1hcmtkb3duTm9kZUZyb21Ub2tlbnMiLCJtYXJrZG93blN0eWxlTm9kZUZyb21Ub2tlbnMiLCJ0b2tlbnNGcm9tTWFya2Rvd24iLCJ0b2tlbnNGcm9tTWFya2Rvd25TdHlsZSIsInRvcG1vc3RDU1NOb2RlRnJvbU1hcmtkb3duU3R5bGVOb2RlIiwidG9wbW9zdEhUTUxOb2RlRnJvbU1hcmtkb3duTm9kZSIsInRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMiLCJub2RlVXRpbGl0aWVzIiwibWFya2Rvd25MZXhlciIsIk1hcmtkb3duTGV4ZXIiLCJmcm9tTm90aGluZyIsIm1hcmtkb3duUGFyc2VyIiwiTWFya2Rvd25QYXJzZXIiLCJtYXJrZG93blN0eWxlTGV4ZXIiLCJNYXJrZG93blN0eWxlTGV4ZXIiLCJtYXJrZG93blN0eWxlUGFyc2VyIiwiTWFya2Rvd25TdHlsZVBhcnNlciIsIm1hcmtkb3duIiwibGV4ZXIiLCJjb250ZW50IiwidG9rZW5zIiwidG9rZW5pc2UiLCJwYXJzZXIiLCJzdGFydFJ1bGUiLCJnZXRTdGFydFJ1bGUiLCJub2RlIiwicGFyc2UiLCJtYXJrZG93bk5vZGUiLCJtYXJrZG93blN0eWxlIiwiQ2xhc3MiLCJUb3Btb3N0SFRNTE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiaHRtbE5vZGVNYXAiLCJIVE1MTm9kZSIsIm1hcmtkb3duU3R5bGVOb2RlIiwiVG9wbW9zdENTU05vZGUiLCJjc3NOb2RlTWFwIiwiQ1NTTm9kZSIsIkNsYXNzRnJvbU91dGVyTm9kZSIsInF1ZXJpZXMiLCJtYXJrZG93blF1ZXJpZXMiLCJub2RlcyIsIm5vZGVzRnJvbU5vZGVBbmRRdWVyaWVzIiwib3V0ZXJOb2RlcyIsInRvcG1vc3ROb2RlIiwidG9wbW9zdEhUTUxOb2RlIiwib3B0aW9ucyIsImltcG9ydGVyIiwiaHRtbCIsInRvcG1vc3RNYXJrZG93bk5vZGUiLCJjb250ZXh0IiwicmVzb2x2ZSIsImRpdmlzaW9uSFRNTE5PZGUiLCJnZXREaXZpc2lvbkhUTUxOb2RlIiwiYXNIVE1MIiwibWFya2Rvd25TdHlsZVF1ZXJpZXMiLCJ0b3Btb3N0Q1NTTm9kZSIsImNzc1NlbGVjdG9yc1N0cmluZyIsImNzcyIsIkVNUFRZX1NUUklORyIsInRhcmdldCIsIldFQl9UQVJHRVQiLCJhc0NTUyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBNkVnQkE7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUF5RkFDO2VBQUFBOztRQTBCaEI7ZUFBQTs7UUFqRWdCQztlQUFBQTs7UUFuRUFDO2VBQUFBOztRQWdDQUM7ZUFBQUE7O1FBeENBQztlQUFBQTs7UUFpQkFDO2VBQUFBOztRQXNGQUM7ZUFBQUE7O1FBdkNBQztlQUFBQTs7O3dCQTFGYzswREFFVjsyREFDQzsyREFDRTs0REFDQzs0REFDRTs2REFDQzs4REFDQTsrREFDQzsrREFDQTs2REFDRzs4REFDQztvRUFDQzt1QkFFTjt5QkFDRTtxQkFDVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QyxJQUFNLEFBQUVDLDRCQUE4QkMsdUJBQWEsQ0FBM0NEO0FBRVIsSUFBTUUsZ0JBQWdCQyxjQUFhLENBQUNDLFdBQVcsSUFDekNDLGlCQUFpQkMsZUFBYyxDQUFDRixXQUFXLElBQzNDRyxxQkFBcUJDLGVBQWtCLENBQUNKLFdBQVcsSUFDbkRLLHNCQUFzQkMsZ0JBQW1CLENBQUNOLFdBQVc7QUFFcEQsU0FBU1IsbUJBQW1CZSxRQUFRO0lBQ3pDLElBQU1DLFFBQVFWLGVBQ1JXLFVBQVVGLFVBQ1ZHLFNBQVNGLE1BQU1HLFFBQVEsQ0FBQ0Y7SUFFOUIsT0FBT0M7QUFDVDtBQUVPLFNBQVNwQix1QkFBdUJvQixNQUFN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
|
package/lib/utilities/index.js
CHANGED
|
@@ -57,7 +57,7 @@ function indexMapFromIndexDirectiveHTMLNodeAndDivisionHTMLNodes(indexDirectiveHT
|
|
|
57
57
|
}
|
|
58
58
|
function createIndexMap(indexDirectiveHTMLNode, divisionHTMLNodes, context) {
|
|
59
59
|
var indexMap = {};
|
|
60
|
-
var
|
|
60
|
+
var phrases = context.phrases, indexMatches = phrases.map(function(phrase) {
|
|
61
61
|
var indexMatch = _match.default.fromPhrase(phrase);
|
|
62
62
|
return indexMatch;
|
|
63
63
|
});
|
|
@@ -110,14 +110,13 @@ function compressPageNumbers(indexMap) {
|
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
112
|
function removeIgnoredWords(indexMap, context) {
|
|
113
|
-
var
|
|
113
|
+
var ignoredWords = context.ignoredWords;
|
|
114
114
|
ignoredWords.forEach(function(ignoredWord) {
|
|
115
115
|
delete indexMap[ignoredWord];
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
118
|
function adjustProperNouns(indexMap, context) {
|
|
119
|
-
var
|
|
120
|
-
var lowerCaseProperNouns = properNouns.map(function(properNoun) {
|
|
119
|
+
var properNouns = context.properNouns, lowerCaseProperNouns = properNouns.map(function(properNoun) {
|
|
121
120
|
var lowerCaseProperNoun = properNoun.toLowerCase();
|
|
122
121
|
return lowerCaseProperNoun;
|
|
123
122
|
});
|
|
@@ -142,8 +141,7 @@ function preparePlainText(plainText) {
|
|
|
142
141
|
return plainText;
|
|
143
142
|
}
|
|
144
143
|
function adjustAcronyms(indexMap, context) {
|
|
145
|
-
var
|
|
146
|
-
var lowerCaseAcronyms = acronyms.map(function(acronym) {
|
|
144
|
+
var acronyms = context.acronyms, lowerCaseAcronyms = acronyms.map(function(acronym) {
|
|
147
145
|
var lowerCaseAcronym = acronym.toLowerCase();
|
|
148
146
|
return lowerCaseAcronym;
|
|
149
147
|
});
|
|
@@ -161,7 +159,7 @@ function adjustAcronyms(indexMap, context) {
|
|
|
161
159
|
});
|
|
162
160
|
}
|
|
163
161
|
function adjustMixedPlurals(indexMap, context) {
|
|
164
|
-
var
|
|
162
|
+
var plurals = context.plurals, mixedPlurals = reducePlurals(plurals, isMixed), pluralPlurals = mapPlurals(mixedPlurals, mixedToPlural), singularPlurals = mapPlurals(mixedPlurals, mixedToSingular);
|
|
165
163
|
(0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
|
|
166
164
|
var singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
|
|
167
165
|
if (singularPluralsIncludesWordOrPhrase) {
|
|
@@ -180,7 +178,7 @@ function adjustMixedPlurals(indexMap, context) {
|
|
|
180
178
|
});
|
|
181
179
|
}
|
|
182
180
|
function adjustPluralPlurals(indexMap, context) {
|
|
183
|
-
var
|
|
181
|
+
var plurals = context.plurals, pluralPlurals = reducePlurals(plurals, isPlural), singularPlurals = mapPlurals(pluralPlurals, pluralToSingular);
|
|
184
182
|
(0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
|
|
185
183
|
var singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
|
|
186
184
|
if (singularPluralsIncludesWordOrPhrase) {
|
|
@@ -192,7 +190,7 @@ function adjustPluralPlurals(indexMap, context) {
|
|
|
192
190
|
});
|
|
193
191
|
}
|
|
194
192
|
function adjustSingularPlurals(indexMap, context) {
|
|
195
|
-
var
|
|
193
|
+
var plurals = context.plurals, singularPlurals = reducePlurals(plurals, isSingular), pluralPlurals = mapPlurals(singularPlurals, singularToPlural);
|
|
196
194
|
(0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
|
|
197
195
|
var pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
|
|
198
196
|
if (pluralPluralsIncludesWordOrPhrase) {
|
|
@@ -262,4 +260,4 @@ function pluralToSingular(text) {
|
|
|
262
260
|
return text;
|
|
263
261
|
}
|
|
264
262
|
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tZG9tXCJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgZm9yRWFjaCwgbWFwS2V5cywgbWFwVmFsdWVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IFlfU1RSSU5HLCBTX1NUUklORywgSUVTX1NUUklORywgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UsIFBBUkVOVEhFU0lTRURfU19TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgY29tcHJlc3MgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBpc0xlc3NUaGFuLCBpc0FuY2VzdG9yT2YgfSA9IG5vZGVVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE1hcEZyb21JbmRleERpcmVjdGl2ZUhUTUxOb2RlQW5kRGl2aXNpb25IVE1MTm9kZXMoaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSwgZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXAgPSBjcmVhdGVJbmRleE1hcChpbmRleERpcmVjdGl2ZUhUTUxOb2RlLCBkaXZpc2lvbkhUTUxOb2RlcywgY29udGV4dCk7XG5cbiAgcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4TWFwKGluZGV4RGlyZWN0aXZlSFRNTE5vZGUsIGRpdmlzaW9uSFRNTE5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWFwID0ge307XG5cbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGhyYXNlcyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBpbmRleE1hdGNoZXMgPSBwaHJhc2VzLm1hcCgocGhyYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5kZXhNYXRjaCA9IEluZGV4TWF0Y2guZnJvbVBocmFzZShwaHJhc2UpO1xuXG4gICAgICAgICAgcmV0dXJuIGluZGV4TWF0Y2g7XG4gICAgICAgIH0pO1xuXG4gIGRpdmlzaW9uSFRNTE5vZGVzLmZvckVhY2goKGRpdmlzaW9uSFRNTE5vZGUpID0+IHtcbiAgICBjb25zdCBkaXZpc2lvbkhUTUxOb2RlTGVzc1RoYW5JbmRleERpcmVjdGl2ZUhUTUxOb2RlID0gaXNMZXNzVGhhbihkaXZpc2lvbkhUTUxOb2RlLCBpbmRleERpcmVjdGl2ZUhUTUxOb2RlKTtcblxuICAgIGlmIChkaXZpc2lvbkhUTUxOb2RlTGVzc1RoYW5JbmRleERpcmVjdGl2ZUhUTUxOb2RlKSB7XG4gICAgICBjb25zdCBkaXZpc2lvbkhUTUxOb2RlQW5jZXN0b3JPZkluZGV4RGlyZWN0aXZlSFRNTE5vZGUgPSBpc0FuY2VzdG9yT2YoZGl2aXNpb25IVE1MTm9kZSwgaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSk7XG5cbiAgICAgIGlmICghZGl2aXNpb25IVE1MTm9kZUFuY2VzdG9yT2ZJbmRleERpcmVjdGl2ZUhUTUxOb2RlKSB7XG4gICAgICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSBkaXZpc2lvbkhUTUxOb2RlLnBhZ2VOdW1iZXIoKTtcblxuICAgICAgICBpZiAocGFnZU51bWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHBsYWluVGV4dCA9IGRpdmlzaW9uSFRNTE5vZGUuYXNQbGFpblRleHQoY29udGV4dCksXG4gICAgICAgICAgICAgICAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpO1xuXG4gICAgICAgICAgd29yZHNPclBocmFzZXMuZm9yRWFjaCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYWdlTnVtYmVycyA9IGluZGV4TWFwLmhhc093blByb3BlcnR5KHdvcmRPclBocmFzZSkgP1xuICAgICAgICAgICAgICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdIDpcbiAgICAgICAgICAgICAgICAgICAgICBbXTtcblxuICAgICAgICAgICAgaW5kZXhNYXBbd29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuXG4gICAgICAgICAgICBwYWdlTnVtYmVycy5wdXNoKHBhZ2VOdW1iZXIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIHdvcmRzT3JQaHJhc2VzRnJvbVBsYWluVGV4dEFuZEluZGV4TWF0Y2hlcyhwbGFpblRleHQsIGluZGV4TWF0Y2hlcykge1xuICBsZXQgd29yZHNPclBocmFzZXM7XG5cbiAgcGxhaW5UZXh0ID0gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpOyAgLy8vXG5cbiAgaW5kZXhNYXRjaGVzLmZvckVhY2goKGluZGV4TWF0Y2gpID0+IHtcbiAgICBwbGFpblRleHQgPSBpbmRleE1hdGNoLnJlcGxhY2UocGxhaW5UZXh0KTtcbiAgfSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSBwbGFpblRleHQuc3BsaXQoU0lOR0xFX1NQQUNFKTtcblxuICB3b3Jkc09yUGhyYXNlcyA9IHdvcmRzT3JQaHJhc2VzLm1hcCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgd29yZE9yUGhyYXNlID0gSW5kZXhNYXRjaC5yZXZlcnQod29yZE9yUGhyYXNlKTsgIC8vL1xuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHdvcmRzT3JQaHJhc2VzO1xufVxuXG5mdW5jdGlvbiBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKSB7XG4gIG1hcFZhbHVlcyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb21wcmVzcyhwYWdlTnVtYmVycywgKHBhZ2VOdW1iZXJBLCBwYWdlTnVtYmVyQikgPT4ge1xuICAgICAgaWYgKHBhZ2VOdW1iZXJBID09PSBwYWdlTnVtYmVyQikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHBhZ2VOdW1iZXJzLnNvcnQoKHBhZ2VOdW1iZXJCLCBwYWdlTnVtYmVyQSkgPT4ge1xuICAgICAgcGFnZU51bWJlckEgPSBOdW1iZXIocGFnZU51bWJlckEpOyAgLy8vXG5cbiAgICAgIHBhZ2VOdW1iZXJCID0gTnVtYmVyKHBhZ2VOdW1iZXJCKTsgIC8vL1xuXG4gICAgICBjb25zdCBkaWZmZXJlbmNlID0gcGFnZU51bWJlckIgLSBwYWdlTnVtYmVyQTtcblxuICAgICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlcnM7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJZ25vcmVkV29yZHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaWdub3JlZFdvcmRzIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgaWdub3JlZFdvcmRzLmZvckVhY2goKGlnbm9yZWRXb3JkKSA9PiB7XG4gICAgZGVsZXRlIGluZGV4TWFwW2lnbm9yZWRXb3JkXTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdFByb3Blck5vdW5zKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHByb3Blck5vdW5zIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgY29uc3QgbG93ZXJDYXNlUHJvcGVyTm91bnMgPSBwcm9wZXJOb3Vucy5tYXAoKHByb3Blck5vdW4pID0+IHtcbiAgICBjb25zdCBsb3dlckNhc2VQcm9wZXJOb3VuID0gcHJvcGVyTm91bi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGxvd2VyQ2FzZVByb3Blck5vdW47XG4gIH0pO1xuXG4gIG1hcEtleXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxvd2VyQ2FzZVByb3Blck5vdW5zLmZpbmRJbmRleCgobG93ZXJDYXNlUHJvcGVyTmFtZSkgPT4ge1xuICAgICAgaWYgKGxvd2VyQ2FzZVByb3Blck5hbWUgPT09IHdvcmRPclBocmFzZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBwcm9wZXJOb3VuID0gcHJvcGVyTm91bnNbaW5kZXhdO1xuXG4gICAgICB3b3JkT3JQaHJhc2UgPSBwcm9wZXJOb3VuOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVQbGFpblRleHQocGxhaW5UZXh0KSB7XG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC50b0xvd2VyQ2FzZSgpOyAgLy8vXG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL1teYS16MC05XFwtIF0vZywgU0lOR0xFX1NQQUNFKTtcblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvXFxzKy9nLCBTSU5HTEVfU1BBQ0UpO1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBwbGFpblRleHQ7XG59XG5cbmZ1bmN0aW9uIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IGFjcm9ueW1zIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgY29uc3QgbG93ZXJDYXNlQWNyb255bXMgPSBhY3Jvbnltcy5tYXAoKGFjcm9ueW0pID0+IHtcbiAgICBjb25zdCBsb3dlckNhc2VBY3JvbnltID0gYWNyb255bS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGxvd2VyQ2FzZUFjcm9ueW07XG4gIH0pO1xuXG4gIG1hcEtleXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxvd2VyQ2FzZUFjcm9ueW1zLmZpbmRJbmRleCgobG93ZXJDYXNlUHJvcGVyTmFtZSkgPT4ge1xuICAgICAgaWYgKGxvd2VyQ2FzZVByb3Blck5hbWUgPT09IHdvcmRPclBocmFzZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBhY3JvbnltID0gYWNyb255bXNbaW5kZXhdO1xuXG4gICAgICB3b3JkT3JQaHJhc2UgPSBhY3JvbnltOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdE1peGVkUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwbHVyYWxzIH0gPSBpbmRleE9wdGlvbnMsXG4gICAgICAgIG1peGVkUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNNaXhlZCksXG4gICAgICAgIHBsdXJhbFBsdXJhbHMgPSBtYXBQbHVyYWxzKG1peGVkUGx1cmFscywgbWl4ZWRUb1BsdXJhbCksXG4gICAgICAgIHNpbmd1bGFyUGx1cmFscyA9IG1hcFBsdXJhbHMobWl4ZWRQbHVyYWxzLCBtaXhlZFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgbWl4ZWRXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclRvTWl4ZWQoc2luZ3VsYXJXb3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgbWl4ZWRQYWdlTnVtYmVycyA9IGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSB8fCBbXTtcblxuICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgIC4uLnNpbmd1bGFyUGFnZU51bWJlcnMsXG4gICAgICAgIC4uLm1peGVkUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgIH1cblxuICAgIGNvbnN0IHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSA9IHBsdXJhbFBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgIGNvbnN0IHBsdXJhbFdvcmRPclBocmFzZSA9IHdvcmRPclBocmFzZSwgIC8vL1xuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgbWl4ZWRXb3JkT3JQaHJhc2UgPSBwbHVyYWxUb01peGVkKHBsdXJhbFdvcmRPclBocmFzZSksXG4gICAgICAgICAgICBtaXhlZFBhZ2VOdW1iZXJzID0gaW5kZXhNYXBbbWl4ZWRXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnMsXG4gICAgICAgIC4uLm1peGVkUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdO1xuXG4gICAgICBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RQbHVyYWxQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBsdXJhbHMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgcGx1cmFsUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNQbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKHBsdXJhbFBsdXJhbHMsIHBsdXJhbFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb1BsdXJhbCh3b3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RTaW5ndWxhclBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGx1cmFscyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGlzU2luZ3VsYXIpLFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gbWFwUGx1cmFscyhzaW5ndWxhclBsdXJhbHMsIHNpbmd1bGFyVG9QbHVyYWwpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgICBjb25zdCBwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBwbHVyYWxQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICAgIGlmIChwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSBwbHVyYWxUb1Npbmd1bGFyKHdvcmRPclBocmFzZSksXG4gICAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV0gfHwgW10sXG4gICAgICAgICAgICAgIHBsdXJhbFdvcmRPclBocmFzZSA9IHdvcmRPclBocmFzZSwgIC8vL1xuICAgICAgICAgICAgICBwbHVyYWxQYWdlTnVtYmVycyA9IHBhZ2VOdW1iZXJzOyAgLy8vXG5cbiAgICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVyc1xuICAgICAgICBdO1xuXG4gICAgICAgIGRlbGV0ZSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdO1xuXG4gICAgICAgIGluZGV4TWFwW3Npbmd1bGFyV29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVkdWNlUGx1cmFscyhwbHVyYWxzLCBjYWxsYmFjaykge1xuICBwbHVyYWxzID0gcGx1cmFscy5yZWR1Y2UoKHBsdXJhbHMsIHBsdXJhbCkgPT4geyAvLy9cbiAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjayhwbHVyYWwpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcGx1cmFscy5wdXNoKHBsdXJhbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBsdXJhbHM7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gcGx1cmFscztcbn1cblxuZnVuY3Rpb24gbWFwUGx1cmFscyhwbHVyYWxzLCBjYWxsYmFjaykge1xuICBwbHVyYWxzID0gcGx1cmFscy5tYXAoKHBsdXJhbCkgPT4geyAvLy9cbiAgICBwbHVyYWwgPSBjYWxsYmFjayhwbHVyYWwpO1xuXG4gICAgcmV0dXJuIHBsdXJhbDtcbiAgfSk7XG5cbiAgcmV0dXJuIHBsdXJhbHM7XG59XG5cbmZ1bmN0aW9uIGlzU2luZ3VsYXIodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvW15zKV0kLy50ZXN0KHRleHQpLFxuICAgICAgICBzaW5ndWxhciA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIHNpbmd1bGFyO1xufVxuXG5mdW5jdGlvbiBpc1BsdXJhbCh0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC8oaWVzfHMpJC8udGVzdCh0ZXh0KSxcbiAgICAgICAgcGx1cmFsID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gcGx1cmFsO1xufVxuXG5mdW5jdGlvbiBpc01peGVkKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gL1xcKHNcXCkkLy50ZXN0KHRleHQpLFxuICAgICAgICBtaXhlZCA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIG1peGVkO1xufVxuXG5mdW5jdGlvbiBtaXhlZFRvUGx1cmFsKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9cXChzXFwpJC8sIFNfU1RSSU5HKTtcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gcGx1cmFsVG9NaXhlZCh0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgICAucmVwbGFjZSgvcyQvLCBQQVJFTlRIRVNJU0VEX1NfU1RSSU5HKVxuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBtaXhlZFRvU2luZ3VsYXIodGV4dCkge1xuICB0ZXh0ID0gdGV4dCAvLy9cbiAgICAgICAgICAucmVwbGFjZSgvXFwoc1xcKSQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzaW5ndWxhclRvTWl4ZWQodGV4dCkge1xuICB0ZXh0ID0gYCR7dGV4dH0ocylgO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzaW5ndWxhclRvUGx1cmFsKHRleHQpIHtcbiAgdGV4dCA9IGAke3RleHR9c2AgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC95cyQvLCBJRVNfU1RSSU5HKTtcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gcGx1cmFsVG9TaW5ndWxhcih0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgICAucmVwbGFjZSgvaWVzJC8sIFlfU1RSSU5HKVxuICAgICAgICAgICAucmVwbGFjZSgvcyQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuIl0sIm5hbWVzIjpbImluZGV4TWFwRnJvbUluZGV4RGlyZWN0aXZlSFRNTE5vZGVBbmREaXZpc2lvbkhUTUxOb2RlcyIsImNvbXByZXNzIiwiYXJyYXlVdGlsaXRpZXMiLCJpc0xlc3NUaGFuIiwibm9kZVV0aWxpdGllcyIsImlzQW5jZXN0b3JPZiIsImluZGV4RGlyZWN0aXZlSFRNTE5vZGUiLCJkaXZpc2lvbkhUTUxOb2RlcyIsImNvbnRleHQiLCJpbmRleE1hcCIsImNyZWF0ZUluZGV4TWFwIiwicmVtb3ZlSWdub3JlZFdvcmRzIiwiYWRqdXN0TWl4ZWRQbHVyYWxzIiwiYWRqdXN0UGx1cmFsUGx1cmFscyIsImFkanVzdFNpbmd1bGFyUGx1cmFscyIsImFkanVzdFByb3Blck5vdW5zIiwiYWRqdXN0QWNyb255bXMiLCJjb21wcmVzc1BhZ2VOdW1iZXJzIiwiaW5kZXhPcHRpb25zIiwicGhyYXNlcyIsImluZGV4TWF0Y2hlcyIsIm1hcCIsInBocmFzZSIsImluZGV4TWF0Y2giLCJJbmRleE1hdGNoIiwiZnJvbVBocmFzZSIsImZvckVhY2giLCJkaXZpc2lvbkhUTUxOb2RlIiwiZGl2aXNpb25IVE1MTm9kZUxlc3NUaGFuSW5kZXhEaXJlY3RpdmVIVE1MTm9kZSIsImRpdmlzaW9uSFRNTE5vZGVBbmNlc3Rvck9mSW5kZXhEaXJlY3RpdmVIVE1MTm9kZSIsInBhZ2VOdW1iZXIiLCJwbGFpblRleHQiLCJhc1BsYWluVGV4dCIsIndvcmRzT3JQaHJhc2VzIiwid29yZHNPclBocmFzZXNGcm9tUGxhaW5UZXh0QW5kSW5kZXhNYXRjaGVzIiwid29yZE9yUGhyYXNlIiwicGFnZU51bWJlcnMiLCJoYXNPd25Qcm9wZXJ0eSIsInB1c2giLCJwcmVwYXJlUGxhaW5UZXh0IiwicmVwbGFjZSIsInNwbGl0IiwiU0lOR0xFX1NQQUNFIiwicmV2ZXJ0IiwibWFwVmFsdWVzIiwicGFnZU51bWJlckEiLCJwYWdlTnVtYmVyQiIsInNvcnQiLCJOdW1iZXIiLCJkaWZmZXJlbmNlIiwiaWdub3JlZFdvcmRzIiwiaWdub3JlZFdvcmQiLCJwcm9wZXJOb3VucyIsImxvd2VyQ2FzZVByb3Blck5vdW5zIiwicHJvcGVyTm91biIsImxvd2VyQ2FzZVByb3Blck5vdW4iLCJ0b0xvd2VyQ2FzZSIsIm1hcEtleXMiLCJpbmRleCIsImZpbmRJbmRleCIsImxvd2VyQ2FzZVByb3Blck5hbWUiLCJFTVBUWV9TVFJJTkciLCJhY3JvbnltcyIsImxvd2VyQ2FzZUFjcm9ueW1zIiwiYWNyb255bSIsImxvd2VyQ2FzZUFjcm9ueW0iLCJwbHVyYWxzIiwibWl4ZWRQbHVyYWxzIiwicmVkdWNlUGx1cmFscyIsImlzTWl4ZWQiLCJwbHVyYWxQbHVyYWxzIiwibWFwUGx1cmFscyIsIm1peGVkVG9QbHVyYWwiLCJzaW5ndWxhclBsdXJhbHMiLCJtaXhlZFRvU2luZ3VsYXIiLCJzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSIsImluY2x1ZGVzIiwic2luZ3VsYXJXb3JkT3JQaHJhc2UiLCJzaW5ndWxhclBhZ2VOdW1iZXJzIiwibWl4ZWRXb3JkT3JQaHJhc2UiLCJzaW5ndWxhclRvTWl4ZWQiLCJtaXhlZFBhZ2VOdW1iZXJzIiwicGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlIiwicGx1cmFsV29yZE9yUGhyYXNlIiwicGx1cmFsUGFnZU51bWJlcnMiLCJwbHVyYWxUb01peGVkIiwiaXNQbHVyYWwiLCJwbHVyYWxUb1Npbmd1bGFyIiwic2luZ3VsYXJUb1BsdXJhbCIsImlzU2luZ3VsYXIiLCJjYWxsYmFjayIsInJlZHVjZSIsInBsdXJhbCIsInJlc3VsdCIsInRleHQiLCJ0ZXN0Iiwic2luZ3VsYXIiLCJtaXhlZCIsIlNfU1RSSU5HIiwiUEFSRU5USEVTSVNFRF9TX1NUUklORyIsIklFU19TVFJJTkciLCJZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYWdCQTs7O2VBQUFBOzs7d0JBWGM7eUJBQ0M7NERBRVI7c0JBRXFCO3lCQUN1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuRyxJQUFNLEFBQUVDLFdBQWFDLHlCQUFjLENBQTNCRCxVQUNBRSxhQUE2QkMsdUJBQWEsQ0FBMUNELFlBQVlFLGVBQWlCRCx1QkFBYSxDQUE5QkM7QUFFYixTQUFTTCx1REFBdURNLHNCQUFzQixFQUFFQyxpQkFBaUIsRUFBRUMsT0FBTztJQUN2SCxJQUFNQyxXQUFXQyxlQUFlSix3QkFBd0JDLG1CQUFtQkM7SUFFM0VHLG1CQUFtQkYsVUFBVUQ7SUFFN0JJLG1CQUFtQkgsVUFBVUQ7SUFFN0JLLG9CQUFvQkosVUFBVUQ7SUFFOUJNLHNCQUFzQkwsVUFBVUQ7SUFFaENPLGtCQUFrQk4sVUFBVUQ7SUFFNUJRLGVBQWVQLFVBQVVEO0lBRXpCUyxvQkFBb0JSO0lBRXBCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTQyxlQUFlSixzQkFBc0IsRUFBRUMsaUJBQWlCLEVBQUVDLE9BQU87SUFDeEUsSUFBTUMsV0FBVyxDQUFDO0lBRWxCLElBQU0sQUFBRVMsZUFBaUJWLFFBQWpCVSxjQUNGLEFBQUVDLFVBQVlELGFBQVpDLFNBQ0ZDLGVBQWVELFFBQVFFLEdBQUcsQ0FBQyxTQUFDQztRQUMxQixJQUFNQyxhQUFhQyxjQUFVLENBQUNDLFVBQVUsQ0FBQ0g7UUFFekMsT0FBT0M7SUFDVDtJQUVOaEIsa0JB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
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tZG9tXCJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgZm9yRWFjaCwgbWFwS2V5cywgbWFwVmFsdWVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IFlfU1RSSU5HLCBTX1NUUklORywgSUVTX1NUUklORywgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UsIFBBUkVOVEhFU0lTRURfU19TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgY29tcHJlc3MgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBpc0xlc3NUaGFuLCBpc0FuY2VzdG9yT2YgfSA9IG5vZGVVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE1hcEZyb21JbmRleERpcmVjdGl2ZUhUTUxOb2RlQW5kRGl2aXNpb25IVE1MTm9kZXMoaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSwgZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXAgPSBjcmVhdGVJbmRleE1hcChpbmRleERpcmVjdGl2ZUhUTUxOb2RlLCBkaXZpc2lvbkhUTUxOb2RlcywgY29udGV4dCk7XG5cbiAgcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4TWFwKGluZGV4RGlyZWN0aXZlSFRNTE5vZGUsIGRpdmlzaW9uSFRNTE5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWFwID0ge307XG5cbiAgY29uc3QgeyBwaHJhc2VzIH0gPSBjb250ZXh0LFxuICAgICAgICBpbmRleE1hdGNoZXMgPSBwaHJhc2VzLm1hcCgocGhyYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5kZXhNYXRjaCA9IEluZGV4TWF0Y2guZnJvbVBocmFzZShwaHJhc2UpO1xuXG4gICAgICAgICAgcmV0dXJuIGluZGV4TWF0Y2g7XG4gICAgICAgIH0pO1xuXG4gIGRpdmlzaW9uSFRNTE5vZGVzLmZvckVhY2goKGRpdmlzaW9uSFRNTE5vZGUpID0+IHtcbiAgICBjb25zdCBkaXZpc2lvbkhUTUxOb2RlTGVzc1RoYW5JbmRleERpcmVjdGl2ZUhUTUxOb2RlID0gaXNMZXNzVGhhbihkaXZpc2lvbkhUTUxOb2RlLCBpbmRleERpcmVjdGl2ZUhUTUxOb2RlKTtcblxuICAgIGlmIChkaXZpc2lvbkhUTUxOb2RlTGVzc1RoYW5JbmRleERpcmVjdGl2ZUhUTUxOb2RlKSB7XG4gICAgICBjb25zdCBkaXZpc2lvbkhUTUxOb2RlQW5jZXN0b3JPZkluZGV4RGlyZWN0aXZlSFRNTE5vZGUgPSBpc0FuY2VzdG9yT2YoZGl2aXNpb25IVE1MTm9kZSwgaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSk7XG5cbiAgICAgIGlmICghZGl2aXNpb25IVE1MTm9kZUFuY2VzdG9yT2ZJbmRleERpcmVjdGl2ZUhUTUxOb2RlKSB7XG4gICAgICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSBkaXZpc2lvbkhUTUxOb2RlLnBhZ2VOdW1iZXIoKTtcblxuICAgICAgICBpZiAocGFnZU51bWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHBsYWluVGV4dCA9IGRpdmlzaW9uSFRNTE5vZGUuYXNQbGFpblRleHQoY29udGV4dCksXG4gICAgICAgICAgICAgICAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpO1xuXG4gICAgICAgICAgd29yZHNPclBocmFzZXMuZm9yRWFjaCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYWdlTnVtYmVycyA9IGluZGV4TWFwLmhhc093blByb3BlcnR5KHdvcmRPclBocmFzZSkgP1xuICAgICAgICAgICAgICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdIDpcbiAgICAgICAgICAgICAgICAgICAgICBbXTtcblxuICAgICAgICAgICAgaW5kZXhNYXBbd29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuXG4gICAgICAgICAgICBwYWdlTnVtYmVycy5wdXNoKHBhZ2VOdW1iZXIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIHdvcmRzT3JQaHJhc2VzRnJvbVBsYWluVGV4dEFuZEluZGV4TWF0Y2hlcyhwbGFpblRleHQsIGluZGV4TWF0Y2hlcykge1xuICBsZXQgd29yZHNPclBocmFzZXM7XG5cbiAgcGxhaW5UZXh0ID0gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpOyAgLy8vXG5cbiAgaW5kZXhNYXRjaGVzLmZvckVhY2goKGluZGV4TWF0Y2gpID0+IHtcbiAgICBwbGFpblRleHQgPSBpbmRleE1hdGNoLnJlcGxhY2UocGxhaW5UZXh0KTtcbiAgfSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSBwbGFpblRleHQuc3BsaXQoU0lOR0xFX1NQQUNFKTtcblxuICB3b3Jkc09yUGhyYXNlcyA9IHdvcmRzT3JQaHJhc2VzLm1hcCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgd29yZE9yUGhyYXNlID0gSW5kZXhNYXRjaC5yZXZlcnQod29yZE9yUGhyYXNlKTsgIC8vL1xuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHdvcmRzT3JQaHJhc2VzO1xufVxuXG5mdW5jdGlvbiBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKSB7XG4gIG1hcFZhbHVlcyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb21wcmVzcyhwYWdlTnVtYmVycywgKHBhZ2VOdW1iZXJBLCBwYWdlTnVtYmVyQikgPT4ge1xuICAgICAgaWYgKHBhZ2VOdW1iZXJBID09PSBwYWdlTnVtYmVyQikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHBhZ2VOdW1iZXJzLnNvcnQoKHBhZ2VOdW1iZXJCLCBwYWdlTnVtYmVyQSkgPT4ge1xuICAgICAgcGFnZU51bWJlckEgPSBOdW1iZXIocGFnZU51bWJlckEpOyAgLy8vXG5cbiAgICAgIHBhZ2VOdW1iZXJCID0gTnVtYmVyKHBhZ2VOdW1iZXJCKTsgIC8vL1xuXG4gICAgICBjb25zdCBkaWZmZXJlbmNlID0gcGFnZU51bWJlckIgLSBwYWdlTnVtYmVyQTtcblxuICAgICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlcnM7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJZ25vcmVkV29yZHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpZ25vcmVkV29yZHMgfSA9IGNvbnRleHQ7XG5cbiAgaWdub3JlZFdvcmRzLmZvckVhY2goKGlnbm9yZWRXb3JkKSA9PiB7XG4gICAgZGVsZXRlIGluZGV4TWFwW2lnbm9yZWRXb3JkXTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdFByb3Blck5vdW5zKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgcHJvcGVyTm91bnMgfSA9IGNvbnRleHQsXG4gICAgICAgIGxvd2VyQ2FzZVByb3Blck5vdW5zID0gcHJvcGVyTm91bnMubWFwKChwcm9wZXJOb3VuKSA9PiB7XG4gICAgICAgICAgY29uc3QgbG93ZXJDYXNlUHJvcGVyTm91biA9IHByb3Blck5vdW4udG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgIHJldHVybiBsb3dlckNhc2VQcm9wZXJOb3VuO1xuICAgICAgICB9KTtcblxuICBtYXBLZXlzKGluZGV4TWFwLCAod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsb3dlckNhc2VQcm9wZXJOb3Vucy5maW5kSW5kZXgoKGxvd2VyQ2FzZVByb3Blck5hbWUpID0+IHtcbiAgICAgIGlmIChsb3dlckNhc2VQcm9wZXJOYW1lID09PSB3b3JkT3JQaHJhc2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgcHJvcGVyTm91biA9IHByb3Blck5vdW5zW2luZGV4XTtcblxuICAgICAgd29yZE9yUGhyYXNlID0gcHJvcGVyTm91bjsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlUGxhaW5UZXh0KHBsYWluVGV4dCkge1xuICBwbGFpblRleHQgPSBwbGFpblRleHQudG9Mb3dlckNhc2UoKTsgIC8vL1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9bXmEtejAtOVxcLSBdL2csIFNJTkdMRV9TUEFDRSk7XG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL1xccysvZywgU0lOR0xFX1NQQUNFKTtcblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gcGxhaW5UZXh0O1xufVxuXG5mdW5jdGlvbiBhZGp1c3RBY3JvbnltcyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGFjcm9ueW1zIH0gPSBjb250ZXh0LFxuICAgICAgICBsb3dlckNhc2VBY3JvbnltcyA9IGFjcm9ueW1zLm1hcCgoYWNyb255bSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGxvd2VyQ2FzZUFjcm9ueW0gPSBhY3JvbnltLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICByZXR1cm4gbG93ZXJDYXNlQWNyb255bTtcbiAgICAgICAgfSk7XG5cbiAgbWFwS2V5cyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gbG93ZXJDYXNlQWNyb255bXMuZmluZEluZGV4KChsb3dlckNhc2VQcm9wZXJOYW1lKSA9PiB7XG4gICAgICBpZiAobG93ZXJDYXNlUHJvcGVyTmFtZSA9PT0gd29yZE9yUGhyYXNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGNvbnN0IGFjcm9ueW0gPSBhY3Jvbnltc1tpbmRleF07XG5cbiAgICAgIHdvcmRPclBocmFzZSA9IGFjcm9ueW07ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gd29yZE9yUGhyYXNlO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0TWl4ZWRQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgcGx1cmFscyB9ID0gY29udGV4dCxcbiAgICAgICAgbWl4ZWRQbHVyYWxzID0gcmVkdWNlUGx1cmFscyhwbHVyYWxzLCBpc01peGVkKSxcbiAgICAgICAgcGx1cmFsUGx1cmFscyA9IG1hcFBsdXJhbHMobWl4ZWRQbHVyYWxzLCBtaXhlZFRvUGx1cmFsKSxcbiAgICAgICAgc2luZ3VsYXJQbHVyYWxzID0gbWFwUGx1cmFscyhtaXhlZFBsdXJhbHMsIG1peGVkVG9TaW5ndWxhcik7XG5cbiAgZm9yRWFjaChpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb25zdCBzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSA9IHNpbmd1bGFyUGx1cmFscy5pbmNsdWRlcyh3b3JkT3JQaHJhc2UpO1xuXG4gICAgaWYgKHNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlKSB7XG4gICAgICBjb25zdCBzaW5ndWxhcldvcmRPclBocmFzZSA9IHdvcmRPclBocmFzZSwgIC8vL1xuICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IHBhZ2VOdW1iZXJzLCAgLy8vXG4gICAgICAgICAgICBtaXhlZFdvcmRPclBocmFzZSA9IHNpbmd1bGFyVG9NaXhlZChzaW5ndWxhcldvcmRPclBocmFzZSksXG4gICAgICAgICAgICBtaXhlZFBhZ2VOdW1iZXJzID0gaW5kZXhNYXBbbWl4ZWRXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgLi4ubWl4ZWRQYWdlTnVtYmVyc1xuICAgICAgXTtcblxuICAgICAgZGVsZXRlIGluZGV4TWFwW3Npbmd1bGFyV29yZE9yUGhyYXNlXTtcblxuICAgICAgaW5kZXhNYXBbbWl4ZWRXb3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgfVxuXG4gICAgY29uc3QgcGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlID0gcGx1cmFsUGx1cmFscy5pbmNsdWRlcyh3b3JkT3JQaHJhc2UpO1xuXG4gICAgaWYgKHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3QgcGx1cmFsV29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLCAgLy8vXG4gICAgICAgICAgICBwbHVyYWxQYWdlTnVtYmVycyA9IHBhZ2VOdW1iZXJzLCAgLy8vXG4gICAgICAgICAgICBtaXhlZFdvcmRPclBocmFzZSA9IHBsdXJhbFRvTWl4ZWQocGx1cmFsV29yZE9yUGhyYXNlKSxcbiAgICAgICAgICAgIG1peGVkUGFnZU51bWJlcnMgPSBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gfHwgW107XG5cbiAgICAgIHBhZ2VOdW1iZXJzID0gW1xuICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVycyxcbiAgICAgICAgLi4ubWl4ZWRQYWdlTnVtYmVyc1xuICAgICAgXTtcblxuICAgICAgZGVsZXRlIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBwbHVyYWxzIH0gPSBjb250ZXh0LFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gcmVkdWNlUGx1cmFscyhwbHVyYWxzLCBpc1BsdXJhbCksXG4gICAgICAgIHNpbmd1bGFyUGx1cmFscyA9IG1hcFBsdXJhbHMocGx1cmFsUGx1cmFscywgcGx1cmFsVG9TaW5ndWxhcik7XG5cbiAgZm9yRWFjaChpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb25zdCBzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSA9IHNpbmd1bGFyUGx1cmFscy5pbmNsdWRlcyh3b3JkT3JQaHJhc2UpO1xuXG4gICAgaWYgKHNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlKSB7XG4gICAgICBjb25zdCBzaW5ndWxhcldvcmRPclBocmFzZSA9IHdvcmRPclBocmFzZSwgIC8vL1xuICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IHBhZ2VOdW1iZXJzLCAgLy8vXG4gICAgICAgICAgICBwbHVyYWxXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclRvUGx1cmFsKHdvcmRPclBocmFzZSksXG4gICAgICAgICAgICBwbHVyYWxQYWdlTnVtYmVycyA9IGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV0gfHwgW107XG5cbiAgICAgIHBhZ2VOdW1iZXJzID0gW1xuICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzLFxuICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVyc1xuICAgICAgXTtcblxuICAgICAgZGVsZXRlIGluZGV4TWFwW3Npbmd1bGFyV29yZE9yUGhyYXNlXTtcblxuICAgICAgaW5kZXhNYXBbcGx1cmFsV29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IHBsdXJhbHMgfSA9IGNvbnRleHQsXG4gICAgICAgIHNpbmd1bGFyUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNTaW5ndWxhciksXG4gICAgICAgIHBsdXJhbFBsdXJhbHMgPSBtYXBQbHVyYWxzKHNpbmd1bGFyUGx1cmFscywgc2luZ3VsYXJUb1BsdXJhbCk7XG5cbiAgZm9yRWFjaChpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICAgIGNvbnN0IHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSA9IHBsdXJhbFBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgICAgaWYgKHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgICBjb25zdCBzaW5ndWxhcldvcmRPclBocmFzZSA9IHBsdXJhbFRvU2luZ3VsYXIod29yZE9yUGhyYXNlKSxcbiAgICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IGluZGV4TWFwW3Npbmd1bGFyV29yZE9yUGhyYXNlXSB8fCBbXSxcbiAgICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLCAgLy8vXG4gICAgICAgICAgICAgIHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnM7ICAvLy9cblxuICAgICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzLFxuICAgICAgICAgIC4uLnBsdXJhbFBhZ2VOdW1iZXJzXG4gICAgICAgIF07XG5cbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV07XG5cbiAgICAgICAgaW5kZXhNYXBbc2luZ3VsYXJXb3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGNhbGxiYWNrKSB7XG4gIHBsdXJhbHMgPSBwbHVyYWxzLnJlZHVjZSgocGx1cmFscywgcGx1cmFsKSA9PiB7IC8vL1xuICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKHBsdXJhbCk7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICBwbHVyYWxzLnB1c2gocGx1cmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGx1cmFscztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBwbHVyYWxzO1xufVxuXG5mdW5jdGlvbiBtYXBQbHVyYWxzKHBsdXJhbHMsIGNhbGxiYWNrKSB7XG4gIHBsdXJhbHMgPSBwbHVyYWxzLm1hcCgocGx1cmFsKSA9PiB7IC8vL1xuICAgIHBsdXJhbCA9IGNhbGxiYWNrKHBsdXJhbCk7XG5cbiAgICByZXR1cm4gcGx1cmFsO1xuICB9KTtcblxuICByZXR1cm4gcGx1cmFscztcbn1cblxuZnVuY3Rpb24gaXNTaW5ndWxhcih0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC9bXnMpXSQvLnRlc3QodGV4dCksXG4gICAgICAgIHNpbmd1bGFyID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gc2luZ3VsYXI7XG59XG5cbmZ1bmN0aW9uIGlzUGx1cmFsKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gLyhpZXN8cykkLy50ZXN0KHRleHQpLFxuICAgICAgICBwbHVyYWwgPSBpbmRleE1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBwbHVyYWw7XG59XG5cbmZ1bmN0aW9uIGlzTWl4ZWQodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvXFwoc1xcKSQvLnRlc3QodGV4dCksXG4gICAgICAgIG1peGVkID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gbWl4ZWQ7XG59XG5cbmZ1bmN0aW9uIG1peGVkVG9QbHVyYWwodGV4dCkge1xuICB0ZXh0ID0gdGV4dCAvLy9cbiAgICAgICAgICAgLnJlcGxhY2UoL1xcKHNcXCkkLywgU19TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBwbHVyYWxUb01peGVkKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9zJC8sIFBBUkVOVEhFU0lTRURfU19TVFJJTkcpXG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIG1peGVkVG9TaW5ndWxhcih0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgIC5yZXBsYWNlKC9cXChzXFwpJC8sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIHNpbmd1bGFyVG9NaXhlZCh0ZXh0KSB7XG4gIHRleHQgPSBgJHt0ZXh0fShzKWA7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIHNpbmd1bGFyVG9QbHVyYWwodGV4dCkge1xuICB0ZXh0ID0gYCR7dGV4dH1zYCAvLy9cbiAgICAgICAgICAgLnJlcGxhY2UoL3lzJC8sIElFU19TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBwbHVyYWxUb1Npbmd1bGFyKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9pZXMkLywgWV9TVFJJTkcpXG4gICAgICAgICAgIC5yZXBsYWNlKC9zJC8sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG4iXSwibmFtZXMiOlsiaW5kZXhNYXBGcm9tSW5kZXhEaXJlY3RpdmVIVE1MTm9kZUFuZERpdmlzaW9uSFRNTE5vZGVzIiwiY29tcHJlc3MiLCJhcnJheVV0aWxpdGllcyIsImlzTGVzc1RoYW4iLCJub2RlVXRpbGl0aWVzIiwiaXNBbmNlc3Rvck9mIiwiaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSIsImRpdmlzaW9uSFRNTE5vZGVzIiwiY29udGV4dCIsImluZGV4TWFwIiwiY3JlYXRlSW5kZXhNYXAiLCJyZW1vdmVJZ25vcmVkV29yZHMiLCJhZGp1c3RNaXhlZFBsdXJhbHMiLCJhZGp1c3RQbHVyYWxQbHVyYWxzIiwiYWRqdXN0U2luZ3VsYXJQbHVyYWxzIiwiYWRqdXN0UHJvcGVyTm91bnMiLCJhZGp1c3RBY3JvbnltcyIsImNvbXByZXNzUGFnZU51bWJlcnMiLCJwaHJhc2VzIiwiaW5kZXhNYXRjaGVzIiwibWFwIiwicGhyYXNlIiwiaW5kZXhNYXRjaCIsIkluZGV4TWF0Y2giLCJmcm9tUGhyYXNlIiwiZm9yRWFjaCIsImRpdmlzaW9uSFRNTE5vZGUiLCJkaXZpc2lvbkhUTUxOb2RlTGVzc1RoYW5JbmRleERpcmVjdGl2ZUhUTUxOb2RlIiwiZGl2aXNpb25IVE1MTm9kZUFuY2VzdG9yT2ZJbmRleERpcmVjdGl2ZUhUTUxOb2RlIiwicGFnZU51bWJlciIsInBsYWluVGV4dCIsImFzUGxhaW5UZXh0Iiwid29yZHNPclBocmFzZXMiLCJ3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMiLCJ3b3JkT3JQaHJhc2UiLCJwYWdlTnVtYmVycyIsImhhc093blByb3BlcnR5IiwicHVzaCIsInByZXBhcmVQbGFpblRleHQiLCJyZXBsYWNlIiwic3BsaXQiLCJTSU5HTEVfU1BBQ0UiLCJyZXZlcnQiLCJtYXBWYWx1ZXMiLCJwYWdlTnVtYmVyQSIsInBhZ2VOdW1iZXJCIiwic29ydCIsIk51bWJlciIsImRpZmZlcmVuY2UiLCJpZ25vcmVkV29yZHMiLCJpZ25vcmVkV29yZCIsInByb3Blck5vdW5zIiwibG93ZXJDYXNlUHJvcGVyTm91bnMiLCJwcm9wZXJOb3VuIiwibG93ZXJDYXNlUHJvcGVyTm91biIsInRvTG93ZXJDYXNlIiwibWFwS2V5cyIsImluZGV4IiwiZmluZEluZGV4IiwibG93ZXJDYXNlUHJvcGVyTmFtZSIsIkVNUFRZX1NUUklORyIsImFjcm9ueW1zIiwibG93ZXJDYXNlQWNyb255bXMiLCJhY3JvbnltIiwibG93ZXJDYXNlQWNyb255bSIsInBsdXJhbHMiLCJtaXhlZFBsdXJhbHMiLCJyZWR1Y2VQbHVyYWxzIiwiaXNNaXhlZCIsInBsdXJhbFBsdXJhbHMiLCJtYXBQbHVyYWxzIiwibWl4ZWRUb1BsdXJhbCIsInNpbmd1bGFyUGx1cmFscyIsIm1peGVkVG9TaW5ndWxhciIsInNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlIiwiaW5jbHVkZXMiLCJzaW5ndWxhcldvcmRPclBocmFzZSIsInNpbmd1bGFyUGFnZU51bWJlcnMiLCJtaXhlZFdvcmRPclBocmFzZSIsInNpbmd1bGFyVG9NaXhlZCIsIm1peGVkUGFnZU51bWJlcnMiLCJwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UiLCJwbHVyYWxXb3JkT3JQaHJhc2UiLCJwbHVyYWxQYWdlTnVtYmVycyIsInBsdXJhbFRvTWl4ZWQiLCJpc1BsdXJhbCIsInBsdXJhbFRvU2luZ3VsYXIiLCJzaW5ndWxhclRvUGx1cmFsIiwiaXNTaW5ndWxhciIsImNhbGxiYWNrIiwicmVkdWNlIiwicGx1cmFsIiwicmVzdWx0IiwidGV4dCIsInRlc3QiLCJzaW5ndWxhciIsIm1peGVkIiwiU19TVFJJTkciLCJQQVJFTlRIRVNJU0VEX1NfU1RSSU5HIiwiSUVTX1NUUklORyIsIllfU1RSSU5HIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhZ0JBOzs7ZUFBQUE7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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.1.
|
|
4
|
+
"version": "1.1.115",
|
|
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/example/view/xmp.js
CHANGED
|
@@ -7,10 +7,7 @@ import { Element } from "easy";
|
|
|
7
7
|
import { EMPTY_STRING } from "../constants";
|
|
8
8
|
|
|
9
9
|
class XMP extends Element {
|
|
10
|
-
update(
|
|
11
|
-
const indent = null,
|
|
12
|
-
html = divisionHTMLNode.asHTML(indent, context);
|
|
13
|
-
|
|
10
|
+
update(html) {
|
|
14
11
|
this.html(html);
|
|
15
12
|
}
|
|
16
13
|
|