highmark-markdown 1.0.169 → 1.0.170

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.
Files changed (92) hide show
  1. package/example.js +6921 -3362
  2. package/lib/classFromOuterNode.js +30 -0
  3. package/lib/constants.js +5 -1
  4. package/lib/example/constants.js +5 -1
  5. package/lib/example/view/button/page.js +2 -2
  6. package/lib/example/view/div/container/markdown.js +33 -4
  7. package/lib/example/view/div/container/markdownStyle.js +31 -2
  8. package/lib/example/view/div/container/preview.js +3 -9
  9. package/lib/example/view/div/container.js +2 -2
  10. package/lib/example/view/div/html.js +2 -2
  11. package/lib/example/view/div/pageButtons.js +2 -2
  12. package/lib/example/view/div/preview.js +1 -14
  13. package/lib/example/view/textarea/css.js +2 -2
  14. package/lib/example/view/textarea/markdown.js +2 -2
  15. package/lib/example/view/textarea/markdownStyle.js +2 -2
  16. package/lib/example/view/textarea/parseTree/markdown/inner.js +179 -0
  17. package/lib/example/view/textarea/parseTree/markdown/outer.js +148 -0
  18. package/lib/example/view/textarea/parseTree/markdown.js +1 -27
  19. package/lib/example/view/textarea/parseTree/markdownStyle.js +23 -2
  20. package/lib/example/view/textarea/parseTree.js +2 -2
  21. package/lib/example/view/textarea/plainText.js +2 -2
  22. package/lib/example/view/textarea.js +2 -2
  23. package/lib/example/view.js +20 -10
  24. package/lib/node/html/anchor.js +154 -0
  25. package/lib/node/html/blockLine.js +134 -0
  26. package/lib/node/html/blockListing.js +127 -0
  27. package/lib/node/html/blockListingEnd.js +120 -0
  28. package/lib/node/html/blockListingStart.js +120 -0
  29. package/lib/node/html/className.js +120 -0
  30. package/lib/node/html/comma.js +127 -0
  31. package/lib/node/html/contentsLink.js +136 -0
  32. package/lib/node/html/directive/pageNumber.js +178 -0
  33. package/lib/node/html/item/ordered.js +135 -0
  34. package/lib/node/html/topmost.js +123 -0
  35. package/lib/node/html.js +281 -0
  36. package/lib/node/markdown/anchor.js +1 -34
  37. package/lib/node/markdown/blockLine.js +1 -15
  38. package/lib/node/markdown/blockListing.js +1 -8
  39. package/lib/node/markdown/comma.js +1 -8
  40. package/lib/node/markdown/contentsLink.js +1 -17
  41. package/lib/node/markdown/directive/pageNumber.js +1 -16
  42. package/lib/node/markdown/item/ordered.js +1 -16
  43. package/lib/node/markdown.js +1 -66
  44. package/lib/queries.js +60 -0
  45. package/lib/ruleNameToClassMap.js +44 -0
  46. package/lib/utilities/query.js +12 -1
  47. package/package.json +4 -4
  48. package/src/classFromOuterNode.js +20 -0
  49. package/src/constants.js +1 -0
  50. package/src/example/constants.js +1 -0
  51. package/src/example/view/button/page.js +1 -1
  52. package/src/example/view/div/container/markdown.js +23 -4
  53. package/src/example/view/div/container/markdownStyle.js +21 -2
  54. package/src/example/view/div/container/preview.js +1 -9
  55. package/src/example/view/div/container.js +2 -0
  56. package/src/example/view/div/html.js +1 -1
  57. package/src/example/view/div/pageButtons.js +2 -2
  58. package/src/example/view/div/preview.js +0 -17
  59. package/src/example/view/textarea/css.js +1 -1
  60. package/src/example/view/textarea/markdown.js +2 -2
  61. package/src/example/view/textarea/markdownStyle.js +2 -2
  62. package/src/example/view/textarea/parseTree/markdown/inner.js +36 -0
  63. package/src/example/view/textarea/parseTree/markdown/outer.js +27 -0
  64. package/src/example/view/textarea/parseTree/markdown.js +1 -11
  65. package/src/example/view/textarea/parseTree/markdownStyle.js +10 -2
  66. package/src/example/view/textarea/parseTree.js +0 -2
  67. package/src/example/view/textarea/plainText.js +2 -2
  68. package/src/example/view/textarea.js +1 -1
  69. package/src/example/view.js +38 -19
  70. package/src/node/html/anchor.js +53 -0
  71. package/src/node/html/blockLine.js +27 -0
  72. package/src/node/html/blockListing.js +20 -0
  73. package/src/node/html/blockListingEnd.js +11 -0
  74. package/src/node/html/blockListingStart.js +11 -0
  75. package/src/node/html/className.js +11 -0
  76. package/src/node/html/comma.js +18 -0
  77. package/src/node/html/contentsLink.js +28 -0
  78. package/src/node/html/directive/pageNumber.js +55 -0
  79. package/src/node/html/item/ordered.js +26 -0
  80. package/src/node/html/topmost.js +20 -0
  81. package/src/node/html.js +183 -0
  82. package/src/node/markdown/anchor.js +0 -40
  83. package/src/node/markdown/blockLine.js +0 -16
  84. package/src/node/markdown/blockListing.js +0 -9
  85. package/src/node/markdown/comma.js +0 -7
  86. package/src/node/markdown/contentsLink.js +0 -15
  87. package/src/node/markdown/directive/pageNumber.js +0 -19
  88. package/src/node/markdown/item/ordered.js +0 -15
  89. package/src/node/markdown.js +0 -100
  90. package/src/queries.js +94 -0
  91. package/src/ruleNameToClassMap.js +38 -0
  92. package/src/utilities/query.js +12 -0
@@ -10,19 +10,25 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
12
  var _easy = require("easy");
13
+ var _occamdom = require("occam-dom");
13
14
  var _easylayout = require("easy-layout");
14
15
  var _index = require("../index");
16
+ var _queries = /*#__PURE__*/ _interop_require_default(require("../queries"));
15
17
  var _importer = /*#__PURE__*/ _interop_require_wildcard(require("./importer"));
16
18
  var _indexOptions = /*#__PURE__*/ _interop_require_default(require("./indexOptions"));
19
+ var _pageButtons = /*#__PURE__*/ _interop_require_default(require("./view/div/pageButtons"));
17
20
  var _left = /*#__PURE__*/ _interop_require_default(require("./view/div/sizeable/left"));
18
21
  var _css = /*#__PURE__*/ _interop_require_default(require("./view/div/container/css"));
19
22
  var _html = /*#__PURE__*/ _interop_require_default(require("./view/div/container/html"));
20
23
  var _left1 = /*#__PURE__*/ _interop_require_default(require("./view/div/tabButtons/left"));
21
24
  var _right = /*#__PURE__*/ _interop_require_default(require("./view/div/tabButtons/right"));
25
+ var _classFromOuterNode = /*#__PURE__*/ _interop_require_default(require("../classFromOuterNode"));
22
26
  var _preview = /*#__PURE__*/ _interop_require_default(require("./view/div/container/preview"));
23
27
  var _markdown = /*#__PURE__*/ _interop_require_default(require("./view/div/container/markdown"));
24
28
  var _plainText = /*#__PURE__*/ _interop_require_default(require("./view/div/container/plainText"));
25
29
  var _markdownStyle = /*#__PURE__*/ _interop_require_default(require("./view/div/container/markdownStyle"));
30
+ var _inner = /*#__PURE__*/ _interop_require_default(require("./view/textarea/parseTree/markdown/inner"));
31
+ var _query = require("../utilities/query");
26
32
  var _constants = require("./constants");
27
33
  var _processing = require("../utilities/processing");
28
34
  function _assert_this_initialized(self) {
@@ -222,6 +228,7 @@ function _templateObject() {
222
228
  };
223
229
  return data;
224
230
  }
231
+ var topmostNodeFromOuterNodes = _occamdom.nodeUtilities.topmostNodeFromOuterNodes;
225
232
  var markdownLexer = _index.MarkdownLexer.fromNothing(), markdownParser = _index.MarkdownParser.fromNothing(), markdownStyleLexer = _index.MarkdownStyleLexer.fromNothing(), markdownStyleParser = _index.MarkdownStyleParser.fromNothing();
226
233
  var View = /*#__PURE__*/ function(Element) {
227
234
  _inherits(View, Element);
@@ -261,6 +268,7 @@ var View = /*#__PURE__*/ function(Element) {
261
268
  value: function clearPage() {
262
269
  this.clearXMP();
263
270
  this.clearPreviewDiv();
271
+ this.clearInnerMarkdownParseTreeTextarea();
264
272
  }
265
273
  },
266
274
  {
@@ -268,11 +276,13 @@ var View = /*#__PURE__*/ function(Element) {
268
276
  value: function updatePage(index) {
269
277
  var divisionMarkdownNodes = this.getDivisionMarkdownNodes(), divisionMarkdownNode = divisionMarkdownNodes[index], tokens = this.getTokens(), context = {
270
278
  tokens: tokens
271
- }, length = null, html = divisionMarkdownNode.asHTML(context), plainText = divisionMarkdownNode.asPlainText(context);
279
+ }, length = null;
280
+ var node = divisionMarkdownNode, nodes = (0, _query.nodesFromNodeAndQueries)(node, _queries.default), topmostHTMLNode = topmostNodeFromOuterNodes(_classFromOuterNode.default, nodes), parseTree = topmostHTMLNode.asParseTree(), html = topmostHTMLNode.asHTML(context), plainText = divisionMarkdownNode.asPlainText(context), innerMarkdownParseTree = parseTree; ///
272
281
  this.updateXMP(html);
273
282
  this.updatePreviewDiv(divisionMarkdownNode, context);
274
283
  this.updatePageButtonsDiv(length, index);
275
284
  this.updatePlainTextTextarea(plainText);
285
+ this.updateInnerMarkdownParseTreeTextarea(innerMarkdownParseTree);
276
286
  }
277
287
  },
278
288
  {
@@ -292,8 +302,8 @@ var View = /*#__PURE__*/ function(Element) {
292
302
  charactersPerLine: charactersPerLine
293
303
  }, markdownNodes = (0, _processing.postprocess)(divisionMarkdownNode, context), divisionMarkdownNodes = (0, _processing.divisionMarkdownNodesFromMarkdownNodes)(markdownNodes);
294
304
  this.setDivisionMarkdownNodes(divisionMarkdownNodes);
295
- var parseTree = divisionMarkdownNode.asParseTree(tokens);
296
- this.updateMarkdownParseTreeTextarea(parseTree);
305
+ var parseTree = divisionMarkdownNode.asParseTree(tokens), outerMarkdownParseTree = parseTree; ///
306
+ this.updateOuterMarkdownParseTreeTextarea(outerMarkdownParseTree);
297
307
  var index = 0, length = divisionMarkdownNodes.length;
298
308
  if (length > 0) {
299
309
  this.updatePage(index);
@@ -303,7 +313,7 @@ var View = /*#__PURE__*/ function(Element) {
303
313
  this.clearPage();
304
314
  this.clearPageButtonsDiv();
305
315
  this.clearPlainTextTextarea();
306
- this.clearMarkdownParseTreeTextarea();
316
+ this.clearOuterMarkdownParseTreeTextarea();
307
317
  var divisionMarkdownNodes1 = null;
308
318
  this.setDivisionMarkdownNodes(divisionMarkdownNodes1);
309
319
  }
@@ -428,9 +438,9 @@ var View = /*#__PURE__*/ function(Element) {
428
438
  onCustomHTML: this.htmlCustomHandler,
429
439
  onCustomPreview: this.previewCustomHandler,
430
440
  onCustomPlainText: this.plainTextCustomHandler
431
- }), /*#__PURE__*/ React.createElement(_css.default, null), /*#__PURE__*/ React.createElement(_html.default, null), /*#__PURE__*/ React.createElement(_preview.default, {
441
+ }), /*#__PURE__*/ React.createElement(_pageButtons.default, {
432
442
  onCustomPageUpdate: this.pageUpdateCustomHandler
433
- }), /*#__PURE__*/ React.createElement(_plainText.default, null))));
443
+ }), /*#__PURE__*/ React.createElement(_css.default, null), /*#__PURE__*/ React.createElement(_html.default, null), /*#__PURE__*/ React.createElement(_preview.default, null), /*#__PURE__*/ React.createElement(_plainText.default, null), /*#__PURE__*/ React.createElement(_inner.default, null))));
434
444
  }
