@pie-lib/editable-html-tip-tap 1.0.2 → 1.0.3

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 (129) hide show
  1. package/lib/components/CharacterPicker.js +221 -0
  2. package/lib/components/EditableHtml.js +323 -0
  3. package/lib/components/MenuBar.js +693 -0
  4. package/lib/components/TiptapContainer.js +90 -0
  5. package/lib/components/buttons/done-button.js +53 -0
  6. package/lib/components/characters/characterUtils.js +112 -0
  7. package/lib/components/characters/custom-popper.js +73 -0
  8. package/lib/components/common/done-button.js +53 -0
  9. package/lib/components/icons/CssIcon.js +37 -0
  10. package/lib/components/icons/RespArea.js +95 -0
  11. package/lib/components/icons/TableIcons.js +69 -0
  12. package/lib/components/icons/TextAlign.js +194 -0
  13. package/lib/components/icons/index.js +194 -0
  14. package/lib/components/image/ImageToolbar.js +16 -0
  15. package/lib/components/image/InsertImageHandler.js +16 -0
  16. package/lib/components/media/MediaDialog.js +16 -0
  17. package/lib/components/media/MediaToolbar.js +16 -0
  18. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +94 -0
  19. package/lib/components/respArea/DragInTheBlank/choice.js +289 -0
  20. package/lib/components/respArea/DragInTheBlank.js +94 -0
  21. package/lib/components/respArea/ExplicitConstructedResponse.js +120 -0
  22. package/lib/components/respArea/InlineDropdown.js +126 -0
  23. package/lib/components/respArea/ToolbarIcon.js +105 -0
  24. package/lib/components/respArea/choice.js +2 -0
  25. package/lib/extensions/component.js +5 -5
  26. package/lib/extensions/custom-toolbar-wrapper.js +2 -4
  27. package/lib/extensions/extended-table.js +30 -0
  28. package/lib/extensions/index.js +52 -0
  29. package/lib/extensions/media.js +5 -5
  30. package/lib/extensions/responseArea.js +7 -7
  31. package/lib/index.js +16 -1481
  32. package/lib/plugins/index.js +8 -80
  33. package/lib/styles/editorContainerStyles.js +200 -0
  34. package/lib/utils/size.js +34 -0
  35. package/package.json +1 -1
  36. package/src/components/CharacterPicker.jsx +185 -0
  37. package/src/components/EditableHtml.jsx +306 -0
  38. package/src/components/MenuBar.jsx +630 -0
  39. package/src/components/TiptapContainer.jsx +96 -0
  40. package/src/components/characters/characterUtils.js +127 -0
  41. package/src/components/image/ImageToolbar.jsx +1 -0
  42. package/src/components/image/InsertImageHandler.js +1 -0
  43. package/src/components/media/MediaDialog.js +1 -0
  44. package/src/components/media/MediaToolbar.jsx +1 -0
  45. package/src/{plugins/respArea/drag-in-the-blank → components/respArea/DragInTheBlank}/choice.jsx +1 -1
  46. package/src/{plugins/respArea/inline-dropdown/index.jsx → components/respArea/InlineDropdown.jsx} +1 -1
  47. package/src/components/respArea/ToolbarIcon.jsx +68 -0
  48. package/src/extensions/component.jsx +2 -2
  49. package/src/extensions/custom-toolbar-wrapper.jsx +6 -7
  50. package/src/extensions/extended-table.js +27 -0
  51. package/src/extensions/index.js +76 -0
  52. package/src/extensions/media.js +10 -4
  53. package/src/extensions/responseArea.js +7 -7
  54. package/src/index.jsx +3 -1440
  55. package/src/styles/editorContainerStyles.js +203 -0
  56. package/src/utils/size.js +32 -0
  57. package/src/__tests__/editor.test.jsx +0 -363
  58. package/src/__tests__/serialization.test.js +0 -291
  59. package/src/block-tags.js +0 -17
  60. package/src/editor.jsx +0 -1197
  61. package/src/extensions/characters.js +0 -46
  62. package/src/old-index.jsx +0 -162
  63. package/src/parse-html.js +0 -8
  64. package/src/plugins/README.md +0 -27
  65. package/src/plugins/characters/index.jsx +0 -284
  66. package/src/plugins/characters/utils.js +0 -447
  67. package/src/plugins/css/index.jsx +0 -340
  68. package/src/plugins/customPlugin/index.jsx +0 -85
  69. package/src/plugins/html/icons/index.jsx +0 -19
  70. package/src/plugins/html/index.jsx +0 -72
  71. package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +0 -51
  72. package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +0 -27
  73. package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +0 -44
  74. package/src/plugins/image/__tests__/component.test.jsx +0 -41
  75. package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +0 -42
  76. package/src/plugins/image/__tests__/image-toolbar.test.jsx +0 -11
  77. package/src/plugins/image/__tests__/index.test.js +0 -95
  78. package/src/plugins/image/__tests__/insert-image-handler.test.js +0 -113
  79. package/src/plugins/image/__tests__/mock-change.js +0 -15
  80. package/src/plugins/image/alt-dialog.jsx +0 -82
  81. package/src/plugins/image/component.jsx +0 -343
  82. package/src/plugins/image/image-toolbar.jsx +0 -100
  83. package/src/plugins/image/index.jsx +0 -227
  84. package/src/plugins/image/insert-image-handler.js +0 -79
  85. package/src/plugins/index.jsx +0 -377
  86. package/src/plugins/list/__tests__/index.test.js +0 -54
  87. package/src/plugins/list/index.jsx +0 -305
  88. package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +0 -48
  89. package/src/plugins/math/__tests__/index.test.jsx +0 -245
  90. package/src/plugins/math/index.jsx +0 -379
  91. package/src/plugins/media/__tests__/index.test.js +0 -75
  92. package/src/plugins/media/index.jsx +0 -325
  93. package/src/plugins/media/media-dialog.js +0 -624
  94. package/src/plugins/media/media-toolbar.jsx +0 -56
  95. package/src/plugins/media/media-wrapper.jsx +0 -43
  96. package/src/plugins/rendering/index.js +0 -31
  97. package/src/plugins/respArea/index.jsx +0 -299
  98. package/src/plugins/respArea/math-templated/index.jsx +0 -104
  99. package/src/plugins/respArea/utils.jsx +0 -90
  100. package/src/plugins/table/CustomTablePlugin.js +0 -113
  101. package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +0 -44
  102. package/src/plugins/table/__tests__/index.test.jsx +0 -401
  103. package/src/plugins/table/__tests__/table-toolbar.test.jsx +0 -42
  104. package/src/plugins/table/index.jsx +0 -427
  105. package/src/plugins/table/table-toolbar.jsx +0 -136
  106. package/src/plugins/textAlign/index.jsx +0 -23
  107. package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +0 -923
  108. package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +0 -20
  109. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +0 -36
  110. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +0 -46
  111. package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +0 -94
  112. package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +0 -37
  113. package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +0 -51
  114. package/src/plugins/toolbar/__tests__/toolbar.test.jsx +0 -106
  115. package/src/plugins/toolbar/default-toolbar.jsx +0 -206
  116. package/src/plugins/toolbar/editor-and-toolbar.jsx +0 -257
  117. package/src/plugins/toolbar/index.jsx +0 -23
  118. package/src/plugins/toolbar/toolbar-buttons.jsx +0 -138
  119. package/src/plugins/toolbar/toolbar.jsx +0 -338
  120. package/src/plugins/utils.js +0 -31
  121. package/src/serialization.jsx +0 -621
  122. /package/src/{plugins → components}/characters/custom-popper.js +0 -0
  123. /package/src/{plugins/toolbar → components/common}/done-button.jsx +0 -0
  124. /package/src/{plugins/css/icons/index.jsx → components/icons/CssIcon.jsx} +0 -0
  125. /package/src/{plugins/respArea/icons/index.jsx → components/icons/RespArea.jsx} +0 -0
  126. /package/src/{plugins/table/icons/index.jsx → components/icons/TableIcons.jsx} +0 -0
  127. /package/src/{plugins/textAlign/icons/index.jsx → components/icons/TextAlign.jsx} +0 -0
  128. /package/src/{plugins/respArea/drag-in-the-blank/index.jsx → components/respArea/DragInTheBlank/DragInTheBlank.jsx} +0 -0
  129. /package/src/{plugins/respArea/explicit-constructed-response/index.jsx → components/respArea/ExplicitConstructedResponse.jsx} +0 -0
@@ -71,8 +71,6 @@ var _css = _interopRequireDefault(require("./css"));
71
71
 
72
72
  var _customPlugin = _interopRequireDefault(require("./customPlugin"));
73
73
 
74
- var _rendering = _interopRequireDefault(require("./rendering"));
75
-
76
74
  var _textAlign = _interopRequireDefault(require("./textAlign"));
77
75
 
78
76
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -270,33 +268,6 @@ function UndoRedo(type) {
270
268
  };
271
269
  }
272
270
 
273
- function EnterHandlingPlugin() {
274
- return {
275
- name: 'enterHandling',
276
- onKeyDown: function onKeyDown(event, change) {
277
- if (_slateHotkeys["default"].isSplitBlock(event) && !_slateDevEnvironment.IS_IOS) {
278
- if (change.value.isInVoid) {
279
- return change.collapseToStartOfNextText();
280
- }
281
-
282
- change.splitBlock();
283
- var range = change.value.selection;
284
- var newBlock = change.value.document.getClosestBlock(range.startKey);
285
-
286
- if (newBlock.type !== 'paragraph') {
287
- change.setNodeByKey(newBlock.key, {
288
- type: 'paragraph'
289
- });
290
- }
291
-
292
- return change;
293
- }
294
-
295
- return undefined;
296
- }
297
- };
298
- }
299
-
300
271
  var buildPlugins = function buildPlugins(activePlugins, customPlugins, opts) {
301
272
  log('[buildPlugins] opts: ', opts);
302
273
  activePlugins = activePlugins || DEFAULT_PLUGINS;
@@ -353,61 +324,18 @@ var buildPlugins = function buildPlugins(activePlugins, customPlugins, opts) {
353
324
 
354
325
  builtCustomPlugins.push((0, _customPlugin["default"])('custom-plugin', customPlugin));
355
326
  });
356
- return (0, _compact["default"])([addIf('table', (0, _table["default"])(opts.table, (0, _compact["default"])(tablePlugins))), addIf('bold', MarkHotkey({
357
- key: 'b',
358
- type: 'bold',
359
- icon: /*#__PURE__*/_react["default"].createElement(_FormatBold["default"], null),
360
- tag: 'strong'
361
- })), // addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),
362
- addIf('italic', MarkHotkey({
363
- key: 'i',
364
- type: 'italic',
365
- icon: /*#__PURE__*/_react["default"].createElement(_FormatItalic["default"], null),
366
- tag: 'em'
367
- })), addIf('strikethrough', MarkHotkey({
327
+ return (0, _compact["default"])([addIf('table'), addIf('bold'), // addIf('code'),
328
+ addIf('italic'), addIf('strikethrough', MarkHotkey({
368
329
  key: '~',
369
330
  type: 'strikethrough',
370
331
  icon: /*#__PURE__*/_react["default"].createElement(_FormatStrikethrough["default"], null),
371
332
  tag: 'del'
372
- })), addIf('underline', MarkHotkey({
373
- key: 'u',
374
- type: 'underline',
375
- icon: /*#__PURE__*/_react["default"].createElement(_FormatUnderlined["default"], null),
376
- tag: 'u'
377
- })), // icon should be modifies accordingly
378
- addIf('superscript', MarkHotkey({
379
- type: 'sup',
380
- icon: /*#__PURE__*/_react["default"].createElement(SuperscriptIcon, null),
381
- tag: 'sup'
382
- })), // icon should be modifies accordingly
383
- addIf('subscript', MarkHotkey({
384
- type: 'sub',
385
- icon: /*#__PURE__*/_react["default"].createElement(SubscriptIcon, null),
386
- tag: 'sub'
387
- })), addIf('image', imagePlugin), addIf('video', (0, _media["default"])('video', opts.media)), addIf('audio', (0, _media["default"])('audio', opts.media)), addIf('math', mathPlugin)].concat((0, _toConsumableArray2["default"])(languageCharactersPlugins.map(function (plugin) {
388
- return addIf('languageCharacters', plugin);
389
- })), [addIf('text-align', (0, _textAlign["default"])(opts.textAlign)), addIf('blockquote', MarkHotkey({
390
- key: 'q',
391
- type: 'blockquote',
392
- icon: /*#__PURE__*/_react["default"].createElement(_FormatQuote["default"], null),
393
- tag: 'blockquote'
394
- })), addIf('h3', MarkHotkey({
395
- key: 'h3',
396
- type: 'h3',
397
- icon: /*#__PURE__*/_react["default"].createElement(HeadingIcon, null),
398
- tag: 'h3'
399
- })), addIf('bulleted-list', (0, _list["default"])({
400
- key: 'l',
401
- type: 'ul_list',
402
- icon: /*#__PURE__*/_react["default"].createElement(_FormatListBulleted["default"], null)
403
- })), addIf('numbered-list', (0, _list["default"])({
404
- key: 'n',
405
- type: 'ol_list',
406
- icon: /*#__PURE__*/_react["default"].createElement(_FormatListNumbered["default"], null)
407
- })), addIf('undo', UndoRedo('undo')), addIf('redo', UndoRedo('redo')), (0, _toolbar["default"])(opts.toolbar), (0, _slateSoftBreak["default"])({
408
- shift: true
409
- })], builtCustomPlugins, [addIf('responseArea', respAreaPlugin), cssPlugin, addIf('html', (0, _html["default"])(opts.html)), EnterHandlingPlugin(), (0, _rendering["default"])()]));
333
+ })), addIf('underline'), // icon should be modifies accordingly
334
+ addIf('superscript'), // icon should be modifies accordingly
335
+ addIf('subscript'), addIf('image'), addIf('video'), addIf('audio'), addIf('math')].concat((0, _toConsumableArray2["default"])(languageCharactersPlugins.map(function () {
336
+ return addIf('languageCharacters');
337
+ })), [addIf('text-align'), addIf('blockquote'), addIf('h3'), addIf('bulleted-list'), addIf('numbered-list'), addIf('undo'), addIf('redo')], builtCustomPlugins, [addIf('responseArea'), cssPlugin, addIf('html')]));
410
338
  };