435
445
  },
436
446
  {
@@ -448,6 +458,9 @@ var View = /*#__PURE__*/ function(Element) {
448
458
  ]);
449
459
  return View;
450
460
  }(_wrap_native_super(_easy.Element));
461
+ _define_property(View, "initialMarkdown", _importer.defaultContent) ///
462
+ ;
463
+ _define_property(View, "initialMarkdownStyle", "width: 100%;\nheight: 199%; \nposition: absolute;\nmin-height: 100%; \npadding-top: 5rem; \n");
451
464
  _define_property(View, "tagName", "div");
452
465
  _define_property(View, "ignoredProperties", [
453
466
  "markdownStyleElement"
@@ -455,9 +468,6 @@ _define_property(View, "ignoredProperties", [
455
468
  _define_property(View, "defaultProperties", {
456
469
  className: "view"
457
470
  });
458
- _define_property(View, "initialMarkdown", _importer.defaultContent) ///
459
- ;
460
- _define_property(View, "initialMarkdownStyle", "\n\nwidth: 100%;\nheight: 199%; \nposition: absolute;\nmin-height: 100%; \npadding-top: 5rem; \n\n");
461
471
  var _default = (0, _easywithstyle.default)(View)(_templateObject());
462
472
  function tokensFromContent(content) {
463
473
  var tokens = markdownLexer.tokenise(content);
@@ -469,4 +479,4 @@ function nodeFromTokens(tokens) {
469
479
  return node;
470
480
  }
471
481
 
472
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgUm93c0RpdiwgQ29sdW1uRGl2LCBDb2x1bW5zRGl2LCBWZXJ0aWNhbFNwbGl0dGVyRGl2IH0gZnJvbSBcImVhc3ktbGF5b3V0XCI7XG5pbXBvcnQgeyBNYXJrZG93bkxleGVyLCBNYXJrZG93blBhcnNlciwgTWFya2Rvd25TdHlsZUxleGVyLCBNYXJrZG93blN0eWxlUGFyc2VyIH0gZnJvbSBcIi4uL2luZGV4XCI7XG5cbmltcG9ydCBpbXBvcnRlciBmcm9tIFwiLi9pbXBvcnRlclwiO1xuaW1wb3J0IGluZGV4T3B0aW9ucyBmcm9tIFwiLi9pbmRleE9wdGlvbnNcIjtcbmltcG9ydCBMZWZ0U2l6ZWFibGVEaXYgZnJvbSBcIi4vdmlldy9kaXYvc2l6ZWFibGUvbGVmdFwiO1xuaW1wb3J0IENTU0NvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvY3NzXCI7XG5pbXBvcnQgSFRNTENvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvaHRtbFwiO1xuaW1wb3J0IExlZnRUYWJCdXR0b25zRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3RhYkJ1dHRvbnMvbGVmdFwiO1xuaW1wb3J0IFJpZ2h0VGFiQnV0dG9uc0RpdiBmcm9tIFwiLi92aWV3L2Rpdi90YWJCdXR0b25zL3JpZ2h0XCI7XG5pbXBvcnQgUHJldmlld0NvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvcHJldmlld1wiO1xuaW1wb3J0IE1hcmtkb3duQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9tYXJrZG93blwiO1xuaW1wb3J0IFBsYWluVGV4dENvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvcGxhaW5UZXh0XCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvbWFya2Rvd25TdHlsZVwiO1xuXG5pbXBvcnQgeyBkZWZhdWx0Q29udGVudCB9IGZyb20gXCIuL2ltcG9ydGVyXCI7XG5pbXBvcnQgeyBMSU5FU19QRVJfUEFHRSwgQ09OVEVOVFNfREVQVEgsIENIQVJBQ1RFUlNfUEVSX0xJTkUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHBvc3Rwcm9jZXNzLCBkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTWFya2Rvd25Ob2RlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcHJvY2Vzc2luZ1wiO1xuXG5jb25zdCBtYXJrZG93bkxleGVyID0gTWFya2Rvd25MZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25QYXJzZXIgPSBNYXJrZG93blBhcnNlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25TdHlsZUxleGVyID0gTWFya2Rvd25TdHlsZUxleGVyLmZyb21Ob3RoaW5nKCksXG4gICAgICBtYXJrZG93blN0eWxlUGFyc2VyID0gTWFya2Rvd25TdHlsZVBhcnNlci5mcm9tTm90aGluZygpO1xuXG5jbGFzcyBWaWV3IGV4dGVuZHMgRWxlbWVudCB7XG4gIG1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5tYXJrZG93blN0eWxlKCk7XG4gIH1cblxuICBwYWdlVXBkYXRlQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICB0aGlzLmNsZWFyUGFnZSgpO1xuXG4gICAgdGhpcy51cGRhdGVQYWdlKGluZGV4KTtcbiAgfVxuXG4gIHBsYWluVGV4dEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLnBsYWluVGV4dCgpO1xuICB9XG5cbiAgbWFya2Rvd25DdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5tYXJrZG93bigpO1xuICB9XG5cbiAgcHJldmlld0N1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLnByZXZpZXcoKTtcbiAgfVxuXG4gIGtleVVwQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBodG1sQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuaHRtbCgpO1xuICB9XG5cbiAgY3NzQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuY3NzKCk7XG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgdGhpcy51cGRhdGVNYXJrZG93bigpO1xuICAgIHRoaXMudXBkYXRlTWFya2Rvd25TdHlsZSgpO1xuICB9XG5cbiAgY2xlYXJQYWdlKCkge1xuICAgIHRoaXMuY2xlYXJYTVAoKTtcbiAgICB0aGlzLmNsZWFyUHJldmlld0RpdigpO1xuICB9XG5cbiAgdXBkYXRlUGFnZShpbmRleCkge1xuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IHRoaXMuZ2V0RGl2aXNpb25NYXJrZG93bk5vZGVzKCksXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZXNbaW5kZXhdLFxuICAgICAgICAgIHRva2VucyA9IHRoaXMuZ2V0VG9rZW5zKCksXG4gICAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICAgIHRva2Vuc1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbGVuZ3RoID0gbnVsbCxcbiAgICAgICAgICBodG1sID0gZGl2aXNpb25NYXJrZG93bk5vZGUuYXNIVE1MKGNvbnRleHQpLFxuICAgICAgICAgIHBsYWluVGV4dCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmFzUGxhaW5UZXh0KGNvbnRleHQpO1xuXG4gICAgdGhpcy51cGRhdGVYTVAoaHRtbCk7XG5cbiAgICB0aGlzLnVwZGF0ZVByZXZpZXdEaXYoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgdGhpcy51cGRhdGVQYWdlQnV0dG9uc0RpdihsZW5ndGgsIGluZGV4KTtcblxuICAgIHRoaXMudXBkYXRlUGxhaW5UZXh0VGV4dGFyZWEocGxhaW5UZXh0KTtcbiAgfVxuXG4gIHVwZGF0ZU1hcmtkb3duKCkge1xuICAgIGNvbnN0IG1hcmtkb3duID0gdGhpcy5nZXRNYXJrZG93bigpLFxuICAgICAgICAgIGxleGVyID0gbWFya2Rvd25MZXhlciwgIC8vL1xuICAgICAgICAgIHBhcnNlciA9ICBtYXJrZG93blBhcnNlciwgLy8vXG4gICAgICAgICAgY29udGVudCA9IG1hcmtkb3duLCAvLy9cbiAgICAgICAgICBzdGFydFJ1bGUgPSBwYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgbm9kZSA9IHBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgICB0aGlzLnNldFRva2Vucyh0b2tlbnMpO1xuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgY2hhcmFjdGVyc1BlckxpbmUgPSBDSEFSQUNURVJTX1BFUl9MSU5FLFxuICAgICAgICAgICAgY29udGVudHNEZXB0aCA9IENPTlRFTlRTX0RFUFRILFxuICAgICAgICAgICAgbGluZXNQZXJQYWdlID0gTElORVNfUEVSX1BBR0UsXG4gICAgICAgICAgICBjb250ZXh0ID0ge1xuICAgICAgICAgICAgICB0b2tlbnMsXG4gICAgICAgICAgICAgIGltcG9ydGVyLFxuICAgICAgICAgICAgICBpbmRleE9wdGlvbnMsXG4gICAgICAgICAgICAgIGxpbmVzUGVyUGFnZSxcbiAgICAgICAgICAgICAgY29udGVudHNEZXB0aCxcbiAgICAgICAgICAgICAgbm9kZUZyb21Ub2tlbnMsXG4gICAgICAgICAgICAgIHRva2Vuc0Zyb21Db250ZW50LFxuICAgICAgICAgICAgICBjaGFyYWN0ZXJzUGVyTGluZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1hcmtkb3duTm9kZXMgPSBwb3N0cHJvY2VzcyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTWFya2Rvd25Ob2RlcyhtYXJrZG93bk5vZGVzKTtcblxuICAgICAgdGhpcy5zZXREaXZpc2lvbk1hcmtkb3duTm9kZXMoZGl2aXNpb25NYXJrZG93bk5vZGVzKTtcblxuICAgICAgY29uc3QgcGFyc2VUcmVlID0gZGl2aXNpb25NYXJrZG93bk5vZGUuYXNQYXJzZVRyZWUodG9rZW5zKTtcblxuICAgICAgdGhpcy51cGRhdGVNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhKHBhcnNlVHJlZSk7XG5cbiAgICAgIGNvbnN0IGluZGV4ID0gMCxcbiAgICAgICAgICAgIGxlbmd0aCA9IGRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5sZW5ndGg7XG5cbiAgICAgIGlmIChsZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUGFnZShpbmRleCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVQYWdlQnV0dG9uc0RpdihsZW5ndGgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyUGFnZSgpO1xuXG4gICAgICB0aGlzLmNsZWFyUGFnZUJ1dHRvbnNEaXYoKTtcblxuICAgICAgdGhpcy5jbGVhclBsYWluVGV4dFRleHRhcmVhKCk7XG5cbiAgICAgIHRoaXMuY2xlYXJNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhKCk7XG5cbiAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IG51bGw7XG5cbiAgICAgIHRoaXMuc2V0RGl2aXNpb25NYXJrZG93bk5vZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2Rlcyk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlTWFya2Rvd25TdHlsZSgpIHtcbiAgICBjb25zdCB7IG1hcmtkb3duU3R5bGVFbGVtZW50IH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgICAgbWFya2Rvd25TdHlsZSA9IHRoaXMuZ2V0TWFya2Rvd25TdHlsZSgpLFxuICAgICAgICAgIGNzcyA9IG1hcmtkb3duU3R5bGVFbGVtZW50LnVwZGF0ZShtYXJrZG93blN0eWxlKTtcblxuICAgIHRoaXMuc2V0Q1NTKGNzcyk7XG5cbiAgICBjb25zdCBsZXhlciA9IG1hcmtkb3duU3R5bGVMZXhlciwgLy8vXG4gICAgICAgICAgcGFyc2VyID0gbWFya2Rvd25TdHlsZVBhcnNlciwgLy8vXG4gICAgICAgICAgY29udGVudCA9IG1hcmtkb3duU3R5bGUsICAvLy9cbiAgICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgICBzdGFydFJ1bGUgPSBwYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgICAgbm9kZSA9IHBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcGFyc2VUcmVlID0gbm9kZS5hc1BhcnNlVHJlZSh0b2tlbnMpO1xuXG4gICAgICB0aGlzLnVwZGF0ZU1hcmtkb3duU3R5bGVQYXJzZVRyZWVUZXh0YXJlYShwYXJzZVRyZWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyTWFya2Rvd25TdHlsZVBhcnNlVHJlZVRleHRhcmVhKCk7XG4gICAgfVxuICB9XG5cbiAgbWFya2Rvd25TdHlsZSgpIHtcbiAgICB0aGlzLmhpZGVNYXJrZG93bkNvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuc2hvd01hcmtkb3duU3R5bGVDb250YWluZXJEaXYoKTtcbiAgfVxuXG4gIHBsYWluVGV4dCgpIHtcbiAgICB0aGlzLmhpZGVDU1NDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVIVE1MQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUHJldmlld0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuc2hvd1BsYWluVGV4dENvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgbWFya2Rvd24oKSB7XG4gICAgdGhpcy5zaG93TWFya2Rvd25Db250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2KCk7XG4gIH1cblxuICBwcmV2aWV3KCkge1xuICAgIHRoaXMuaGlkZUNTU0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZUhUTUxDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dQcmV2aWV3Q29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUGxhaW5UZXh0Q29udGFpbmVyRGl2KCk7XG4gIH1cblxuICBodG1sKCkge1xuICAgIHRoaXMuaGlkZUNTU0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuc2hvd0hUTUxDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVQcmV2aWV3Q29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUGxhaW5UZXh0Q29udGFpbmVyRGl2KCk7XG4gIH1cblxuICBjc3MoKSB7XG4gICAgdGhpcy5zaG93Q1NTQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlSFRNTENvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVByZXZpZXdDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVQbGFpblRleHRDb250YWluZXJEaXYoKTtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICBjb25zdCB7IHRva2VucyB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIHRva2VucztcbiAgfVxuXG4gIGdldERpdmlzaW9uTWFya2Rvd25Ob2RlcygpIHtcbiAgICBjb25zdCB7IGRpdmlzaW9uTWFya2Rvd25Ob2RlcyB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2RlcztcbiAgfVxuXG4gIHNldFRva2Vucyh0b2tlbnMpIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgIHRva2Vuc1xuICAgIH0pO1xuICB9XG5cbiAgc2V0RGl2aXNpb25NYXJrZG93bk5vZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2Rlcykge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzXG4gICAgfSk7XG4gIH1cblxuICBzZXRJbml0aWFsU3RhdGUoKSB7XG4gICAgY29uc3QgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICB0b2tlbnMsXG4gICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXNcbiAgICB9KTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIChcblxuICAgICAgPENvbHVtbnNEaXY+XG4gICAgICAgIDxMZWZ0U2l6ZWFibGVEaXY+XG4gICAgICAgICAgPExlZnRUYWJCdXR0b25zRGl2IG9uQ3VzdG9tTWFya2Rvd249e3RoaXMubWFya2Rvd25DdXN0b21IYW5kbGVyfSBvbkN1c3RvbU1hcmtkb3duU3R5bGU9e3RoaXMubWFya2Rvd25TdHlsZUN1c3RvbUhhbmRsZXJ9IC8+XG4gICAgICAgICAgPE1hcmtkb3duQ29udGFpbmVyRGl2IG9uQ3VzdG9tS2V5VXA9e3RoaXMua2V5VXBDdXN0b21IYW5kbGVyfSAvPlxuICAgICAgICAgIDxNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2IG9uQ3VzdG9tS2V5VXA9e3RoaXMua2V5VXBDdXN0b21IYW5kbGVyfSAvPlxuICAgICAgICA8L0xlZnRTaXplYWJsZURpdj5cbiAgICAgICAgPFZlcnRpY2FsU3BsaXR0ZXJEaXYvPlxuICAgICAgICA8Q29sdW1uRGl2PlxuICAgICAgICAgIDxSb3dzRGl2PlxuICAgICAgICAgICAgPFJpZ2h0VGFiQnV0dG9uc0RpdiBvbkN1c3RvbUNTUz17dGhpcy5jc3NDdXN0b21IYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkN1c3RvbUhUTUw9e3RoaXMuaHRtbEN1c3RvbUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ3VzdG9tUHJldmlldz17dGhpcy5wcmV2aWV3Q3VzdG9tSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DdXN0b21QbGFpblRleHQ9e3RoaXMucGxhaW5UZXh0Q3VzdG9tSGFuZGxlcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Q1NTQ29udGFpbmVyRGl2Lz5cbiAgICAgICAgICAgIDxIVE1MQ29udGFpbmVyRGl2Lz5cbiAgICAgICAgICAgIDxQcmV2aWV3Q29udGFpbmVyRGl2IG9uQ3VzdG9tUGFnZVVwZGF0ZT17dGhpcy5wYWdlVXBkYXRlQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxQbGFpblRleHRDb250YWluZXJEaXYvPlxuICAgICAgICAgIDwvUm93c0Rpdj5cbiAgICAgICAgPC9Db2x1bW5EaXY+XG4gICAgICA8L0NvbHVtbnNEaXY+XG5cbiAgICApO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XG5cbiAgICBjb25zdCB7IGluaXRpYWxNYXJrZG93biwgaW5pdGlhbE1hcmtkb3duU3R5bGUgfSA9IHRoaXMuY29uc3RydWN0b3IsXG4gICAgICAgICAgbWFya2Rvd25TdHlsZSA9IGluaXRpYWxNYXJrZG93blN0eWxlLCAvLy9cbiAgICAgICAgICBtYXJrZG93biA9IGluaXRpYWxNYXJrZG93bjsgLy8vXG5cbiAgICB0aGlzLnNldE1hcmtkb3duKG1hcmtkb3duKTtcblxuICAgIHRoaXMuc2V0TWFya2Rvd25TdHlsZShtYXJrZG93blN0eWxlKTtcblxuICAgIHRoaXMudXBkYXRlKCk7XG5cbiAgICB0aGlzLmNzcygpO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIm1hcmtkb3duU3R5bGVFbGVtZW50XCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZpZXdcIlxuICB9O1xuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd24gPSBkZWZhdWx0Q29udGVudDsgIC8vL1xuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd25TdHlsZSA9IGBcblxud2lkdGg6IDEwMCU7XG5oZWlnaHQ6IDE5OSU7ICBcbnBvc2l0aW9uOiBhYnNvbHV0ZTtcbm1pbi1oZWlnaHQ6IDEwMCU7ICBcbnBhZGRpbmctdG9wOiA1cmVtOyAgXG5cbmA7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShWaWV3KWBcblxuICBwYWRkaW5nOiAxcmVtO1xuICBcbmA7XG5cbmZ1bmN0aW9uIHRva2Vuc0Zyb21Db250ZW50KGNvbnRlbnQpIHtcbiAgY29uc3QgdG9rZW5zID0gbWFya2Rvd25MZXhlci50b2tlbmlzZShjb250ZW50KTtcblxuICByZXR1cm4gdG9rZW5zO1xufVxuXG5mdW5jdGlvbiBub2RlRnJvbVRva2Vucyh0b2tlbnMsIHN0YXJ0UnVsZU5hbWUgPSBudWxsKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBtYXJrZG93blBhcnNlci5nZXRSdWxlTWFwKCksXG4gICAgICAgIHN0YXJ0UnVsZSA9IChzdGFydFJ1bGVOYW1lICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgcnVsZU1hcFtzdGFydFJ1bGVOYW1lXSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrZG93blBhcnNlci5nZXRTdGFydFJ1bGUoKSxcbiAgICAgICAgbm9kZSA9IG1hcmtkb3duUGFyc2VyLnBhcnNlKHRva2Vucywgc3RhcnRSdWxlKTtcblxuICByZXR1cm4gbm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJtYXJrZG93bkxleGVyIiwiTWFya2Rvd25MZXhlciIsImZyb21Ob3RoaW5nIiwibWFya2Rvd25QYXJzZXIiLCJNYXJrZG93blBhcnNlciIsIm1hcmtkb3duU3R5bGVMZXhlciIsIk1hcmtkb3duU3R5bGVMZXhlciIsIm1hcmtkb3duU3R5bGVQYXJzZXIiLCJNYXJrZG93blN0eWxlUGFyc2VyIiwiVmlldyIsIm1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwibWFya2Rvd25TdHlsZSIsInBhZ2VVcGRhdGVDdXN0b21IYW5kbGVyIiwiaW5kZXgiLCJjbGVhclBhZ2UiLCJ1cGRhdGVQYWdlIiwicGxhaW5UZXh0Q3VzdG9tSGFuZGxlciIsInBsYWluVGV4dCIsIm1hcmtkb3duQ3VzdG9tSGFuZGxlciIsIm1hcmtkb3duIiwicHJldmlld0N1c3RvbUhhbmRsZXIiLCJwcmV2aWV3Iiwia2V5VXBDdXN0b21IYW5kbGVyIiwidXBkYXRlIiwiaHRtbEN1c3RvbUhhbmRsZXIiLCJodG1sIiwiY3NzQ3VzdG9tSGFuZGxlciIsImNzcyIsInVwZGF0ZU1hcmtkb3duIiwidXBkYXRlTWFya2Rvd25TdHlsZSIsImNsZWFyWE1QIiwiY2xlYXJQcmV2aWV3RGl2IiwiZGl2aXNpb25NYXJrZG93bk5vZGVzIiwiZ2V0RGl2aXNpb25NYXJrZG93bk5vZGVzIiwiZGl2aXNpb25NYXJrZG93bk5vZGUiLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJjb250ZXh0IiwibGVuZ3RoIiwiYXNIVE1MIiwiYXNQbGFpblRleHQiLCJ1cGRhdGVYTVAiLCJ1cGRhdGVQcmV2aWV3RGl2IiwidXBkYXRlUGFnZUJ1dHRvbnNEaXYiLCJ1cGRhdGVQbGFpblRleHRUZXh0YXJlYSIsImdldE1hcmtkb3duIiwibGV4ZXIiLCJwYXJzZXIiLCJjb250ZW50Iiwic3RhcnRSdWxlIiwiZ2V0U3RhcnRSdWxlIiwidG9rZW5pc2UiLCJub2RlIiwicGFyc2UiLCJzZXRUb2tlbnMiLCJjaGFyYWN0ZXJzUGVyTGluZSIsIkNIQVJBQ1RFUlNfUEVSX0xJTkUiLCJjb250ZW50c0RlcHRoIiwiQ09OVEVOVFNfREVQVEgiLCJsaW5lc1BlclBhZ2UiLCJMSU5FU19QRVJfUEFHRSIsImltcG9ydGVyIiwiaW5kZXhPcHRpb25zIiwibm9kZUZyb21Ub2tlbnMiLCJ0b2tlbnNGcm9tQ29udGVudCIsIm1hcmtkb3duTm9kZXMiLCJwb3N0cHJvY2VzcyIsImRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21NYXJrZG93bk5vZGVzIiwic2V0RGl2aXNpb25NYXJrZG93bk5vZGVzIiwicGFyc2VUcmVlIiwiYXNQYXJzZVRyZWUiLCJ1cGRhdGVNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhIiwiY2xlYXJQYWdlQnV0dG9uc0RpdiIsImNsZWFyUGxhaW5UZXh0VGV4dGFyZWEiLCJjbGVhck1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEiLCJtYXJrZG93blN0eWxlRWxlbWVudCIsInByb3BlcnRpZXMiLCJnZXRNYXJrZG93blN0eWxlIiwic2V0Q1NTIiwidXBkYXRlTWFya2Rvd25TdHlsZVBhcnNlVHJlZVRleHRhcmVhIiwiY2xlYXJNYXJrZG93blN0eWxlUGFyc2VUcmVlVGV4dGFyZWEiLCJoaWRlTWFya2Rvd25Db250YWluZXJEaXYiLCJzaG93TWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiIsImhpZGVDU1NDb250YWluZXJEaXYiLCJoaWRlSFRNTENvbnRhaW5lckRpdiIsImhpZGVQcmV2aWV3Q29udGFpbmVyRGl2Iiwic2hvd1BsYWluVGV4dENvbnRhaW5lckRpdiIsInNob3dNYXJrZG93bkNvbnRhaW5lckRpdiIsImhpZGVNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2Iiwic2hvd1ByZXZpZXdDb250YWluZXJEaXYiLCJoaWRlUGxhaW5UZXh0Q29udGFpbmVyRGl2Iiwic2hvd0hUTUxDb250YWluZXJEaXYiLCJzaG93Q1NTQ29udGFpbmVyRGl2IiwiZ2V0U3RhdGUiLCJ1cGRhdGVTdGF0ZSIsInNldEluaXRpYWxTdGF0ZSIsInNldFN0YXRlIiwiY2hpbGRFbGVtZW50cyIsIkNvbHVtbnNEaXYiLCJMZWZ0U2l6ZWFibGVEaXYiLCJMZWZ0VGFiQnV0dG9uc0RpdiIsIm9uQ3VzdG9tTWFya2Rvd24iLCJvbkN1c3RvbU1hcmtkb3duU3R5bGUiLCJNYXJrZG93bkNvbnRhaW5lckRpdiIsIm9uQ3VzdG9tS2V5VXAiLCJNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2IiwiVmVydGljYWxTcGxpdHRlckRpdiIsIkNvbHVtbkRpdiIsIlJvd3NEaXYiLCJSaWdodFRhYkJ1dHRvbnNEaXYiLCJvbkN1c3RvbUNTUyIsIm9uQ3VzdG9tSFRNTCIsIm9uQ3VzdG9tUHJldmlldyIsIm9uQ3VzdG9tUGxhaW5UZXh0IiwiQ1NTQ29udGFpbmVyRGl2IiwiSFRNTENvbnRhaW5lckRpdiIsIlByZXZpZXdDb250YWluZXJEaXYiLCJvbkN1c3RvbVBhZ2VVcGRhdGUiLCJQbGFpblRleHRDb250YWluZXJEaXYiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsImNvbnN0cnVjdG9yIiwiaW5pdGlhbE1hcmtkb3duIiwiaW5pdGlhbE1hcmtkb3duU3R5bGUiLCJzZXRNYXJrZG93biIsInNldE1hcmtkb3duU3R5bGUiLCJFbGVtZW50IiwidGFnTmFtZSIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJkZWZhdWx0Q29udGVudCIsIndpdGhTdHlsZSIsInN0YXJ0UnVsZU5hbWUiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBNFRBOzs7ZUFBQTs7O29FQTFUc0I7b0JBRUU7MEJBQzRDO3FCQUNtQjtnRUFFbEU7bUVBQ0k7MkRBQ0c7MERBQ0E7MkRBQ0M7NERBQ0M7NERBQ0M7OERBQ0M7K0RB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
482
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgbm9kZVV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1kb21cIjtcbmltcG9ydCB7IFJvd3NEaXYsIENvbHVtbkRpdiwgQ29sdW1uc0RpdiwgVmVydGljYWxTcGxpdHRlckRpdiB9IGZyb20gXCJlYXN5LWxheW91dFwiO1xuaW1wb3J0IHsgTWFya2Rvd25MZXhlciwgTWFya2Rvd25QYXJzZXIsIE1hcmtkb3duU3R5bGVMZXhlciwgTWFya2Rvd25TdHlsZVBhcnNlciB9IGZyb20gXCIuLi9pbmRleFwiO1xuXG5pbXBvcnQgcXVlcmllcyBmcm9tIFwiLi4vcXVlcmllc1wiO1xuaW1wb3J0IGltcG9ydGVyIGZyb20gXCIuL2ltcG9ydGVyXCI7XG5pbXBvcnQgaW5kZXhPcHRpb25zIGZyb20gXCIuL2luZGV4T3B0aW9uc1wiO1xuaW1wb3J0IFBhZ2VCdXR0b25zRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3BhZ2VCdXR0b25zXCI7XG5pbXBvcnQgTGVmdFNpemVhYmxlRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3NpemVhYmxlL2xlZnRcIjtcbmltcG9ydCBDU1NDb250YWluZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvY29udGFpbmVyL2Nzc1wiO1xuaW1wb3J0IEhUTUxDb250YWluZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvY29udGFpbmVyL2h0bWxcIjtcbmltcG9ydCBMZWZ0VGFiQnV0dG9uc0RpdiBmcm9tIFwiLi92aWV3L2Rpdi90YWJCdXR0b25zL2xlZnRcIjtcbmltcG9ydCBSaWdodFRhYkJ1dHRvbnNEaXYgZnJvbSBcIi4vdmlldy9kaXYvdGFiQnV0dG9ucy9yaWdodFwiO1xuaW1wb3J0IENsYXNzRnJvbU91dGVyTm9kZSBmcm9tIFwiLi4vY2xhc3NGcm9tT3V0ZXJOb2RlXCI7XG5pbXBvcnQgUHJldmlld0NvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvcHJldmlld1wiO1xuaW1wb3J0IE1hcmtkb3duQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9tYXJrZG93blwiO1xuaW1wb3J0IFBsYWluVGV4dENvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvcGxhaW5UZXh0XCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvbWFya2Rvd25TdHlsZVwiO1xuaW1wb3J0IElubmVyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSBmcm9tIFwiLi92aWV3L3RleHRhcmVhL3BhcnNlVHJlZS9tYXJrZG93bi9pbm5lclwiO1xuXG5pbXBvcnQgeyBkZWZhdWx0Q29udGVudCB9IGZyb20gXCIuL2ltcG9ydGVyXCI7XG5pbXBvcnQgeyBub2Rlc0Zyb21Ob2RlQW5kUXVlcmllcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IExJTkVTX1BFUl9QQUdFLCBDT05URU5UU19ERVBUSCwgQ0hBUkFDVEVSU19QRVJfTElORSB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgcG9zdHByb2Nlc3MsIGRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21NYXJrZG93bk5vZGVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9wcm9jZXNzaW5nXCI7XG5cbmNvbnN0IHsgdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyB9ID0gbm9kZVV0aWxpdGllcztcblxuY29uc3QgbWFya2Rvd25MZXhlciA9IE1hcmtkb3duTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duUGFyc2VyID0gTWFya2Rvd25QYXJzZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duU3R5bGVMZXhlciA9IE1hcmtkb3duU3R5bGVMZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25TdHlsZVBhcnNlciA9IE1hcmtkb3duU3R5bGVQYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBtYXJrZG93blN0eWxlQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMubWFya2Rvd25TdHlsZSgpO1xuICB9XG5cbiAgcGFnZVVwZGF0ZUN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgdGhpcy5jbGVhclBhZ2UoKTtcblxuICAgIHRoaXMudXBkYXRlUGFnZShpbmRleCk7XG4gIH1cblxuICBwbGFpblRleHRDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5wbGFpblRleHQoKTtcbiAgfVxuXG4gIG1hcmtkb3duQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMubWFya2Rvd24oKTtcbiAgfVxuXG4gIHByZXZpZXdDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5wcmV2aWV3KCk7XG4gIH1cblxuICBrZXlVcEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgaHRtbEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLmh0bWwoKTtcbiAgfVxuXG4gIGNzc0N1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLmNzcygpO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIHRoaXMudXBkYXRlTWFya2Rvd24oKTtcbiAgICB0aGlzLnVwZGF0ZU1hcmtkb3duU3R5bGUoKTtcbiAgfVxuXG4gIGNsZWFyUGFnZSgpIHtcbiAgICB0aGlzLmNsZWFyWE1QKCk7XG5cbiAgICB0aGlzLmNsZWFyUHJldmlld0RpdigpO1xuXG4gICAgdGhpcy5jbGVhcklubmVyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSgpO1xuICB9XG5cbiAgdXBkYXRlUGFnZShpbmRleCkge1xuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IHRoaXMuZ2V0RGl2aXNpb25NYXJrZG93bk5vZGVzKCksXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZXNbaW5kZXhdLFxuICAgICAgICAgIHRva2VucyA9IHRoaXMuZ2V0VG9rZW5zKCksXG4gICAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICAgIHRva2Vuc1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbGVuZ3RoID0gbnVsbDtcblxuICAgIGNvbnN0IG5vZGUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZSwgIC8vL1xuICAgICAgICAgIG5vZGVzID0gbm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMobm9kZSwgcXVlcmllcyksXG4gICAgICAgICAgdG9wbW9zdEhUTUxOb2RlID0gdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyhDbGFzc0Zyb21PdXRlck5vZGUsIG5vZGVzKSxcbiAgICAgICAgICBwYXJzZVRyZWUgPSB0b3Btb3N0SFRNTE5vZGUuYXNQYXJzZVRyZWUoKSxcbiAgICAgICAgICBodG1sID0gdG9wbW9zdEhUTUxOb2RlLmFzSFRNTChjb250ZXh0KSxcbiAgICAgICAgICBwbGFpblRleHQgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5hc1BsYWluVGV4dChjb250ZXh0KSxcbiAgICAgICAgICBpbm5lck1hcmtkb3duUGFyc2VUcmVlID0gcGFyc2VUcmVlOyAvLy9cblxuICAgIHRoaXMudXBkYXRlWE1QKGh0bWwpO1xuXG4gICAgdGhpcy51cGRhdGVQcmV2aWV3RGl2KGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICAgIHRoaXMudXBkYXRlUGFnZUJ1dHRvbnNEaXYobGVuZ3RoLCBpbmRleCk7XG5cbiAgICB0aGlzLnVwZGF0ZVBsYWluVGV4dFRleHRhcmVhKHBsYWluVGV4dCk7XG5cbiAgICB0aGlzLnVwZGF0ZUlubmVyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYShpbm5lck1hcmtkb3duUGFyc2VUcmVlKTtcbiAgfVxuXG4gIHVwZGF0ZU1hcmtkb3duKCkge1xuICAgIGNvbnN0IG1hcmtkb3duID0gdGhpcy5nZXRNYXJrZG93bigpLFxuICAgICAgICAgIGxleGVyID0gbWFya2Rvd25MZXhlciwgIC8vL1xuICAgICAgICAgIHBhcnNlciA9ICBtYXJrZG93blBhcnNlciwgLy8vXG4gICAgICAgICAgY29udGVudCA9IG1hcmtkb3duLCAvLy9cbiAgICAgICAgICBzdGFydFJ1bGUgPSBwYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgbm9kZSA9IHBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgICB0aGlzLnNldFRva2Vucyh0b2tlbnMpO1xuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgY2hhcmFjdGVyc1BlckxpbmUgPSBDSEFSQUNURVJTX1BFUl9MSU5FLFxuICAgICAgICAgICAgY29udGVudHNEZXB0aCA9IENPTlRFTlRTX0RFUFRILFxuICAgICAgICAgICAgbGluZXNQZXJQYWdlID0gTElORVNfUEVSX1BBR0UsXG4gICAgICAgICAgICBjb250ZXh0ID0ge1xuICAgICAgICAgICAgICB0b2tlbnMsXG4gICAgICAgICAgICAgIGltcG9ydGVyLFxuICAgICAgICAgICAgICBpbmRleE9wdGlvbnMsXG4gICAgICAgICAgICAgIGxpbmVzUGVyUGFnZSxcbiAgICAgICAgICAgICAgY29udGVudHNEZXB0aCxcbiAgICAgICAgICAgICAgbm9kZUZyb21Ub2tlbnMsXG4gICAgICAgICAgICAgIHRva2Vuc0Zyb21Db250ZW50LFxuICAgICAgICAgICAgICBjaGFyYWN0ZXJzUGVyTGluZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1hcmtkb3duTm9kZXMgPSBwb3N0cHJvY2VzcyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTWFya2Rvd25Ob2RlcyhtYXJrZG93bk5vZGVzKTtcblxuICAgICAgdGhpcy5zZXREaXZpc2lvbk1hcmtkb3duTm9kZXMoZGl2aXNpb25NYXJrZG93bk5vZGVzKTtcblxuICAgICAgY29uc3QgcGFyc2VUcmVlID0gZGl2aXNpb25NYXJrZG93bk5vZGUuYXNQYXJzZVRyZWUodG9rZW5zKSxcbiAgICAgICAgICAgIG91dGVyTWFya2Rvd25QYXJzZVRyZWUgPSBwYXJzZVRyZWU7IC8vL1xuXG4gICAgICB0aGlzLnVwZGF0ZU91dGVyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYShvdXRlck1hcmtkb3duUGFyc2VUcmVlKTtcblxuICAgICAgY29uc3QgaW5kZXggPSAwLFxuICAgICAgICAgICAgbGVuZ3RoID0gZGl2aXNpb25NYXJrZG93bk5vZGVzLmxlbmd0aDtcblxuICAgICAgaWYgKGxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy51cGRhdGVQYWdlKGluZGV4KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVBhZ2VCdXR0b25zRGl2KGxlbmd0aCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYXJQYWdlKCk7XG5cbiAgICAgIHRoaXMuY2xlYXJQYWdlQnV0dG9uc0RpdigpO1xuXG4gICAgICB0aGlzLmNsZWFyUGxhaW5UZXh0VGV4dGFyZWEoKTtcblxuICAgICAgdGhpcy5jbGVhck91dGVyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSgpO1xuXG4gICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBudWxsO1xuXG4gICAgICB0aGlzLnNldERpdmlzaW9uTWFya2Rvd25Ob2RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZXMpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZU1hcmtkb3duU3R5bGUoKSB7XG4gICAgY29uc3QgeyBtYXJrZG93blN0eWxlRWxlbWVudCB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGUgPSB0aGlzLmdldE1hcmtkb3duU3R5bGUoKSxcbiAgICAgICAgICBjc3MgPSBtYXJrZG93blN0eWxlRWxlbWVudC51cGRhdGUobWFya2Rvd25TdHlsZSk7XG5cbiAgICB0aGlzLnNldENTUyhjc3MpO1xuXG4gICAgY29uc3QgbGV4ZXIgPSBtYXJrZG93blN0eWxlTGV4ZXIsIC8vL1xuICAgICAgICAgIHBhcnNlciA9IG1hcmtkb3duU3R5bGVQYXJzZXIsIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSBtYXJrZG93blN0eWxlLCAgLy8vXG4gICAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgc3RhcnRSdWxlID0gcGFyc2VyLmdldFN0YXJ0UnVsZSgpLFxuICAgICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUpO1xuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHBhcnNlVHJlZSA9IG5vZGUuYXNQYXJzZVRyZWUodG9rZW5zKTtcblxuICAgICAgdGhpcy51cGRhdGVNYXJrZG93blN0eWxlUGFyc2VUcmVlVGV4dGFyZWEocGFyc2VUcmVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhck1hcmtkb3duU3R5bGVQYXJzZVRyZWVUZXh0YXJlYSgpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtkb3duU3R5bGUoKSB7XG4gICAgdGhpcy5oaWRlTWFya2Rvd25Db250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2KCk7XG4gIH1cblxuICBwbGFpblRleHQoKSB7XG4gICAgdGhpcy5oaWRlQ1NTQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlSFRNTENvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVByZXZpZXdDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dQbGFpblRleHRDb250YWluZXJEaXYoKTtcbiAgfVxuXG4gIG1hcmtkb3duKCkge1xuICAgIHRoaXMuc2hvd01hcmtkb3duQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgcHJldmlldygpIHtcbiAgICB0aGlzLmhpZGVDU1NDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVIVE1MQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5zaG93UHJldmlld0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgaHRtbCgpIHtcbiAgICB0aGlzLmhpZGVDU1NDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dIVE1MQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUHJldmlld0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgY3NzKCkge1xuICAgIHRoaXMuc2hvd0NTU0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZUhUTUxDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVQcmV2aWV3Q29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUGxhaW5UZXh0Q29udGFpbmVyRGl2KCk7XG4gIH1cblxuICBnZXRUb2tlbnMoKSB7XG4gICAgY29uc3QgeyB0b2tlbnMgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiB0b2tlbnM7XG4gIH1cblxuICBnZXREaXZpc2lvbk1hcmtkb3duTm9kZXMoKSB7XG4gICAgY29uc3QgeyBkaXZpc2lvbk1hcmtkb3duTm9kZXMgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiBkaXZpc2lvbk1hcmtkb3duTm9kZXM7XG4gIH1cblxuICBzZXRUb2tlbnModG9rZW5zKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICB0b2tlbnNcbiAgICB9KTtcbiAgfVxuXG4gIHNldERpdmlzaW9uTWFya2Rvd25Ob2RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZXMpIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2Rlc1xuICAgIH0pO1xuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xuICAgIGNvbnN0IHRva2VucyA9IG51bGwsXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gbnVsbDtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgdG9rZW5zLFxuICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzXG4gICAgfSk7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIHJldHVybiAoXG5cbiAgICAgIDxDb2x1bW5zRGl2PlxuICAgICAgICA8TGVmdFNpemVhYmxlRGl2PlxuICAgICAgICAgIDxMZWZ0VGFiQnV0dG9uc0RpdiBvbkN1c3RvbU1hcmtkb3duPXt0aGlzLm1hcmtkb3duQ3VzdG9tSGFuZGxlcn0gb25DdXN0b21NYXJrZG93blN0eWxlPXt0aGlzLm1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyfSAvPlxuICAgICAgICAgIDxNYXJrZG93bkNvbnRhaW5lckRpdiBvbkN1c3RvbUtleVVwPXt0aGlzLmtleVVwQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgICA8TWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiBvbkN1c3RvbUtleVVwPXt0aGlzLmtleVVwQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgPC9MZWZ0U2l6ZWFibGVEaXY+XG4gICAgICAgIDxWZXJ0aWNhbFNwbGl0dGVyRGl2Lz5cbiAgICAgICAgPENvbHVtbkRpdj5cbiAgICAgICAgICA8Um93c0Rpdj5cbiAgICAgICAgICAgIDxSaWdodFRhYkJ1dHRvbnNEaXYgb25DdXN0b21DU1M9e3RoaXMuY3NzQ3VzdG9tSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DdXN0b21IVE1MPXt0aGlzLmh0bWxDdXN0b21IYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkN1c3RvbVByZXZpZXc9e3RoaXMucHJldmlld0N1c3RvbUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ3VzdG9tUGxhaW5UZXh0PXt0aGlzLnBsYWluVGV4dEN1c3RvbUhhbmRsZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFBhZ2VCdXR0b25zRGl2IG9uQ3VzdG9tUGFnZVVwZGF0ZT17dGhpcy5wYWdlVXBkYXRlQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxDU1NDb250YWluZXJEaXYvPlxuICAgICAgICAgICAgPEhUTUxDb250YWluZXJEaXYvPlxuICAgICAgICAgICAgPFByZXZpZXdDb250YWluZXJEaXYvPlxuICAgICAgICAgICAgPFBsYWluVGV4dENvbnRhaW5lckRpdi8+XG4gICAgICAgICAgICA8SW5uZXJNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvQ29sdW1uRGl2PlxuICAgICAgPC9Db2x1bW5zRGl2PlxuXG4gICAgKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuXG4gICAgY29uc3QgeyBpbml0aWFsTWFya2Rvd24sIGluaXRpYWxNYXJrZG93blN0eWxlIH0gPSB0aGlzLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGUgPSBpbml0aWFsTWFya2Rvd25TdHlsZSwgLy8vXG4gICAgICAgICAgbWFya2Rvd24gPSBpbml0aWFsTWFya2Rvd247IC8vL1xuXG4gICAgdGhpcy5zZXRNYXJrZG93bihtYXJrZG93bik7XG5cbiAgICB0aGlzLnNldE1hcmtkb3duU3R5bGUobWFya2Rvd25TdHlsZSk7XG5cbiAgICB0aGlzLnVwZGF0ZSgpO1xuXG4gICAgdGhpcy5jc3MoKTtcbiAgfVxuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd24gPSBkZWZhdWx0Q29udGVudDsgIC8vL1xuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd25TdHlsZSA9IGB3aWR0aDogMTAwJTtcbmhlaWdodDogMTk5JTsgIFxucG9zaXRpb246IGFic29sdXRlO1xubWluLWhlaWdodDogMTAwJTsgIFxucGFkZGluZy10b3A6IDVyZW07ICBcbmA7XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIm1hcmtkb3duU3R5bGVFbGVtZW50XCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZpZXdcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoVmlldylgXG5cbiAgcGFkZGluZzogMXJlbTtcbiAgXG5gO1xuXG5mdW5jdGlvbiB0b2tlbnNGcm9tQ29udGVudChjb250ZW50KSB7XG4gIGNvbnN0IHRva2VucyA9IG1hcmtkb3duTGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZnVuY3Rpb24gbm9kZUZyb21Ub2tlbnModG9rZW5zLCBzdGFydFJ1bGVOYW1lID0gbnVsbCkge1xuICBjb25zdCBydWxlTWFwID0gbWFya2Rvd25QYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICBzdGFydFJ1bGUgPSAoc3RhcnRSdWxlTmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgIHJ1bGVNYXBbc3RhcnRSdWxlTmFtZV0gOlxuICAgICAgICAgICAgICAgICAgICAgICAgbWFya2Rvd25QYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgIG5vZGUgPSBtYXJrZG93blBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgcmV0dXJuIG5vZGU7XG59XG4iXSwibmFtZXMiOlsidG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyIsIm5vZGVVdGlsaXRpZXMiLCJtYXJrZG93bkxleGVyIiwiTWFya2Rvd25MZXhlciIsImZyb21Ob3RoaW5nIiwibWFya2Rvd25QYXJzZXIiLCJNYXJrZG93blBhcnNlciIsIm1hcmtkb3duU3R5bGVMZXhlciIsIk1hcmtkb3duU3R5bGVMZXhlciIsIm1hcmtkb3duU3R5bGVQYXJzZXIiLCJNYXJrZG93blN0eWxlUGFyc2VyIiwiVmlldyIsIm1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwibWFya2Rvd25TdHlsZSIsInBhZ2VVcGRhdGVDdXN0b21IYW5kbGVyIiwiaW5kZXgiLCJjbGVhclBhZ2UiLCJ1cGRhdGVQYWdlIiwicGxhaW5UZXh0Q3VzdG9tSGFuZGxlciIsInBsYWluVGV4dCIsIm1hcmtkb3duQ3VzdG9tSGFuZGxlciIsIm1hcmtkb3duIiwicHJldmlld0N1c3RvbUhhbmRsZXIiLCJwcmV2aWV3Iiwia2V5VXBDdXN0b21IYW5kbGVyIiwidXBkYXRlIiwiaHRtbEN1c3RvbUhhbmRsZXIiLCJodG1sIiwiY3NzQ3VzdG9tSGFuZGxlciIsImNzcyIsInVwZGF0ZU1hcmtkb3duIiwidXBkYXRlTWFya2Rvd25TdHlsZSIsImNsZWFyWE1QIiwiY2xlYXJQcmV2aWV3RGl2IiwiY2xlYXJJbm5lck1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJnZXREaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJkaXZpc2lvbk1hcmtkb3duTm9kZSIsInRva2VucyIsImdldFRva2VucyIsImNvbnRleHQiLCJsZW5ndGgiLCJub2RlIiwibm9kZXMiLCJub2Rlc0Zyb21Ob2RlQW5kUXVlcmllcyIsInF1ZXJpZXMiLCJ0b3Btb3N0SFRNTE5vZGUiLCJDbGFzc0Zyb21PdXRlck5vZGUiLCJwYXJzZVRyZWUiLCJhc1BhcnNlVHJlZSIsImFzSFRNTCIsImFzUGxhaW5UZXh0IiwiaW5uZXJNYXJrZG93blBhcnNlVHJlZSIsInVwZGF0ZVhNUCIsInVwZGF0ZVByZXZpZXdEaXYiLCJ1cGRhdGVQYWdlQnV0dG9uc0RpdiIsInVwZGF0ZVBsYWluVGV4dFRleHRhcmVhIiwidXBkYXRlSW5uZXJNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhIiwiZ2V0TWFya2Rvd24iLCJsZXhlciIsInBhcnNlciIsImNvbnRlbnQiLCJzdGFydFJ1bGUiLCJnZXRTdGFydFJ1bGUiLCJ0b2tlbmlzZSIsInBhcnNlIiwic2V0VG9rZW5zIiwiY2hhcmFjdGVyc1BlckxpbmUiLCJDSEFSQUNURVJTX1BFUl9MSU5FIiwiY29udGVudHNEZXB0aCIsIkNPTlRFTlRTX0RFUFRIIiwibGluZXNQZXJQYWdlIiwiTElORVNfUEVSX1BBR0UiLCJpbXBvcnRlciIsImluZGV4T3B0aW9ucyIsIm5vZGVGcm9tVG9rZW5zIiwidG9rZW5zRnJvbUNvbnRlbnQiLCJtYXJrZG93bk5vZGVzIiwicG9zdHByb2Nlc3MiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTWFya2Rvd25Ob2RlcyIsInNldERpdmlzaW9uTWFya2Rvd25Ob2RlcyIsIm91dGVyTWFya2Rvd25QYXJzZVRyZWUiLCJ1cGRhdGVPdXRlck1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEiLCJjbGVhclBhZ2VCdXR0b25zRGl2IiwiY2xlYXJQbGFpblRleHRUZXh0YXJlYSIsImNsZWFyT3V0ZXJNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhIiwibWFya2Rvd25TdHlsZUVsZW1lbnQiLCJwcm9wZXJ0aWVzIiwiZ2V0TWFya2Rvd25TdHlsZSIsInNldENTUyIsInVwZGF0ZU1hcmtkb3duU3R5bGVQYXJzZVRyZWVUZXh0YXJlYSIsImNsZWFyTWFya2Rvd25TdHlsZVBhcnNlVHJlZVRleHRhcmVhIiwiaGlkZU1hcmtkb3duQ29udGFpbmVyRGl2Iiwic2hvd01hcmtkb3duU3R5bGVDb250YWluZXJEaXYiLCJoaWRlQ1NTQ29udGFpbmVyRGl2IiwiaGlkZUhUTUxDb250YWluZXJEaXYiLCJoaWRlUHJldmlld0NvbnRhaW5lckRpdiIsInNob3dQbGFpblRleHRDb250YWluZXJEaXYiLCJzaG93TWFya2Rvd25Db250YWluZXJEaXYiLCJoaWRlTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiIsInNob3dQcmV2aWV3Q29udGFpbmVyRGl2IiwiaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdiIsInNob3dIVE1MQ29udGFpbmVyRGl2Iiwic2hvd0NTU0NvbnRhaW5lckRpdiIsImdldFN0YXRlIiwidXBkYXRlU3RhdGUiLCJzZXRJbml0aWFsU3RhdGUiLCJzZXRTdGF0ZSIsImNoaWxkRWxlbWVudHMiLCJDb2x1bW5zRGl2IiwiTGVmdFNpemVhYmxlRGl2IiwiTGVmdFRhYkJ1dHRvbnNEaXYiLCJvbkN1c3RvbU1hcmtkb3duIiwib25DdXN0b21NYXJrZG93blN0eWxlIiwiTWFya2Rvd25Db250YWluZXJEaXYiLCJvbkN1c3RvbUtleVVwIiwiTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiIsIlZlcnRpY2FsU3BsaXR0ZXJEaXYiLCJDb2x1bW5EaXYiLCJSb3dzRGl2IiwiUmlnaHRUYWJCdXR0b25zRGl2Iiwib25DdXN0b21DU1MiLCJvbkN1c3RvbUhUTUwiLCJvbkN1c3RvbVByZXZpZXciLCJvbkN1c3RvbVBsYWluVGV4dCIsIlBhZ2VCdXR0b25zRGl2Iiwib25DdXN0b21QYWdlVXBkYXRlIiwiQ1NTQ29udGFpbmVyRGl2IiwiSFRNTENvbnRhaW5lckRpdiIsIlByZXZpZXdDb250YWluZXJEaXYiLCJQbGFpblRleHRDb250YWluZXJEaXYiLCJJbm5lck1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsImNvbnN0cnVjdG9yIiwiaW5pdGlhbE1hcmtkb3duIiwiaW5pdGlhbE1hcmtkb3duU3R5bGUiLCJzZXRNYXJrZG93biIsInNldE1hcmtkb3duU3R5bGUiLCJFbGVtZW50IiwiZGVmYXVsdENvbnRlbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIndpdGhTdHlsZSIsInN0YXJ0UnVsZU5hbWUiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBK1VBOzs7ZUFBQTs7O29FQTdVc0I7b0JBRUU7d0JBQ007MEJBQ3NDO3FCQUNtQjs4REFFbkU7Z0VBQ0M7bUVBQ0k7a0VBQ0U7MkRBQ0M7MERBQ0E7MkRBQ0M7NERBQ0M7NERBQ0M7eUVBQ0E7OERBQ0M7K0RBQ0M7Z0VBQ0M7b0VBQ0k7NERBQ0s7cUJBR0g7eUJBQzRCOzBCQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEUsSUFBTSxBQUFFQSw0QkFBOEJDLHVCQUFhLENBQTNDRDtBQUVSLElBQU1FLGdCQUFnQkMsb0JBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0MsaUJBQWlCQyxxQkFBYyxDQUFDRixXQUFXLElBQzNDRyxxQkFBcUJDLHlCQUFrQixDQUFDSixXQUFXLElBQ25ESyxzQkFBc0JDLDBCQUFtQixDQUFDTixXQUFXO0FBRTNELElBQUEsQUFBTU8scUJBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBOztnQkFBTixrQkFBTUEsa0JBQ0pDLHdCQUFBQSw4QkFBNkIsU0FB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
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return AnchorHTMLNode;
9
+ }
10
+ });
11
+ var _html = /*#__PURE__*/ _interop_require_default(require("../../node/html"));
12
+ var _attributeNames = require("../../attributeNames");
13
+ function _assert_this_initialized(self) {
14
+ if (self === void 0) {
15
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
16
+ }
17
+ return self;
18
+ }
19
+ function _call_super(_this, derived, args) {
20
+ derived = _get_prototype_of(derived);
21
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
22
+ }
23
+ function _class_call_check(instance, Constructor) {
24
+ if (!(instance instanceof Constructor)) {
25
+ throw new TypeError("Cannot call a class as a function");
26
+ }
27
+ }
28
+ function _defineProperties(target, props) {
29
+ for(var i = 0; i < props.length; i++){
30
+ var descriptor = props[i];
31
+ descriptor.enumerable = descriptor.enumerable || false;
32
+ descriptor.configurable = true;
33
+ if ("value" in descriptor) descriptor.writable = true;
34
+ Object.defineProperty(target, descriptor.key, descriptor);
35
+ }
36
+ }
37
+ function _create_class(Constructor, protoProps, staticProps) {
38
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
39
+ if (staticProps) _defineProperties(Constructor, staticProps);
40
+ return Constructor;
41
+ }
42
+ function _get_prototype_of(o) {
43
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
44
+ return o.__proto__ || Object.getPrototypeOf(o);
45
+ };
46
+ return _get_prototype_of(o);
47
+ }
48
+ function _inherits(subClass, superClass) {
49
+ if (typeof superClass !== "function" && superClass !== null) {
50
+ throw new TypeError("Super expression must either be null or a function");
51
+ }
52
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
53
+ constructor: {
54
+ value: subClass,
55
+ writable: true,
56
+ configurable: true
57
+ }
58
+ });
59
+ if (superClass) _set_prototype_of(subClass, superClass);
60
+ }
61
+ function _interop_require_default(obj) {
62
+ return obj && obj.__esModule ? obj : {
63
+ default: obj
64
+ };
65
+ }
66
+ function _possible_constructor_return(self, call) {
67
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
68
+ return call;
69
+ }
70
+ return _assert_this_initialized(self);
71
+ }
72
+ function _set_prototype_of(o, p) {
73
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
74
+ o.__proto__ = p;
75
+ return o;
76
+ };
77
+ return _set_prototype_of(o, p);
78
+ }
79
+ function _type_of(obj) {
80
+ "@swc/helpers - typeof";
81
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
82
+ }
83
+ function _is_native_reflect_construct() {
84
+ try {
85
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
86
+ } catch (_) {}
87
+ return (_is_native_reflect_construct = function() {
88
+ return !!result;
89
+ })();
90
+ }
91
+ var AnchorHTMLNode = /*#__PURE__*/ function(HTMLNode) {
92
+ _inherits(AnchorHTMLNode, HTMLNode);
93
+ function AnchorHTMLNode() {
94
+ _class_call_check(this, AnchorHTMLNode);
95
+ return _call_super(this, AnchorHTMLNode, arguments);
96
+ }
97
+ _create_class(AnchorHTMLNode, [
98
+ {
99
+ key: "content",
100
+ value: function content(context) {
101
+ return this.outerNode.content(context);
102
+ }
103
+ },
104
+ {
105
+ key: "attributeName",
106
+ value: function attributeName(context) {
107
+ var attributeName = _attributeNames.ID_ATTRIBUTE_NAME;
108
+ return attributeName;
109
+ }
110
+ },
111
+ {
112
+ key: "attributeValue",
113
+ value: function attributeValue(context) {
114
+ var attributeValue = "".concat(this.prepend, "-").concat(this.identifier);
115
+ return attributeValue;
116
+ }
117
+ },
118
+ {
119
+ key: "asHTML",
120
+ value: function asHTML(indent, context) {
121
+ if (context === undefined) {
122
+ context = indent; ///
123
+ indent = null;
124
+ }
125
+ indent = this.adjustIndent(indent);
126
+ var childNodesHTML = this.childNodesAsHTML(indent, context), startingTag = this.startingTag(context), closingTag = this.closingTag(context), html = indent === null ? "".concat(startingTag).concat(childNodesHTML).concat(closingTag) : "".concat(indent).concat(startingTag, "\n ").concat(childNodesHTML).concat(indent).concat(closingTag, "\n ");
127
+ return html;
128
+ }
129
+ },
130
+ {
131
+ key: "childNodesAsHTML",
132
+ value: function childNodesAsHTML(indent, context) {
133
+ var content = this.content(context), childNodesHTML = content; ///
134
+ return childNodesHTML;
135
+ }
136
+ }
137
+ ], [
138
+ {
139
+ key: "fromNothing",
140
+ value: function fromNothing() {
141
+ return _html.default.fromNothing(AnchorHTMLNode);
142
+ }
143
+ },
144
+ {
145
+ key: "fromOuterNode",
146
+ value: function fromOuterNode(outerNode) {
147
+ return _html.default.fromOuterNode(AnchorHTMLNode, outerNode);
148
+ }
149
+ }
150
+ ]);
151
+ return AnchorHTMLNode;
152
+ }(_html.default);
153
+
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvYW5jaG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgSFRNTE5vZGUgZnJvbSBcIi4uLy4uL25vZGUvaHRtbFwiO1xuXG5pbXBvcnQgeyBJRF9BVFRSSUJVVEVfTkFNRSB9IGZyb20gXCIuLi8uLi9hdHRyaWJ1dGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBbmNob3JIVE1MTm9kZSBleHRlbmRzIEhUTUxOb2RlIHtcbiAgY29udGVudChjb250ZXh0KSB7IHJldHVybiB0aGlzLm91dGVyTm9kZS5jb250ZW50KGNvbnRleHQpOyB9XG5cbiAgYXR0cmlidXRlTmFtZShjb250ZXh0KSB7XG4gICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IElEX0FUVFJJQlVURV9OQU1FO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZU5hbWU7XG4gIH1cblxuICBhdHRyaWJ1dGVWYWx1ZShjb250ZXh0KSB7XG4gICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSBgJHt0aGlzLnByZXBlbmR9LSR7dGhpcy5pZGVudGlmaWVyfWA7XG5cbiAgICByZXR1cm4gYXR0cmlidXRlVmFsdWU7XG4gIH1cblxuICBhc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29udGV4dCA9IGluZGVudDsgLy8vXG5cbiAgICAgIGluZGVudCA9IG51bGw7XG4gICAgfVxuXG4gICAgaW5kZW50ID0gdGhpcy5hZGp1c3RJbmRlbnQoaW5kZW50KTtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXNIVE1MID0gdGhpcy5jaGlsZE5vZGVzQXNIVE1MKGluZGVudCwgY29udGV4dCksXG4gICAgICAgICAgc3RhcnRpbmdUYWcgPSB0aGlzLnN0YXJ0aW5nVGFnKGNvbnRleHQpLFxuICAgICAgICAgIGNsb3NpbmdUYWcgPSB0aGlzLmNsb3NpbmdUYWcoY29udGV4dCksXG4gICAgICAgICAgaHRtbCA9IChpbmRlbnQgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBgJHtzdGFydGluZ1RhZ30ke2NoaWxkTm9kZXNIVE1MfSR7Y2xvc2luZ1RhZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgIGAke2luZGVudH0ke3N0YXJ0aW5nVGFnfVxuICAke2NoaWxkTm9kZXNIVE1MfSR7aW5kZW50fSR7Y2xvc2luZ1RhZ31cbiAgYDtcblxuICAgIHJldHVybiBodG1sO1xuICB9XG5cbiAgY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5jb250ZW50KGNvbnRleHQpLFxuICAgICAgICAgIGNoaWxkTm9kZXNIVE1MID0gY29udGVudDsgLy8vXG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc0hUTUw7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBIVE1MTm9kZS5mcm9tTm90aGluZyhBbmNob3JIVE1MTm9kZSk7IH1cblxuICBzdGF0aWMgZnJvbU91dGVyTm9kZShvdXRlck5vZGUpIHsgcmV0dXJuIEhUTUxOb2RlLmZyb21PdXRlck5vZGUoQW5jaG9ySFRNTE5vZGUsIG91dGVyTm9kZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJBbmNob3JIVE1MTm9kZSIsImNvbnRlbnQiLCJjb250ZXh0Iiwib3V0ZXJOb2RlIiwiYXR0cmlidXRlTmFtZSIsIklEX0FUVFJJQlVURV9OQU1FIiwiYXR0cmlidXRlVmFsdWUiLCJwcmVwZW5kIiwiaWRlbnRpZmllciIsImFzSFRNTCIsImluZGVudCIsInVuZGVmaW5lZCIsImFkanVzdEluZGVudCIsImNoaWxkTm9kZXNIVE1MIiwiY2hpbGROb2Rlc0FzSFRNTCIsInN0YXJ0aW5nVGFnIiwiY2xvc2luZ1RhZyIsImh0bWwiLCJmcm9tTm90aGluZyIsIkhUTUxOb2RlIiwiZnJvbU91dGVyTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7MkRBSkE7OEJBRWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbkIsSUFBQSxBQUFNQSwrQkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7ZUFBTixrQkFBTUE7O2tCQUFBQTs7WUFDbkJDLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRQyxPQUFPO2dCQUFJLE9BQU8sSUFBSSxDQUFDQyxTQUFTLENBQUNGLE9BQU8sQ0FBQ0M7WUFBVTs7O1lBRTNERSxLQUFBQTttQkFBQUEsU0FBQUEsY0FBY0YsT0FBTztnQkFDbkIsSUFBTUUsZ0JBQWdCQyxpQ0FBaUI7Z0JBRXZDLE9BQU9EO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZUosT0FBTztnQkFDcEIsSUFBTUksaUJBQWlCLEFBQUMsR0FBa0IsT0FBaEIsSUFBSSxDQUFDQyxPQUFPLEVBQUMsS0FBbUIsT0FBaEIsSUFBSSxDQUFDQyxVQUFVO2dCQUV6RCxPQUFPRjtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLE1BQU0sRUFBRVIsT0FBTztnQkFDcEIsSUFBSUEsWUFBWVMsV0FBVztvQkFDekJULFVBQVVRLFFBQVEsR0FBRztvQkFFckJBLFNBQVM7Z0JBQ1g7Z0JBRUFBLFNBQVMsSUFBSSxDQUFDRSxZQUFZLENBQUNGO2dCQUUzQixJQUFNRyxpQkFBaUIsSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQ0osUUFBUVIsVUFDL0NhLGNBQWMsSUFBSSxDQUFDQSxXQUFXLENBQUNiLFVBQy9CYyxhQUFhLElBQUksQ0FBQ0EsVUFBVSxDQUFDZCxVQUM3QmUsT0FBTyxBQUFDUCxXQUFXLE9BQ1YsQUFBQyxHQUFnQkcsT0FBZEUsYUFBK0JDLE9BQWpCSCxnQkFBNEIsT0FBWEcsY0FDaEMsQUFBQyxHQUFXRCxPQUFUTCxRQUNwQkcsT0FENkJFLGFBQVksUUFDeEJMLE9BQWpCRyxnQkFBMEJHLE9BQVROLFFBQW9CLE9BQVhNLFlBQVc7Z0JBR3JDLE9BQU9DO1lBQ1Q7OztZQUVBSCxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCSixNQUFNLEVBQUVSLE9BQU87Z0JBQzlCLElBQU1ELFVBQVUsSUFBSSxDQUFDQSxPQUFPLENBQUNDLFVBQ3ZCVyxpQkFBaUJaLFNBQVMsR0FBRztnQkFFbkMsT0FBT1k7WUFDVDs7OztZQUVPSyxLQUFBQTttQkFBUCxTQUFPQTtnQkFBZ0IsT0FBT0MsYUFBUSxDQUFDRCxXQUFXLENBM0MvQmxCO1lBMkNpRDs7O1lBRTdEb0IsS0FBQUE7bUJBQVAsU0FBT0EsY0FBY2pCLFNBQVM7Z0JBQUksT0FBT2dCLGFBQVEsQ0FBQ0MsYUFBYSxDQTdDNUNwQixnQkE2QzZERztZQUFZOzs7V0E3Q3pFSDtFQUF1Qm1CLGFBQVEifQ==
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return BlockLineHTMLNode;
9
+ }
10
+ });
11
+ var _html = /*#__PURE__*/ _interop_require_default(require("../../node/html"));
12
+ function _assert_this_initialized(self) {
13
+ if (self === void 0) {
14
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
15
+ }
16
+ return self;
17
+ }
18
+ function _call_super(_this, derived, args) {
19
+ derived = _get_prototype_of(derived);
20
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
21
+ }
22
+ function _class_call_check(instance, Constructor) {
23
+ if (!(instance instanceof Constructor)) {
24
+ throw new TypeError("Cannot call a class as a function");
25
+ }
26
+ }
27
+ function _defineProperties(target, props) {
28
+ for(var i = 0; i < props.length; i++){
29
+ var descriptor = props[i];
30
+ descriptor.enumerable = descriptor.enumerable || false;
31
+ descriptor.configurable = true;
32
+ if ("value" in descriptor) descriptor.writable = true;
33
+ Object.defineProperty(target, descriptor.key, descriptor);
34
+ }
35
+ }
36
+ function _create_class(Constructor, protoProps, staticProps) {
37
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
38
+ if (staticProps) _defineProperties(Constructor, staticProps);
39
+ return Constructor;
40
+ }
41
+ function _get_prototype_of(o) {
42
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
43
+ return o.__proto__ || Object.getPrototypeOf(o);
44
+ };
45
+ return _get_prototype_of(o);
46
+ }
47
+ function _inherits(subClass, superClass) {
48
+ if (typeof superClass !== "function" && superClass !== null) {
49
+ throw new TypeError("Super expression must either be null or a function");
50
+ }
51
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
52
+ constructor: {
53
+ value: subClass,
54
+ writable: true,
55
+ configurable: true
56
+ }
57
+ });
58
+ if (superClass) _set_prototype_of(subClass, superClass);
59
+ }
60
+ function _interop_require_default(obj) {
61
+ return obj && obj.__esModule ? obj : {
62
+ default: obj
63
+ };
64
+ }
65
+ function _possible_constructor_return(self, call) {
66
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
67
+ return call;
68
+ }
69
+ return _assert_this_initialized(self);
70
+ }
71
+ function _set_prototype_of(o, p) {
72
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
73
+ o.__proto__ = p;
74
+ return o;
75
+ };
76
+ return _set_prototype_of(o, p);
77
+ }
78
+ function _type_of(obj) {
79
+ "@swc/helpers - typeof";
80
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
81
+ }
82
+ function _is_native_reflect_construct() {
83
+ try {
84
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
85
+ } catch (_) {}
86
+ return (_is_native_reflect_construct = function() {
87
+ return !!result;
88
+ })();
89
+ }
90
+ var BlockLineHTMLNode = /*#__PURE__*/ function(HTMLNode) {
91
+ _inherits(BlockLineHTMLNode, HTMLNode);
92
+ function BlockLineHTMLNode() {
93
+ _class_call_check(this, BlockLineHTMLNode);
94
+ return _call_super(this, BlockLineHTMLNode, arguments);
95
+ }
96
+ _create_class(BlockLineHTMLNode, [
97
+ {
98
+ key: "content",
99
+ value: function content(context) {
100
+ return this.outerNode.content(context);
101
+ }
102
+ },
103
+ {
104
+ key: "asHTML",
105
+ value: function asHTML(indent, context) {
106
+ var childNodesHTML = this.childNodesAsHTML(indent, context), startingTag = this.startingTag(context), closingTag = this.closingTag(context), html = "".concat(startingTag).concat(childNodesHTML).concat(closingTag);
107
+ return html;
108
+ }
109
+ },
110
+ {
111
+ key: "childNodesAsHTML",
112
+ value: function childNodesAsHTML(indent, context) {
113
+ var content = this.content(context), childNodesHTML = content; ///
114
+ return childNodesHTML;
115
+ }
116
+ }
117
+ ], [
118
+ {
119
+ key: "fromNothing",
120
+ value: function fromNothing() {
121
+ return _html.default.fromNothing(BlockLineHTMLNode);
122
+ }
123
+ },
124
+ {
125
+ key: "fromOuterNode",
126
+ value: function fromOuterNode(outerNode) {
127
+ return _html.default.fromOuterNode(BlockLineHTMLNode, outerNode);
128
+ }
129
+ }
130
+ ]);
131
+ return BlockLineHTMLNode;
132
+ }(_html.default);
133
+
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvYmxvY2tMaW5lLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgSFRNTE5vZGUgZnJvbSBcIi4uLy4uL25vZGUvaHRtbFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCbG9ja0xpbmVIVE1MTm9kZSBleHRlbmRzIEhUTUxOb2RlIHtcbiAgY29udGVudChjb250ZXh0KSB7IHJldHVybiB0aGlzLm91dGVyTm9kZS5jb250ZW50KGNvbnRleHQpOyB9XG5cbiAgYXNIVE1MKGluZGVudCwgY29udGV4dCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXNIVE1MID0gdGhpcy5jaGlsZE5vZGVzQXNIVE1MKGluZGVudCwgY29udGV4dCksXG4gICAgICAgICAgc3RhcnRpbmdUYWcgPSB0aGlzLnN0YXJ0aW5nVGFnKGNvbnRleHQpLFxuICAgICAgICAgIGNsb3NpbmdUYWcgPSB0aGlzLmNsb3NpbmdUYWcoY29udGV4dCksXG4gICAgICAgICAgaHRtbCA9IGAke3N0YXJ0aW5nVGFnfSR7Y2hpbGROb2Rlc0hUTUx9JHtjbG9zaW5nVGFnfWA7XG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIGNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudChjb250ZXh0KSxcbiAgICAgICAgICBjaGlsZE5vZGVzSFRNTCA9IGNvbnRlbnQ7IC8vL1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNIVE1MO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkgeyByZXR1cm4gSFRNTE5vZGUuZnJvbU5vdGhpbmcoQmxvY2tMaW5lSFRNTE5vZGUpOyB9XG5cbiAgc3RhdGljIGZyb21PdXRlck5vZGUob3V0ZXJOb2RlKSB7IHJldHVybiBIVE1MTm9kZS5mcm9tT3V0ZXJOb2RlKEJsb2NrTGluZUhUTUxOb2RlLCBvdXRlck5vZGUpOyB9XG59XG4iXSwibmFtZXMiOlsiQmxvY2tMaW5lSFRNTE5vZGUiLCJjb250ZW50IiwiY29udGV4dCIsIm91dGVyTm9kZSIsImFzSFRNTCIsImluZGVudCIsImNoaWxkTm9kZXNIVE1MIiwiY2hpbGROb2Rlc0FzSFRNTCIsInN0YXJ0aW5nVGFnIiwiY2xvc2luZ1RhZyIsImh0bWwiLCJmcm9tTm90aGluZyIsIkhUTUxOb2RlIiwiZnJvbU91dGVyTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFJcUJBOzs7MkRBRkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTixJQUFBLEFBQU1BLGtDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtlQUFOLGtCQUFNQTs7a0JBQUFBOztZQUNuQkMsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFDLE9BQU87Z0JBQUksT0FBTyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0YsT0FBTyxDQUFDQztZQUFVOzs7WUFFM0RFLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxNQUFNLEVBQUVILE9BQU87Z0JBQ3BCLElBQU1JLGlCQUFpQixJQUFJLENBQUNDLGdCQUFnQixDQUFDRixRQUFRSCxVQUMvQ00sY0FBYyxJQUFJLENBQUNBLFdBQVcsQ0FBQ04sVUFDL0JPLGFBQWEsSUFBSSxDQUFDQSxVQUFVLENBQUNQLFVBQzdCUSxPQUFPLEFBQUMsR0FBZ0JKLE9BQWRFLGFBQStCQyxPQUFqQkgsZ0JBQTRCLE9BQVhHO2dCQUUvQyxPQUFPQztZQUNUOzs7WUFFQUgsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkYsTUFBTSxFQUFFSCxPQUFPO2dCQUM5QixJQUFNRCxVQUFVLElBQUksQ0FBQ0EsT0FBTyxDQUFDQyxVQUN2QkksaUJBQWlCTCxTQUFTLEdBQUc7Z0JBRW5DLE9BQU9LO1lBQ1Q7Ozs7WUFFT0ssS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQWdCLE9BQU9DLGFBQVEsQ0FBQ0QsV0FBVyxDQW5CL0JYO1lBbUJvRDs7O1lBRWhFYSxLQUFBQTttQkFBUCxTQUFPQSxjQUFjVixTQUFTO2dCQUFJLE9BQU9TLGFBQVEsQ0FBQ0MsYUFBYSxDQXJCNUNiLG1CQXFCZ0VHO1lBQVk7OztXQXJCNUVIO0VBQTBCWSxhQUFRIn0=
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return BlockListingHTMLNode;
9
+ }
10
+ });
11
+ var _html = /*#__PURE__*/ _interop_require_default(require("../../node/html"));
12
+ function _assert_this_initialized(self) {
13
+ if (self === void 0) {
14
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
15
+ }
16
+ return self;
17
+ }
18
+ function _call_super(_this, derived, args) {
19
+ derived = _get_prototype_of(derived);
20
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
21
+ }
22
+ function _class_call_check(instance, Constructor) {
23
+ if (!(instance instanceof Constructor)) {
24
+ throw new TypeError("Cannot call a class as a function");
25
+ }
26
+ }
27
+ function _defineProperties(target, props) {
28
+ for(var i = 0; i < props.length; i++){
29
+ var descriptor = props[i];
30
+ descriptor.enumerable = descriptor.enumerable || false;
31
+ descriptor.configurable = true;
32
+ if ("value" in descriptor) descriptor.writable = true;
33
+ Object.defineProperty(target, descriptor.key, descriptor);
34
+ }
35
+ }
36
+ function _create_class(Constructor, protoProps, staticProps) {
37
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
38
+ if (staticProps) _defineProperties(Constructor, staticProps);
39
+ return Constructor;
40
+ }
41
+ function _get_prototype_of(o) {
42
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
43
+ return o.__proto__ || Object.getPrototypeOf(o);
44
+ };
45
+ return _get_prototype_of(o);
46
+ }
47
+ function _inherits(subClass, superClass) {
48
+ if (typeof superClass !== "function" && superClass !== null) {
49
+ throw new TypeError("Super expression must either be null or a function");
50
+ }
51
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
52
+ constructor: {
53
+ value: subClass,
54
+ writable: true,
55
+ configurable: true
56
+ }
57
+ });
58
+ if (superClass) _set_prototype_of(subClass, superClass);
59
+ }
60
+ function _interop_require_default(obj) {
61
+ return obj && obj.__esModule ? obj : {
62
+ default: obj
63
+ };
64
+ }
65
+ function _possible_constructor_return(self, call) {
66
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
67
+ return call;
68
+ }
69
+ return _assert_this_initialized(self);
70
+ }
71
+ function _set_prototype_of(o, p) {
72
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
73
+ o.__proto__ = p;
74
+ return o;
75
+ };
76
+ return _set_prototype_of(o, p);
77
+ }
78
+ function _type_of(obj) {
79
+ "@swc/helpers - typeof";
80
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
81
+ }
82
+ function _is_native_reflect_construct() {
83
+ try {
84
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
85
+ } catch (_) {}
86
+ return (_is_native_reflect_construct = function() {
87
+ return !!result;
88
+ })();
89
+ }
90
+ var BlockListingHTMLNode = /*#__PURE__*/ function(HTMLNode) {
91
+ _inherits(BlockListingHTMLNode, HTMLNode);
92
+ function BlockListingHTMLNode() {
93
+ _class_call_check(this, BlockListingHTMLNode);
94
+ return _call_super(this, BlockListingHTMLNode, arguments);
95
+ }
96
+ _create_class(BlockListingHTMLNode, [
97
+ {
98
+ key: "className",
99
+ value: function className(context) {
100
+ return this.outerNode.className(context);
101
+ }
102
+ },
103
+ {
104
+ key: "asHTML",
105
+ value: function asHTML(indent, context) {
106
+ var childNodesHTML = this.childNodesAsHTML(indent, context), startingTag = this.startingTag(context), closingTag = this.closingTag(context), html = "".concat(startingTag).concat(childNodesHTML).concat(closingTag);
107
+ return html;
108
+ }
109
+ }
110
+ ], [
111
+ {
112
+ key: "fromNothing",
113
+ value: function fromNothing() {
114
+ return _html.default.fromNothing(BlockListingHTMLNode);
115
+ }
116
+ },
117
+ {
118
+ key: "fromOuterNode",
119
+ value: function fromOuterNode(outerNode) {
120
+ return _html.default.fromOuterNode(BlockListingHTMLNode, outerNode);
121
+ }
122
+ }
123
+ ]);
124
+ return BlockListingHTMLNode;
125
+ }(_html.default);
126
+
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvYmxvY2tMaXN0aW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgSFRNTE5vZGUgZnJvbSBcIi4uLy4uL25vZGUvaHRtbFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCbG9ja0xpc3RpbmdIVE1MTm9kZSBleHRlbmRzIEhUTUxOb2RlIHtcbiAgY2xhc3NOYW1lKGNvbnRleHQpIHsgcmV0dXJuIHRoaXMub3V0ZXJOb2RlLmNsYXNzTmFtZShjb250ZXh0KTsgfVxuXG4gIGFzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzSFRNTCA9IHRoaXMuY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpLFxuICAgICAgICAgIHN0YXJ0aW5nVGFnID0gdGhpcy5zdGFydGluZ1RhZyhjb250ZXh0KSxcbiAgICAgICAgICBjbG9zaW5nVGFnID0gdGhpcy5jbG9zaW5nVGFnKGNvbnRleHQpLFxuICAgICAgICAgIGh0bWwgPSBgJHtzdGFydGluZ1RhZ30ke2NoaWxkTm9kZXNIVE1MfSR7Y2xvc2luZ1RhZ31gO1xuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBIVE1MTm9kZS5mcm9tTm90aGluZyhCbG9ja0xpc3RpbmdIVE1MTm9kZSk7IH1cblxuICBzdGF0aWMgZnJvbU91dGVyTm9kZShvdXRlck5vZGUpIHsgcmV0dXJuIEhUTUxOb2RlLmZyb21PdXRlck5vZGUoQmxvY2tMaXN0aW5nSFRNTE5vZGUsIG91dGVyTm9kZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJCbG9ja0xpc3RpbmdIVE1MTm9kZSIsImNsYXNzTmFtZSIsImNvbnRleHQiLCJvdXRlck5vZGUiLCJhc0hUTUwiLCJpbmRlbnQiLCJjaGlsZE5vZGVzSFRNTCIsImNoaWxkTm9kZXNBc0hUTUwiLCJzdGFydGluZ1RhZyIsImNsb3NpbmdUYWciLCJodG1sIiwiZnJvbU5vdGhpbmciLCJIVE1MTm9kZSIsImZyb21PdXRlck5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7OzJEQUZBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRU4sSUFBQSxBQUFNQSxxQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7ZUFBTixrQkFBTUE7O2tCQUFBQTs7WUFDbkJDLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVQyxPQUFPO2dCQUFJLE9BQU8sSUFBSSxDQUFDQyxTQUFTLENBQUNGLFNBQVMsQ0FBQ0M7WUFBVTs7O1lBRS9ERSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsTUFBTSxFQUFFSCxPQUFPO2dCQUNwQixJQUFNSSxpQkFBaUIsSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQ0YsUUFBUUgsVUFDL0NNLGNBQWMsSUFBSSxDQUFDQSxXQUFXLENBQUNOLFVBQy9CTyxhQUFhLElBQUksQ0FBQ0EsVUFBVSxDQUFDUCxVQUM3QlEsT0FBTyxBQUFDLEdBQWdCSixPQUFkRSxhQUErQkMsT0FBakJILGdCQUE0QixPQUFYRztnQkFFL0MsT0FBT0M7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQTtnQkFBZ0IsT0FBT0MsYUFBUSxDQUFDRCxXQUFXLENBWi9CWDtZQVl1RDs7O1lBRW5FYSxLQUFBQTttQkFBUCxTQUFPQSxjQUFjVixTQUFTO2dCQUFJLE9BQU9TLGFBQVEsQ0FBQ0MsYUFBYSxDQWQ1Q2Isc0JBY21FRztZQUFZOzs7V0FkL0VIO0VBQTZCWSxhQUFRIn0=