411
339
 
412
340
  exports.buildPlugins = buildPlugins;
413
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJTdXBlcnNjcmlwdEljb24iLCJTdWJzY3JpcHRJY29uIiwiSGVhZGluZ0ljb24iLCJ3aWR0aCIsImhlaWdodCIsIlNUWUxFU19NQVAiLCJoMyIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImJsb2NrcXVvdGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyTGVmdCIsIm1hcmdpbiIsInBhZGRpbmciLCJNYXJrSG90a2V5Iiwib3B0aW9ucyIsInR5cGUiLCJrZXkiLCJpY29uIiwidGFnIiwibmFtZSIsInRvb2xiYXIiLCJpc01hcmsiLCJvblRvZ2dsZSIsImNoYW5nZSIsInNlbGVjdGlvbiIsInZhbHVlIiwiaW5jbHVkZXMiLCJ0ZXh0cyIsImRvY3VtZW50IiwiZ2V0VGV4dHNBdFJhbmdlQXNBcnJheSIsIm9ubHlPbmVUZXh0IiwibGVuZ3RoIiwiaGFzTWFyayIsInNhbWVNYXJrIiwiZm9yRWFjaCIsInQiLCJtYXJrcyIsImdldE1hcmtzQXNBcnJheSIsIm1hcmtJc1RoZXJlIiwiZmluZCIsIm0iLCJzaG91bGRDb250aW51ZSIsInN0YXJ0S2V5IiwiZW5kS2V5IiwiYW5jaG9yT2Zmc2V0IiwiZm9jdXNPZmZzZXQiLCJ0ZXh0Tm9kZSIsImdldE5vZGUiLCJtb3ZlRm9jdXNUbyIsIm1vdmVBbmNob3JUbyIsInRleHQiLCJhY3RpdmVNYXJrcyIsImVudHJ5IiwicmVtb3ZlTWFyayIsIm5ld01hcmsiLCJNYXJrIiwiY3JlYXRlIiwiYWRkTWFyayIsInRvZ2dsZU1hcmsiLCJyZW5kZXJNYXJrIiwicHJvcHMiLCJtYXJrIiwibm9kZSIsImRhdGEiLCJqc29uRGF0YSIsInRvSlNPTiIsIksiLCJhZGRpdGlvbmFsU3R5bGVzIiwiYXR0cmlidXRlcyIsInN0eWxlIiwiY2hpbGRyZW4iLCJvbktleURvd24iLCJldmVudCIsIm1ldGFLZXkiLCJwcmV2ZW50RGVmYXVsdCIsIkFMTF9QTFVHSU5TIiwiREVGQVVMVF9QTFVHSU5TIiwiZmlsdGVyIiwicGx1ZyIsIkVYVEVOU0lPTlNfTElTVCIsIkdyaWRPbiIsIkJvbGQiLCJJdGFsaWMiLCJTdHJpa2V0aHJvdWdoIiwiVW5kZXJsaW5lIiwiSW1hZ2UiLCJCdWxsZXRlZExpc3RJY29uIiwiTnVtYmVyZWRMaXN0SWNvbiIsIkZvcm1hdFF1b3RlIiwiSUNPTl9NQVAiLCJ1bmRvIiwiVW5kbyIsInJlZG8iLCJSZWRvIiwiVW5kb1JlZG8iLCJJY29uVG9Vc2UiLCJhcmlhTGFiZWwiLCJvbkNsaWNrIiwib25DaGFuZ2UiLCJFbnRlckhhbmRsaW5nUGx1Z2luIiwiSG90a2V5cyIsImlzU3BsaXRCbG9jayIsIklTX0lPUyIsImlzSW5Wb2lkIiwiY29sbGFwc2VUb1N0YXJ0T2ZOZXh0VGV4dCIsInNwbGl0QmxvY2siLCJyYW5nZSIsIm5ld0Jsb2NrIiwiZ2V0Q2xvc2VzdEJsb2NrIiwic2V0Tm9kZUJ5S2V5IiwidW5kZWZpbmVkIiwiYnVpbGRQbHVnaW5zIiwiYWN0aXZlUGx1Z2lucyIsImN1c3RvbVBsdWdpbnMiLCJvcHRzIiwiYWRkSWYiLCJpbWFnZVBsdWdpbiIsImltYWdlIiwib25EZWxldGUiLCJtYXRoUGx1Z2luIiwibWF0aCIsInJlc3BBcmVhUGx1Z2luIiwicmVzcG9uc2VBcmVhIiwiY3NzUGx1Z2luIiwiZXh0cmFDU1NSdWxlcyIsImxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnMiLCJsYW5ndWFnZUNoYXJhY3RlcnMiLCJtYXAiLCJjb25maWciLCJrZXlQYWRDaGFyYWN0ZXJSZWYiLCJzZXRLZXlwYWRJbnRlcmFjdGlvbiIsInRhYmxlUGx1Z2lucyIsInB1c2giLCJidWlsdEN1c3RvbVBsdWdpbnMiLCJjdXN0b21QbHVnaW4iLCJpY29uVHlwZSIsImljb25BbHQiLCJpc1ZhbGlkRXZlbnROYW1lIiwiZXZlbnROYW1lIiwicmVnZXgiLCJ0ZXN0IiwiY29uc29sZSIsImVycm9yIiwidGFibGUiLCJtZWRpYSIsInBsdWdpbiIsInRleHRBbGlnbiIsInNoaWZ0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QyxJQUFoQixDQUFULENBcENBLEVBcUNMakQsbUJBQW1CLEVBckNkLEVBc0NMLDRCQXRDSyxHQUFQO0FBd0NELENBbEdNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEhvdGtleXMgZnJvbSAnc2xhdGUtaG90a2V5cyc7XG5pbXBvcnQgeyBJU19JT1MgfSBmcm9tICdzbGF0ZS1kZXYtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgTWFyayB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCBCb2xkIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRCb2xkJztcbmltcG9ydCBGb3JtYXRRdW90ZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0UXVvdGUnO1xuLy9pbXBvcnQgQ29kZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQ29kZSc7XG5pbXBvcnQgQnVsbGV0ZWRMaXN0SWNvbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0TGlzdEJ1bGxldGVkJztcbmltcG9ydCBOdW1iZXJlZExpc3RJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRMaXN0TnVtYmVyZWQnO1xuaW1wb3J0IEdyaWRPbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvR3JpZE9uJztcbmltcG9ydCBJbWFnZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvSW1hZ2UnO1xuaW1wb3J0IFJlZG8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1JlZG8nO1xuaW1wb3J0IFVuZG8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1VuZG8nO1xuaW1wb3J0IEltYWdlUGx1Z2luIGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IE1lZGlhUGx1Z2luIGZyb20gJy4vbWVkaWEnO1xuaW1wb3J0IENoYXJhY3RlcnNQbHVnaW4gZnJvbSAnLi9jaGFyYWN0ZXJzJztcbmltcG9ydCBJdGFsaWMgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdEl0YWxpYyc7XG5pbXBvcnQgTWF0aFBsdWdpbiBmcm9tICcuL21hdGgnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTdHJpa2V0aHJvdWdoIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRTdHJpa2V0aHJvdWdoJztcbmltcG9ydCBUb29sYmFyUGx1Z2luIGZyb20gJy4vdG9vbGJhcic7XG5pbXBvcnQgVW5kZXJsaW5lIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRVbmRlcmxpbmVkJztcbmltcG9ydCBjb21wYWN0IGZyb20gJ2xvZGFzaC9jb21wYWN0JztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBTb2Z0QnJlYWtQbHVnaW4gZnJvbSAnc2xhdGUtc29mdC1icmVhayc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IExpc3QgZnJvbSAnLi9saXN0JztcbmltcG9ydCBUYWJsZVBsdWdpbiBmcm9tICcuL3RhYmxlJztcbmltcG9ydCBSZXNwQXJlYVBsdWdpbiBmcm9tICcuL3Jlc3BBcmVhJztcbmltcG9ydCBIdG1sUGx1Z2luIGZyb20gJy4vaHRtbCc7XG5pbXBvcnQgQ1NTUGx1Z2luIGZyb20gJy4vY3NzJztcbmltcG9ydCBDdXN0b21QbHVnaW4gZnJvbSAnLi9jdXN0b21QbHVnaW4nO1xuaW1wb3J0IFJlbmRlcmluZ1BsdWdpbiBmcm9tICcuL3JlbmRlcmluZyc7XG5pbXBvcnQgVGV4dEFsaWduIGZyb20gJy4vdGV4dEFsaWduJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2lucycpO1xuXG5leHBvcnQgY29uc3QgU3VwZXJzY3JpcHRJY29uID0gKCkgPT4gKFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCJub25lXCI+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMjIsN2gtMnYxaDN2MWgtNFY3YzAtMC41NSwwLjQ1LTEsMS0xaDJWNWgtM1Y0aDNjMC41NSwwLDEsMC40NSwxLDF2MUMyMyw2LjU1LDIyLjU1LDcsMjIsN3ogTTUuODgsMjBoMi42NmwzLjQtNS40MmgwLjEyIGwzLjQsNS40MmgyLjY2bC00LjY1LTcuMjdMMTcuODEsNmgtMi42OGwtMy4wNyw0Ljk5aC0wLjEyTDguODUsNkg2LjE5bDQuMzIsNi43M0w1Ljg4LDIwelwiXG4gICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAvPlxuICA8L3N2Zz5cbik7XG5cbmV4cG9ydCBjb25zdCBTdWJzY3JpcHRJY29uID0gKCkgPT4gKFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCJub25lXCI+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMjIsMThoLTJ2MWgzdjFoLTR2LTJjMC0wLjU1LDAuNDUtMSwxLTFoMnYtMWgtM3YtMWgzYzAuNTUsMCwxLDAuNDUsMSwxdjFDMjMsMTcuNTUsMjIuNTUsMTgsMjIsMTh6IE01Ljg4LDE4aDIuNjYgbDMuNC01LjQyaDAuMTJsMy40LDUuNDJoMi42NmwtNC42NS03LjI3TDE3LjgxLDRoLTIuNjhsLTMuMDcsNC45OWgtMC4xMkw4Ljg1LDRINi4xOWw0LjMyLDYuNzNMNS44OCwxOHpcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgY29uc3QgSGVhZGluZ0ljb24gPSAoKSA9PiAoXG4gIDxzdmdcbiAgICB3aWR0aD1cIjMwXCJcbiAgICBoZWlnaHQ9XCIyOFwiXG4gICAgdmlld0JveD1cIjAgMCAzMCAyOFwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHN0eWxlPXt7IHdpZHRoOiAnMjBweCcsIGhlaWdodDogJzE4cHgnIH19XG4gID5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0yNyA0VjI0SDI5QzI5LjUgMjQgMzAgMjQuNSAzMCAyNVYyN0MzMCAyNy41NjI1IDI5LjUgMjggMjkgMjhIMTlDMTguNDM3NSAyOCAxOCAyNy41NjI1IDE4IDI3VjI1QzE4IDI0LjUgMTguNDM3NSAyNCAxOSAyNEgyMVYxNkg5VjI0SDExQzExLjUgMjQgMTIgMjQuNSAxMiAyNVYyN0MxMiAyNy41NjI1IDExLjUgMjggMTEgMjhIMUMwLjQzNzUgMjggMCAyNy41NjI1IDAgMjdWMjVDMCAyNC41IDAuNDM3NSAyNCAxIDI0SDNWNEgxQzAuNDM3NSA0IDAgMy41NjI1IDAgM1YxQzAgMC41IDAuNDM3NSAwIDEgMEgxMUMxMS41IDAgMTIgMC41IDEyIDFWM0MxMiAzLjU2MjUgMTEuNSA0IDExIDRIOVYxMkgyMVY0SDE5QzE4LjQzNzUgNCAxOCAzLjU2MjUgMTggM1YxQzE4IDAuNSAxOC40Mzc1IDAgMTkgMEgyOUMyOS41IDAgMzAgMC41IDMwIDFWM0MzMCAzLjU2MjUgMjkuNSA0IDI5IDRIMjdaXCJcbiAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKTtcbmNvbnN0IFNUWUxFU19NQVAgPSB7XG4gIGgzOiB7XG4gICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgICBmb250V2VpZ2h0OiAnaW5oZXJpdCcsXG4gIH0sXG4gIGJsb2NrcXVvdGU6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2Y5ZjlmOScsXG4gICAgYm9yZGVyTGVmdDogJzVweCBzb2xpZCAjY2NjJyxcbiAgICBtYXJnaW46ICcxLjVlbSAxMHB4JyxcbiAgICBwYWRkaW5nOiAnLjVlbSAxMHB4JyxcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIE1hcmtIb3RrZXkob3B0aW9ucykge1xuICBjb25zdCB7IHR5cGUsIGtleSwgaWNvbiwgdGFnIH0gPSBvcHRpb25zO1xuXG4gIC8vIFJldHVybiBvdXIgXCJwbHVnaW5cIiBvYmplY3QsIGNvbnRhaW5pbmcgdGhlIGBvbktleURvd25gIGhhbmRsZXIuXG4gIHJldHVybiB7XG4gICAgbmFtZTogdHlwZSxcbiAgICB0b29sYmFyOiB7XG4gICAgICBpc01hcms6IHRydWUsXG4gICAgICB0eXBlLFxuICAgICAgaWNvbixcbiAgICAgIG9uVG9nZ2xlOiAoY2hhbmdlKSA9PiB7XG4gICAgICAgIGxvZygnW29uVG9nZ2xlTWFya10gdHlwZTogJywgdHlwZSk7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBjaGFuZ2UudmFsdWU7XG5cbiAgICAgICAgaWYgKFsnYmxvY2txdW90ZScsICdoMyddLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICAgICAgY29uc3QgdGV4dHMgPSBjaGFuZ2UudmFsdWUuZG9jdW1lbnQuZ2V0VGV4dHNBdFJhbmdlQXNBcnJheShzZWxlY3Rpb24pO1xuICAgICAgICAgIGNvbnN0IG9ubHlPbmVUZXh0ID0gdGV4dHMubGVuZ3RoID09PSAxO1xuICAgICAgICAgIGxldCBoYXNNYXJrID0gZmFsc2U7XG4gICAgICAgICAgbGV0IHNhbWVNYXJrID0gdHJ1ZTtcblxuICAgICAgICAgIHRleHRzLmZvckVhY2goKHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmtzID0gdC5nZXRNYXJrc0FzQXJyYXkoKTtcbiAgICAgICAgICAgIGNvbnN0IG1hcmtJc1RoZXJlID0gbWFya3MuZmluZCgobSkgPT4gbS50eXBlID09PSB0eXBlKTtcblxuICAgICAgICAgICAgaWYgKCFtYXJrSXNUaGVyZSkge1xuICAgICAgICAgICAgICAvLyBub3QgYWxsIHRleHRzIGhhdmUgdGhpcyBtYXJrXG4gICAgICAgICAgICAgIHNhbWVNYXJrID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgbWFya1xuICAgICAgICAgICAgICBoYXNNYXJrID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IHNob3VsZENvbnRpbnVlID0gb25seU9uZVRleHQgfHwgc2FtZU1hcmsgfHwgIWhhc01hcms7XG5cbiAgICAgICAgICBpZiAoIXNob3VsZENvbnRpbnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gY2hhbmdlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxlY3Rpb24uc3RhcnRLZXkgPT09IHNlbGVjdGlvbi5lbmRLZXkgJiYgc2VsZWN0aW9uLmFuY2hvck9mZnNldCA9PT0gc2VsZWN0aW9uLmZvY3VzT2Zmc2V0KSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0Tm9kZSA9IGNoYW5nZS52YWx1ZS5kb2N1bWVudC5nZXROb2RlKHNlbGVjdGlvbi5zdGFydEtleSk7XG5cbiAgICAgICAgICAgIC8vIHNlbGVjdCB0aGUgd2hvbGUgbGluZSBpZiB0aGVyZSBpcyBubyBzZWxlY3Rpb25cbiAgICAgICAgICAgIGNoYW5nZS5tb3ZlRm9jdXNUbyh0ZXh0Tm9kZS5rZXksIDApLm1vdmVBbmNob3JUbyh0ZXh0Tm9kZS5rZXksIHRleHROb2RlLnRleHQubGVuZ3RoKTtcblxuICAgICAgICAgICAgLy8gcmVtb3ZlIHRvZ2dsZVxuICAgICAgICAgICAgY29uc3QgaGFzTWFyayA9IGNoYW5nZS52YWx1ZS5hY3RpdmVNYXJrcy5maW5kKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gZW50cnkudHlwZSA9PT0gdHlwZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoaGFzTWFyaykge1xuICAgICAgICAgICAgICBjaGFuZ2UucmVtb3ZlTWFyayhoYXNNYXJrKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld01hcmsgPSBNYXJrLmNyZWF0ZSh0eXBlKTtcblxuICAgICAgICAgICAgICBjaGFuZ2UuYWRkTWFyayhuZXdNYXJrKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbW92ZSBmb2N1cyB0byBlbmQgb2YgdGV4dFxuICAgICAgICAgICAgcmV0dXJuIGNoYW5nZVxuICAgICAgICAgICAgICAubW92ZUZvY3VzVG8odGV4dE5vZGUua2V5LCB0ZXh0Tm9kZS50ZXh0Lmxlbmd0aClcbiAgICAgICAgICAgICAgLm1vdmVBbmNob3JUbyh0ZXh0Tm9kZS5rZXksIHRleHROb2RlLnRleHQubGVuZ3RoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hhbmdlLnRvZ2dsZU1hcmsodHlwZSk7XG4gICAgICB9LFxuICAgIH0sXG4gICAgcmVuZGVyTWFyayhwcm9wcykge1xuICAgICAgaWYgKHByb3BzLm1hcmsudHlwZSA9PT0gdHlwZSkge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHByb3BzLm5vZGUgfHwge307XG4gICAgICAgIGNvbnN0IGpzb25EYXRhID0gZGF0YT8udG9KU09OKCkgfHwge307XG4gICAgICAgIGNvbnN0IEsgPSB0YWcgfHwgdHlwZTtcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbFN0eWxlcyA9IFNUWUxFU19NQVBbS107XG5cbiAgICAgICAgaWYgKGFkZGl0aW9uYWxTdHlsZXMpIHtcbiAgICAgICAgICBpZiAoIWpzb25EYXRhLmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIGpzb25EYXRhLmF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBqc29uRGF0YS5hdHRyaWJ1dGVzLnN0eWxlID0ge1xuICAgICAgICAgICAgLi4uanNvbkRhdGEuYXR0cmlidXRlcy5zdHlsZSxcbiAgICAgICAgICAgIC4uLmFkZGl0aW9uYWxTdHlsZXMsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiA8SyB7Li4uanNvbkRhdGEuYXR0cmlidXRlc30+e3Byb3BzLmNoaWxkcmVufTwvSz47XG4gICAgICB9XG4gICAgfSxcbiAgICBvbktleURvd24oZXZlbnQsIGNoYW5nZSkge1xuICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUga2V5IHByZXNzZWQgbWF0Y2hlcyBvdXIgYGtleWAgb3B0aW9uLlxuICAgICAgaWYgKCFldmVudC5tZXRhS2V5IHx8IGV2ZW50LmtleSAhPSBrZXkpIHJldHVybjtcblxuICAgICAgLy8gUHJldmVudCB0aGUgZGVmYXVsdCBjaGFyYWN0ZXJzIGZyb20gYmVpbmcgaW5zZXJ0ZWQuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAvLyBUb2dnbGUgdGhlIG1hcmsgYHR5cGVgLlxuICAgICAgY2hhbmdlLnRvZ2dsZU1hcmsodHlwZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgQUxMX1BMVUdJTlMgPSBbXG4gICdib2xkJyxcbiAgLy8gJ2NvZGUnLFxuICAnaHRtbCcsXG4gICdleHRyYUNTU1J1bGVzJyxcbiAgJ2l0YWxpYycsXG4gICd1bmRlcmxpbmUnLFxuICAnc3RyaWtldGhyb3VnaCcsXG4gICdidWxsZXRlZC1saXN0JyxcbiAgJ251bWJlcmVkLWxpc3QnLFxuICAnaW1hZ2UnLFxuICAnbWF0aCcsXG4gICdsYW5ndWFnZUNoYXJhY3RlcnMnLFxuICAndGV4dC1hbGlnbicsXG4gICdibG9ja3F1b3RlJyxcbiAgJ2gzJyxcbiAgJ3RhYmxlJyxcbiAgJ3ZpZGVvJyxcbiAgJ2F1ZGlvJyxcbiAgJ3Jlc3BvbnNlQXJlYScsXG4gICdyZWRvJyxcbiAgJ3VuZG8nLFxuICAnc3VwZXJzY3JpcHQnLFxuICAnc3Vic2NyaXB0Jyxcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BMVUdJTlMgPSBBTExfUExVR0lOUy5maWx0ZXIoKHBsdWcpID0+ICFbJ3Jlc3BvbnNlQXJlYScsICdoMycsICdibG9ja3F1b3RlJ10uaW5jbHVkZXMocGx1ZykpO1xuXG5leHBvcnQgY29uc3QgRVhURU5TSU9OU19MSVNUID0gW1xuICBHcmlkT24sXG4gIEJvbGQsXG4gIEl0YWxpYyxcbiAgU3RyaWtldGhyb3VnaCxcbiAgVW5kZXJsaW5lLFxuICBTdXBlcnNjcmlwdEljb24sXG4gIFN1YnNjcmlwdEljb24sXG4gIEltYWdlLFxuICBIZWFkaW5nSWNvbixcbiAgQnVsbGV0ZWRMaXN0SWNvbixcbiAgTnVtYmVyZWRMaXN0SWNvbixcbiAgRm9ybWF0UXVvdGUsXG5dO1xuXG5jb25zdCBJQ09OX01BUCA9IHtcbiAgdW5kbzogVW5kbyxcbiAgcmVkbzogUmVkbyxcbn07XG5mdW5jdGlvbiBVbmRvUmVkbyh0eXBlKSB7XG4gIGNvbnN0IEljb25Ub1VzZSA9IElDT05fTUFQW3R5cGVdO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogdHlwZSxcbiAgICB0b29sYmFyOiB7XG4gICAgICB0eXBlLFxuICAgICAgaWNvbjogPEljb25Ub1VzZSAvPixcbiAgICAgIGFyaWFMYWJlbDogdHlwZSA9PT0gJ3VuZG8nID8gJ1VuZG8gKHJldmVydCB0aGUgbGFzdCBhY3Rpb24pJyA6ICdSZWRvIChyZWFwcGx5IHRoZSBsYXN0IHVuZG9uZSBhY3Rpb24pJyxcbiAgICAgIG9uQ2xpY2s6ICh2YWx1ZSwgb25DaGFuZ2UpID0+IHtcbiAgICAgICAgY29uc3QgY2hhbmdlID0gdmFsdWUuY2hhbmdlKCk7XG5cbiAgICAgICAgb25DaGFuZ2UoY2hhbmdlW3R5cGVdKCkpO1xuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBFbnRlckhhbmRsaW5nUGx1Z2luKCkge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdlbnRlckhhbmRsaW5nJyxcbiAgICBvbktleURvd246IChldmVudCwgY2hhbmdlKSA9PiB7XG4gICAgICBpZiAoSG90a2V5cy5pc1NwbGl0QmxvY2soZXZlbnQpICYmICFJU19JT1MpIHtcbiAgICAgICAgaWYgKGNoYW5nZS52YWx1ZS5pc0luVm9pZCkge1xuICAgICAgICAgIHJldHVybiBjaGFuZ2UuY29sbGFwc2VUb1N0YXJ0T2ZOZXh0VGV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2hhbmdlLnNwbGl0QmxvY2soKTtcblxuICAgICAgICBjb25zdCByYW5nZSA9IGNoYW5nZS52YWx1ZS5zZWxlY3Rpb247XG4gICAgICAgIGNvbnN0IG5ld0Jsb2NrID0gY2hhbmdlLnZhbHVlLmRvY3VtZW50LmdldENsb3Nlc3RCbG9jayhyYW5nZS5zdGFydEtleSk7XG5cbiAgICAgICAgaWYgKG5ld0Jsb2NrLnR5cGUgIT09ICdwYXJhZ3JhcGgnKSB7XG4gICAgICAgICAgY2hhbmdlLnNldE5vZGVCeUtleShuZXdCbG9jay5rZXksIHtcbiAgICAgICAgICAgIHR5cGU6ICdwYXJhZ3JhcGgnLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNoYW5nZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgYnVpbGRQbHVnaW5zID0gKGFjdGl2ZVBsdWdpbnMsIGN1c3RvbVBsdWdpbnMsIG9wdHMpID0+IHtcbiAgbG9nKCdbYnVpbGRQbHVnaW5zXSBvcHRzOiAnLCBvcHRzKTtcblxuICBhY3RpdmVQbHVnaW5zID0gYWN0aXZlUGx1Z2lucyB8fCBERUZBVUxUX1BMVUdJTlM7XG5cbiAgY29uc3QgYWRkSWYgPSAoa2V5KSA9PiBhY3RpdmVQbHVnaW5zLmluY2x1ZGVzKGtleSkgJiYga2V5O1xuXG4gIGNvbnN0IGltYWdlUGx1Z2luID0gb3B0cy5pbWFnZSAmJiBvcHRzLmltYWdlLm9uRGVsZXRlICYmIEltYWdlUGx1Z2luKG9wdHMuaW1hZ2UpO1xuICBjb25zdCBtYXRoUGx1Z2luID0gb3B0cy5tYXRoICYmIE1hdGhQbHVnaW4ob3B0cy5tYXRoKTtcbiAgY29uc3QgcmVzcEFyZWFQbHVnaW4gPVxuICAgIG9wdHMucmVzcG9uc2VBcmVhICYmIG9wdHMucmVzcG9uc2VBcmVhLnR5cGUgJiYgUmVzcEFyZWFQbHVnaW4ob3B0cy5yZXNwb25zZUFyZWEsIGNvbXBhY3QoW21hdGhQbHVnaW5dKSk7XG4gIGNvbnN0IGNzc1BsdWdpbiA9ICFpc0VtcHR5KG9wdHMuZXh0cmFDU1NSdWxlcykgJiYgQ1NTUGx1Z2luKG9wdHMuZXh0cmFDU1NSdWxlcyk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucyA9IChvcHRzPy5sYW5ndWFnZUNoYXJhY3RlcnMgfHwgW10pLm1hcCgoY29uZmlnKSA9PlxuICAgIENoYXJhY3RlcnNQbHVnaW4oe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAga2V5UGFkQ2hhcmFjdGVyUmVmOiBvcHRzLmtleVBhZENoYXJhY3RlclJlZixcbiAgICAgIHNldEtleXBhZEludGVyYWN0aW9uOiBvcHRzLnNldEtleXBhZEludGVyYWN0aW9uLFxuICAgIH0pLFxuICApO1xuXG4gIGNvbnN0IHRhYmxlUGx1Z2lucyA9IFtpbWFnZVBsdWdpbiwgbWF0aFBsdWdpbiwgcmVzcEFyZWFQbHVnaW4sIC4uLmxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnNdO1xuXG4gIGlmIChvcHRzLnJlc3BvbnNlQXJlYSAmJiBvcHRzLnJlc3BvbnNlQXJlYS50eXBlID09PSAnbWF0aC10ZW1wbGF0ZWQnKSB7XG4gICAgdGFibGVQbHVnaW5zLnB1c2gocmVzcEFyZWFQbHVnaW4pO1xuICB9XG5cbiAgbGV0IGJ1aWx0Q3VzdG9tUGx1Z2lucyA9IFtdO1xuXG4gIGN1c3RvbVBsdWdpbnM/LmZvckVhY2goKGN1c3RvbVBsdWdpbikgPT4ge1xuICAgIGNvbnN0IHsgZXZlbnQsIGljb24sIGljb25UeXBlLCBpY29uQWx0IH0gPSBjdXN0b21QbHVnaW4gfHwge307XG5cbiAgICBmdW5jdGlvbiBpc1ZhbGlkRXZlbnROYW1lKGV2ZW50TmFtZSkge1xuICAgICAgLy8gQ2hlY2sgaWYgZXZlbnROYW1lIGlzIGEgbm9uLWVtcHR5IHN0cmluZ1xuICAgICAgaWYgKHR5cGVvZiBldmVudE5hbWUgIT09ICdzdHJpbmcnIHx8IGV2ZW50TmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWd1bGFyIGV4cHJlc3Npb24gdG8gbWF0Y2ggdmFsaWQgZXZlbnQgbmFtZXMgKG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIHVuZGVyc2NvcmUpXG4gICAgICBjb25zdCByZWdleCA9IC9eW2EtekEtWjAtOV9dKyQvO1xuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgZXZlbnROYW1lIG1hdGNoZXMgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvblxuICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QoZXZlbnROYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzVmFsaWRFdmVudE5hbWUoZXZlbnQpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBUaGUgZXZlbnQgbmFtZTogJHtldmVudH0gaXMgbm90IGEgdmFsaWQgZXZlbnQgbmFtZSFgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWljb24gJiYgIWljb25UeXBlICYmICFpY29uQWx0KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdZb3VyIGN1c3RvbSBidXR0b24gcmVxdWlyZXMgaWNvbiwgaWNvblR5cGUgYW5kIGljb25BbHQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBidWlsdEN1c3RvbVBsdWdpbnMucHVzaChDdXN0b21QbHVnaW4oJ2N1c3RvbS1wbHVnaW4nLCBjdXN0b21QbHVnaW4pKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbXBhY3QoW1xuICAgIGFkZElmKCd0YWJsZScsIFRhYmxlUGx1Z2luKG9wdHMudGFibGUsIGNvbXBhY3QodGFibGVQbHVnaW5zKSkpLFxuICAgIGFkZElmKCdib2xkJywgTWFya0hvdGtleSh7IGtleTogJ2InLCB0eXBlOiAnYm9sZCcsIGljb246IDxCb2xkIC8+LCB0YWc6ICdzdHJvbmcnIH0pKSxcbiAgICAvLyBhZGRJZignY29kZScsIE1hcmtIb3RrZXkoeyBrZXk6ICdgJywgdHlwZTogJ2NvZGUnLCBpY29uOiA8Q29kZSAvPiB9KSksXG4gICAgYWRkSWYoJ2l0YWxpYycsIE1hcmtIb3RrZXkoeyBrZXk6ICdpJywgdHlwZTogJ2l0YWxpYycsIGljb246IDxJdGFsaWMgLz4sIHRhZzogJ2VtJyB9KSksXG4gICAgYWRkSWYoXG4gICAgICAnc3RyaWtldGhyb3VnaCcsXG4gICAgICBNYXJrSG90a2V5KHtcbiAgICAgICAga2V5OiAnficsXG4gICAgICAgIHR5cGU6ICdzdHJpa2V0aHJvdWdoJyxcbiAgICAgICAgaWNvbjogPFN0cmlrZXRocm91Z2ggLz4sXG4gICAgICAgIHRhZzogJ2RlbCcsXG4gICAgICB9KSxcbiAgICApLFxuICAgIGFkZElmKCd1bmRlcmxpbmUnLCBNYXJrSG90a2V5KHsga2V5OiAndScsIHR5cGU6ICd1bmRlcmxpbmUnLCBpY29uOiA8VW5kZXJsaW5lIC8+LCB0YWc6ICd1JyB9KSksXG4gICAgLy8gaWNvbiBzaG91bGQgYmUgbW9kaWZpZXMgYWNjb3JkaW5nbHlcbiAgICBhZGRJZignc3VwZXJzY3JpcHQnLCBNYXJrSG90a2V5KHsgdHlwZTogJ3N1cCcsIGljb246IDxTdXBlcnNjcmlwdEljb24gLz4sIHRhZzogJ3N1cCcgfSkpLFxuICAgIC8vIGljb24gc2hvdWxkIGJlIG1vZGlmaWVzIGFjY29yZGluZ2x5XG4gICAgYWRkSWYoJ3N1YnNjcmlwdCcsIE1hcmtIb3RrZXkoeyB0eXBlOiAnc3ViJywgaWNvbjogPFN1YnNjcmlwdEljb24gLz4sIHRhZzogJ3N1YicgfSkpLFxuICAgIGFkZElmKCdpbWFnZScsIGltYWdlUGx1Z2luKSxcbiAgICBhZGRJZigndmlkZW8nLCBNZWRpYVBsdWdpbigndmlkZW8nLCBvcHRzLm1lZGlhKSksXG4gICAgYWRkSWYoJ2F1ZGlvJywgTWVkaWFQbHVnaW4oJ2F1ZGlvJywgb3B0cy5tZWRpYSkpLFxuICAgIGFkZElmKCdtYXRoJywgbWF0aFBsdWdpbiksXG4gICAgLi4ubGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucy5tYXAoKHBsdWdpbikgPT4gYWRkSWYoJ2xhbmd1YWdlQ2hhcmFjdGVycycsIHBsdWdpbikpLFxuICAgIGFkZElmKCd0ZXh0LWFsaWduJywgVGV4dEFsaWduKG9wdHMudGV4dEFsaWduKSksXG4gICAgYWRkSWYoJ2Jsb2NrcXVvdGUnLCBNYXJrSG90a2V5KHsga2V5OiAncScsIHR5cGU6ICdibG9ja3F1b3RlJywgaWNvbjogPEZvcm1hdFF1b3RlIC8+LCB0YWc6ICdibG9ja3F1b3RlJyB9KSksXG4gICAgYWRkSWYoJ2gzJywgTWFya0hvdGtleSh7IGtleTogJ2gzJywgdHlwZTogJ2gzJywgaWNvbjogPEhlYWRpbmdJY29uIC8+LCB0YWc6ICdoMycgfSkpLFxuICAgIGFkZElmKCdidWxsZXRlZC1saXN0JywgTGlzdCh7IGtleTogJ2wnLCB0eXBlOiAndWxfbGlzdCcsIGljb246IDxCdWxsZXRlZExpc3RJY29uIC8+IH0pKSxcbiAgICBhZGRJZignbnVtYmVyZWQtbGlzdCcsIExpc3QoeyBrZXk6ICduJywgdHlwZTogJ29sX2xpc3QnLCBpY29uOiA8TnVtYmVyZWRMaXN0SWNvbiAvPiB9KSksXG4gICAgYWRkSWYoJ3VuZG8nLCBVbmRvUmVkbygndW5kbycpKSxcbiAgICBhZGRJZigncmVkbycsIFVuZG9SZWRvKCdyZWRvJykpLFxuICAgIFRvb2xiYXJQbHVnaW4ob3B0cy50b29sYmFyKSxcbiAgICBTb2Z0QnJlYWtQbHVnaW4oeyBzaGlmdDogdHJ1ZSB9KSxcbiAgICAuLi5idWlsdEN1c3RvbVBsdWdpbnMsXG4gICAgYWRkSWYoJ3Jlc3BvbnNlQXJlYScsIHJlc3BBcmVhUGx1Z2luKSxcbiAgICBjc3NQbHVnaW4sXG4gICAgYWRkSWYoJ2h0bWwnLCBIdG1sUGx1Z2luKG9wdHMuaHRtbCkpLFxuICAgIEVudGVySGFuZGxpbmdQbHVnaW4oKSxcbiAgICBSZW5kZXJpbmdQbHVnaW4oKSxcbiAgXSk7XG59O1xuIl19
341
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJTdXBlcnNjcmlwdEljb24iLCJTdWJzY3JpcHRJY29uIiwiSGVhZGluZ0ljb24iLCJ3aWR0aCIsImhlaWdodCIsIlNUWUxFU19NQVAiLCJoMyIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImJsb2NrcXVvdGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyTGVmdCIsIm1hcmdpbiIsInBhZGRpbmciLCJNYXJrSG90a2V5Iiwib3B0aW9ucyIsInR5cGUiLCJrZXkiLCJpY29uIiwidGFnIiwibmFtZSIsInRvb2xiYXIiLCJpc01hcmsiLCJvblRvZ2dsZSIsImNoYW5nZSIsInNlbGVjdGlvbiIsInZhbHVlIiwiaW5jbHVkZXMiLCJ0ZXh0cyIsImRvY3VtZW50IiwiZ2V0VGV4dHNBdFJhbmdlQXNBcnJheSIsIm9ubHlPbmVUZXh0IiwibGVuZ3RoIiwiaGFzTWFyayIsInNhbWVNYXJrIiwiZm9yRWFjaCIsInQiLCJtYXJrcyIsImdldE1hcmtzQXNBcnJheSIsIm1hcmtJc1RoZXJlIiwiZmluZCIsIm0iLCJzaG91bGRDb250aW51ZSIsInN0YXJ0S2V5IiwiZW5kS2V5IiwiYW5jaG9yT2Zmc2V0IiwiZm9jdXNPZmZzZXQiLCJ0ZXh0Tm9kZSIsImdldE5vZGUiLCJtb3ZlRm9jdXNUbyIsIm1vdmVBbmNob3JUbyIsInRleHQiLCJhY3RpdmVNYXJrcyIsImVudHJ5IiwicmVtb3ZlTWFyayIsIm5ld01hcmsiLCJNYXJrIiwiY3JlYXRlIiwiYWRkTWFyayIsInRvZ2dsZU1hcmsiLCJyZW5kZXJNYXJrIiwicHJvcHMiLCJtYXJrIiwibm9kZSIsImRhdGEiLCJqc29uRGF0YSIsInRvSlNPTiIsIksiLCJhZGRpdGlvbmFsU3R5bGVzIiwiYXR0cmlidXRlcyIsInN0eWxlIiwiY2hpbGRyZW4iLCJvbktleURvd24iLCJldmVudCIsIm1ldGFLZXkiLCJwcmV2ZW50RGVmYXVsdCIsIkFMTF9QTFVHSU5TIiwiREVGQVVMVF9QTFVHSU5TIiwiZmlsdGVyIiwicGx1ZyIsIkVYVEVOU0lPTlNfTElTVCIsIkdyaWRPbiIsIkJvbGQiLCJJdGFsaWMiLCJTdHJpa2V0aHJvdWdoIiwiVW5kZXJsaW5lIiwiSW1hZ2UiLCJCdWxsZXRlZExpc3RJY29uIiwiTnVtYmVyZWRMaXN0SWNvbiIsIkZvcm1hdFF1b3RlIiwiSUNPTl9NQVAiLCJ1bmRvIiwiVW5kbyIsInJlZG8iLCJSZWRvIiwiVW5kb1JlZG8iLCJJY29uVG9Vc2UiLCJhcmlhTGFiZWwiLCJvbkNsaWNrIiwib25DaGFuZ2UiLCJidWlsZFBsdWdpbnMiLCJhY3RpdmVQbHVnaW5zIiwiY3VzdG9tUGx1Z2lucyIsIm9wdHMiLCJhZGRJZiIsImltYWdlUGx1Z2luIiwiaW1hZ2UiLCJvbkRlbGV0ZSIsIm1hdGhQbHVnaW4iLCJtYXRoIiwicmVzcEFyZWFQbHVnaW4iLCJyZXNwb25zZUFyZWEiLCJjc3NQbHVnaW4iLCJleHRyYUNTU1J1bGVzIiwibGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucyIsImxhbmd1YWdlQ2hhcmFjdGVycyIsIm1hcCIsImNvbmZpZyIsImtleVBhZENoYXJhY3RlclJlZiIsInNldEtleXBhZEludGVyYWN0aW9uIiwidGFibGVQbHVnaW5zIiwicHVzaCIsImJ1aWx0Q3VzdG9tUGx1Z2lucyIsImN1c3RvbVBsdWdpbiIsImljb25UeXBlIiwiaWNvbkFsdCIsImlzVmFsaWRFdmVudE5hbWUiLCJldmVudE5hbWUiLCJyZWdleCIsInRlc3QiLCJjb25zb2xlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7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S0FBSyxDQUFDLE1BQUQsQ0E3QkEsRUE4QkxBLEtBQUssQ0FBQyxNQUFELENBOUJBLEdBK0JGa0Isa0JBL0JFLEdBZ0NMbEIsS0FBSyxDQUFDLGNBQUQsQ0FoQ0EsRUFpQ0xRLFNBakNLLEVBa0NMUixLQUFLLENBQUMsTUFBRCxDQWxDQSxHQUFQO0FBb0NELENBOUZNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEhvdGtleXMgZnJvbSAnc2xhdGUtaG90a2V5cyc7XG5pbXBvcnQgeyBJU19JT1MgfSBmcm9tICdzbGF0ZS1kZXYtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgTWFyayB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCBCb2xkIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRCb2xkJztcbmltcG9ydCBGb3JtYXRRdW90ZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0UXVvdGUnO1xuLy9pbXBvcnQgQ29kZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQ29kZSc7XG5pbXBvcnQgQnVsbGV0ZWRMaXN0SWNvbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0TGlzdEJ1bGxldGVkJztcbmltcG9ydCBOdW1iZXJlZExpc3RJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRMaXN0TnVtYmVyZWQnO1xuaW1wb3J0IEdyaWRPbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvR3JpZE9uJztcbmltcG9ydCBJbWFnZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvSW1hZ2UnO1xuaW1wb3J0IFJlZG8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1JlZG8nO1xuaW1wb3J0IFVuZG8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1VuZG8nO1xuaW1wb3J0IEltYWdlUGx1Z2luIGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IE1lZGlhUGx1Z2luIGZyb20gJy4vbWVkaWEnO1xuaW1wb3J0IENoYXJhY3RlcnNQbHVnaW4gZnJvbSAnLi9jaGFyYWN0ZXJzJztcbmltcG9ydCBJdGFsaWMgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdEl0YWxpYyc7XG5pbXBvcnQgTWF0aFBsdWdpbiBmcm9tICcuL21hdGgnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTdHJpa2V0aHJvdWdoIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRTdHJpa2V0aHJvdWdoJztcbmltcG9ydCBUb29sYmFyUGx1Z2luIGZyb20gJy4vdG9vbGJhcic7XG5pbXBvcnQgVW5kZXJsaW5lIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRVbmRlcmxpbmVkJztcbmltcG9ydCBjb21wYWN0IGZyb20gJ2xvZGFzaC9jb21wYWN0JztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBTb2Z0QnJlYWtQbHVnaW4gZnJvbSAnc2xhdGUtc29mdC1icmVhayc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IExpc3QgZnJvbSAnLi9saXN0JztcbmltcG9ydCBUYWJsZVBsdWdpbiBmcm9tICcuL3RhYmxlJztcbmltcG9ydCBSZXNwQXJlYVBsdWdpbiBmcm9tICcuL3Jlc3BBcmVhJztcbmltcG9ydCBIdG1sUGx1Z2luIGZyb20gJy4vaHRtbCc7XG5pbXBvcnQgQ1NTUGx1Z2luIGZyb20gJy4vY3NzJztcbmltcG9ydCBDdXN0b21QbHVnaW4gZnJvbSAnLi9jdXN0b21QbHVnaW4nO1xuaW1wb3J0IFRleHRBbGlnbiBmcm9tICcuL3RleHRBbGlnbic7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnMnKTtcblxuZXhwb3J0IGNvbnN0IFN1cGVyc2NyaXB0SWNvbiA9ICgpID0+IChcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwibm9uZVwiPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTIyLDdoLTJ2MWgzdjFoLTRWN2MwLTAuNTUsMC40NS0xLDEtMWgyVjVoLTNWNGgzYzAuNTUsMCwxLDAuNDUsMSwxdjFDMjMsNi41NSwyMi41NSw3LDIyLDd6IE01Ljg4LDIwaDIuNjZsMy40LTUuNDJoMC4xMiBsMy40LDUuNDJoMi42NmwtNC42NS03LjI3TDE3LjgxLDZoLTIuNjhsLTMuMDcsNC45OWgtMC4xMkw4Ljg1LDZINi4xOWw0LjMyLDYuNzNMNS44OCwyMHpcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgY29uc3QgU3Vic2NyaXB0SWNvbiA9ICgpID0+IChcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwibm9uZVwiPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTIyLDE4aC0ydjFoM3YxaC00di0yYzAtMC41NSwwLjQ1LTEsMS0xaDJ2LTFoLTN2LTFoM2MwLjU1LDAsMSwwLjQ1LDEsMXYxQzIzLDE3LjU1LDIyLjU1LDE4LDIyLDE4eiBNNS44OCwxOGgyLjY2IGwzLjQtNS40MmgwLjEybDMuNCw1LjQyaDIuNjZsLTQuNjUtNy4yN0wxNy44MSw0aC0yLjY4bC0zLjA3LDQuOTloLTAuMTJMOC44NSw0SDYuMTlsNC4zMiw2LjczTDUuODgsMTh6XCJcbiAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKTtcblxuZXhwb3J0IGNvbnN0IEhlYWRpbmdJY29uID0gKCkgPT4gKFxuICA8c3ZnXG4gICAgd2lkdGg9XCIzMFwiXG4gICAgaGVpZ2h0PVwiMjhcIlxuICAgIHZpZXdCb3g9XCIwIDAgMzAgMjhcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBzdHlsZT17eyB3aWR0aDogJzIwcHgnLCBoZWlnaHQ6ICcxOHB4JyB9fVxuICA+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMjcgNFYyNEgyOUMyOS41IDI0IDMwIDI0LjUgMzAgMjVWMjdDMzAgMjcuNTYyNSAyOS41IDI4IDI5IDI4SDE5QzE4LjQzNzUgMjggMTggMjcuNTYyNSAxOCAyN1YyNUMxOCAyNC41IDE4LjQzNzUgMjQgMTkgMjRIMjFWMTZIOVYyNEgxMUMxMS41IDI0IDEyIDI0LjUgMTIgMjVWMjdDMTIgMjcuNTYyNSAxMS41IDI4IDExIDI4SDFDMC40Mzc1IDI4IDAgMjcuNTYyNSAwIDI3VjI1QzAgMjQuNSAwLjQzNzUgMjQgMSAyNEgzVjRIMUMwLjQzNzUgNCAwIDMuNTYyNSAwIDNWMUMwIDAuNSAwLjQzNzUgMCAxIDBIMTFDMTEuNSAwIDEyIDAuNSAxMiAxVjNDMTIgMy41NjI1IDExLjUgNCAxMSA0SDlWMTJIMjFWNEgxOUMxOC40Mzc1IDQgMTggMy41NjI1IDE4IDNWMUMxOCAwLjUgMTguNDM3NSAwIDE5IDBIMjlDMjkuNSAwIDMwIDAuNSAzMCAxVjNDMzAgMy41NjI1IDI5LjUgNCAyOSA0SDI3WlwiXG4gICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAvPlxuICA8L3N2Zz5cbik7XG5jb25zdCBTVFlMRVNfTUFQID0ge1xuICBoMzoge1xuICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgZm9udFdlaWdodDogJ2luaGVyaXQnLFxuICB9LFxuICBibG9ja3F1b3RlOiB7XG4gICAgYmFja2dyb3VuZDogJyNmOWY5ZjknLFxuICAgIGJvcmRlckxlZnQ6ICc1cHggc29saWQgI2NjYycsXG4gICAgbWFyZ2luOiAnMS41ZW0gMTBweCcsXG4gICAgcGFkZGluZzogJy41ZW0gMTBweCcsXG4gIH0sXG59O1xuXG5mdW5jdGlvbiBNYXJrSG90a2V5KG9wdGlvbnMpIHtcbiAgY29uc3QgeyB0eXBlLCBrZXksIGljb24sIHRhZyB9ID0gb3B0aW9ucztcblxuICAvLyBSZXR1cm4gb3VyIFwicGx1Z2luXCIgb2JqZWN0LCBjb250YWluaW5nIHRoZSBgb25LZXlEb3duYCBoYW5kbGVyLlxuICByZXR1cm4ge1xuICAgIG5hbWU6IHR5cGUsXG4gICAgdG9vbGJhcjoge1xuICAgICAgaXNNYXJrOiB0cnVlLFxuICAgICAgdHlwZSxcbiAgICAgIGljb24sXG4gICAgICBvblRvZ2dsZTogKGNoYW5nZSkgPT4ge1xuICAgICAgICBsb2coJ1tvblRvZ2dsZU1hcmtdIHR5cGU6ICcsIHR5cGUpO1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gY2hhbmdlLnZhbHVlO1xuXG4gICAgICAgIGlmIChbJ2Jsb2NrcXVvdGUnLCAnaDMnXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICAgIGNvbnN0IHRleHRzID0gY2hhbmdlLnZhbHVlLmRvY3VtZW50LmdldFRleHRzQXRSYW5nZUFzQXJyYXkoc2VsZWN0aW9uKTtcbiAgICAgICAgICBjb25zdCBvbmx5T25lVGV4dCA9IHRleHRzLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgICBsZXQgaGFzTWFyayA9IGZhbHNlO1xuICAgICAgICAgIGxldCBzYW1lTWFyayA9IHRydWU7XG5cbiAgICAgICAgICB0ZXh0cy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXJrcyA9IHQuZ2V0TWFya3NBc0FycmF5KCk7XG4gICAgICAgICAgICBjb25zdCBtYXJrSXNUaGVyZSA9IG1hcmtzLmZpbmQoKG0pID0+IG0udHlwZSA9PT0gdHlwZSk7XG5cbiAgICAgICAgICAgIGlmICghbWFya0lzVGhlcmUpIHtcbiAgICAgICAgICAgICAgLy8gbm90IGFsbCB0ZXh0cyBoYXZlIHRoaXMgbWFya1xuICAgICAgICAgICAgICBzYW1lTWFyayA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gYXQgbGVhc3Qgb25lIG1hcmtcbiAgICAgICAgICAgICAgaGFzTWFyayA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjb25zdCBzaG91bGRDb250aW51ZSA9IG9ubHlPbmVUZXh0IHx8IHNhbWVNYXJrIHx8ICFoYXNNYXJrO1xuXG4gICAgICAgICAgaWYgKCFzaG91bGRDb250aW51ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGNoYW5nZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZWN0aW9uLnN0YXJ0S2V5ID09PSBzZWxlY3Rpb24uZW5kS2V5ICYmIHNlbGVjdGlvbi5hbmNob3JPZmZzZXQgPT09IHNlbGVjdGlvbi5mb2N1c09mZnNldCkge1xuICAgICAgICAgICAgY29uc3QgdGV4dE5vZGUgPSBjaGFuZ2UudmFsdWUuZG9jdW1lbnQuZ2V0Tm9kZShzZWxlY3Rpb24uc3RhcnRLZXkpO1xuXG4gICAgICAgICAgICAvLyBzZWxlY3QgdGhlIHdob2xlIGxpbmUgaWYgdGhlcmUgaXMgbm8gc2VsZWN0aW9uXG4gICAgICAgICAgICBjaGFuZ2UubW92ZUZvY3VzVG8odGV4dE5vZGUua2V5LCAwKS5tb3ZlQW5jaG9yVG8odGV4dE5vZGUua2V5LCB0ZXh0Tm9kZS50ZXh0Lmxlbmd0aCk7XG5cbiAgICAgICAgICAgIC8vIHJlbW92ZSB0b2dnbGVcbiAgICAgICAgICAgIGNvbnN0IGhhc01hcmsgPSBjaGFuZ2UudmFsdWUuYWN0aXZlTWFya3MuZmluZCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5LnR5cGUgPT09IHR5cGU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKGhhc01hcmspIHtcbiAgICAgICAgICAgICAgY2hhbmdlLnJlbW92ZU1hcmsoaGFzTWFyayk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBuZXdNYXJrID0gTWFyay5jcmVhdGUodHlwZSk7XG5cbiAgICAgICAgICAgICAgY2hhbmdlLmFkZE1hcmsobmV3TWFyayk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG1vdmUgZm9jdXMgdG8gZW5kIG9mIHRleHRcbiAgICAgICAgICAgIHJldHVybiBjaGFuZ2VcbiAgICAgICAgICAgICAgLm1vdmVGb2N1c1RvKHRleHROb2RlLmtleSwgdGV4dE5vZGUudGV4dC5sZW5ndGgpXG4gICAgICAgICAgICAgIC5tb3ZlQW5jaG9yVG8odGV4dE5vZGUua2V5LCB0ZXh0Tm9kZS50ZXh0Lmxlbmd0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNoYW5nZS50b2dnbGVNYXJrKHR5cGUpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHJlbmRlck1hcmsocHJvcHMpIHtcbiAgICAgIGlmIChwcm9wcy5tYXJrLnR5cGUgPT09IHR5cGUpIHtcbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBwcm9wcy5ub2RlIHx8IHt9O1xuICAgICAgICBjb25zdCBqc29uRGF0YSA9IGRhdGE/LnRvSlNPTigpIHx8IHt9O1xuICAgICAgICBjb25zdCBLID0gdGFnIHx8IHR5cGU7XG4gICAgICAgIGNvbnN0IGFkZGl0aW9uYWxTdHlsZXMgPSBTVFlMRVNfTUFQW0tdO1xuXG4gICAgICAgIGlmIChhZGRpdGlvbmFsU3R5bGVzKSB7XG4gICAgICAgICAgaWYgKCFqc29uRGF0YS5hdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICBqc29uRGF0YS5hdHRyaWJ1dGVzID0ge307XG4gICAgICAgICAgfVxuXG4gICAgICAgICAganNvbkRhdGEuYXR0cmlidXRlcy5zdHlsZSA9IHtcbiAgICAgICAgICAgIC4uLmpzb25EYXRhLmF0dHJpYnV0ZXMuc3R5bGUsXG4gICAgICAgICAgICAuLi5hZGRpdGlvbmFsU3R5bGVzLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gPEsgey4uLmpzb25EYXRhLmF0dHJpYnV0ZXN9Pntwcm9wcy5jaGlsZHJlbn08L0s+O1xuICAgICAgfVxuICAgIH0sXG4gICAgb25LZXlEb3duKGV2ZW50LCBjaGFuZ2UpIHtcbiAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGtleSBwcmVzc2VkIG1hdGNoZXMgb3VyIGBrZXlgIG9wdGlvbi5cbiAgICAgIGlmICghZXZlbnQubWV0YUtleSB8fCBldmVudC5rZXkgIT0ga2V5KSByZXR1cm47XG5cbiAgICAgIC8vIFByZXZlbnQgdGhlIGRlZmF1bHQgY2hhcmFjdGVycyBmcm9tIGJlaW5nIGluc2VydGVkLlxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgLy8gVG9nZ2xlIHRoZSBtYXJrIGB0eXBlYC5cbiAgICAgIGNoYW5nZS50b2dnbGVNYXJrKHR5cGUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IEFMTF9QTFVHSU5TID0gW1xuICAnYm9sZCcsXG4gIC8vICdjb2RlJyxcbiAgJ2h0bWwnLFxuICAnZXh0cmFDU1NSdWxlcycsXG4gICdpdGFsaWMnLFxuICAndW5kZXJsaW5lJyxcbiAgJ3N0cmlrZXRocm91Z2gnLFxuICAnYnVsbGV0ZWQtbGlzdCcsXG4gICdudW1iZXJlZC1saXN0JyxcbiAgJ2ltYWdlJyxcbiAgJ21hdGgnLFxuICAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJyxcbiAgJ3RleHQtYWxpZ24nLFxuICAnYmxvY2txdW90ZScsXG4gICdoMycsXG4gICd0YWJsZScsXG4gICd2aWRlbycsXG4gICdhdWRpbycsXG4gICdyZXNwb25zZUFyZWEnLFxuICAncmVkbycsXG4gICd1bmRvJyxcbiAgJ3N1cGVyc2NyaXB0JyxcbiAgJ3N1YnNjcmlwdCcsXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9QTFVHSU5TID0gQUxMX1BMVUdJTlMuZmlsdGVyKChwbHVnKSA9PiAhWydyZXNwb25zZUFyZWEnLCAnaDMnLCAnYmxvY2txdW90ZSddLmluY2x1ZGVzKHBsdWcpKTtcblxuZXhwb3J0IGNvbnN0IEVYVEVOU0lPTlNfTElTVCA9IFtcbiAgR3JpZE9uLFxuICBCb2xkLFxuICBJdGFsaWMsXG4gIFN0cmlrZXRocm91Z2gsXG4gIFVuZGVybGluZSxcbiAgU3VwZXJzY3JpcHRJY29uLFxuICBTdWJzY3JpcHRJY29uLFxuICBJbWFnZSxcbiAgSGVhZGluZ0ljb24sXG4gIEJ1bGxldGVkTGlzdEljb24sXG4gIE51bWJlcmVkTGlzdEljb24sXG4gIEZvcm1hdFF1b3RlLFxuXTtcblxuY29uc3QgSUNPTl9NQVAgPSB7XG4gIHVuZG86IFVuZG8sXG4gIHJlZG86IFJlZG8sXG59O1xuZnVuY3Rpb24gVW5kb1JlZG8odHlwZSkge1xuICBjb25zdCBJY29uVG9Vc2UgPSBJQ09OX01BUFt0eXBlXTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6IHR5cGUsXG4gICAgdG9vbGJhcjoge1xuICAgICAgdHlwZSxcbiAgICAgIGljb246IDxJY29uVG9Vc2UgLz4sXG4gICAgICBhcmlhTGFiZWw6IHR5cGUgPT09ICd1bmRvJyA/ICdVbmRvIChyZXZlcnQgdGhlIGxhc3QgYWN0aW9uKScgOiAnUmVkbyAocmVhcHBseSB0aGUgbGFzdCB1bmRvbmUgYWN0aW9uKScsXG4gICAgICBvbkNsaWNrOiAodmFsdWUsIG9uQ2hhbmdlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpO1xuXG4gICAgICAgIG9uQ2hhbmdlKGNoYW5nZVt0eXBlXSgpKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGJ1aWxkUGx1Z2lucyA9IChhY3RpdmVQbHVnaW5zLCBjdXN0b21QbHVnaW5zLCBvcHRzKSA9PiB7XG4gIGxvZygnW2J1aWxkUGx1Z2luc10gb3B0czogJywgb3B0cyk7XG5cbiAgYWN0aXZlUGx1Z2lucyA9IGFjdGl2ZVBsdWdpbnMgfHwgREVGQVVMVF9QTFVHSU5TO1xuXG4gIGNvbnN0IGFkZElmID0gKGtleSkgPT4gYWN0aXZlUGx1Z2lucy5pbmNsdWRlcyhrZXkpICYmIGtleTtcblxuICBjb25zdCBpbWFnZVBsdWdpbiA9IG9wdHMuaW1hZ2UgJiYgb3B0cy5pbWFnZS5vbkRlbGV0ZSAmJiBJbWFnZVBsdWdpbihvcHRzLmltYWdlKTtcbiAgY29uc3QgbWF0aFBsdWdpbiA9IG9wdHMubWF0aCAmJiBNYXRoUGx1Z2luKG9wdHMubWF0aCk7XG4gIGNvbnN0IHJlc3BBcmVhUGx1Z2luID1cbiAgICBvcHRzLnJlc3BvbnNlQXJlYSAmJiBvcHRzLnJlc3BvbnNlQXJlYS50eXBlICYmIFJlc3BBcmVhUGx1Z2luKG9wdHMucmVzcG9uc2VBcmVhLCBjb21wYWN0KFttYXRoUGx1Z2luXSkpO1xuICBjb25zdCBjc3NQbHVnaW4gPSAhaXNFbXB0eShvcHRzLmV4dHJhQ1NTUnVsZXMpICYmIENTU1BsdWdpbihvcHRzLmV4dHJhQ1NTUnVsZXMpO1xuXG4gIGNvbnN0IGxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnMgPSAob3B0cz8ubGFuZ3VhZ2VDaGFyYWN0ZXJzIHx8IFtdKS5tYXAoKGNvbmZpZykgPT5cbiAgICBDaGFyYWN0ZXJzUGx1Z2luKHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGtleVBhZENoYXJhY3RlclJlZjogb3B0cy5rZXlQYWRDaGFyYWN0ZXJSZWYsXG4gICAgICBzZXRLZXlwYWRJbnRlcmFjdGlvbjogb3B0cy5zZXRLZXlwYWRJbnRlcmFjdGlvbixcbiAgICB9KSxcbiAgKTtcblxuICBjb25zdCB0YWJsZVBsdWdpbnMgPSBbaW1hZ2VQbHVnaW4sIG1hdGhQbHVnaW4sIHJlc3BBcmVhUGx1Z2luLCAuLi5sYW5ndWFnZUNoYXJhY3RlcnNQbHVnaW5zXTtcblxuICBpZiAob3B0cy5yZXNwb25zZUFyZWEgJiYgb3B0cy5yZXNwb25zZUFyZWEudHlwZSA9PT0gJ21hdGgtdGVtcGxhdGVkJykge1xuICAgIHRhYmxlUGx1Z2lucy5wdXNoKHJlc3BBcmVhUGx1Z2luKTtcbiAgfVxuXG4gIGxldCBidWlsdEN1c3RvbVBsdWdpbnMgPSBbXTtcblxuICBjdXN0b21QbHVnaW5zPy5mb3JFYWNoKChjdXN0b21QbHVnaW4pID0+IHtcbiAgICBjb25zdCB7IGV2ZW50LCBpY29uLCBpY29uVHlwZSwgaWNvbkFsdCB9ID0gY3VzdG9tUGx1Z2luIHx8IHt9O1xuXG4gICAgZnVuY3Rpb24gaXNWYWxpZEV2ZW50TmFtZShldmVudE5hbWUpIHtcbiAgICAgIC8vIENoZWNrIGlmIGV2ZW50TmFtZSBpcyBhIG5vbi1lbXB0eSBzdHJpbmdcbiAgICAgIGlmICh0eXBlb2YgZXZlbnROYW1lICE9PSAnc3RyaW5nJyB8fCBldmVudE5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVndWxhciBleHByZXNzaW9uIHRvIG1hdGNoIHZhbGlkIGV2ZW50IG5hbWVzIChvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCB1bmRlcnNjb3JlKVxuICAgICAgY29uc3QgcmVnZXggPSAvXlthLXpBLVowLTlfXSskLztcblxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGV2ZW50TmFtZSBtYXRjaGVzIHRoZSByZWd1bGFyIGV4cHJlc3Npb25cbiAgICAgIHJldHVybiByZWdleC50ZXN0KGV2ZW50TmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKCFpc1ZhbGlkRXZlbnROYW1lKGV2ZW50KSkge1xuICAgICAgY29uc29sZS5lcnJvcihgVGhlIGV2ZW50IG5hbWU6ICR7ZXZlbnR9IGlzIG5vdCBhIHZhbGlkIGV2ZW50IG5hbWUhYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFpY29uICYmICFpY29uVHlwZSAmJiAhaWNvbkFsdCkge1xuICAgICAgY29uc29sZS5lcnJvcignWW91ciBjdXN0b20gYnV0dG9uIHJlcXVpcmVzIGljb24sIGljb25UeXBlIGFuZCBpY29uQWx0Jyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYnVpbHRDdXN0b21QbHVnaW5zLnB1c2goQ3VzdG9tUGx1Z2luKCdjdXN0b20tcGx1Z2luJywgY3VzdG9tUGx1Z2luKSk7XG4gIH0pO1xuXG4gIHJldHVybiBjb21wYWN0KFtcbiAgICBhZGRJZigndGFibGUnKSxcbiAgICBhZGRJZignYm9sZCcpLFxuICAgIC8vIGFkZElmKCdjb2RlJyksXG4gICAgYWRkSWYoJ2l0YWxpYycpLFxuICAgIGFkZElmKFxuICAgICAgJ3N0cmlrZXRocm91Z2gnLFxuICAgICAgTWFya0hvdGtleSh7XG4gICAgICAgIGtleTogJ34nLFxuICAgICAgICB0eXBlOiAnc3RyaWtldGhyb3VnaCcsXG4gICAgICAgIGljb246IDxTdHJpa2V0aHJvdWdoIC8+LFxuICAgICAgICB0YWc6ICdkZWwnLFxuICAgICAgfSksXG4gICAgKSxcbiAgICBhZGRJZigndW5kZXJsaW5lJyksXG4gICAgLy8gaWNvbiBzaG91bGQgYmUgbW9kaWZpZXMgYWNjb3JkaW5nbHlcbiAgICBhZGRJZignc3VwZXJzY3JpcHQnKSxcbiAgICAvLyBpY29uIHNob3VsZCBiZSBtb2RpZmllcyBhY2NvcmRpbmdseVxuICAgIGFkZElmKCdzdWJzY3JpcHQnKSxcbiAgICBhZGRJZignaW1hZ2UnKSxcbiAgICBhZGRJZigndmlkZW8nKSxcbiAgICBhZGRJZignYXVkaW8nKSxcbiAgICBhZGRJZignbWF0aCcpLFxuICAgIC4uLmxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnMubWFwKCgpID0+IGFkZElmKCdsYW5ndWFnZUNoYXJhY3RlcnMnKSksXG4gICAgYWRkSWYoJ3RleHQtYWxpZ24nKSxcbiAgICBhZGRJZignYmxvY2txdW90ZScpLFxuICAgIGFkZElmKCdoMycpLFxuICAgIGFkZElmKCdidWxsZXRlZC1saXN0JyksXG4gICAgYWRkSWYoJ251bWJlcmVkLWxpc3QnKSxcbiAgICBhZGRJZigndW5kbycpLFxuICAgIGFkZElmKCdyZWRvJyksXG4gICAgLi4uYnVpbHRDdXN0b21QbHVnaW5zLFxuICAgIGFkZElmKCdyZXNwb25zZUFyZWEnKSxcbiAgICBjc3NQbHVnaW4sXG4gICAgYWRkSWYoJ2h0bWwnKSxcbiAgXSk7XG59O1xuIl19
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _renderUi = require("@pie-lib/render-ui");
9
+
10
+ var _theme = require("../theme");
11
+
12
+ var styles = function styles(theme) {
13
+ return {
14
+ root: {
15
+ position: 'relative',
16
+ padding: '0px',
17
+ border: '1px solid #ccc',
18
+ borderRadius: '4px',
19
+ cursor: 'text',
20
+ '& [data-slate-editor="true"]': {
21
+ wordBreak: 'break-word',
22
+ overflow: 'visible',
23
+ maxHeight: '500px',
24
+ // needed in order to be able to put the focus before a void element when it is the first one in the editor
25
+ padding: '5px'
26
+ },
27
+ '&:first-child': {
28
+ marginTop: 0
29
+ },
30
+ '& ul, & ol': {
31
+ padding: '0 1rem',
32
+ margin: '1.25rem 1rem 1.25rem 0.4rem'
33
+ },
34
+ '& ul li p, & ol li p': {
35
+ marginTop: '0.25em',
36
+ marginBottom: '0.25em'
37
+ },
38
+ '& h1, & h2, & h3, & h4, & h5, & h6': {
39
+ lineHeight: 1.1,
40
+ marginTop: '2.5rem',
41
+ textWrap: 'pretty'
42
+ },
43
+ '& h1, & h2': {
44
+ marginTop: '3.5rem',
45
+ marginBottom: '1.5rem'
46
+ },
47
+ '& h1': {
48
+ fontSize: '1.4rem'
49
+ },
50
+ '& h2': {
51
+ fontSize: '1.2rem'
52
+ },
53
+ '& h3': {
54
+ fontSize: '1.1rem'
55
+ },
56
+ '& h4, & h5, & h6': {
57
+ fontSize: '1rem'
58
+ },
59
+ '& code': {
60
+ backgroundColor: 'var(--purple-light)',
61
+ borderRadius: '0.4rem',
62
+ color: 'var(--black)',
63
+ fontSize: '0.85rem',
64
+ padding: '0.25em 0.3em'
65
+ },
66
+ '& pre': {
67
+ background: 'var(--black)',
68
+ borderRadius: '0.5rem',
69
+ color: 'var(--white)',
70
+ fontFamily: "'JetBrainsMono', monospace",
71
+ margin: '1.5rem 0',
72
+ padding: '0.75rem 1rem',
73
+ '& code': {
74
+ background: 'none',
75
+ color: 'inherit',
76
+ fontSize: '0.8rem',
77
+ padding: 0
78
+ }
79
+ },
80
+ '& blockquote': {
81
+ borderLeft: '3px solid var(--gray-3)',
82
+ margin: '1.5rem 0',
83
+ paddingLeft: '1rem'
84
+ },
85
+ '& hr': {
86
+ border: 'none',
87
+ borderTop: '1px solid var(--gray-2)',
88
+ margin: '2rem 0'
89
+ },
90
+ '& table': {
91
+ tableLayout: 'fixed',
92
+ width: '100%',
93
+ borderCollapse: 'collapse',
94
+ color: _renderUi.color.text(),
95
+ backgroundColor: _renderUi.color.background()
96
+ },
97
+ '& table:not([border="1"]) tr': {
98
+ borderTop: '1px solid #dfe2e5'
99
+ },
100
+ '& td, th': {
101
+ padding: '.6em 1em',
102
+ textAlign: 'center'
103
+ },
104
+ '& table:not([border="1"]) td, th': {
105
+ border: '1px solid #dfe2e5'
106
+ }
107
+ },
108
+ children: {
109
+ padding: '10px 16px'
110
+ },
111
+ editorHolder: {
112
+ position: 'relative',
113
+ padding: '0px',
114
+ // overflowY: 'auto',
115
+ overflow: 'visible',
116
+ color: _renderUi.color.text(),
117
+ backgroundColor: _renderUi.color.background(),
118
+ '&::before': {
119
+ left: '0',
120
+ right: '0',
121
+ bottom: '0',
122
+ height: '1px',
123
+ content: '""',
124
+ position: 'absolute',
125
+ transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',
126
+ pointerEvents: 'none',
127
+ backgroundColor: 'rgba(0, 0, 0, 0.42)'
128
+ },
129
+ '&::after': {
130
+ left: '0',
131
+ right: '0',
132
+ bottom: '0',
133
+ height: '1px',
134
+ content: '""',
135
+ position: 'absolute',
136
+ transform: 'scaleX(0)',
137
+ transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 200ms linear',
138
+ backgroundColor: 'rgba(0, 0, 0, 0.42)'
139
+ }
140
+ },
141
+ disabledUnderline: {
142
+ '&::before': {
143
+ display: 'none'
144
+ },
145
+ '&::after': {
146
+ display: 'none'
147
+ }
148
+ },
149
+ disabledScrollbar: {
150
+ '&::-webkit-scrollbar': {
151
+ display: 'none'
152
+ },
153
+ scrollbarWidth: 'none',
154
+ '-ms-overflow-style': 'none'
155
+ },
156
+ readOnly: {
157
+ '&::before': {
158
+ background: 'transparent',
159
+ backgroundSize: '5px 1px',
160
+ backgroundImage: 'linear-gradient(to right, rgba(0, 0, 0, 0.42) 33%, transparent 0%)',
161
+ backgroundRepeat: 'repeat-x',
162
+ backgroundPosition: 'left top'
163
+ },
164
+ '&::after': {
165
+ left: '0',
166
+ right: '0',
167
+ bottom: '0',
168
+ height: '1px',
169
+ content: '""',
170
+ position: 'absolute',
171
+ transform: 'scaleX(0)',
172
+ transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 0ms linear',
173
+ backgroundColor: 'rgba(0, 0, 0, 0)'
174
+ },
175
+ '&:hover': {
176
+ '&::after': {
177
+ transform: 'scaleX(0)',
178
+ backgroundColor: theme.palette.common.black,
179
+ height: '2px'
180
+ }
181
+ }
182
+ },
183
+ error: {
184
+ border: "2px solid ".concat(theme.palette.error.main, " !important")
185
+ },
186
+ noBorder: {
187
+ border: 'none'
188
+ },
189
+ noPadding: {
190
+ padding: 0
191
+ },
192
+ toolbarOnTop: {
193
+ marginTop: '45px'
194
+ }
195
+ };
196
+ };
197
+
198
+ var _default = styles;
199
+ exports["default"] = _default;
200
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZXMvZWRpdG9yQ29udGFpbmVyU3R5bGVzLmpzIl0sIm5hbWVzIjpbInN0eWxlcyIsInRoZW1lIiwicm9vdCIsInBvc2l0aW9uIiwicGFkZGluZyIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsImN1cnNvciIsIndvcmRCcmVhayIsIm92ZXJmbG93IiwibWF4SGVpZ2h0IiwibWFyZ2luVG9wIiwibWFyZ2luIiwibWFyZ2luQm90dG9tIiwibGluZUhlaWdodCIsInRleHRXcmFwIiwiZm9udFNpemUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb2xvciIsImJhY2tncm91bmQiLCJmb250RmFtaWx5IiwiYm9yZGVyTGVmdCIsInBhZGRpbmdMZWZ0IiwiYm9yZGVyVG9wIiwidGFibGVMYXlvdXQiLCJ3aWR0aCIsImJvcmRlckNvbGxhcHNlIiwidGV4dCIsInRleHRBbGlnbiIsImNoaWxkcmVuIiwiZWRpdG9ySG9sZGVyIiwibGVmdCIsInJpZ2h0IiwiYm90dG9tIiwiaGVpZ2h0IiwiY29udGVudCIsInRyYW5zaXRpb24iLCJwb2ludGVyRXZlbnRzIiwidHJhbnNmb3JtIiwiZGlzYWJsZWRVbmRlcmxpbmUiLCJkaXNwbGF5IiwiZGlzYWJsZWRTY3JvbGxiYXIiLCJzY3JvbGxiYXJXaWR0aCIsInJlYWRPbmx5IiwiYmFja2dyb3VuZFNpemUiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kUmVwZWF0IiwiYmFja2dyb3VuZFBvc2l0aW9uIiwicGFsZXR0ZSIsImNvbW1vbiIsImJsYWNrIiwiZXJyb3IiLCJtYWluIiwibm9Cb3JkZXIiLCJub1BhZGRpbmciLCJ0b29sYmFyT25Ub3AiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQSxJQUFNQSxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUN6QkMsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLFFBQVEsRUFBRSxVQUROO0FBRUpDLE1BQUFB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S0E1TGU7QUErTHpCaUQsSUFBQUEsU0FBUyxFQUFFO0FBQ1RsRCxNQUFBQSxPQUFPLEVBQUU7QUFEQSxLQS9MYztBQWtNekJtRCxJQUFBQSxZQUFZLEVBQUU7QUFDWjVDLE1BQUFBLFNBQVMsRUFBRTtBQURDO0FBbE1XLEdBQVo7QUFBQSxDQUFmOztlQXVNZVgsTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IHByaW1hcnkgfSBmcm9tICcuLi90aGVtZSc7XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgcm9vdDoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHBhZGRpbmc6ICcwcHgnLFxuICAgIGJvcmRlcjogJzFweCBzb2xpZCAjY2NjJyxcbiAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgIGN1cnNvcjogJ3RleHQnLFxuICAgICcmIFtkYXRhLXNsYXRlLWVkaXRvcj1cInRydWVcIl0nOiB7XG4gICAgICB3b3JkQnJlYWs6ICdicmVhay13b3JkJyxcbiAgICAgIG92ZXJmbG93OiAndmlzaWJsZScsXG4gICAgICBtYXhIZWlnaHQ6ICc1MDBweCcsXG4gICAgICAvLyBuZWVkZWQgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBwdXQgdGhlIGZvY3VzIGJlZm9yZSBhIHZvaWQgZWxlbWVudCB3aGVuIGl0IGlzIHRoZSBmaXJzdCBvbmUgaW4gdGhlIGVkaXRvclxuICAgICAgcGFkZGluZzogJzVweCcsXG4gICAgfSxcblxuICAgICcmOmZpcnN0LWNoaWxkJzoge1xuICAgICAgbWFyZ2luVG9wOiAwLFxuICAgIH0sXG5cbiAgICAnJiB1bCwgJiBvbCc6IHtcbiAgICAgIHBhZGRpbmc6ICcwIDFyZW0nLFxuICAgICAgbWFyZ2luOiAnMS4yNXJlbSAxcmVtIDEuMjVyZW0gMC40cmVtJyxcbiAgICB9LFxuXG4gICAgJyYgdWwgbGkgcCwgJiBvbCBsaSBwJzoge1xuICAgICAgbWFyZ2luVG9wOiAnMC4yNWVtJyxcbiAgICAgIG1hcmdpbkJvdHRvbTogJzAuMjVlbScsXG4gICAgfSxcblxuICAgICcmIGgxLCAmIGgyLCAmIGgzLCAmIGg0LCAmIGg1LCAmIGg2Jzoge1xuICAgICAgbGluZUhlaWdodDogMS4xLFxuICAgICAgbWFyZ2luVG9wOiAnMi41cmVtJyxcbiAgICAgIHRleHRXcmFwOiAncHJldHR5JyxcbiAgICB9LFxuXG4gICAgJyYgaDEsICYgaDInOiB7XG4gICAgICBtYXJnaW5Ub3A6ICczLjVyZW0nLFxuICAgICAgbWFyZ2luQm90dG9tOiAnMS41cmVtJyxcbiAgICB9LFxuXG4gICAgJyYgaDEnOiB7XG4gICAgICBmb250U2l6ZTogJzEuNHJlbScsXG4gICAgfSxcblxuICAgICcmIGgyJzoge1xuICAgICAgZm9udFNpemU6ICcxLjJyZW0nLFxuICAgIH0sXG5cbiAgICAnJiBoMyc6IHtcbiAgICAgIGZvbnRTaXplOiAnMS4xcmVtJyxcbiAgICB9LFxuXG4gICAgJyYgaDQsICYgaDUsICYgaDYnOiB7XG4gICAgICBmb250U2l6ZTogJzFyZW0nLFxuICAgIH0sXG5cbiAgICAnJiBjb2RlJzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiAndmFyKC0tcHVycGxlLWxpZ2h0KScsXG4gICAgICBib3JkZXJSYWRpdXM6ICcwLjRyZW0nLFxuICAgICAgY29sb3I6ICd2YXIoLS1ibGFjayknLFxuICAgICAgZm9udFNpemU6ICcwLjg1cmVtJyxcbiAgICAgIHBhZGRpbmc6ICcwLjI1ZW0gMC4zZW0nLFxuICAgIH0sXG5cbiAgICAnJiBwcmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmxhY2spJyxcbiAgICAgIGJvcmRlclJhZGl1czogJzAuNXJlbScsXG4gICAgICBjb2xvcjogJ3ZhcigtLXdoaXRlKScsXG4gICAgICBmb250RmFtaWx5OiBcIidKZXRCcmFpbnNNb25vJywgbW9ub3NwYWNlXCIsXG4gICAgICBtYXJnaW46ICcxLjVyZW0gMCcsXG4gICAgICBwYWRkaW5nOiAnMC43NXJlbSAxcmVtJyxcblxuICAgICAgJyYgY29kZSc6IHtcbiAgICAgICAgYmFja2dyb3VuZDogJ25vbmUnLFxuICAgICAgICBjb2xvcjogJ2luaGVyaXQnLFxuICAgICAgICBmb250U2l6ZTogJzAuOHJlbScsXG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAnJiBibG9ja3F1b3RlJzoge1xuICAgICAgYm9yZGVyTGVmdDogJzNweCBzb2xpZCB2YXIoLS1ncmF5LTMpJyxcbiAgICAgIG1hcmdpbjogJzEuNXJlbSAwJyxcbiAgICAgIHBhZGRpbmdMZWZ0OiAnMXJlbScsXG4gICAgfSxcblxuICAgICcmIGhyJzoge1xuICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICBib3JkZXJUb3A6ICcxcHggc29saWQgdmFyKC0tZ3JheS0yKScsXG4gICAgICBtYXJnaW46ICcycmVtIDAnLFxuICAgIH0sXG5cbiAgICAnJiB0YWJsZSc6IHtcbiAgICAgIHRhYmxlTGF5b3V0OiAnZml4ZWQnLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGJvcmRlckNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAgICAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAgIH0sXG4gICAgJyYgdGFibGU6bm90KFtib3JkZXI9XCIxXCJdKSB0cic6IHtcbiAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCAjZGZlMmU1JyxcbiAgICB9LFxuICAgICcmIHRkLCB0aCc6IHtcbiAgICAgIHBhZGRpbmc6ICcuNmVtIDFlbScsXG4gICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgIH0sXG4gICAgJyYgdGFibGU6bm90KFtib3JkZXI9XCIxXCJdKSB0ZCwgdGgnOiB7XG4gICAgICBib3JkZXI6ICcxcHggc29saWQgI2RmZTJlNScsXG4gICAgfSxcbiAgfSxcbiAgY2hpbGRyZW46IHtcbiAgICBwYWRkaW5nOiAnMTBweCAxNnB4JyxcbiAgfSxcbiAgZWRpdG9ySG9sZGVyOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgcGFkZGluZzogJzBweCcsXG4gICAgLy8gb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgb3ZlcmZsb3c6ICd2aXNpYmxlJyxcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAgICcmOjpiZWZvcmUnOiB7XG4gICAgICBsZWZ0OiAnMCcsXG4gICAgICByaWdodDogJzAnLFxuICAgICAgYm90dG9tOiAnMCcsXG4gICAgICBoZWlnaHQ6ICcxcHgnLFxuICAgICAgY29udGVudDogJ1wiXCInLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZC1jb2xvciAyMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIDBtcycsXG4gICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuNDIpJyxcbiAgICB9LFxuICAgICcmOjphZnRlcic6IHtcbiAgICAgIGxlZnQ6ICcwJyxcbiAgICAgIHJpZ2h0OiAnMCcsXG4gICAgICBib3R0b206ICcwJyxcbiAgICAgIGhlaWdodDogJzFweCcsXG4gICAgICBjb250ZW50OiAnXCJcIicsXG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIHRyYW5zZm9ybTogJ3NjYWxlWCgwKScsXG4gICAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDIwMG1zIGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKSAwbXMsIGJhY2tncm91bmQtY29sb3IgMjAwbXMgbGluZWFyJyxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMC40MiknLFxuICAgIH0sXG4gIH0sXG4gIGRpc2FibGVkVW5kZXJsaW5lOiB7XG4gICAgJyY6OmJlZm9yZSc6IHtcbiAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICB9LFxuICAgICcmOjphZnRlcic6IHtcbiAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICB9LFxuICB9LFxuICBkaXNhYmxlZFNjcm9sbGJhcjoge1xuICAgICcmOjotd2Via2l0LXNjcm9sbGJhcic6IHtcbiAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICB9LFxuICAgIHNjcm9sbGJhcldpZHRoOiAnbm9uZScsXG4gICAgJy1tcy1vdmVyZmxvdy1zdHlsZSc6ICdub25lJyxcbiAgfSxcbiAgcmVhZE9ubHk6IHtcbiAgICAnJjo6YmVmb3JlJzoge1xuICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgIGJhY2tncm91bmRTaXplOiAnNXB4IDFweCcsXG4gICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICdsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC40MikgMzMlLCB0cmFuc3BhcmVudCAwJSknLFxuICAgICAgYmFja2dyb3VuZFJlcGVhdDogJ3JlcGVhdC14JyxcbiAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogJ2xlZnQgdG9wJyxcbiAgICB9LFxuICAgICcmOjphZnRlcic6IHtcbiAgICAgIGxlZnQ6ICcwJyxcbiAgICAgIHJpZ2h0OiAnMCcsXG4gICAgICBib3R0b206ICcwJyxcbiAgICAgIGhlaWdodDogJzFweCcsXG4gICAgICBjb250ZW50OiAnXCJcIicsXG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIHRyYW5zZm9ybTogJ3NjYWxlWCgwKScsXG4gICAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDIwMG1zIGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKSAwbXMsIGJhY2tncm91bmQtY29sb3IgMG1zIGxpbmVhcicsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsIDAsIDAsIDApJyxcbiAgICB9LFxuICAgICcmOmhvdmVyJzoge1xuICAgICAgJyY6OmFmdGVyJzoge1xuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZVgoMCknLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuY29tbW9uLmJsYWNrLFxuICAgICAgICBoZWlnaHQ6ICcycHgnLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICBlcnJvcjoge1xuICAgIGJvcmRlcjogYDJweCBzb2xpZCAke3RoZW1lLnBhbGV0dGUuZXJyb3IubWFpbn0gIWltcG9ydGFudGAsXG4gIH0sXG4gIG5vQm9yZGVyOiB7XG4gICAgYm9yZGVyOiAnbm9uZScsXG4gIH0sXG4gIG5vUGFkZGluZzoge1xuICAgIHBhZGRpbmc6IDAsXG4gIH0sXG4gIHRvb2xiYXJPblRvcDoge1xuICAgIG1hcmdpblRvcDogJzQ1cHgnLFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHN0eWxlcztcbiJdfQ==
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.valueToSize = void 0;
7
+
8
+ var valueToSize = function valueToSize(v) {
9
+ if (!v) {
10
+ return;
11
+ }
12
+
13
+ var calcRegex = /^calc\((.*)\)$/;
14
+
15
+ if (typeof v === 'string') {
16
+ if (v.endsWith('%')) {
17
+ return undefined;
18
+ }
19
+
20
+ if (v.endsWith('px') || v.endsWith('vh') || v.endsWith('vw') || v.endsWith('ch') || v.endsWith('em') || v.match(calcRegex)) {
21
+ return v;
22
+ }
23
+
24
+ var value = parseInt(v, 10);
25
+ return Number.isNaN(value) ? value : "".concat(value, "px");
26
+ }
27
+
28
+ if (typeof v === 'number') {
29
+ return "".concat(v, "px");
30
+ }
31
+ };
32
+
33
+ exports.valueToSize = valueToSize;
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zaXplLmpzIl0sIm5hbWVzIjpbInZhbHVlVG9TaXplIiwidiIsImNhbGNSZWdleCIsImVuZHNXaXRoIiwidW5kZWZpbmVkIiwibWF0Y2giLCJ2YWx1ZSIsInBhcnNlSW50IiwiTnVtYmVyIiwiaXNOYU4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxJQUFNQSxXQUFXLEdBQUcsU0FBZEEsV0FBYyxDQUFDQyxDQUFELEVBQU87QUFDaEMsTUFBSSxDQUFDQSxDQUFMLEVBQVE7QUFDTjtBQUNEOztBQUVELE1BQU1DLFNBQVMsR0FBRyxnQkFBbEI7O0FBRUEsTUFBSSxPQUFPRCxDQUFQLEtBQWEsUUFBakIsRUFBMkI7QUFDekIsUUFBSUEsQ0FBQyxDQUFDRSxRQUFGLENBQVcsR0FBWCxDQUFKLEVBQXFCO0FBQ25CLGFBQU9DLFNBQVA7QUFDRDs7QUFFRCxRQUNFSCxDQUFDLENBQUNFLFFBQUYsQ0FBVyxJQUFYLEtBQ0FGLENBQUMsQ0FBQ0UsUUFBRixDQUFXLElBQVgsQ0FEQSxJQUVBRixDQUFDLENBQUNFLFFBQUYsQ0FBVyxJQUFYLENBRkEsSUFHQUYsQ0FBQyxDQUFDRSxRQUFGLENBQVcsSUFBWCxDQUhBLElBSUFGLENBQUMsQ0FBQ0UsUUFBRixDQUFXLElBQVgsQ0FKQSxJQUtBRixDQUFDLENBQUNJLEtBQUYsQ0FBUUgsU0FBUixDQU5GLEVBT0U7QUFDQSxhQUFPRCxDQUFQO0FBQ0Q7O0FBRUQsUUFBTUssS0FBSyxHQUFHQyxRQUFRLENBQUNOLENBQUQsRUFBSSxFQUFKLENBQXRCO0FBRUEsV0FBT08sTUFBTSxDQUFDQyxLQUFQLENBQWFILEtBQWIsSUFBc0JBLEtBQXRCLGFBQWlDQSxLQUFqQyxPQUFQO0FBQ0Q7O0FBRUQsTUFBSSxPQUFPTCxDQUFQLEtBQWEsUUFBakIsRUFBMkI7QUFDekIscUJBQVVBLENBQVY7QUFDRDtBQUNGLENBL0JNIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHZhbHVlVG9TaXplID0gKHYpID0+IHtcbiAgaWYgKCF2KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgY2FsY1JlZ2V4ID0gL15jYWxjXFwoKC4qKVxcKSQvO1xuXG4gIGlmICh0eXBlb2YgdiA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodi5lbmRzV2l0aCgnJScpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHYuZW5kc1dpdGgoJ3B4JykgfHxcbiAgICAgIHYuZW5kc1dpdGgoJ3ZoJykgfHxcbiAgICAgIHYuZW5kc1dpdGgoJ3Z3JykgfHxcbiAgICAgIHYuZW5kc1dpdGgoJ2NoJykgfHxcbiAgICAgIHYuZW5kc1dpdGgoJ2VtJykgfHxcbiAgICAgIHYubWF0Y2goY2FsY1JlZ2V4KVxuICAgICkge1xuICAgICAgcmV0dXJuIHY7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZUludCh2LCAxMCk7XG5cbiAgICByZXR1cm4gTnVtYmVyLmlzTmFOKHZhbHVlKSA/IHZhbHVlIDogYCR7dmFsdWV9cHhgO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2ID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiBgJHt2fXB4YDtcbiAgfVxufTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/editable-html-tip-tap",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "",
5
5
  "license": "ISC",
6
6
  "main": "lib/index.js",