@plait/core 0.51.2 → 0.51.4

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 (71) hide show
  1. package/board/board.component.d.ts +1 -1
  2. package/esm2022/board/board.component.mjs +7 -6
  3. package/esm2022/core/children/children.component.mjs +5 -5
  4. package/esm2022/core/element/context-change.mjs +1 -1
  5. package/esm2022/core/element/element.component.mjs +5 -5
  6. package/esm2022/core/element/plugin-element.mjs +5 -5
  7. package/esm2022/core/island/island-base.component.mjs +9 -9
  8. package/esm2022/interfaces/board.mjs +1 -1
  9. package/esm2022/interfaces/element.mjs +1 -1
  10. package/esm2022/interfaces/group.mjs +6 -0
  11. package/esm2022/interfaces/index.mjs +2 -1
  12. package/esm2022/interfaces/node.mjs +1 -1
  13. package/esm2022/interfaces/operation.mjs +1 -1
  14. package/esm2022/interfaces/path-ref.mjs +1 -1
  15. package/esm2022/interfaces/path.mjs +1 -1
  16. package/esm2022/interfaces/rectangle-client.mjs +1 -1
  17. package/esm2022/interfaces/selection.mjs +1 -1
  18. package/esm2022/plugins/create-board.mjs +1 -1
  19. package/esm2022/plugins/with-board.mjs +1 -1
  20. package/esm2022/plugins/with-group.mjs +27 -0
  21. package/esm2022/plugins/with-hand.mjs +1 -1
  22. package/esm2022/plugins/with-history.mjs +1 -1
  23. package/esm2022/plugins/with-hotkey.mjs +1 -1
  24. package/esm2022/plugins/with-moving.mjs +3 -3
  25. package/esm2022/plugins/with-selection.mjs +96 -69
  26. package/esm2022/plugins/with-viewport.mjs +1 -1
  27. package/esm2022/services/image-context.service.mjs +4 -4
  28. package/esm2022/testing/fake-events/event-objects.mjs +4 -4
  29. package/esm2022/transforms/board.mjs +1 -1
  30. package/esm2022/transforms/general.mjs +1 -1
  31. package/esm2022/transforms/node.mjs +1 -1
  32. package/esm2022/transforms/selection.mjs +2 -2
  33. package/esm2022/utils/angle.mjs +36 -0
  34. package/esm2022/utils/board.mjs +1 -1
  35. package/esm2022/utils/clipboard/clipboard.mjs +1 -1
  36. package/esm2022/utils/clipboard/common.mjs +1 -1
  37. package/esm2022/utils/clipboard/data-transfer.mjs +1 -1
  38. package/esm2022/utils/clipboard/navigator-clipboard.mjs +1 -1
  39. package/esm2022/utils/common.mjs +1 -1
  40. package/esm2022/utils/dom/common.mjs +8 -4
  41. package/esm2022/utils/dom/foreign.mjs +1 -1
  42. package/esm2022/utils/drawing/line.mjs +1 -1
  43. package/esm2022/utils/drawing/rectangle.mjs +1 -1
  44. package/esm2022/utils/element.mjs +17 -5
  45. package/esm2022/utils/group.mjs +209 -0
  46. package/esm2022/utils/history.mjs +1 -1
  47. package/esm2022/utils/hotkeys.mjs +1 -1
  48. package/esm2022/utils/id-creator.mjs +1 -1
  49. package/esm2022/utils/index.mjs +4 -1
  50. package/esm2022/utils/math.mjs +23 -8
  51. package/esm2022/utils/reaction-manager.mjs +1 -1
  52. package/esm2022/utils/selected-element.mjs +1 -1
  53. package/esm2022/utils/selection.mjs +62 -0
  54. package/esm2022/utils/to-image.mjs +1 -1
  55. package/esm2022/utils/touch.mjs +1 -1
  56. package/esm2022/utils/tree.mjs +1 -1
  57. package/esm2022/utils/viewport.mjs +1 -1
  58. package/fesm2022/plait-core.mjs +1134 -756
  59. package/fesm2022/plait-core.mjs.map +1 -1
  60. package/interfaces/element.d.ts +1 -0
  61. package/interfaces/group.d.ts +7 -0
  62. package/interfaces/index.d.ts +1 -0
  63. package/package.json +1 -1
  64. package/plugins/with-group.d.ts +2 -0
  65. package/plugins/with-selection.d.ts +0 -13
  66. package/utils/angle.d.ts +5 -0
  67. package/utils/dom/common.d.ts +2 -2
  68. package/utils/group.d.ts +22 -0
  69. package/utils/index.d.ts +3 -0
  70. package/utils/math.d.ts +9 -1
  71. package/utils/selection.d.ts +13 -0
@@ -22,7 +22,7 @@ export function createMouseEvent(type, clientX = 0, clientY = 0, offsetX = 1, of
22
22
  const event = new MouseEvent(type, {
23
23
  bubbles: true,
24
24
  cancelable: true,
25
- composed: true,
25
+ composed: true, // Required for shadow DOM events.
26
26
  view: window,
27
27
  detail: 0,
28
28
  relatedTarget: null,
@@ -61,7 +61,7 @@ export function createPointerEvent(type, clientX = 0, clientY = 0, offsetX, offs
61
61
  const event = new PointerEvent(type, {
62
62
  bubbles: true,
63
63
  cancelable: true,
64
- composed: true,
64
+ composed: true, // Required for shadow DOM events.
65
65
  view: window,
66
66
  clientX,
67
67
  clientY,
@@ -101,7 +101,7 @@ export function createKeyboardEvent(type, keyCode = 0, key = '', modifiers = {})
101
101
  return new KeyboardEvent(type, {
102
102
  bubbles: true,
103
103
  cancelable: true,
104
- composed: true,
104
+ composed: true, // Required for shadow DOM events.
105
105
  view: window,
106
106
  keyCode: keyCode,
107
107
  key: key,
@@ -129,4 +129,4 @@ export function createModModifierKeys() {
129
129
  const modifiers = IS_MAC ? { meta: true } : { control: true };
130
130
  return modifiers;
131
131
  }
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtb2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3Rlc3RpbmcvZmFrZS1ldmVudHMvZXZlbnQtb2JqZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHckQsOENBQThDO0FBQzlDLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztBQUVsQjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLElBQVksRUFDWixPQUFPLEdBQUcsQ0FBQyxFQUNYLE9BQU8sR0FBRyxDQUFDLEVBQ1gsT0FBTyxHQUFHLENBQUMsRUFDWCxPQUFPLEdBQUcsQ0FBQyxFQUNYLE1BQU0sR0FBRyxDQUFDLEVBQ1YsWUFBMEIsRUFBRTtJQUU1QixnRkFBZ0Y7SUFDaEYsOEVBQThFO0lBQzlFLCtFQUErRTtJQUMvRSxnRUFBZ0U7SUFDaEUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3hCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUV4QixNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7UUFDL0IsT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUsSUFBSTtRQUNoQixRQUFRLEVBQUUsSUFBSTtRQUNkLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLENBQUM7UUFDVCxhQUFhLEVBQUUsSUFBSTtRQUNuQixPQUFPO1FBQ1AsT0FBTztRQUNQLE9BQU87UUFDUCxPQUFPO1FBQ1AsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1FBQzFCLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRztRQUNyQixRQUFRLEVBQUUsU0FBUyxDQUFDLEtBQUs7UUFDekIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3ZCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FB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QUUsU0FBUyxDQUFDLE9BQU87S0FDN0IsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBWSxFQUFFLE9BQU8sR0FBRyxLQUFLLEVBQUUsVUFBVSxHQUFHLElBQUksRUFBRSxRQUFRLEdBQUcsSUFBSTtJQUM3RixPQUFPLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUywyQkFBMkIsQ0FBQyxLQUFZLEVBQUUsWUFBb0IsRUFBRSxLQUFVO0lBQy9FLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDekYsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUI7SUFDakMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDOUQsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBJU19NQUMgfSBmcm9tICcuLi8uLi91dGlscy9kb20vZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgTW9kaWZpZXJLZXlzIH0gZnJvbSAnLi4vdGVzdC1lbGVtZW50JztcblxuLyoqIFVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIElEcyBmb3IgZXZlbnRzLiAqL1xubGV0IHVuaXF1ZUlkcyA9IDA7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGJyb3dzZXIgTW91c2VFdmVudCB3aXRoIHRoZSBzcGVjaWZpZWQgb3B0aW9ucy5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vdXNlRXZlbnQoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGNsaWVudFggPSAwLFxuICAgIGNsaWVudFkgPSAwLFxuICAgIG9mZnNldFggPSAxLFxuICAgIG9mZnNldFkgPSAxLFxuICAgIGJ1dHRvbiA9IDAsXG4gICAgbW9kaWZpZXJzOiBNb2RpZmllcktleXMgPSB7fVxuKSB7XG4gICAgLy8gTm90ZTogV2UgY2Fubm90IGRldGVybWluZSB0aGUgcG9zaXRpb24gb2YgdGhlIG1vdXNlIGV2ZW50IGJhc2VkIG9uIHRoZSBzY3JlZW5cbiAgICAvLyBiZWNhdXNlIHRoZSBkaW1lbnNpb25zIGFuZCBwb3NpdGlvbiBvZiB0aGUgYnJvd3NlciB3aW5kb3cgYXJlIG5vdCBhdmFpbGFibGVcbiAgICAvLyBUbyBwcm92aWRlIHJlYXNvbmFibGUgYHNjcmVlblhgIGFuZCBgc2NyZWVuWWAgY29vcmRpbmF0ZXMsIHdlIHNpbXBseSB1c2UgdGhlXG4gICAgLy8gY2xpZW50IGNvb3JkaW5hdGVzIGFzIGlmIHRoZSBicm93c2VyIGlzIG9wZW5lZCBpbiBmdWxsc2NyZWVuLlxuICAgIGNvbnN0IHNjcmVlblggPSBjbGllbnRYO1xuICAgIGNvbnN0IHNjcmVlblkgPSBjbGllbnRZO1xuXG4gICAgY29uc3QgZXZlbnQgPSBuZXcgTW91c2VFdmVudCh0eXBlLCB7XG4gICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGNvbXBvc2VkOiB0cnVlLCAvLyBSZXF1aXJlZCBmb3Igc2hhZG93IERPTSBldmVudHMuXG4gICAgICAgIHZpZXc6IHdpbmRvdyxcbiAgICAgICAgZGV0YWlsOiAwLFxuICAgICAgICByZWxhdGVkVGFyZ2V0OiBudWxsLFxuICAgICAgICBzY3JlZW5YLFxuICAgICAgICBzY3JlZW5ZLFxuICAgICAgICBjbGllbnRYLFxuICAgICAgICBjbGllbnRZLFxuICAgICAgICBjdHJsS2V5OiBtb2RpZmllcnMuY29udHJvbCxcbiAgICAgICAgYWx0S2V5OiBtb2RpZmllcnMuYWx0LFxuICAgICAgICBzaGlmdEtleTogbW9kaWZpZXJzLnNoaWZ0LFxuICAgICAgICBtZXRhS2V5OiBtb2RpZmllcnMubWV0YSxcbiAgICAgICAgYnV0dG9uOiBidXR0b24sXG4gICAgICAgIGJ1dHRvbnM6IDFcbiAgICB9KTtcblxuICAgIC8vIFRoZSBgTW91c2VFdmVudGAgY29uc3RydWN0b3IgZG9lc24ndCBhbGxvdyB1cyB0byBwYXNzIHRoZXNlIHByb3BlcnRpZXMgaW50byB0aGUgY29uc3RydWN0b3IuXG4gICAgLy8gT3ZlcnJpZGUgdGhlbSB0byBgMWAsIGJlY2F1c2UgdGhleSdyZSB1c2VkIGZvciBmYWtlIHNjcmVlbiByZWFkZXIgZXZlbnQgZGV0ZWN0aW9uLlxuICAgIGlmIChvZmZzZXRYICE9IG51bGwpIHtcbiAgICAgICAgZGVmaW5lUmVhZG9ubHlFdmVudFByb3BlcnR5KGV2ZW50LCAnb2Zmc2V0WCcsIG9mZnNldFgpO1xuICAgIH1cblxuICAgIGlmIChvZmZzZXRZICE9IG51bGwpIHtcbiAgICAgICAgZGVmaW5lUmVhZG9ubHlFdmVudFByb3BlcnR5KGV2ZW50LCAnb2Zmc2V0WScsIG9mZnNldFkpO1xuICAgIH1cblxuICAgIHJldHVybiBldmVudDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgYnJvd3NlciBgUG9pbnRlckV2ZW50YCB3aXRoIHRoZSBzcGVjaWZpZWQgb3B0aW9ucy4gUG9pbnRlciBldmVudHNcbiAqIGJ5IGRlZmF1bHQgd2lsbCBhcHBlYXIgYXMgaWYgdGhleSBhcmUgdGhlIHByaW1hcnkgcG9pbnRlciBvZiB0aGVpciB0eXBlLlxuICogaHR0cHM6Ly93d3cudzMub3JnL1RSL3BvaW50ZXJldmVudHMyLyNkb20tcG9pbnRlcmV2ZW50LWlzcHJpbWFyeS5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgaWYgcG9pbnRlciBldmVudHMgZm9yIGEgbXVsdGktdG91Y2ggaW50ZXJhY3Rpb24gYXJlIGNyZWF0ZWQsIHRoZSBub24tcHJpbWFyeVxuICogcG9pbnRlciB0b3VjaGVzIHdvdWxkIG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgYnkgbm9uLXByaW1hcnkgcG9pbnRlciBldmVudHMuXG4gKlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUG9pbnRlckV2ZW50KFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBjbGllbnRYID0gMCxcbiAgICBjbGllbnRZID0gMCxcbiAgICBvZmZzZXRYPzogbnVtYmVyLFxuICAgIG9mZnNldFk/OiBudW1iZXIsXG4gICAgb3B0aW9uczogUG9pbnRlckV2ZW50SW5pdCA9IHsgaXNQcmltYXJ5OiB0cnVlIH1cbikge1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IFBvaW50ZXJFdmVudCh0eXBlLCB7XG4gICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGNvbXBvc2VkOiB0cnVlLCAvLyBSZXF1aXJlZCBmb3Igc2hhZG93IERPTSBldmVudHMuXG4gICAgICAgIHZpZXc6IHdpbmRvdyxcbiAgICAgICAgY2xpZW50WCxcbiAgICAgICAgY2xpZW50WSxcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgIH0pO1xuXG4gICAgaWYgKG9mZnNldFggIT0gbnVsbCkge1xuICAgICAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICdvZmZzZXRYJywgb2Zmc2V0WCk7XG4gICAgfVxuXG4gICAgaWYgKG9mZnNldFkgIT0gbnVsbCkge1xuICAgICAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICdvZmZzZXRZJywgb2Zmc2V0WSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV2ZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBicm93c2VyIFRvdWNoRXZlbnQgd2l0aCB0aGUgc3BlY2lmaWVkIHBvaW50ZXIgY29vcmRpbmF0ZXMuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUb3VjaEV2ZW50KHR5cGU6IHN0cmluZywgcGFnZVggPSAwLCBwYWdlWSA9IDAsIGNsaWVudFggPSAwLCBjbGllbnRZID0gMCkge1xuICAgIC8vIFdlIGNhbm5vdCB1c2UgdGhlIGBUb3VjaEV2ZW50YCBvciBgVG91Y2hgIGJlY2F1c2UgRmlyZWZveCBhbmQgU2FmYXJpIGxhY2sgc3VwcG9ydC5cbiAgICAvLyBUT0RPOiBTd2l0Y2ggdG8gdGhlIGNvbnN0cnVjdG9yIEFQSSB3aGVuIGl0IGlzIGF2YWlsYWJsZSBmb3IgRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgIGNvbnN0IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1VJRXZlbnQnKTtcbiAgICBjb25zdCB0b3VjaERldGFpbHMgPSB7IHBhZ2VYLCBwYWdlWSwgY2xpZW50WCwgY2xpZW50WSwgaWRlbnRpZmllcjogdW5pcXVlSWRzKysgfTtcblxuICAgIC8vIFRTMy42IHJlbW92ZXMgdGhlIGluaXRVSUV2ZW50IG1ldGhvZCBhbmQgc3VnZ2VzdHMgcG9ydGluZyB0byBcIm5ldyBVSUV2ZW50KClcIi5cbiAgICAoZXZlbnQgYXMgYW55KS5pbml0VUlFdmVudCh0eXBlLCB0cnVlLCB0cnVlLCB3aW5kb3csIDApO1xuXG4gICAgLy8gTW9zdCBvZiB0aGUgYnJvd3NlcnMgZG9uJ3QgaGF2ZSBhIFwiaW5pdFRvdWNoRXZlbnRcIiBtZXRob2QgdGhhdCBjYW4gYmUgdXNlZCB0byBkZWZpbmVcbiAgICAvLyB0aGUgdG91Y2ggZGV0YWlscy5cbiAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICd0b3VjaGVzJywgW3RvdWNoRGV0YWlsc10pO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ3RhcmdldFRvdWNoZXMnLCBbdG91Y2hEZXRhaWxzXSk7XG4gICAgZGVmaW5lUmVhZG9ubHlFdmVudFByb3BlcnR5KGV2ZW50LCAnY2hhbmdlZFRvdWNoZXMnLCBbdG91Y2hEZXRhaWxzXSk7XG5cbiAgICByZXR1cm4gZXZlbnQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGtleWJvYXJkIGV2ZW50IHdpdGggdGhlIHNwZWNpZmllZCBrZXkgYW5kIG1vZGlmaWVycy5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUtleWJvYXJkRXZlbnQodHlwZTogc3RyaW5nLCBrZXlDb2RlOiBudW1iZXIgPSAwLCBrZXk6IHN0cmluZyA9ICcnLCBtb2RpZmllcnM6IE1vZGlmaWVyS2V5cyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBLZXlib2FyZEV2ZW50KHR5cGUsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsIC8vIFJlcXVpcmVkIGZvciBzaGFkb3cgRE9NIGV2ZW50cy5cbiAgICAgICAgdmlldzogd2luZG93LFxuICAgICAgICBrZXlDb2RlOiBrZXlDb2RlLFxuICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgc2hpZnRLZXk6IG1vZGlmaWVycy5zaGlmdCxcbiAgICAgICAgbWV0YUtleTogbW9kaWZpZXJzLm1ldGEsXG4gICAgICAgIGFsdEtleTogbW9kaWZpZXJzLmFsdCxcbiAgICAgICAgY3RybEtleTogbW9kaWZpZXJzLmNvbnRyb2xcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZmFrZSBldmVudCBvYmplY3Qgd2l0aCBhbnkgZGVzaXJlZCBldmVudCB0eXBlLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmFrZUV2ZW50KHR5cGU6IHN0cmluZywgYnViYmxlcyA9IGZhbHNlLCBjYW5jZWxhYmxlID0gdHJ1ZSwgY29tcG9zZWQgPSB0cnVlKSB7XG4gICAgcmV0dXJuIG5ldyBFdmVudCh0eXBlLCB7IGJ1YmJsZXMsIGNhbmNlbGFibGUsIGNvbXBvc2VkIH0pO1xufVxuXG4vKipcbiAqIERlZmluZXMgYSByZWFkb25seSBwcm9wZXJ0eSBvbiB0aGUgZ2l2ZW4gZXZlbnQgb2JqZWN0LiBSZWFkb25seSBwcm9wZXJ0aWVzIG9uIGFuIGV2ZW50IG9iamVjdFxuICogYXJlIGFsd2F5cyBzZXQgYXMgY29uZmlndXJhYmxlIGFzIHRoYXQgbWF0Y2hlcyBkZWZhdWx0IHJlYWRvbmx5IHByb3BlcnRpZXMgZm9yIERPTSBldmVudCBvYmplY3RzLlxuICovXG5mdW5jdGlvbiBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQ6IEV2ZW50LCBwcm9wZXJ0eU5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShldmVudCwgcHJvcGVydHlOYW1lLCB7IGdldDogKCkgPT4gdmFsdWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vZE1vZGlmaWVyS2V5cygpIHtcbiAgICBjb25zdCBtb2RpZmllcnMgPSBJU19NQUMgPyB7IG1ldGE6IHRydWUgfSA6IHsgY29udHJvbDogdHJ1ZSB9O1xuICAgIHJldHVybiBtb2RpZmllcnM7XG59XG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtb2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3Rlc3RpbmcvZmFrZS1ldmVudHMvZXZlbnQtb2JqZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHckQsOENBQThDO0FBQzlDLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztBQUVsQjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLElBQVksRUFDWixPQUFPLEdBQUcsQ0FBQyxFQUNYLE9BQU8sR0FBRyxDQUFDLEVBQ1gsT0FBTyxHQUFHLENBQUMsRUFDWCxPQUFPLEdBQUcsQ0FBQyxFQUNYLE1BQU0sR0FBRyxDQUFDLEVBQ1YsWUFBMEIsRUFBRTtJQUU1QixnRkFBZ0Y7SUFDaEYsOEVBQThFO0lBQzlFLCtFQUErRTtJQUMvRSxnRUFBZ0U7SUFDaEUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3hCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUV4QixNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7UUFDL0IsT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUsSUFBSTtRQUNoQixRQUFRLEVBQUUsSUFBSSxFQUFFLGtDQUFrQztRQUNsRCxJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxDQUFDO1FBQ1QsYUFBYSxFQUFFLElBQUk7UUFDbkIsT0FBTztRQUNQLE9BQU87UUFDUCxPQUFPO1FBQ1AsT0FBTztRQUNQLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztRQUMxQixNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDckIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLO1FBQ3pCLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSTtRQUN2QixNQUFNLEVBQUUs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QUFLO1FBQ3pCLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSTtRQUN2QixNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDckIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO0tBQzdCLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQVksRUFBRSxPQUFPLEdBQUcsS0FBSyxFQUFFLFVBQVUsR0FBRyxJQUFJLEVBQUUsUUFBUSxHQUFHLElBQUk7SUFDN0YsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsMkJBQTJCLENBQUMsS0FBWSxFQUFFLFlBQW9CLEVBQUUsS0FBVTtJQUMvRSxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3pGLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ2pDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzlELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgSVNfTUFDIH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tL2Vudmlyb25tZW50JztcbmltcG9ydCB7IE1vZGlmaWVyS2V5cyB9IGZyb20gJy4uL3Rlc3QtZWxlbWVudCc7XG5cbi8qKiBVc2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBJRHMgZm9yIGV2ZW50cy4gKi9cbmxldCB1bmlxdWVJZHMgPSAwO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBicm93c2VyIE1vdXNlRXZlbnQgd2l0aCB0aGUgc3BlY2lmaWVkIG9wdGlvbnMuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb3VzZUV2ZW50KFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBjbGllbnRYID0gMCxcbiAgICBjbGllbnRZID0gMCxcbiAgICBvZmZzZXRYID0gMSxcbiAgICBvZmZzZXRZID0gMSxcbiAgICBidXR0b24gPSAwLFxuICAgIG1vZGlmaWVyczogTW9kaWZpZXJLZXlzID0ge31cbikge1xuICAgIC8vIE5vdGU6IFdlIGNhbm5vdCBkZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBtb3VzZSBldmVudCBiYXNlZCBvbiB0aGUgc2NyZWVuXG4gICAgLy8gYmVjYXVzZSB0aGUgZGltZW5zaW9ucyBhbmQgcG9zaXRpb24gb2YgdGhlIGJyb3dzZXIgd2luZG93IGFyZSBub3QgYXZhaWxhYmxlXG4gICAgLy8gVG8gcHJvdmlkZSByZWFzb25hYmxlIGBzY3JlZW5YYCBhbmQgYHNjcmVlbllgIGNvb3JkaW5hdGVzLCB3ZSBzaW1wbHkgdXNlIHRoZVxuICAgIC8vIGNsaWVudCBjb29yZGluYXRlcyBhcyBpZiB0aGUgYnJvd3NlciBpcyBvcGVuZWQgaW4gZnVsbHNjcmVlbi5cbiAgICBjb25zdCBzY3JlZW5YID0gY2xpZW50WDtcbiAgICBjb25zdCBzY3JlZW5ZID0gY2xpZW50WTtcblxuICAgIGNvbnN0IGV2ZW50ID0gbmV3IE1vdXNlRXZlbnQodHlwZSwge1xuICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICBjb21wb3NlZDogdHJ1ZSwgLy8gUmVxdWlyZWQgZm9yIHNoYWRvdyBET00gZXZlbnRzLlxuICAgICAgICB2aWV3OiB3aW5kb3csXG4gICAgICAgIGRldGFpbDogMCxcbiAgICAgICAgcmVsYXRlZFRhcmdldDogbnVsbCxcbiAgICAgICAgc2NyZWVuWCxcbiAgICAgICAgc2NyZWVuWSxcbiAgICAgICAgY2xpZW50WCxcbiAgICAgICAgY2xpZW50WSxcbiAgICAgICAgY3RybEtleTogbW9kaWZpZXJzLmNvbnRyb2wsXG4gICAgICAgIGFsdEtleTogbW9kaWZpZXJzLmFsdCxcbiAgICAgICAgc2hpZnRLZXk6IG1vZGlmaWVycy5zaGlmdCxcbiAgICAgICAgbWV0YUtleTogbW9kaWZpZXJzLm1ldGEsXG4gICAgICAgIGJ1dHRvbjogYnV0dG9uLFxuICAgICAgICBidXR0b25zOiAxXG4gICAgfSk7XG5cbiAgICAvLyBUaGUgYE1vdXNlRXZlbnRgIGNvbnN0cnVjdG9yIGRvZXNuJ3QgYWxsb3cgdXMgdG8gcGFzcyB0aGVzZSBwcm9wZXJ0aWVzIGludG8gdGhlIGNvbnN0cnVjdG9yLlxuICAgIC8vIE92ZXJyaWRlIHRoZW0gdG8gYDFgLCBiZWNhdXNlIHRoZXkncmUgdXNlZCBmb3IgZmFrZSBzY3JlZW4gcmVhZGVyIGV2ZW50IGRldGVjdGlvbi5cbiAgICBpZiAob2Zmc2V0WCAhPSBudWxsKSB7XG4gICAgICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ29mZnNldFgnLCBvZmZzZXRYKTtcbiAgICB9XG5cbiAgICBpZiAob2Zmc2V0WSAhPSBudWxsKSB7XG4gICAgICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ29mZnNldFknLCBvZmZzZXRZKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXZlbnQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGJyb3dzZXIgYFBvaW50ZXJFdmVudGAgd2l0aCB0aGUgc3BlY2lmaWVkIG9wdGlvbnMuIFBvaW50ZXIgZXZlbnRzXG4gKiBieSBkZWZhdWx0IHdpbGwgYXBwZWFyIGFzIGlmIHRoZXkgYXJlIHRoZSBwcmltYXJ5IHBvaW50ZXIgb2YgdGhlaXIgdHlwZS5cbiAqIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9wb2ludGVyZXZlbnRzMi8jZG9tLXBvaW50ZXJldmVudC1pc3ByaW1hcnkuXG4gKlxuICogRm9yIGV4YW1wbGUsIGlmIHBvaW50ZXIgZXZlbnRzIGZvciBhIG11bHRpLXRvdWNoIGludGVyYWN0aW9uIGFyZSBjcmVhdGVkLCB0aGUgbm9uLXByaW1hcnlcbiAqIHBvaW50ZXIgdG91Y2hlcyB3b3VsZCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIGJ5IG5vbi1wcmltYXJ5IHBvaW50ZXIgZXZlbnRzLlxuICpcbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBvaW50ZXJFdmVudChcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgY2xpZW50WCA9IDAsXG4gICAgY2xpZW50WSA9IDAsXG4gICAgb2Zmc2V0WD86IG51bWJlcixcbiAgICBvZmZzZXRZPzogbnVtYmVyLFxuICAgIG9wdGlvbnM6IFBvaW50ZXJFdmVudEluaXQgPSB7IGlzUHJpbWFyeTogdHJ1ZSB9XG4pIHtcbiAgICBjb25zdCBldmVudCA9IG5ldyBQb2ludGVyRXZlbnQodHlwZSwge1xuICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICBjb21wb3NlZDogdHJ1ZSwgLy8gUmVxdWlyZWQgZm9yIHNoYWRvdyBET00gZXZlbnRzLlxuICAgICAgICB2aWV3OiB3aW5kb3csXG4gICAgICAgIGNsaWVudFgsXG4gICAgICAgIGNsaWVudFksXG4gICAgICAgIC4uLm9wdGlvbnNcbiAgICB9KTtcblxuICAgIGlmIChvZmZzZXRYICE9IG51bGwpIHtcbiAgICAgICAgZGVmaW5lUmVhZG9ubHlFdmVudFByb3BlcnR5KGV2ZW50LCAnb2Zmc2V0WCcsIG9mZnNldFgpO1xuICAgIH1cblxuICAgIGlmIChvZmZzZXRZICE9IG51bGwpIHtcbiAgICAgICAgZGVmaW5lUmVhZG9ubHlFdmVudFByb3BlcnR5KGV2ZW50LCAnb2Zmc2V0WScsIG9mZnNldFkpO1xuICAgIH1cblxuICAgIHJldHVybiBldmVudDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgYnJvd3NlciBUb3VjaEV2ZW50IHdpdGggdGhlIHNwZWNpZmllZCBwb2ludGVyIGNvb3JkaW5hdGVzLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVG91Y2hFdmVudCh0eXBlOiBzdHJpbmcsIHBhZ2VYID0gMCwgcGFnZVkgPSAwLCBjbGllbnRYID0gMCwgY2xpZW50WSA9IDApIHtcbiAgICAvLyBXZSBjYW5ub3QgdXNlIHRoZSBgVG91Y2hFdmVudGAgb3IgYFRvdWNoYCBiZWNhdXNlIEZpcmVmb3ggYW5kIFNhZmFyaSBsYWNrIHN1cHBvcnQuXG4gICAgLy8gVE9ETzogU3dpdGNoIHRvIHRoZSBjb25zdHJ1Y3RvciBBUEkgd2hlbiBpdCBpcyBhdmFpbGFibGUgZm9yIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICBjb25zdCBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdVSUV2ZW50Jyk7XG4gICAgY29uc3QgdG91Y2hEZXRhaWxzID0geyBwYWdlWCwgcGFnZVksIGNsaWVudFgsIGNsaWVudFksIGlkZW50aWZpZXI6IHVuaXF1ZUlkcysrIH07XG5cbiAgICAvLyBUUzMuNiByZW1vdmVzIHRoZSBpbml0VUlFdmVudCBtZXRob2QgYW5kIHN1Z2dlc3RzIHBvcnRpbmcgdG8gXCJuZXcgVUlFdmVudCgpXCIuXG4gICAgKGV2ZW50IGFzIGFueSkuaW5pdFVJRXZlbnQodHlwZSwgdHJ1ZSwgdHJ1ZSwgd2luZG93LCAwKTtcblxuICAgIC8vIE1vc3Qgb2YgdGhlIGJyb3dzZXJzIGRvbid0IGhhdmUgYSBcImluaXRUb3VjaEV2ZW50XCIgbWV0aG9kIHRoYXQgY2FuIGJlIHVzZWQgdG8gZGVmaW5lXG4gICAgLy8gdGhlIHRvdWNoIGRldGFpbHMuXG4gICAgZGVmaW5lUmVhZG9ubHlFdmVudFByb3BlcnR5KGV2ZW50LCAndG91Y2hlcycsIFt0b3VjaERldGFpbHNdKTtcbiAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICd0YXJnZXRUb3VjaGVzJywgW3RvdWNoRGV0YWlsc10pO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2NoYW5nZWRUb3VjaGVzJywgW3RvdWNoRGV0YWlsc10pO1xuXG4gICAgcmV0dXJuIGV2ZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBrZXlib2FyZCBldmVudCB3aXRoIHRoZSBzcGVjaWZpZWQga2V5IGFuZCBtb2RpZmllcnMuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVLZXlib2FyZEV2ZW50KHR5cGU6IHN0cmluZywga2V5Q29kZTogbnVtYmVyID0gMCwga2V5OiBzdHJpbmcgPSAnJywgbW9kaWZpZXJzOiBNb2RpZmllcktleXMgPSB7fSkge1xuICAgIHJldHVybiBuZXcgS2V5Ym9hcmRFdmVudCh0eXBlLCB7XG4gICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGNvbXBvc2VkOiB0cnVlLCAvLyBSZXF1aXJlZCBmb3Igc2hhZG93IERPTSBldmVudHMuXG4gICAgICAgIHZpZXc6IHdpbmRvdyxcbiAgICAgICAga2V5Q29kZToga2V5Q29kZSxcbiAgICAgICAga2V5OiBrZXksXG4gICAgICAgIHNoaWZ0S2V5OiBtb2RpZmllcnMuc2hpZnQsXG4gICAgICAgIG1ldGFLZXk6IG1vZGlmaWVycy5tZXRhLFxuICAgICAgICBhbHRLZXk6IG1vZGlmaWVycy5hbHQsXG4gICAgICAgIGN0cmxLZXk6IG1vZGlmaWVycy5jb250cm9sXG4gICAgfSk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZha2UgZXZlbnQgb2JqZWN0IHdpdGggYW55IGRlc2lyZWQgZXZlbnQgdHlwZS5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZha2VFdmVudCh0eXBlOiBzdHJpbmcsIGJ1YmJsZXMgPSBmYWxzZSwgY2FuY2VsYWJsZSA9IHRydWUsIGNvbXBvc2VkID0gdHJ1ZSkge1xuICAgIHJldHVybiBuZXcgRXZlbnQodHlwZSwgeyBidWJibGVzLCBjYW5jZWxhYmxlLCBjb21wb3NlZCB9KTtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgcmVhZG9ubHkgcHJvcGVydHkgb24gdGhlIGdpdmVuIGV2ZW50IG9iamVjdC4gUmVhZG9ubHkgcHJvcGVydGllcyBvbiBhbiBldmVudCBvYmplY3RcbiAqIGFyZSBhbHdheXMgc2V0IGFzIGNvbmZpZ3VyYWJsZSBhcyB0aGF0IG1hdGNoZXMgZGVmYXVsdCByZWFkb25seSBwcm9wZXJ0aWVzIGZvciBET00gZXZlbnQgb2JqZWN0cy5cbiAqL1xuZnVuY3Rpb24gZGVmaW5lUmVhZG9ubHlFdmVudFByb3BlcnR5KGV2ZW50OiBFdmVudCwgcHJvcGVydHlOYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXZlbnQsIHByb3BlcnR5TmFtZSwgeyBnZXQ6ICgpID0+IHZhbHVlLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2RNb2RpZmllcktleXMoKSB7XG4gICAgY29uc3QgbW9kaWZpZXJzID0gSVNfTUFDID8geyBtZXRhOiB0cnVlIH0gOiB7IGNvbnRyb2w6IHRydWUgfTtcbiAgICByZXR1cm4gbW9kaWZpZXJzO1xufVxuIl19
@@ -117,4 +117,4 @@ export const BoardTransforms = {
117
117
  updateThemeColor,
118
118
  fitViewportWidth
119
119
  };
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy90cmFuc2Zvcm1zL2JvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUNILGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDOUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR25DLFNBQVMsY0FBYyxDQUFDLEtBQWlCLEVBQUUsV0FBa0IsRUFBRSxJQUFhO0lBQ3hFLElBQUksR0FBRyxJQUFJLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDbkMsV0FBVyxDQUFDLEtBQUssRUFBRTtRQUNmLEdBQUcsS0FBSyxDQUFDLFFBQVE7UUFDakIsSUFBSTtRQUNKLFdBQVc7S0FDZCxDQUFDLENBQUM7SUFDSCx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxpQkFBaUIsR0FBRyxDQUFzQyxLQUFpQixFQUFFLE9BQVUsRUFBRSxFQUFFO0lBQzdGLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxPQUFPO1FBQUUsT0FBTztJQUN0QyxLQUFLLENBQUMsT0FBTyxHQUFH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S0FBSyxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFpQixFQUFFLElBQW9CO0lBQzdELElBQUksR0FBRyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7SUFDMUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTFDLG1CQUFtQixDQUFFLEtBQWlDLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDOUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxXQUFXO0lBQ1gsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixnQkFBZ0I7Q0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoZW1lQ29sb3JNb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90aGVtZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQnO1xuaW1wb3J0IHsgUGxhaXRQb2ludGVyVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnRlcic7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvZWxlbWVudCc7XG5pbXBvcnQgeyBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFJlY3RhbmdsZSB9IGZyb20gJy4uL3V0aWxzL21hdGgnO1xuaW1wb3J0IHtcbiAgICBjbGFtcFpvb21MZXZlbCxcbiAgICBjbGVhclZpZXdwb3J0T3JpZ2luYXRpb24sXG4gICAgZ2V0Vmlld0JveENlbnRlclBvaW50LFxuICAgIGdldFZpZXdwb3J0T3JpZ2luYXRpb24sXG4gICAgaW5pdGlhbGl6ZVZpZXdwb3J0Q29udGFpbmVyXG59IGZyb20gJy4uL3V0aWxzL3ZpZXdwb3J0JztcbmltcG9ydCB7IEJPQVJEX1RPX0NPTVBPTkVOVCB9IGZyb20gJy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBzZXRWaWV3cG9ydCB9IGZyb20gJy4vdmlld3BvcnQnO1xuaW1wb3J0IHsgZGVwdGhGaXJzdFJlY3Vyc2lvbiwgZ2V0UmVhbFNjcm9sbEJhcldpZHRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IHNldFRoZW1lIH0gZnJvbSAnLi90aGVtZSc7XG5pbXBvcnQgeyBGaXRWaWV3cG9ydE9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3ZpZXdwb3J0JztcblxuZnVuY3Rpb24gdXBkYXRlVmlld3BvcnQoYm9hcmQ6IFBsYWl0Qm9hcmQsIG9yaWdpbmF0aW9uOiBQb2ludCwgem9vbT86IG51bWJlcikge1xuICAgIHpvb20gPSB6b29tID8/IGJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgc2V0Vmlld3BvcnQoYm9hcmQsIHtcbiAgICAgICAgLi4uYm9hcmQudmlld3BvcnQsXG4gICAgICAgIHpvb20sXG4gICAgICAgIG9yaWdpbmF0aW9uXG4gICAgfSk7XG4gICAgY2xlYXJWaWV3cG9ydE9yaWdpbmF0aW9uKGJvYXJkKTtcbn1cblxuY29uc3QgdXBkYXRlUG9pbnRlclR5cGUgPSA8VCBleHRlbmRzIHN0cmluZyA9IFBsYWl0UG9pbnRlclR5cGU+KGJvYXJkOiBQbGFpdEJvYXJkLCBwb2ludGVyOiBUKSA9PiB7XG4gICAgaWYgKGJvYXJkLnBvaW50ZXIgPT09IHBvaW50ZXIpIHJldHVybjtcbiAgICBib2FyZC5wb2ludGVyID0gcG9pbnRlcjtcbiAgICBjb25zdCBib2FyZENvbXBvbmVudCA9IEJPQVJEX1RPX0NPTVBPTkVOVC5nZXQoYm9hcmQpO1xuICAgIGJvYXJkQ29tcG9uZW50Py5tYXJrRm9yQ2hlY2soKTtcbn07XG5cbmZ1bmN0aW9uIHVwZGF0ZVpvb20oYm9hcmQ6IFBsYWl0Qm9hcmQsIG5ld1pvb206IG51bWJlciwgaXNDZW50ZXIgPSB0cnVlKSB7XG4gICAgbmV3Wm9vbSA9IGNsYW1wWm9vbUxldmVsKG5ld1pvb20pO1xuXG4gICAgY29uc3QgbW92aW5nUG9pbnQgPSBQbGFpdEJvYXJkLmdldE1vdmluZ1BvaW50SW5Cb2FyZChib2FyZCk7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpO1xuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnRSZWN0ID0gbmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBib2FyZENvbnRhaW5lclJlY3QgPSBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBsZXQgZm9jdXNQb2ludCA9IFtib2FyZENvbnRhaW5lclJlY3Qud2lkdGggLyAyLCBib2FyZENvbnRhaW5lclJlY3QuaGVpZ2h0IC8gMl07XG5cbiAgICBpZiAoIWlzQ2VudGVyICYmIG1vdmluZ1BvaW50ICYmIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUmVjdGFuZ2xlKG1vdmluZ1BvaW50WzBdLCBtb3ZpbmdQb2ludFsxXSwgbmF0aXZlRWxlbWVudFJlY3QpID09PSAwKSB7XG4gICAgICAgIGZvY3VzUG9pbnQgPSBbbW92aW5nUG9pbnRbMF0gLSBuYXRpdmVFbGVtZW50UmVjdC54LCBtb3ZpbmdQb2ludFsxXSAtIG5hdGl2ZUVsZW1lbnRSZWN0LnldO1xuICAgIH1cblxuICAgIGNvbnN0IHpvb20gPSBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIGNvbnN0IG9yaWdpbmF0aW9uID0gZ2V0Vmlld3BvcnRPcmlnaW5hdGlvbihib2FyZCk7XG4gICAgY29uc3QgY2VudGVyWCA9IG9yaWdpbmF0aW9uIVswXSArIGZvY3VzUG9pbnRbMF0gLyB6b29tO1xuICAgIGNvbnN0IGNlbnRlclkgPSBvcmlnaW5hdGlvbiFbMV0gKyBmb2N1c1BvaW50WzFdIC8gem9vbTtcbiAgICBjb25zdCBuZXdPcmlnaW5hdGlvbiA9IFtjZW50ZXJYIC0gZm9jdXNQb2ludFswXSAvIG5ld1pvb20sIGNlbnRlclkgLSBmb2N1c1BvaW50WzFdIC8gbmV3Wm9vbV0gYXMgUG9pbnQ7XG4gICAgdXBkYXRlVmlld3BvcnQoYm9hcmQsIG5ld09yaWdpbmF0aW9uLCBuZXdab29tKTtcbn1cblxuZnVuY3Rpb24gZml0Vmlld3BvcnQoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBsZXQgc2Nyb2xsQmFyV2lkdGggPSBnZXRSZWFsU2Nyb2xsQmFyV2lkdGgoYm9hcmQpO1xuXG4gICAgY29uc3QgYm9hcmRDb250YWluZXJSZWN0ID0gUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgZWxlbWVudEhvc3RCb3ggPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBib2FyZC5jaGlsZHJlbiwgdHJ1ZSk7XG4gICAgY29uc3Qgem9vbSA9IGJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgY29uc3QgYXV0b0ZpdFBhZGRpbmcgPSAxNjtcbiAgICBjb25zdCB2aWV3cG9ydFdpZHRoID0gYm9hcmRDb250YWluZXJSZWN0LndpZHRoIC0gMiAqIGF1dG9GaXRQYWRkaW5nO1xuICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gYm9hcmRDb250YWluZXJSZWN0LmhlaWdodCAtIDIgKiBhdXRvRml0UGFkZGluZztcblxuICAgIGxldCBuZXdab29tID0gem9vbTtcbiAgICBpZiAodmlld3BvcnRXaWR0aCA8IGVsZW1lbnRIb3N0Qm94LndpZHRoIHx8IHZpZXdwb3J0SGVpZ2h0IDwgZWxlbWVudEhvc3RCb3guaGVpZ2h0KSB7XG4gICAgICAgIG5ld1pvb20gPSBNYXRoLm1pbih2aWV3cG9ydFdpZHRoIC8gZWxlbWVudEhvc3RCb3gud2lkdGgsIHZpZXdwb3J0SGVpZ2h0IC8gZWxlbWVudEhvc3RCb3guaGVpZ2h0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBuZXdab29tID0gMTtcbiAgICB9XG5cbiAgICBjb25zdCBjZW50ZXJQb2ludCA9IGdldFZpZXdCb3hDZW50ZXJQb2ludChib2FyZCk7XG4gICAgY29uc3QgbmV3T3JpZ2luYXRpb24gPSBbXG4gICAgICAgIGNlbnRlclBvaW50WzBdIC0gYm9hcmRDb250YWluZXJSZWN0LndpZHRoIC8gMiAvIG5ld1pvb20gKyBzY3JvbGxCYXJXaWR0aCAvIDIgLyB6b29tLFxuICAgICAgICBjZW50ZXJQb2ludFsxXSAtIGJvYXJkQ29udGFpbmVyUmVjdC5oZWlnaHQgLyAyIC8gbmV3Wm9vbSArIHNjcm9sbEJhcldpZHRoIC8gMiAvIHpvb21cbiAgICBdIGFzIFBvaW50O1xuICAgIHVwZGF0ZVZpZXdwb3J0KGJvYXJkLCBuZXdPcmlnaW5hdGlvbiwgbmV3Wm9vbSk7XG59XG5cbmZ1bmN0aW9uIGZpdFZpZXdwb3J0V2lkdGgoYm9hcmQ6IFBsYWl0Qm9hcmQsIG9wdGlvbnM6IEZpdFZpZXdwb3J0T3B0aW9ucykge1xuICAgIGxldCBzY3JvbGxCYXJXaWR0aCA9IGdldFJlYWxTY3JvbGxCYXJXaWR0aChib2FyZCk7XG5cbiAgICBjb25zdCBib2FyZENvbnRhaW5lciA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpO1xuICAgIGNvbnN0IGJvYXJkQ29udGFpbmVyUmVjdGFuZ2xlID0gYm9hcmRDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBsZXQgZmluYWxXaWR0aCA9IDA7XG4gICAgaWYgKG9wdGlvbnMubWF4V2lkdGgpIHtcbiAgICAgICAgZmluYWxXaWR0aCA9IG9wdGlvbnMubWF4V2lkdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZmluYWxXaWR0aCA9IGJvYXJkQ29udGFpbmVyUmVjdGFuZ2xlLndpZHRoO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnRIb3N0Qm94ID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgYm9hcmQuY2hpbGRyZW4sIHRydWUpO1xuICAgIGNvbnN0IGNvbnRlbnRXaWR0aCA9IGZpbmFsV2lkdGggLSAyICogb3B0aW9ucy5hdXRvRml0UGFkZGluZztcbiAgICBsZXQgbmV3Wm9vbSA9IDA7XG4gICAgaWYgKGNvbnRlbnRXaWR0aCA8IGVsZW1lbnRIb3N0Qm94LndpZHRoKSB7XG4gICAgICAgIG5ld1pvb20gPSBNYXRoLm1pbihjb250ZW50V2lkdGggLyBlbGVtZW50SG9zdEJveC53aWR0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbmV3Wm9vbSA9IDE7XG4gICAgfVxuXG4gICAgbGV0IGZpbmFsSGVpZ2h0ID0gZWxlbWVudEhvc3RCb3guaGVpZ2h0ICogbmV3Wm9vbSArIDIgKiBvcHRpb25zLmF1dG9GaXRQYWRkaW5nO1xuICAgIGlmIChmaW5hbEhlaWdodCA+IG9wdGlvbnMubGltaXRIZWlnaHQpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyRWwgPSBib2FyZENvbnRhaW5lci5jbG9zZXN0KGAuJHtvcHRpb25zLmNvbnRhaW5lckNsYXNzfWApIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb250YWluZXJFbC5zdHlsZS5oZWlnaHQgPSBgJHtmaW5hbEhlaWdodH1weGA7XG4gICAgICAgIGluaXRpYWxpemVWaWV3cG9ydENvbnRhaW5lcihib2FyZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZmluYWxIZWlnaHQgPSBvcHRpb25zLmxpbWl0SGVpZ2h0O1xuICAgIH1cblxuICAgIGNvbnN0IGNlbnRlclggPSBlbGVtZW50SG9zdEJveC54ICsgZWxlbWVudEhvc3RCb3gud2lkdGggLyAyO1xuICAgIGNvbnN0IGNlbnRlclkgPSBlbGVtZW50SG9zdEJveC55ICsgZWxlbWVudEhvc3RCb3guaGVpZ2h0IC8gMjtcbiAgICBjb25zdCBuZXdPcmlnaW5hdGlvbiA9IFtcbiAgICAgICAgY2VudGVyWCAtIGZpbmFsV2lkdGggLyAyIC8gbmV3Wm9vbSArIHNjcm9sbEJhcldpZHRoIC8gMiAvIG5ld1pvb20sXG4gICAgICAgIGNlbnRlclkgLSBmaW5hbEhlaWdodCAvIDIgLyBuZXdab29tICsgc2Nyb2xsQmFyV2lkdGggLyAyIC8gbmV3Wm9vbVxuICAgIF0gYXMgUG9pbnQ7XG4gICAgdXBkYXRlVmlld3BvcnQoYm9hcmQsIG5ld09yaWdpbmF0aW9uLCBuZXdab29tKTtcbn1cblxuLyoqXG4gKiBhcHBseSB0aGVtZSB0byBldmVyeSBlbGVtZW50IChyZW1vdmUgZWxlbWVudCBjdXN0b20gcHJvcGVydGllcylcbiAqIGludm9rZSBhcHBseVRoZW1lQ29sb3JcbiAqL1xuZnVuY3Rpb24gdXBkYXRlVGhlbWVDb2xvcihib2FyZDogUGxhaXRCb2FyZCwgbW9kZTogVGhlbWVDb2xvck1vZGUpIHtcbiAgICBtb2RlID0gbW9kZSA/PyBib2FyZC50aGVtZS50aGVtZUNvbG9yTW9kZTtcbiAgICBzZXRUaGVtZShib2FyZCwgeyB0aGVtZUNvbG9yTW9kZTogbW9kZSB9KTtcblxuICAgIGRlcHRoRmlyc3RSZWN1cnNpb24oKGJvYXJkIGFzIHVua25vd24pIGFzIFBsYWl0RWxlbWVudCwgZWxlbWVudCA9PiB7XG4gICAgICAgIGJvYXJkLmFwcGx5VGhlbWUoZWxlbWVudCk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBCb2FyZFRyYW5zZm9ybXMgPSB7XG4gICAgdXBkYXRlUG9pbnRlclR5cGUsXG4gICAgdXBkYXRlVmlld3BvcnQsXG4gICAgZml0Vmlld3BvcnQsXG4gICAgdXBkYXRlWm9vbSxcbiAgICB1cGRhdGVUaGVtZUNvbG9yLFxuICAgIGZpdFZpZXdwb3J0V2lkdGhcbn07XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy90cmFuc2Zvcm1zL2JvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUNILGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDOUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR25DLFNBQVMsY0FBYyxDQUFDLEtBQWlCLEVBQUUsV0FBa0IsRUFBRSxJQUFhO0lBQ3hFLElBQUksR0FBRyxJQUFJLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDbkMsV0FBVyxDQUFDLEtBQUssRUFBRTtRQUNmLEdBQUcsS0FBSyxDQUFDLFFBQVE7UUFDakIsSUFBSTtRQUNKLFdBQVc7S0FDZCxDQUFDLENBQUM7SUFDSCx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxpQkFBaUIsR0FBRyxDQUFzQyxLQUFpQixFQUFFLE9BQVUsRUFBRSxFQUFFO0lBQzdGLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxPQUFPO1FBQUUsT0FBTztJQUN0QyxLQUFLLENBQUMsT0FBTyxHQUFH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LE9BQU8sR0FBRyxXQUFXLEdBQUcsQ0FBQyxHQUFHLE9BQU8sR0FBRyxjQUFjLEdBQUcsQ0FBQyxHQUFHLE9BQU87S0FDNUQsQ0FBQztJQUNYLGNBQWMsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLGdCQUFnQixDQUFDLEtBQWlCLEVBQUUsSUFBb0I7SUFDN0QsSUFBSSxHQUFHLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztJQUMxQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFMUMsbUJBQW1CLENBQUUsS0FBaUMsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUM5RCxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixpQkFBaUI7SUFDakIsY0FBYztJQUNkLFdBQVc7SUFDWCxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtDQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGhlbWVDb2xvck1vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RoZW1lJztcbmltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBQbGFpdFBvaW50ZXJUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludGVyJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9lbGVtZW50JztcbmltcG9ydCB7IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUmVjdGFuZ2xlIH0gZnJvbSAnLi4vdXRpbHMvbWF0aCc7XG5pbXBvcnQge1xuICAgIGNsYW1wWm9vbUxldmVsLFxuICAgIGNsZWFyVmlld3BvcnRPcmlnaW5hdGlvbixcbiAgICBnZXRWaWV3Qm94Q2VudGVyUG9pbnQsXG4gICAgZ2V0Vmlld3BvcnRPcmlnaW5hdGlvbixcbiAgICBpbml0aWFsaXplVmlld3BvcnRDb250YWluZXJcbn0gZnJvbSAnLi4vdXRpbHMvdmlld3BvcnQnO1xuaW1wb3J0IHsgQk9BUkRfVE9fQ09NUE9ORU5UIH0gZnJvbSAnLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IHNldFZpZXdwb3J0IH0gZnJvbSAnLi92aWV3cG9ydCc7XG5pbXBvcnQgeyBkZXB0aEZpcnN0UmVjdXJzaW9uLCBnZXRSZWFsU2Nyb2xsQmFyV2lkdGggfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBQbGFpdEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgc2V0VGhlbWUgfSBmcm9tICcuL3RoZW1lJztcbmltcG9ydCB7IEZpdFZpZXdwb3J0T3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvdmlld3BvcnQnO1xuXG5mdW5jdGlvbiB1cGRhdGVWaWV3cG9ydChib2FyZDogUGxhaXRCb2FyZCwgb3JpZ2luYXRpb246IFBvaW50LCB6b29tPzogbnVtYmVyKSB7XG4gICAgem9vbSA9IHpvb20gPz8gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICBzZXRWaWV3cG9ydChib2FyZCwge1xuICAgICAgICAuLi5ib2FyZC52aWV3cG9ydCxcbiAgICAgICAgem9vbSxcbiAgICAgICAgb3JpZ2luYXRpb25cbiAgICB9KTtcbiAgICBjbGVhclZpZXdwb3J0T3JpZ2luYXRpb24oYm9hcmQpO1xufVxuXG5jb25zdCB1cGRhdGVQb2ludGVyVHlwZSA9IDxUIGV4dGVuZHMgc3RyaW5nID0gUGxhaXRQb2ludGVyVHlwZT4oYm9hcmQ6IFBsYWl0Qm9hcmQsIHBvaW50ZXI6IFQpID0+IHtcbiAgICBpZiAoYm9hcmQucG9pbnRlciA9PT0gcG9pbnRlcikgcmV0dXJuO1xuICAgIGJvYXJkLnBvaW50ZXIgPSBwb2ludGVyO1xuICAgIGNvbnN0IGJvYXJkQ29tcG9uZW50ID0gQk9BUkRfVE9fQ09NUE9ORU5ULmdldChib2FyZCk7XG4gICAgYm9hcmRDb21wb25lbnQ/Lm1hcmtGb3JDaGVjaygpO1xufTtcblxuZnVuY3Rpb24gdXBkYXRlWm9vbShib2FyZDogUGxhaXRCb2FyZCwgbmV3Wm9vbTogbnVtYmVyLCBpc0NlbnRlciA9IHRydWUpIHtcbiAgICBuZXdab29tID0gY2xhbXBab29tTGV2ZWwobmV3Wm9vbSk7XG5cbiAgICBjb25zdCBtb3ZpbmdQb2ludCA9IFBsYWl0Qm9hcmQuZ2V0TW92aW5nUG9pbnRJbkJvYXJkKGJvYXJkKTtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCk7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudFJlY3QgPSBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGJvYXJkQ29udGFpbmVyUmVjdCA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGxldCBmb2N1c1BvaW50ID0gW2JvYXJkQ29udGFpbmVyUmVjdC53aWR0aCAvIDIsIGJvYXJkQ29udGFpbmVyUmVjdC5oZWlnaHQgLyAyXTtcblxuICAgIGlmICghaXNDZW50ZXIgJiYgbW92aW5nUG9pbnQgJiYgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUobW92aW5nUG9pbnRbMF0sIG1vdmluZ1BvaW50WzFdLCBuYXRpdmVFbGVtZW50UmVjdCkgPT09IDApIHtcbiAgICAgICAgZm9jdXNQb2ludCA9IFttb3ZpbmdQb2ludFswXSAtIG5hdGl2ZUVsZW1lbnRSZWN0LngsIG1vdmluZ1BvaW50WzFdIC0gbmF0aXZlRWxlbWVudFJlY3QueV07XG4gICAgfVxuXG4gICAgY29uc3Qgem9vbSA9IGJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgY29uc3Qgb3JpZ2luYXRpb24gPSBnZXRWaWV3cG9ydE9yaWdpbmF0aW9uKGJvYXJkKTtcbiAgICBjb25zdCBjZW50ZXJYID0gb3JpZ2luYXRpb24hWzBdICsgZm9jdXNQb2ludFswXSAvIHpvb207XG4gICAgY29uc3QgY2VudGVyWSA9IG9yaWdpbmF0aW9uIVsxXSArIGZvY3VzUG9pbnRbMV0gLyB6b29tO1xuICAgIGNvbnN0IG5ld09yaWdpbmF0aW9uID0gW2NlbnRlclggLSBmb2N1c1BvaW50WzBdIC8gbmV3Wm9vbSwgY2VudGVyWSAtIGZvY3VzUG9pbnRbMV0gLyBuZXdab29tXSBhcyBQb2ludDtcbiAgICB1cGRhdGVWaWV3cG9ydChib2FyZCwgbmV3T3JpZ2luYXRpb24sIG5ld1pvb20pO1xufVxuXG5mdW5jdGlvbiBmaXRWaWV3cG9ydChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIGxldCBzY3JvbGxCYXJXaWR0aCA9IGdldFJlYWxTY3JvbGxCYXJXaWR0aChib2FyZCk7XG5cbiAgICBjb25zdCBib2FyZENvbnRhaW5lclJlY3QgPSBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBlbGVtZW50SG9zdEJveCA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGJvYXJkLmNoaWxkcmVuLCB0cnVlKTtcbiAgICBjb25zdCB6b29tID0gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICBjb25zdCBhdXRvRml0UGFkZGluZyA9IDE2O1xuICAgIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBib2FyZENvbnRhaW5lclJlY3Qud2lkdGggLSAyICogYXV0b0ZpdFBhZGRpbmc7XG4gICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSBib2FyZENvbnRhaW5lclJlY3QuaGVpZ2h0IC0gMiAqIGF1dG9GaXRQYWRkaW5nO1xuXG4gICAgbGV0IG5ld1pvb20gPSB6b29tO1xuICAgIGlmICh2aWV3cG9ydFdpZHRoIDwgZWxlbWVudEhvc3RCb3gud2lkdGggfHwgdmlld3BvcnRIZWlnaHQgPCBlbGVtZW50SG9zdEJveC5oZWlnaHQpIHtcbiAgICAgICAgbmV3Wm9vbSA9IE1hdGgubWluKHZpZXdwb3J0V2lkdGggLyBlbGVtZW50SG9zdEJveC53aWR0aCwgdmlld3BvcnRIZWlnaHQgLyBlbGVtZW50SG9zdEJveC5oZWlnaHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1pvb20gPSAxO1xuICAgIH1cblxuICAgIGNvbnN0IGNlbnRlclBvaW50ID0gZ2V0Vmlld0JveENlbnRlclBvaW50KGJvYXJkKTtcbiAgICBjb25zdCBuZXdPcmlnaW5hdGlvbiA9IFtcbiAgICAgICAgY2VudGVyUG9pbnRbMF0gLSBib2FyZENvbnRhaW5lclJlY3Qud2lkdGggLyAyIC8gbmV3Wm9vbSArIHNjcm9sbEJhcldpZHRoIC8gMiAvIHpvb20sXG4gICAgICAgIGNlbnRlclBvaW50WzFdIC0gYm9hcmRDb250YWluZXJSZWN0LmhlaWdodCAvIDIgLyBuZXdab29tICsgc2Nyb2xsQmFyV2lkdGggLyAyIC8gem9vbVxuICAgIF0gYXMgUG9pbnQ7XG4gICAgdXBkYXRlVmlld3BvcnQoYm9hcmQsIG5ld09yaWdpbmF0aW9uLCBuZXdab29tKTtcbn1cblxuZnVuY3Rpb24gZml0Vmlld3BvcnRXaWR0aChib2FyZDogUGxhaXRCb2FyZCwgb3B0aW9uczogRml0Vmlld3BvcnRPcHRpb25zKSB7XG4gICAgbGV0IHNjcm9sbEJhcldpZHRoID0gZ2V0UmVhbFNjcm9sbEJhcldpZHRoKGJvYXJkKTtcblxuICAgIGNvbnN0IGJvYXJkQ29udGFpbmVyID0gUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCk7XG4gICAgY29uc3QgYm9hcmRDb250YWluZXJSZWN0YW5nbGUgPSBib2FyZENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGxldCBmaW5hbFdpZHRoID0gMDtcbiAgICBpZiAob3B0aW9ucy5tYXhXaWR0aCkge1xuICAgICAgICBmaW5hbFdpZHRoID0gb3B0aW9ucy5tYXhXaWR0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBmaW5hbFdpZHRoID0gYm9hcmRDb250YWluZXJSZWN0YW5nbGUud2lkdGg7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudEhvc3RCb3ggPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBib2FyZC5jaGlsZHJlbiwgdHJ1ZSk7XG4gICAgY29uc3QgY29udGVudFdpZHRoID0gZmluYWxXaWR0aCAtIDIgKiBvcHRpb25zLmF1dG9GaXRQYWRkaW5nO1xuICAgIGxldCBuZXdab29tID0gMDtcbiAgICBpZiAoY29udGVudFdpZHRoIDwgZWxlbWVudEhvc3RCb3gud2lkdGgpIHtcbiAgICAgICAgbmV3Wm9vbSA9IE1hdGgubWluKGNvbnRlbnRXaWR0aCAvIGVsZW1lbnRIb3N0Qm94LndpZHRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBuZXdab29tID0gMTtcbiAgICB9XG5cbiAgICBsZXQgZmluYWxIZWlnaHQgPSBlbGVtZW50SG9zdEJveC5oZWlnaHQgKiBuZXdab29tICsgMiAqIG9wdGlvbnMuYXV0b0ZpdFBhZGRpbmc7XG4gICAgaWYgKGZpbmFsSGVpZ2h0ID4gb3B0aW9ucy5saW1pdEhlaWdodCkge1xuICAgICAgICBjb25zdCBjb250YWluZXJFbCA9IGJvYXJkQ29udGFpbmVyLmNsb3Nlc3QoYC4ke29wdGlvbnMuY29udGFpbmVyQ2xhc3N9YCkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnRhaW5lckVsLnN0eWxlLmhlaWdodCA9IGAke2ZpbmFsSGVpZ2h0fXB4YDtcbiAgICAgICAgaW5pdGlhbGl6ZVZpZXdwb3J0Q29udGFpbmVyKGJvYXJkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBmaW5hbEhlaWdodCA9IG9wdGlvbnMubGltaXRIZWlnaHQ7XG4gICAgfVxuXG4gICAgY29uc3QgY2VudGVyWCA9IGVsZW1lbnRIb3N0Qm94LnggKyBlbGVtZW50SG9zdEJveC53aWR0aCAvIDI7XG4gICAgY29uc3QgY2VudGVyWSA9IGVsZW1lbnRIb3N0Qm94LnkgKyBlbGVtZW50SG9zdEJveC5oZWlnaHQgLyAyO1xuICAgIGNvbnN0IG5ld09yaWdpbmF0aW9uID0gW1xuICAgICAgICBjZW50ZXJYIC0gZmluYWxXaWR0aCAvIDIgLyBuZXdab29tICsgc2Nyb2xsQmFyV2lkdGggLyAyIC8gbmV3Wm9vbSxcbiAgICAgICAgY2VudGVyWSAtIGZpbmFsSGVpZ2h0IC8gMiAvIG5ld1pvb20gKyBzY3JvbGxCYXJXaWR0aCAvIDIgLyBuZXdab29tXG4gICAgXSBhcyBQb2ludDtcbiAgICB1cGRhdGVWaWV3cG9ydChib2FyZCwgbmV3T3JpZ2luYXRpb24sIG5ld1pvb20pO1xufVxuXG4vKipcbiAqIGFwcGx5IHRoZW1lIHRvIGV2ZXJ5IGVsZW1lbnQgKHJlbW92ZSBlbGVtZW50IGN1c3RvbSBwcm9wZXJ0aWVzKVxuICogaW52b2tlIGFwcGx5VGhlbWVDb2xvclxuICovXG5mdW5jdGlvbiB1cGRhdGVUaGVtZUNvbG9yKGJvYXJkOiBQbGFpdEJvYXJkLCBtb2RlOiBUaGVtZUNvbG9yTW9kZSkge1xuICAgIG1vZGUgPSBtb2RlID8/IGJvYXJkLnRoZW1lLnRoZW1lQ29sb3JNb2RlO1xuICAgIHNldFRoZW1lKGJvYXJkLCB7IHRoZW1lQ29sb3JNb2RlOiBtb2RlIH0pO1xuXG4gICAgZGVwdGhGaXJzdFJlY3Vyc2lvbigoYm9hcmQgYXMgdW5rbm93bikgYXMgUGxhaXRFbGVtZW50LCBlbGVtZW50ID0+IHtcbiAgICAgICAgYm9hcmQuYXBwbHlUaGVtZShlbGVtZW50KTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IEJvYXJkVHJhbnNmb3JtcyA9IHtcbiAgICB1cGRhdGVQb2ludGVyVHlwZSxcbiAgICB1cGRhdGVWaWV3cG9ydCxcbiAgICBmaXRWaWV3cG9ydCxcbiAgICB1cGRhdGVab29tLFxuICAgIHVwZGF0ZVRoZW1lQ29sb3IsXG4gICAgZml0Vmlld3BvcnRXaWR0aFxufTtcbiJdfQ==
@@ -143,4 +143,4 @@ export const GeneralTransforms = {
143
143
  }
144
144
  }
145
145
  };
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3RyYW5zZm9ybXMvZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFPMUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFNBQTJCLEVBQUUsUUFBa0IsRUFBRSxLQUFpQixFQUFFLEVBQWtCLEVBQUUsRUFBRTtJQUMvSCxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUU7UUFDYixLQUFLLGFBQWEsQ0FBQyxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQzFCLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRXBDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDcEQsTUFBTSxJQUFJLEtBQUssQ0FDWCxvREFBb0QsSUFBSSx3REFBd0QsQ0FDbkgsQ0FBQzthQUNMO1lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN2QyxNQUFNO1NBQ1Q7UUFDRCxLQUFLLGFBQWEsQ0FBQyxDQUFD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QUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxXQUFXLENBQUMsU0FBUyxDQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzthQUM1RjtpQkFBTTtnQkFDSCxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUMxQjtZQUVELEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBRSxXQUFXLENBQUMsUUFBUSxDQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNwRixLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDN0Q7SUFDTCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0T3BlcmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vcGVyYXRpb24nO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgY3JlYXRlRHJhZnQsIGZpbmlzaERyYWZ0LCBpc0RyYWZ0IH0gZnJvbSAnaW1tZXInO1xuaW1wb3J0IHsgVmlld3BvcnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3ZpZXdwb3J0JztcbmltcG9ydCB7IFNlbGVjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2VsZWN0aW9uJztcbmltcG9ydCB7IEFuY2VzdG9yLCBQbGFpdE5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgUGF0aCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcGF0aCc7XG5pbXBvcnQgeyBQbGFpdFRoZW1lIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90aGVtZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhbFRyYW5zZm9ybXMge1xuICAgIHRyYW5zZm9ybTogKGJvYXJkOiBQbGFpdEJvYXJkLCBvcDogUGxhaXRPcGVyYXRpb24pID0+IHZvaWQ7XG59XG5cbmNvbnN0IGFwcGx5VG9EcmFmdCA9IChib2FyZDogUGxhaXRCb2FyZCwgc2VsZWN0aW9uOiBTZWxlY3Rpb24gfCBudWxsLCB2aWV3cG9ydDogVmlld3BvcnQsIHRoZW1lOiBQbGFpdFRoZW1lLCBvcDogUGxhaXRPcGVyYXRpb24pID0+IHtcbiAgICBzd2l0Y2ggKG9wLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnaW5zZXJ0X25vZGUnOiB7XG4gICAgICAgICAgICBjb25zdCB7IHBhdGgsIG5vZGUgfSA9IG9wO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gUGxhaXROb2RlLnBhcmVudChib2FyZCwgcGF0aCk7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhdGhbcGF0aC5sZW5ndGggLSAxXTtcblxuICAgICAgICAgICAgaWYgKCFwYXJlbnQuY2hpbGRyZW4gfHwgaW5kZXggPiBwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgQ2Fubm90IGFwcGx5IGFuIFwiaW5zZXJ0X25vZGVcIiBvcGVyYXRpb24gYXQgcGF0aCBbJHtwYXRofV0gYmVjYXVzZSB0aGUgZGVzdGluYXRpb24gaXMgcGFzdCB0aGUgZW5kIG9mIHRoZSBub2RlLmBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGluZGV4LCAwLCBub2RlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3JlbW92ZV9ub2RlJzoge1xuICAgICAgICAgICAgY29uc3QgeyBwYXRoIH0gPSBvcDtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5wYXJlbnQoYm9hcmQsIHBhdGgpO1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIGlmICghcGFyZW50LmNoaWxkcmVuIHx8IGluZGV4ID4gcGFyZW50LmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYENhbm5vdCBhcHBseSBhbiBcImluc2VydF9ub2RlXCIgb3BlcmF0aW9uIGF0IHBhdGggWyR7cGF0aH1dIGJlY2F1c2UgdGhlIGRlc3RpbmF0aW9uIGlzIHBhc3QgdGhlIGVuZCBvZiB0aGUgbm9kZS5gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcmVudC5jaGlsZHJlbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnbW92ZV9ub2RlJzoge1xuICAgICAgICAgICAgY29uc3QgeyBwYXRoLCBuZXdQYXRoIH0gPSBvcDtcblxuICAgICAgICAgICAgaWYgKFBhdGguaXNBbmNlc3RvcihwYXRoLCBuZXdQYXRoKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IG1vdmUgYSBwYXRoIFske3BhdGh9XSB0byBuZXcgcGF0aCBbJHtuZXdQYXRofV0gYmVjYXVzZSB0aGUgZGVzdGluYXRpb24gaXMgaW5zaWRlIGl0c2VsZi5gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIHBhdGgpO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gUGxhaXROb2RlLnBhcmVudChib2FyZCwgcGF0aCk7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhdGhbcGF0aC5sZW5ndGggLSAxXTtcblxuICAgICAgICAgICAgLy8gVGhpcyBpcyB0cmlja3ksIGJ1dCBzaW5jZSB0aGUgYHBhdGhgIGFuZCBgbmV3UGF0aGAgYm90aCByZWZlciB0b1xuICAgICAgICAgICAgLy8gdGhlIHNhbWUgc25hcHNob3QgaW4gdGltZSwgdGhlcmUncyBhIG1pc21hdGNoLiBBZnRlciBlaXRoZXJcbiAgICAgICAgICAgIC8vIHJlbW92aW5nIHRoZSBvcmlnaW5hbCBwb3NpdGlvbiwgdGhlIHNlY29uZCBzdGVwJ3MgcGF0aCBjYW4gYmUgb3V0XG4gICAgICAgICAgICAvLyBvZiBkYXRlLiBTbyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBgb3AubmV3UGF0aGAgZGlyZWN0bHksIHdlXG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm0gYG9wLnBhdGhgIHRvIGFzY2VydGFpbiB3aGF0IHRoZSBgbmV3UGF0aGAgd291bGQgYmUgYWZ0ZXJcbiAgICAgICAgICAgIC8vIHRoZSBvcGVyYXRpb24gd2FzIGFwcGxpZWQuXG4gICAgICAgICAgICBwYXJlbnQuY2hpbGRyZW4/LnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICBjb25zdCB0cnVlUGF0aCA9IFBhdGgudHJhbnNmb3JtKHBhdGgsIG9wKSE7XG4gICAgICAgICAgICBjb25zdCBuZXdQYXJlbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnBhcmVudCh0cnVlUGF0aCkpIGFzIEFuY2VzdG9yO1xuICAgICAgICAgICAgY29uc3QgbmV3SW5kZXggPSB0cnVlUGF0aFt0cnVlUGF0aC5sZW5ndGggLSAxXTtcblxuICAgICAgICAgICAgbmV3UGFyZW50LmNoaWxkcmVuPy5zcGxpY2UobmV3SW5kZXgsIDAsIG5vZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnc2V0X25vZGUnOiB7XG4gICAgICAgICAgICBjb25zdCB7IHBhdGgsIHByb3BlcnRpZXMsIG5ld1Byb3BlcnRpZXMgfSA9IG9wO1xuXG4gICAgICAgICAgICBpZiAocGF0aC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzZXQgcHJvcGVydGllcyBvbiB0aGUgcm9vdCBub2RlIWApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBub2RlID0gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCk7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIG5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG5ld1Byb3BlcnRpZXNba2V5XTtcblxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBub2RlW2tleV07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZVtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBwcmV2aW91c2x5IGRlZmluZWQsIGJ1dCBhcmUgbm93IG1pc3NpbmcsIG11c3QgYmUgZGVsZXRlZFxuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gcHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgIGlmICghbmV3UHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBub2RlW2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdzZXRfdmlld3BvcnQnOiB7XG4gICAgICAgICAgICBjb25zdCB7IG5ld1Byb3BlcnRpZXMgfSA9IG9wO1xuICAgICAgICAgICAgaWYgKG5ld1Byb3BlcnRpZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZpZXdwb3J0ID0gbmV3UHJvcGVydGllcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHZpZXdwb3J0ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFWaWV3cG9ydC5pc1ZpZXdwb3J0KG5ld1Byb3BlcnRpZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYENhbm5vdCBhcHBseSBhbiBpbmNvbXBsZXRlIFwic2V0X3ZpZXdwb3J0XCIgb3BlcmF0aW9uIHByb3BlcnRpZXMgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9IHdoZW4gdGhlcmUgaXMgbm8gY3VycmVudCB2aWV3cG9ydC5gXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0ID0geyAuLi5uZXdQcm9wZXJ0aWVzIH07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG5ld1Byb3BlcnRpZXNba2V5XTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHZpZXdwb3J0W2tleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3cG9ydFtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdzZXRfc2VsZWN0aW9uJzoge1xuICAgICAgICAgICAgY29uc3QgeyBuZXdQcm9wZXJ0aWVzIH0gPSBvcDtcbiAgICAgICAgICAgIGlmIChuZXdQcm9wZXJ0aWVzID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb24gPSBuZXdQcm9wZXJ0aWVzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbiA9IG9wLm5ld1Byb3BlcnRpZXM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uID0gbmV3UHJvcGVydGllcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdzZXRfdGhlbWUnOiB7XG4gICAgICAgICAgICBjb25zdCB7IG5ld1Byb3BlcnRpZXMgfSA9IG9wO1xuICAgICAgICAgICAgdGhlbWUgPSBuZXdQcm9wZXJ0aWVzIGFzIFBsYWl0VGhlbWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBzZWxlY3Rpb24sIHZpZXdwb3J0LCB0aGVtZSB9O1xufTtcblxuZXhwb3J0IGNvbnN0IEdlbmVyYWxUcmFuc2Zvcm1zOiBHZW5lcmFsVHJhbnNmb3JtcyA9IHtcbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm0gdGhlIGJvYXJkIGJ5IGFuIG9wZXJhdGlvbi5cbiAgICAgKi9cbiAgICB0cmFuc2Zvcm0oYm9hcmQ6IFBsYWl0Qm9hcmQsIG9wOiBQbGFpdE9wZXJhdGlvbik6IHZvaWQge1xuICAgICAgICBib2FyZC5jaGlsZHJlbiA9IGNyZWF0ZURyYWZ0KGJvYXJkLmNoaWxkcmVuKTtcbiAgICAgICAgbGV0IHZpZXdwb3J0ID0gYm9hcmQudmlld3BvcnQgJiYgY3JlYXRlRHJhZnQoYm9hcmQudmlld3BvcnQpO1xuICAgICAgICBsZXQgc2VsZWN0aW9uID0gYm9hcmQuc2VsZWN0aW9uICYmIGNyZWF0ZURyYWZ0KGJvYXJkLnNlbGVjdGlvbik7XG4gICAgICAgIGxldCB0aGVtZSA9IGJvYXJkLnRoZW1lICYmIGNyZWF0ZURyYWZ0KGJvYXJkLnRoZW1lKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSBhcHBseVRvRHJhZnQoYm9hcmQsIHNlbGVjdGlvbiwgdmlld3BvcnQsIHRoZW1lLCBvcCk7XG4gICAgICAgICAgICB2aWV3cG9ydCA9IHN0YXRlLnZpZXdwb3J0O1xuICAgICAgICAgICAgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0aW9uO1xuICAgICAgICAgICAgdGhlbWUgPSBzdGF0ZS50aGVtZTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGJvYXJkLmNoaWxkcmVuID0gZmluaXNoRHJhZnQoYm9hcmQuY2hpbGRyZW4pO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgYm9hcmQuc2VsZWN0aW9uID0gaXNEcmFmdChzZWxlY3Rpb24pID8gKGZpbmlzaERyYWZ0KHNlbGVjdGlvbikgYXMgU2VsZWN0aW9uKSA6IHNlbGVjdGlvbjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYm9hcmQuc2VsZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYm9hcmQudmlld3BvcnQgPSBpc0RyYWZ0KHZpZXdwb3J0KSA/IChmaW5pc2hEcmFmdCh2aWV3cG9ydCkgYXMgVmlld3BvcnQpIDogdmlld3BvcnQ7XG4gICAgICAgICAgICBib2FyZC50aGVtZSA9IGlzRHJhZnQodGhlbWUpID8gZmluaXNoRHJhZnQodGhlbWUpIDogdGhlbWU7XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3RyYW5zZm9ybXMvZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFPMUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFNBQTJCLEVBQUUsUUFBa0IsRUFBRSxLQUFpQixFQUFFLEVBQWtCLEVBQUUsRUFBRTtJQUMvSCxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNqQixNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUMxQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUVwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDckQsTUFBTSxJQUFJLEtBQUssQ0FDWCxvREFBb0QsSUFBSSx3REFBd0QsQ0FDbkgsQ0FBQztZQUNOLENBQUM7WUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLE1BQU07UUFDVixDQUFD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QUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbEUsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDMUIsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDNUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEIsQ0FBQztnQkFBUyxDQUFDO1lBQ1AsS0FBSyxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTdDLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ1osS0FBSyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFFLFdBQVcsQ0FBQyxTQUFTLENBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdGLENBQUM7aUJBQU0sQ0FBQztnQkFDSixLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUMzQixDQUFDO1lBRUQsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFFLFdBQVcsQ0FBQyxRQUFRLENBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ3BGLEtBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM5RCxDQUFDO0lBQ0wsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdE9wZXJhdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3BlcmF0aW9uJztcbmltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IGNyZWF0ZURyYWZ0LCBmaW5pc2hEcmFmdCwgaXNEcmFmdCB9IGZyb20gJ2ltbWVyJztcbmltcG9ydCB7IFZpZXdwb3J0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy92aWV3cG9ydCc7XG5pbXBvcnQgeyBTZWxlY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NlbGVjdGlvbic7XG5pbXBvcnQgeyBBbmNlc3RvciwgUGxhaXROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBhdGggfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BhdGgnO1xuaW1wb3J0IHsgUGxhaXRUaGVtZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvdGhlbWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYWxUcmFuc2Zvcm1zIHtcbiAgICB0cmFuc2Zvcm06IChib2FyZDogUGxhaXRCb2FyZCwgb3A6IFBsYWl0T3BlcmF0aW9uKSA9PiB2b2lkO1xufVxuXG5jb25zdCBhcHBseVRvRHJhZnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHNlbGVjdGlvbjogU2VsZWN0aW9uIHwgbnVsbCwgdmlld3BvcnQ6IFZpZXdwb3J0LCB0aGVtZTogUGxhaXRUaGVtZSwgb3A6IFBsYWl0T3BlcmF0aW9uKSA9PiB7XG4gICAgc3dpdGNoIChvcC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2luc2VydF9ub2RlJzoge1xuICAgICAgICAgICAgY29uc3QgeyBwYXRoLCBub2RlIH0gPSBvcDtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5wYXJlbnQoYm9hcmQsIHBhdGgpO1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIGlmICghcGFyZW50LmNoaWxkcmVuIHx8IGluZGV4ID4gcGFyZW50LmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYENhbm5vdCBhcHBseSBhbiBcImluc2VydF9ub2RlXCIgb3BlcmF0aW9uIGF0IHBhdGggWyR7cGF0aH1dIGJlY2F1c2UgdGhlIGRlc3RpbmF0aW9uIGlzIHBhc3QgdGhlIGVuZCBvZiB0aGUgbm9kZS5gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFyZW50LmNoaWxkcmVuLnNwbGljZShpbmRleCwgMCwgbm9kZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdyZW1vdmVfbm9kZSc6IHtcbiAgICAgICAgICAgIGNvbnN0IHsgcGF0aCB9ID0gb3A7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBQbGFpdE5vZGUucGFyZW50KGJvYXJkLCBwYXRoKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgICAgICBpZiAoIXBhcmVudC5jaGlsZHJlbiB8fCBpbmRleCA+IHBhcmVudC5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgIGBDYW5ub3QgYXBwbHkgYW4gXCJpbnNlcnRfbm9kZVwiIG9wZXJhdGlvbiBhdCBwYXRoIFske3BhdGh9XSBiZWNhdXNlIHRoZSBkZXN0aW5hdGlvbiBpcyBwYXN0IHRoZSBlbmQgb2YgdGhlIG5vZGUuYFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ21vdmVfbm9kZSc6IHtcbiAgICAgICAgICAgIGNvbnN0IHsgcGF0aCwgbmV3UGF0aCB9ID0gb3A7XG5cbiAgICAgICAgICAgIGlmIChQYXRoLmlzQW5jZXN0b3IocGF0aCwgbmV3UGF0aCkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBtb3ZlIGEgcGF0aCBbJHtwYXRofV0gdG8gbmV3IHBhdGggWyR7bmV3UGF0aH1dIGJlY2F1c2UgdGhlIGRlc3RpbmF0aW9uIGlzIGluc2lkZSBpdHNlbGYuYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwYXRoKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5wYXJlbnQoYm9hcmQsIHBhdGgpO1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdHJpY2t5LCBidXQgc2luY2UgdGhlIGBwYXRoYCBhbmQgYG5ld1BhdGhgIGJvdGggcmVmZXIgdG9cbiAgICAgICAgICAgIC8vIHRoZSBzYW1lIHNuYXBzaG90IGluIHRpbWUsIHRoZXJlJ3MgYSBtaXNtYXRjaC4gQWZ0ZXIgZWl0aGVyXG4gICAgICAgICAgICAvLyByZW1vdmluZyB0aGUgb3JpZ2luYWwgcG9zaXRpb24sIHRoZSBzZWNvbmQgc3RlcCdzIHBhdGggY2FuIGJlIG91dFxuICAgICAgICAgICAgLy8gb2YgZGF0ZS4gU28gaW5zdGVhZCBvZiB1c2luZyB0aGUgYG9wLm5ld1BhdGhgIGRpcmVjdGx5LCB3ZVxuICAgICAgICAgICAgLy8gdHJhbnNmb3JtIGBvcC5wYXRoYCB0byBhc2NlcnRhaW4gd2hhdCB0aGUgYG5ld1BhdGhgIHdvdWxkIGJlIGFmdGVyXG4gICAgICAgICAgICAvLyB0aGUgb3BlcmF0aW9uIHdhcyBhcHBsaWVkLlxuICAgICAgICAgICAgcGFyZW50LmNoaWxkcmVuPy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgY29uc3QgdHJ1ZVBhdGggPSBQYXRoLnRyYW5zZm9ybShwYXRoLCBvcCkhO1xuICAgICAgICAgICAgY29uc3QgbmV3UGFyZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgUGF0aC5wYXJlbnQodHJ1ZVBhdGgpKSBhcyBBbmNlc3RvcjtcbiAgICAgICAgICAgIGNvbnN0IG5ld0luZGV4ID0gdHJ1ZVBhdGhbdHJ1ZVBhdGgubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIG5ld1BhcmVudC5jaGlsZHJlbj8uc3BsaWNlKG5ld0luZGV4LCAwLCBub2RlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3NldF9ub2RlJzoge1xuICAgICAgICAgICAgY29uc3QgeyBwYXRoLCBwcm9wZXJ0aWVzLCBuZXdQcm9wZXJ0aWVzIH0gPSBvcDtcblxuICAgICAgICAgICAgaWYgKHBhdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgc2V0IHByb3BlcnRpZXMgb24gdGhlIHJvb3Qgbm9kZSFgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIHBhdGgpO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBuZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBuZXdQcm9wZXJ0aWVzW2tleV07XG5cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgbm9kZVtrZXldO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGVba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcHJvcGVydGllcyB0aGF0IHdlcmUgcHJldmlvdXNseSBkZWZpbmVkLCBidXQgYXJlIG5vdyBtaXNzaW5nLCBtdXN0IGJlIGRlbGV0ZWRcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIW5ld1Byb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgbm9kZVtrZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnc2V0X3ZpZXdwb3J0Jzoge1xuICAgICAgICAgICAgY29uc3QgeyBuZXdQcm9wZXJ0aWVzIH0gPSBvcDtcbiAgICAgICAgICAgIGlmIChuZXdQcm9wZXJ0aWVzID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB2aWV3cG9ydCA9IG5ld1Byb3BlcnRpZXM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh2aWV3cG9ydCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghVmlld3BvcnQuaXNWaWV3cG9ydChuZXdQcm9wZXJ0aWVzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBDYW5ub3QgYXBwbHkgYW4gaW5jb21wbGV0ZSBcInNldF92aWV3cG9ydFwiIG9wZXJhdGlvbiBwcm9wZXJ0aWVzICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfSB3aGVuIHRoZXJlIGlzIG5vIGN1cnJlbnQgdmlld3BvcnQuYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2aWV3cG9ydCA9IHsgLi4ubmV3UHJvcGVydGllcyB9O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIG5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBuZXdQcm9wZXJ0aWVzW2tleV07XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2aWV3cG9ydFtrZXldO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlld3BvcnRba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnc2V0X3NlbGVjdGlvbic6IHtcbiAgICAgICAgICAgIGNvbnN0IHsgbmV3UHJvcGVydGllcyB9ID0gb3A7XG4gICAgICAgICAgICBpZiAobmV3UHJvcGVydGllcyA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uID0gbmV3UHJvcGVydGllcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGlvbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb24gPSBvcC5uZXdQcm9wZXJ0aWVzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbiA9IG5ld1Byb3BlcnRpZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnc2V0X3RoZW1lJzoge1xuICAgICAgICAgICAgY29uc3QgeyBuZXdQcm9wZXJ0aWVzIH0gPSBvcDtcbiAgICAgICAgICAgIHRoZW1lID0gbmV3UHJvcGVydGllcyBhcyBQbGFpdFRoZW1lO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgc2VsZWN0aW9uLCB2aWV3cG9ydCwgdGhlbWUgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBHZW5lcmFsVHJhbnNmb3JtczogR2VuZXJhbFRyYW5zZm9ybXMgPSB7XG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtIHRoZSBib2FyZCBieSBhbiBvcGVyYXRpb24uXG4gICAgICovXG4gICAgdHJhbnNmb3JtKGJvYXJkOiBQbGFpdEJvYXJkLCBvcDogUGxhaXRPcGVyYXRpb24pOiB2b2lkIHtcbiAgICAgICAgYm9hcmQuY2hpbGRyZW4gPSBjcmVhdGVEcmFmdChib2FyZC5jaGlsZHJlbik7XG4gICAgICAgIGxldCB2aWV3cG9ydCA9IGJvYXJkLnZpZXdwb3J0ICYmIGNyZWF0ZURyYWZ0KGJvYXJkLnZpZXdwb3J0KTtcbiAgICAgICAgbGV0IHNlbGVjdGlvbiA9IGJvYXJkLnNlbGVjdGlvbiAmJiBjcmVhdGVEcmFmdChib2FyZC5zZWxlY3Rpb24pO1xuICAgICAgICBsZXQgdGhlbWUgPSBib2FyZC50aGVtZSAmJiBjcmVhdGVEcmFmdChib2FyZC50aGVtZSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gYXBwbHlUb0RyYWZ0KGJvYXJkLCBzZWxlY3Rpb24sIHZpZXdwb3J0LCB0aGVtZSwgb3ApO1xuICAgICAgICAgICAgdmlld3BvcnQgPSBzdGF0ZS52aWV3cG9ydDtcbiAgICAgICAgICAgIHNlbGVjdGlvbiA9IHN0YXRlLnNlbGVjdGlvbjtcbiAgICAgICAgICAgIHRoZW1lID0gc3RhdGUudGhlbWU7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBib2FyZC5jaGlsZHJlbiA9IGZpbmlzaERyYWZ0KGJvYXJkLmNoaWxkcmVuKTtcblxuICAgICAgICAgICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIGJvYXJkLnNlbGVjdGlvbiA9IGlzRHJhZnQoc2VsZWN0aW9uKSA/IChmaW5pc2hEcmFmdChzZWxlY3Rpb24pIGFzIFNlbGVjdGlvbikgOiBzZWxlY3Rpb247XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGJvYXJkLnNlbGVjdGlvbiA9IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvYXJkLnZpZXdwb3J0ID0gaXNEcmFmdCh2aWV3cG9ydCkgPyAoZmluaXNoRHJhZnQodmlld3BvcnQpIGFzIFZpZXdwb3J0KSA6IHZpZXdwb3J0O1xuICAgICAgICAgICAgYm9hcmQudGhlbWUgPSBpc0RyYWZ0KHRoZW1lKSA/IGZpbmlzaERyYWZ0KHRoZW1lKSA6IHRoZW1lO1xuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
@@ -34,4 +34,4 @@ export const NodeTransforms = {
34
34
  removeNode,
35
35
  moveNode
36
36
  };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3RyYW5zZm9ybXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHL0MsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFpQixFQUFFLElBQWUsRUFBRSxJQUFVO0lBQ3JFLE1BQU0sU0FBUyxHQUF3QixFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzNFLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBaUIsRUFBRSxLQUF5QixFQUFFLElBQVU7SUFDNUUsTUFBTSxVQUFVLEdBQXVCLEVBQUUsQ0FBQztJQUMxQyxNQUFNLGFBQWEsR0FBdUIsRUFBRSxDQUFDO0lBQzdDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hDLEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFO1FBQ25CLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3hCLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDM0I7WUFDRCxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJO2dCQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckQ7S0FDSjtJQUNELE1BQU0sU0FBUyxHQUFxQixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxRixLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQWlCLEVBQUUsSUFBVTtJQUNwRCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxNQUFNLFNBQVMsR0FBd0IsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMzRSxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQWlCLEVBQUUsSUFBVSxFQUFFLE9BQWE7SUFDakUsTUFBTSxTQUFTLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDMUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBU0QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFtQjtJQUMxQyxVQUFVO0lBQ1YsT0FBTztJQUNQLFVBQVU7SUFDVixRQUFRO0NBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluc2VydE5vZGVPcGVyYXRpb24sIE1vdmVOb2RlT3BlcmF0aW9uLCBSZW1vdmVOb2RlT3BlcmF0aW9uLCBTZXROb2RlT3BlcmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vcGVyYXRpb24nO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUGxhaXROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBhdGggfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BhdGgnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0Tm9kZShib2FyZDogUGxhaXRCb2FyZCwgbm9kZTogUGxhaXROb2RlLCBwYXRoOiBQYXRoKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBJbnNlcnROb2RlT3BlcmF0aW9uID0geyB0eXBlOiAnaW5zZXJ0X25vZGUnLCBub2RlLCBwYXRoIH07XG4gICAgYm9hcmQuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE5vZGUoYm9hcmQ6IFBsYWl0Qm9hcmQsIHByb3BzOiBQYXJ0aWFsPFBsYWl0Tm9kZT4sIHBhdGg6IFBhdGgpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBQYXJ0aWFsPFBsYWl0Tm9kZT4gPSB7fTtcbiAgICBjb25zdCBuZXdQcm9wZXJ0aWVzOiBQYXJ0aWFsPFBsYWl0Tm9kZT4gPSB7fTtcbiAgICBjb25zdCBub2RlID0gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCk7XG4gICAgZm9yIChjb25zdCBrIGluIHByb3BzKSB7XG4gICAgICAgIGlmIChub2RlW2tdICE9PSBwcm9wc1trXSkge1xuICAgICAgICAgICAgaWYgKG5vZGUuaGFzT3duUHJvcGVydHkoaykpIHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzW2tdID0gbm9kZVtrXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9wc1trXSAhPSBudWxsKSBuZXdQcm9wZXJ0aWVzW2tdID0gcHJvcHNba107XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBTZXROb2RlT3BlcmF0aW9uID0geyB0eXBlOiAnc2V0X25vZGUnLCBwcm9wZXJ0aWVzLCBuZXdQcm9wZXJ0aWVzLCBwYXRoIH07XG4gICAgYm9hcmQuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vZGUoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBhdGg6IFBhdGgpIHtcbiAgICBjb25zdCBub2RlID0gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCk7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBSZW1vdmVOb2RlT3BlcmF0aW9uID0geyB0eXBlOiAncmVtb3ZlX25vZGUnLCBwYXRoLCBub2RlIH07XG4gICAgYm9hcmQuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVOb2RlKGJvYXJkOiBQbGFpdEJvYXJkLCBwYXRoOiBQYXRoLCBuZXdQYXRoOiBQYXRoKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBNb3ZlTm9kZU9wZXJhdGlvbiA9IHsgdHlwZTogJ21vdmVfbm9kZScsIHBhdGgsIG5ld1BhdGggfTtcbiAgICBib2FyZC5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVUcmFuc2Zvcm1zIHtcbiAgICBpbnNlcnROb2RlOiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG5vZGU6IFBsYWl0Tm9kZSwgcGF0aDogUGF0aCkgPT4gdm9pZDtcbiAgICBzZXROb2RlOiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG5vZGU6IFBhcnRpYWw8UGxhaXROb2RlPiwgcGF0aDogUGF0aCkgPT4gdm9pZDtcbiAgICByZW1vdmVOb2RlOiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBhdGg6IFBhdGgpID0+IHZvaWQ7XG4gICAgbW92ZU5vZGU6IChib2FyZDogUGxhaXRCb2FyZCwgcGF0aDogUGF0aCwgbmV3UGF0aDogUGF0aCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IE5vZGVUcmFuc2Zvcm1zOiBOb2RlVHJhbnNmb3JtcyA9IHtcbiAgICBpbnNlcnROb2RlLFxuICAgIHNldE5vZGUsXG4gICAgcmVtb3ZlTm9kZSxcbiAgICBtb3ZlTm9kZVxufTtcbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3RyYW5zZm9ybXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHL0MsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFpQixFQUFFLElBQWUsRUFBRSxJQUFVO0lBQ3JFLE1BQU0sU0FBUyxHQUF3QixFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzNFLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBaUIsRUFBRSxLQUF5QixFQUFFLElBQVU7SUFDNUUsTUFBTSxVQUFVLEdBQXVCLEVBQUUsQ0FBQztJQUMxQyxNQUFNLGFBQWEsR0FBdUIsRUFBRSxDQUFDO0lBQzdDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hDLEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUk7Z0JBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFxQixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxRixLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQWlCLEVBQUUsSUFBVTtJQUNwRCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxNQUFNLFNBQVMsR0FBd0IsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMzRSxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQWlCLEVBQUUsSUFBVSxFQUFFLE9BQWE7SUFDakUsTUFBTSxTQUFTLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDMUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBU0QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFtQjtJQUMxQyxVQUFVO0lBQ1YsT0FBTztJQUNQLFVBQVU7SUFDVixRQUFRO0NBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluc2VydE5vZGVPcGVyYXRpb24sIE1vdmVOb2RlT3BlcmF0aW9uLCBSZW1vdmVOb2RlT3BlcmF0aW9uLCBTZXROb2RlT3BlcmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vcGVyYXRpb24nO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUGxhaXROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBhdGggfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BhdGgnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0Tm9kZShib2FyZDogUGxhaXRCb2FyZCwgbm9kZTogUGxhaXROb2RlLCBwYXRoOiBQYXRoKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBJbnNlcnROb2RlT3BlcmF0aW9uID0geyB0eXBlOiAnaW5zZXJ0X25vZGUnLCBub2RlLCBwYXRoIH07XG4gICAgYm9hcmQuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE5vZGUoYm9hcmQ6IFBsYWl0Qm9hcmQsIHByb3BzOiBQYXJ0aWFsPFBsYWl0Tm9kZT4sIHBhdGg6IFBhdGgpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBQYXJ0aWFsPFBsYWl0Tm9kZT4gPSB7fTtcbiAgICBjb25zdCBuZXdQcm9wZXJ0aWVzOiBQYXJ0aWFsPFBsYWl0Tm9kZT4gPSB7fTtcbiAgICBjb25zdCBub2RlID0gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCk7XG4gICAgZm9yIChjb25zdCBrIGluIHByb3BzKSB7XG4gICAgICAgIGlmIChub2RlW2tdICE9PSBwcm9wc1trXSkge1xuICAgICAgICAgICAgaWYgKG5vZGUuaGFzT3duUHJvcGVydHkoaykpIHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzW2tdID0gbm9kZVtrXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9wc1trXSAhPSBudWxsKSBuZXdQcm9wZXJ0aWVzW2tdID0gcHJvcHNba107XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBTZXROb2RlT3BlcmF0aW9uID0geyB0eXBlOiAnc2V0X25vZGUnLCBwcm9wZXJ0aWVzLCBuZXdQcm9wZXJ0aWVzLCBwYXRoIH07XG4gICAgYm9hcmQuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vZGUoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBhdGg6IFBhdGgpIHtcbiAgICBjb25zdCBub2RlID0gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCk7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBSZW1vdmVOb2RlT3BlcmF0aW9uID0geyB0eXBlOiAncmVtb3ZlX25vZGUnLCBwYXRoLCBub2RlIH07XG4gICAgYm9hcmQuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVOb2RlKGJvYXJkOiBQbGFpdEJvYXJkLCBwYXRoOiBQYXRoLCBuZXdQYXRoOiBQYXRoKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBNb3ZlTm9kZU9wZXJhdGlvbiA9IHsgdHlwZTogJ21vdmVfbm9kZScsIHBhdGgsIG5ld1BhdGggfTtcbiAgICBib2FyZC5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVUcmFuc2Zvcm1zIHtcbiAgICBpbnNlcnROb2RlOiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG5vZGU6IFBsYWl0Tm9kZSwgcGF0aDogUGF0aCkgPT4gdm9pZDtcbiAgICBzZXROb2RlOiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG5vZGU6IFBhcnRpYWw8UGxhaXROb2RlPiwgcGF0aDogUGF0aCkgPT4gdm9pZDtcbiAgICByZW1vdmVOb2RlOiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBhdGg6IFBhdGgpID0+IHZvaWQ7XG4gICAgbW92ZU5vZGU6IChib2FyZDogUGxhaXRCb2FyZCwgcGF0aDogUGF0aCwgbmV3UGF0aDogUGF0aCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IE5vZGVUcmFuc2Zvcm1zOiBOb2RlVHJhbnNmb3JtcyA9IHtcbiAgICBpbnNlcnROb2RlLFxuICAgIHNldE5vZGUsXG4gICAgcmVtb3ZlTm9kZSxcbiAgICBtb3ZlTm9kZVxufTtcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { BOARD_TO_TEMPORARY_ELEMENTS } from '../utils/weak-maps';
2
- import { getTemporaryRef } from '../plugins/with-selection';
2
+ import { getTemporaryRef } from '../utils';
3
3
  export function setSelection(board, selection) {
4
4
  const operation = { type: 'set_selection', properties: board.selection, newProperties: selection };
5
5
  board.apply(operation);
@@ -23,4 +23,4 @@ export function addSelectionWithTemporaryElements(board, elements) {
23
23
  BOARD_TO_TEMPORARY_ELEMENTS.set(board, { timeoutId, elements });
24
24
  }
25
25
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdHJhbnNmb3Jtcy9zZWxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBaUIsRUFBRSxTQUEyQjtJQUN2RSxNQUFNLFNBQVMsR0FBMEIsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUMxSCxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFPRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBd0I7SUFDcEQsWUFBWTtJQUNaLGlDQUFpQztDQUNwQyxDQUFDO0FBRUYsTUFBTSxVQUFVLGlDQUFpQyxDQUFDLEtBQWlCLEVBQUUsUUFBd0I7SUFDekYsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUM5QixZQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ04sSUFBSSxHQUFHLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLElBQUksR0FBRyxFQUFFO1FBQ0wsWUFBWSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QixNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckYsR0FBRyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7S0FDN0I7U0FBTTtRQUNILDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztLQUNuRTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXRTZWxlY3Rpb25PcGVyYXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL29wZXJhdGlvbic7XG5pbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBTZWxlY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NlbGVjdGlvbic7XG5pbXBvcnQgeyBCT0FSRF9UT19URU1QT1JBUllfRUxFTUVOVFMgfSBmcm9tICcuLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IGdldFRlbXBvcmFyeVJlZiB9IGZyb20gJy4uL3BsdWdpbnMvd2l0aC1zZWxlY3Rpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0U2VsZWN0aW9uKGJvYXJkOiBQbGFpdEJvYXJkLCBzZWxlY3Rpb246IFNlbGVjdGlvbiB8IG51bGwpIHtcbiAgICBjb25zdCBvcGVyYXRpb246IFNldFNlbGVjdGlvbk9wZXJhdGlvbiA9IHsgdHlwZTogJ3NldF9zZWxlY3Rpb24nLCBwcm9wZXJ0aWVzOiBib2FyZC5zZWxlY3Rpb24sIG5ld1Byb3BlcnRpZXM6IHNlbGVjdGlvbiB9O1xuICAgIGJvYXJkLmFwcGx5KG9wZXJhdGlvbik7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0aW9uVHJhbnNmb3JtcyB7XG4gICAgc2V0U2VsZWN0aW9uOiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHNlbGVjdGlvbjogU2VsZWN0aW9uIHwgbnVsbCkgPT4gdm9pZDtcbiAgICBhZGRTZWxlY3Rpb25XaXRoVGVtcG9yYXJ5RWxlbWVudHM6IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgU2VsZWN0aW9uVHJhbnNmb3JtczogU2VsZWN0aW9uVHJhbnNmb3JtcyA9IHtcbiAgICBzZXRTZWxlY3Rpb24sXG4gICAgYWRkU2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkU2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogUGxhaXRFbGVtZW50W10pIHtcbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0U2VsZWN0aW9uKGJvYXJkLCB7IGFuY2hvcjogWzAsIDBdLCBmb2N1czogWzAsIDBdIH0pO1xuICAgIH0sIDApO1xuICAgIGxldCByZWYgPSBnZXRUZW1wb3JhcnlSZWYoYm9hcmQpO1xuICAgIGlmIChyZWYpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHJlZi50aW1lb3V0SWQpO1xuICAgICAgICBjb25zdCBjdXJyZW50RWxlbWVudHMgPSByZWYuZWxlbWVudHM7XG4gICAgICAgIHJlZi5lbGVtZW50cy5wdXNoKC4uLmVsZW1lbnRzLmZpbHRlcihlbGVtZW50ID0+ICFjdXJyZW50RWxlbWVudHMuaW5jbHVkZXMoZWxlbWVudCkpKTtcbiAgICAgICAgcmVmLnRpbWVvdXRJZCA9IHRpbWVvdXRJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBCT0FSRF9UT19URU1QT1JBUllfRUxFTUVOVFMuc2V0KGJvYXJkLCB7IHRpbWVvdXRJZCwgZWxlbWVudHMgfSk7XG4gICAgfVxufVxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdHJhbnNmb3Jtcy9zZWxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUzQyxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWlCLEVBQUUsU0FBMkI7SUFDdkUsTUFBTSxTQUFTLEdBQTBCLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDMUgsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBT0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXdCO0lBQ3BELFlBQVk7SUFDWixpQ0FBaUM7Q0FDcEMsQ0FBQztBQUVGLE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxLQUFpQixFQUFFLFFBQXdCO0lBQ3pGLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDOUIsWUFBWSxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNOLElBQUksR0FBRyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ04sWUFBWSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QixNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckYsR0FBRyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztTQUFNLENBQUM7UUFDSiwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXRTZWxlY3Rpb25PcGVyYXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL29wZXJhdGlvbic7XG5pbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBTZWxlY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NlbGVjdGlvbic7XG5pbXBvcnQgeyBCT0FSRF9UT19URU1QT1JBUllfRUxFTUVOVFMgfSBmcm9tICcuLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IGdldFRlbXBvcmFyeVJlZiB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldFNlbGVjdGlvbihib2FyZDogUGxhaXRCb2FyZCwgc2VsZWN0aW9uOiBTZWxlY3Rpb24gfCBudWxsKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBTZXRTZWxlY3Rpb25PcGVyYXRpb24gPSB7IHR5cGU6ICdzZXRfc2VsZWN0aW9uJywgcHJvcGVydGllczogYm9hcmQuc2VsZWN0aW9uLCBuZXdQcm9wZXJ0aWVzOiBzZWxlY3Rpb24gfTtcbiAgICBib2FyZC5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvblRyYW5zZm9ybXMge1xuICAgIHNldFNlbGVjdGlvbjogKGJvYXJkOiBQbGFpdEJvYXJkLCBzZWxlY3Rpb246IFNlbGVjdGlvbiB8IG51bGwpID0+IHZvaWQ7XG4gICAgYWRkU2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzOiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFNlbGVjdGlvblRyYW5zZm9ybXM6IFNlbGVjdGlvblRyYW5zZm9ybXMgPSB7XG4gICAgc2V0U2VsZWN0aW9uLFxuICAgIGFkZFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50c1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSB7XG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFNlbGVjdGlvbihib2FyZCwgeyBhbmNob3I6IFswLCAwXSwgZm9jdXM6IFswLCAwXSB9KTtcbiAgICB9LCAwKTtcbiAgICBsZXQgcmVmID0gZ2V0VGVtcG9yYXJ5UmVmKGJvYXJkKTtcbiAgICBpZiAocmVmKSB7XG4gICAgICAgIGNsZWFyVGltZW91dChyZWYudGltZW91dElkKTtcbiAgICAgICAgY29uc3QgY3VycmVudEVsZW1lbnRzID0gcmVmLmVsZW1lbnRzO1xuICAgICAgICByZWYuZWxlbWVudHMucHVzaCguLi5lbGVtZW50cy5maWx0ZXIoZWxlbWVudCA9PiAhY3VycmVudEVsZW1lbnRzLmluY2x1ZGVzKGVsZW1lbnQpKSk7XG4gICAgICAgIHJlZi50aW1lb3V0SWQgPSB0aW1lb3V0SWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgQk9BUkRfVE9fVEVNUE9SQVJZX0VMRU1FTlRTLnNldChib2FyZCwgeyB0aW1lb3V0SWQsIGVsZW1lbnRzIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { RectangleClient } from '../interfaces';
2
+ import { approximately, rotate } from './math';
3
+ export const rotatePoints = (points, centerPoint, angle) => {
4
+ if (!angle) {
5
+ angle = 0;
6
+ }
7
+ return points.map(point => {
8
+ return rotate(point[0], point[1], centerPoint[0], centerPoint[1], angle);
9
+ });
10
+ };
11
+ export const getSelectionAngle = (elements) => {
12
+ let angle = elements[0].angle || 0;
13
+ elements.forEach(item => {
14
+ if (item.angle !== angle && !approximately((item.angle % (Math.PI / 2)) - (angle % (Math.PI / 2)), 0)) {
15
+ angle = 0;
16
+ }
17
+ });
18
+ return angle;
19
+ };
20
+ export const hasSameAngle = (elements) => {
21
+ return !!getSelectionAngle(elements);
22
+ };
23
+ export const getRotatedBoundingRectangle = (rectanglesCornerPoints, angle) => {
24
+ let rectanglesFromOrigin = [];
25
+ for (let i = 0; i < rectanglesCornerPoints.length; i++) {
26
+ const cornerPoints = rectanglesCornerPoints[i];
27
+ const invertCornerPointsFromOrigin = rotatePoints(cornerPoints, [0, 0], -angle);
28
+ rectanglesFromOrigin.push(RectangleClient.getRectangleByPoints(invertCornerPointsFromOrigin));
29
+ }
30
+ const selectionRectangleFromOrigin = RectangleClient.getBoundingRectangle(rectanglesFromOrigin);
31
+ const selectionCornerPoints = RectangleClient.getCornerPoints(selectionRectangleFromOrigin);
32
+ const cornerPointsFromOrigin = rotatePoints(selectionCornerPoints, [0, 0], angle);
33
+ const centerPoint = RectangleClient.getCenterPoint(RectangleClient.getRectangleByPoints(cornerPointsFromOrigin));
34
+ return RectangleClient.getRectangleByPoints(rotatePoints(cornerPointsFromOrigin, centerPoint, -angle));
35
+ };
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5nbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9hbmdsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFlLEVBQUUsV0FBa0IsRUFBRSxLQUFhLEVBQUUsRUFBRTtJQUMvRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVCxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN0QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFVLENBQUM7SUFDdEYsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQXdCLEVBQUUsRUFBRTtJQUMxRCxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNuQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDcEcsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLFFBQXdCLEVBQUUsRUFBRTtJQUNyRCxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLHNCQUFzRCxFQUFFLEtBQWEsRUFBRSxFQUFFO0lBQ2pILElBQUksb0JBQW9CLEdBQXNCLEVBQUUsQ0FBQztJQUNqRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDckQsTUFBTSxZQUFZLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsTUFBTSw0QkFBNEIsR0FBRyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEYsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELE1BQU0sNEJBQTRCLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDaEcsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDNUYsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEYsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ2pILE9BQU8sZUFBZSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzNHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0RWxlbWVudCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYXBwcm94aW1hdGVseSwgcm90YXRlIH0gZnJvbSAnLi9tYXRoJztcblxuZXhwb3J0IGNvbnN0IHJvdGF0ZVBvaW50cyA9IChwb2ludHM6IFBvaW50W10sIGNlbnRlclBvaW50OiBQb2ludCwgYW5nbGU6IG51bWJlcikgPT4ge1xuICAgIGlmICghYW5nbGUpIHtcbiAgICAgICAgYW5nbGUgPSAwO1xuICAgIH1cbiAgICByZXR1cm4gcG9pbnRzLm1hcChwb2ludCA9PiB7XG4gICAgICAgIHJldHVybiByb3RhdGUocG9pbnRbMF0sIHBvaW50WzFdLCBjZW50ZXJQb2ludFswXSwgY2VudGVyUG9pbnRbMV0sIGFuZ2xlKSBhcyBQb2ludDtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3Rpb25BbmdsZSA9IChlbGVtZW50czogUGxhaXRFbGVtZW50W10pID0+IHtcbiAgICBsZXQgYW5nbGUgPSBlbGVtZW50c1swXS5hbmdsZSB8fCAwO1xuICAgIGVsZW1lbnRzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmFuZ2xlICE9PSBhbmdsZSAmJiAhYXBwcm94aW1hdGVseSgoaXRlbS5hbmdsZSAlIChNYXRoLlBJIC8gMikpIC0gKGFuZ2xlICUgKE1hdGguUEkgLyAyKSksIDApKSB7XG4gICAgICAgICAgICBhbmdsZSA9IDA7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYW5nbGU7XG59O1xuXG5leHBvcnQgY29uc3QgaGFzU2FtZUFuZ2xlID0gKGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgIHJldHVybiAhIWdldFNlbGVjdGlvbkFuZ2xlKGVsZW1lbnRzKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSb3RhdGVkQm91bmRpbmdSZWN0YW5nbGUgPSAocmVjdGFuZ2xlc0Nvcm5lclBvaW50czogW1BvaW50LCBQb2ludCwgUG9pbnQsIFBvaW50XVtdLCBhbmdsZTogbnVtYmVyKSA9PiB7XG4gICAgbGV0IHJlY3RhbmdsZXNGcm9tT3JpZ2luOiBSZWN0YW5nbGVDbGllbnRbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVjdGFuZ2xlc0Nvcm5lclBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjb3JuZXJQb2ludHMgPSByZWN0YW5nbGVzQ29ybmVyUG9pbnRzW2ldO1xuICAgICAgICBjb25zdCBpbnZlcnRDb3JuZXJQb2ludHNGcm9tT3JpZ2luID0gcm90YXRlUG9pbnRzKGNvcm5lclBvaW50cywgWzAsIDBdLCAtYW5nbGUpO1xuICAgICAgICByZWN0YW5nbGVzRnJvbU9yaWdpbi5wdXNoKFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhpbnZlcnRDb3JuZXJQb2ludHNGcm9tT3JpZ2luKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0aW9uUmVjdGFuZ2xlRnJvbU9yaWdpbiA9IFJlY3RhbmdsZUNsaWVudC5nZXRCb3VuZGluZ1JlY3RhbmdsZShyZWN0YW5nbGVzRnJvbU9yaWdpbik7XG4gICAgY29uc3Qgc2VsZWN0aW9uQ29ybmVyUG9pbnRzID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvcm5lclBvaW50cyhzZWxlY3Rpb25SZWN0YW5nbGVGcm9tT3JpZ2luKTtcbiAgICBjb25zdCBjb3JuZXJQb2ludHNGcm9tT3JpZ2luID0gcm90YXRlUG9pbnRzKHNlbGVjdGlvbkNvcm5lclBvaW50cywgWzAsIDBdLCBhbmdsZSk7XG4gICAgY29uc3QgY2VudGVyUG9pbnQgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q2VudGVyUG9pbnQoUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGNvcm5lclBvaW50c0Zyb21PcmlnaW4pKTtcbiAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKHJvdGF0ZVBvaW50cyhjb3JuZXJQb2ludHNGcm9tT3JpZ2luLCBjZW50ZXJQb2ludCwgLWFuZ2xlKSk7XG59O1xuIl19
@@ -15,4 +15,4 @@ export function getRealScrollBarWidth(board) {
15
15
  }
16
16
  return scrollBarWidth;
17
17
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9ib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBVzFELE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBaUIsRUFBRSxDQUFTLEVBQUUsQ0FBUztJQUNsRSxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pFLE1BQU0sU0FBUyxHQUFHLGdDQUFnQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDekUsT0FBTyxTQUFTLEtBQUssQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBaUI7SUFDbkQsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDeEMsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDaEIsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsY0FBYyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7S0FDbEY7SUFDRCxPQUFPLGNBQWMsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUgfSBmcm9tICcuL21hdGgnO1xuXG5leHBvcnQgdHlwZSBWaWV3Qm94ID0ge1xuICAgIG1pblg6IG51bWJlcjtcbiAgICBtaW5ZOiBudW1iZXI7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgICB2aWV3cG9ydFdpZHRoOiBudW1iZXI7XG4gICAgdmlld3BvcnRIZWlnaHQ6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0luUGxhaXRCb2FyZChib2FyZDogUGxhaXRCb2FyZCwgeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICBjb25zdCBwbGFpdEJvYXJkRWxlbWVudCA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpO1xuICAgIGNvbnN0IHBsYWl0Qm9hcmRSZWN0ID0gcGxhaXRCb2FyZEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgZGlzdGFuY2VzID0gZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUoeCwgeSwgcGxhaXRCb2FyZFJlY3QpO1xuICAgIHJldHVybiBkaXN0YW5jZXMgPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWFsU2Nyb2xsQmFyV2lkdGgoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCB7IGhpZGVTY3JvbGxiYXIgfSA9IGJvYXJkLm9wdGlvbnM7XG4gICAgbGV0IHNjcm9sbEJhcldpZHRoID0gMDtcbiAgICBpZiAoIWhpZGVTY3JvbGxiYXIpIHtcbiAgICAgICAgY29uc3Qgdmlld3BvcnRDb250YWluZXIgPSBQbGFpdEJvYXJkLmdldFZpZXdwb3J0Q29udGFpbmVyKGJvYXJkKTtcbiAgICAgICAgc2Nyb2xsQmFyV2lkdGggPSB2aWV3cG9ydENvbnRhaW5lci5vZmZzZXRXaWR0aCAtIHZpZXdwb3J0Q29udGFpbmVyLmNsaWVudFdpZHRoO1xuICAgIH1cbiAgICByZXR1cm4gc2Nyb2xsQmFyV2lkdGg7XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9ib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBVzFELE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBaUIsRUFBRSxDQUFTLEVBQUUsQ0FBUztJQUNsRSxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pFLE1BQU0sU0FBUyxHQUFHLGdDQUFnQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDekUsT0FBTyxTQUFTLEtBQUssQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBaUI7SUFDbkQsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDeEMsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNqQixNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztJQUNuRixDQUFDO0lBQ0QsT0FBTyxjQUFjLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUmVjdGFuZ2xlIH0gZnJvbSAnLi9tYXRoJztcblxuZXhwb3J0IHR5cGUgVmlld0JveCA9IHtcbiAgICBtaW5YOiBudW1iZXI7XG4gICAgbWluWTogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG4gICAgdmlld3BvcnRXaWR0aDogbnVtYmVyO1xuICAgIHZpZXdwb3J0SGVpZ2h0OiBudW1iZXI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNJblBsYWl0Qm9hcmQoYm9hcmQ6IFBsYWl0Qm9hcmQsIHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgY29uc3QgcGxhaXRCb2FyZEVsZW1lbnQgPSBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKTtcbiAgICBjb25zdCBwbGFpdEJvYXJkUmVjdCA9IHBsYWl0Qm9hcmRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGRpc3RhbmNlcyA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUmVjdGFuZ2xlKHgsIHksIHBsYWl0Qm9hcmRSZWN0KTtcbiAgICByZXR1cm4gZGlzdGFuY2VzID09PSAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVhbFNjcm9sbEJhcldpZHRoKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgY29uc3QgeyBoaWRlU2Nyb2xsYmFyIH0gPSBib2FyZC5vcHRpb25zO1xuICAgIGxldCBzY3JvbGxCYXJXaWR0aCA9IDA7XG4gICAgaWYgKCFoaWRlU2Nyb2xsYmFyKSB7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0Q29udGFpbmVyID0gUGxhaXRCb2FyZC5nZXRWaWV3cG9ydENvbnRhaW5lcihib2FyZCk7XG4gICAgICAgIHNjcm9sbEJhcldpZHRoID0gdmlld3BvcnRDb250YWluZXIub2Zmc2V0V2lkdGggLSB2aWV3cG9ydENvbnRhaW5lci5jbGllbnRXaWR0aDtcbiAgICB9XG4gICAgcmV0dXJuIHNjcm9sbEJhcldpZHRoO1xufVxuIl19
@@ -37,4 +37,4 @@ export const setClipboardData = async (dataTransfer, clipboardContext) => {
37
37
  return await navigator.clipboard.writeText(buildPlaitHtml(type, data));
38
38
  }
39
39
  };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvY2xpcGJvYXJkL2NsaXBib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUNkLGdDQUFnQyxFQUNoQyxpQ0FBaUMsRUFDakMscUNBQXFDLEVBQ3hDLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdyRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsWUFBaUMsRUFBMEIsRUFBRTtJQUNoRyxJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsSUFBSSxZQUFZLEVBQUU7UUFDZCxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQzNCLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUNwRDtRQUNELGFBQWEsR0FBRyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QyxhQUFhLEdBQUcsNEJBQTRCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDOUQ7UUFDRCxPQUFPLGFBQWEsQ0FBQztLQUN4QjtJQUNELElBQUksZ0NBQWdDLEVBQUUsRUFBRTtRQUNwQyxPQUFPLE1BQU0scUJBQXFCLEVBQUUsQ0FBQztLQUN4QztJQUNELE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBRSxZQUFpQyxFQUFFLGdCQUFpRCxFQUFFLEVBQUU7SUFDM0gsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1FBQ25CLE9BQU87S0FDVjtJQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLGdCQUFnQixDQUFDO0lBRTlDLElBQUksaUNBQWlDLEVBQUUsRUFBRTtRQUNyQyxPQUFPLE1BQU0scUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN4RDtJQUVELElBQUksWUFBWSxFQUFFO1FBQ2Qsd0JBQXdCLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRCw0QkFBNEIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsT0FBTztLQUNWO0lBRUQsd0dBQXdHO0lBQ3hHLHVDQUF1QztJQUN2QyxJQUFJLHFDQUFxQyxFQUFFLEVBQUU7UUFDekMsT0FBTyxNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUMxRTtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYnVpbGRQbGFpdEh0bWwsXG4gICAgZ2V0UHJvYmFibHlTdXBwb3J0c0NsaXBib2FyZFJlYWQsXG4gICAgZ2V0UHJvYmFibHlTdXBwb3J0c0NsaXBib2FyZFdyaXRlLFxuICAgIGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRXcml0ZVRleHRcbn0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBnZXREYXRhVHJhbnNmZXJDbGlwYm9hcmQsXG4gICAgZ2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkVGV4dCxcbiAgICBzZXREYXRhVHJhbnNmZXJDbGlwYm9hcmQsXG4gICAgc2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkVGV4dFxufSBmcm9tICcuL2RhdGEtdHJhbnNmZXInO1xuaW1wb3J0IHsgZ2V0TmF2aWdhdG9yQ2xpcGJvYXJkLCBzZXROYXZpZ2F0b3JDbGlwYm9hcmQgfSBmcm9tICcuL25hdmlnYXRvci1jbGlwYm9hcmQnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkRGF0YSwgV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0IH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRDbGlwYm9hcmREYXRhID0gYXN5bmMgKGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbCk6IFByb21pc2U8Q2xpcGJvYXJkRGF0YT4gPT4ge1xuICAgIGxldCBjbGlwYm9hcmREYXRhID0ge307XG4gICAgaWYgKGRhdGFUcmFuc2Zlcikge1xuICAgICAgICBpZiAoZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgZmlsZXM6IEFycmF5LmZyb20oZGF0YVRyYW5zZmVyLmZpbGVzKSB9O1xuICAgICAgICB9XG4gICAgICAgIGNsaXBib2FyZERhdGEgPSBnZXREYXRhVHJhbnNmZXJDbGlwYm9hcmQoZGF0YVRyYW5zZmVyKTtcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGNsaXBib2FyZERhdGEpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgY2xpcGJvYXJkRGF0YSA9IGdldERhdGFUcmFuc2ZlckNsaXBib2FyZFRleHQoZGF0YVRyYW5zZmVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2xpcGJvYXJkRGF0YTtcbiAgICB9XG4gICAgaWYgKGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRSZWFkKCkpIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGdldE5hdmlnYXRvckNsaXBib2FyZCgpO1xuICAgIH1cbiAgICByZXR1cm4gY2xpcGJvYXJkRGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRDbGlwYm9hcmREYXRhID0gYXN5bmMgKGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbCwgY2xpcGJvYXJkQ29udGV4dDogV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0IHwgbnVsbCkgPT4ge1xuICAgIGlmICghY2xpcGJvYXJkQ29udGV4dCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHsgdHlwZSwgZGF0YSwgdGV4dCB9ID0gY2xpcGJvYXJkQ29udGV4dDtcblxuICAgIGlmIChnZXRQcm9iYWJseVN1cHBvcnRzQ2xpcGJvYXJkV3JpdGUoKSkge1xuICAgICAgICByZXR1cm4gYXdhaXQgc2V0TmF2aWdhdG9yQ2xpcGJvYXJkKHR5cGUsIGRhdGEsIHRleHQpO1xuICAgIH1cblxuICAgIGlmIChkYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgc2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkKGRhdGFUcmFuc2ZlciwgdHlwZSwgZGF0YSk7XG4gICAgICAgIHNldERhdGFUcmFuc2ZlckNsaXBib2FyZFRleHQoZGF0YVRyYW5zZmVyLCB0ZXh0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENvbXBhdGlibGUgd2l0aCBzaXR1YXRpb25zIHdoZXJlIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUgaXMgbm90IHN1cHBvcnRlZCBhbmQgZGF0YVRyYW5zZmVyIGlzIGVtcHR5XG4gICAgLy8gU3VjaCBhcyBjb250ZXh0bWVudSBjb3B5IGluIEZpcmVmb3guXG4gICAgaWYgKGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRXcml0ZVRleHQoKSkge1xuICAgICAgICByZXR1cm4gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYnVpbGRQbGFpdEh0bWwodHlwZSwgZGF0YSkpO1xuICAgIH1cbn07XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvY2xpcGJvYXJkL2NsaXBib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUNkLGdDQUFnQyxFQUNoQyxpQ0FBaUMsRUFDakMscUNBQXFDLEVBQ3hDLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdyRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsWUFBaUMsRUFBMEIsRUFBRTtJQUNoRyxJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNmLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckQsQ0FBQztRQUNELGFBQWEsR0FBRyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFDLGFBQWEsR0FBRyw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksZ0NBQWdDLEVBQUUsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sTUFBTSxxQkFBcUIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxPQUFPLGFBQWEsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsWUFBaUMsRUFBRSxnQkFBaUQsRUFBRSxFQUFFO0lBQzNILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BCLE9BQU87SUFDWCxDQUFDO0lBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7SUFFOUMsSUFBSSxpQ0FBaUMsRUFBRSxFQUFFLENBQUM7UUFDdEMsT0FBTyxNQUFNLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksWUFBWSxFQUFFLENBQUM7UUFDZix3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25ELDRCQUE0QixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRCxPQUFPO0lBQ1gsQ0FBQztJQUVELHdHQUF3RztJQUN4Ryx1Q0FBdUM7SUFDdkMsSUFBSSxxQ0FBcUMsRUFBRSxFQUFFLENBQUM7UUFDMUMsT0FBTyxNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBidWlsZFBsYWl0SHRtbCxcbiAgICBnZXRQcm9iYWJseVN1cHBvcnRzQ2xpcGJvYXJkUmVhZCxcbiAgICBnZXRQcm9iYWJseVN1cHBvcnRzQ2xpcGJvYXJkV3JpdGUsXG4gICAgZ2V0UHJvYmFibHlTdXBwb3J0c0NsaXBib2FyZFdyaXRlVGV4dFxufSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIGdldERhdGFUcmFuc2ZlckNsaXBib2FyZCxcbiAgICBnZXREYXRhVHJhbnNmZXJDbGlwYm9hcmRUZXh0LFxuICAgIHNldERhdGFUcmFuc2ZlckNsaXBib2FyZCxcbiAgICBzZXREYXRhVHJhbnNmZXJDbGlwYm9hcmRUZXh0XG59IGZyb20gJy4vZGF0YS10cmFuc2Zlcic7XG5pbXBvcnQgeyBnZXROYXZpZ2F0b3JDbGlwYm9hcmQsIHNldE5hdmlnYXRvckNsaXBib2FyZCB9IGZyb20gJy4vbmF2aWdhdG9yLWNsaXBib2FyZCc7XG5pbXBvcnQgeyBDbGlwYm9hcmREYXRhLCBXcml0YWJsZUNsaXBib2FyZENvbnRleHQgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGdldENsaXBib2FyZERhdGEgPSBhc3luYyAoZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsKTogUHJvbWlzZTxDbGlwYm9hcmREYXRhPiA9PiB7XG4gICAgbGV0IGNsaXBib2FyZERhdGEgPSB7fTtcbiAgICBpZiAoZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgIGlmIChkYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4geyBmaWxlczogQXJyYXkuZnJvbShkYXRhVHJhbnNmZXIuZmlsZXMpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2xpcGJvYXJkRGF0YSA9IGdldERhdGFUcmFuc2ZlckNsaXBib2FyZChkYXRhVHJhbnNmZXIpO1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoY2xpcGJvYXJkRGF0YSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBjbGlwYm9hcmREYXRhID0gZ2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkVGV4dChkYXRhVHJhbnNmZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbGlwYm9hcmREYXRhO1xuICAgIH1cbiAgICBpZiAoZ2V0UHJvYmFibHlTdXBwb3J0c0NsaXBib2FyZFJlYWQoKSkge1xuICAgICAgICByZXR1cm4gYXdhaXQgZ2V0TmF2aWdhdG9yQ2xpcGJvYXJkKCk7XG4gICAgfVxuICAgIHJldHVybiBjbGlwYm9hcmREYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldENsaXBib2FyZERhdGEgPSBhc3luYyAoZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsLCBjbGlwYm9hcmRDb250ZXh0OiBXcml0YWJsZUNsaXBib2FyZENvbnRleHQgfCBudWxsKSA9PiB7XG4gICAgaWYgKCFjbGlwYm9hcmRDb250ZXh0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgeyB0eXBlLCBkYXRhLCB0ZXh0IH0gPSBjbGlwYm9hcmRDb250ZXh0O1xuXG4gICAgaWYgKGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRXcml0ZSgpKSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBzZXROYXZpZ2F0b3JDbGlwYm9hcmQodHlwZSwgZGF0YSwgdGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGFUcmFuc2Zlcikge1xuICAgICAgICBzZXREYXRhVHJhbnNmZXJDbGlwYm9hcmQoZGF0YVRyYW5zZmVyLCB0eXBlLCBkYXRhKTtcbiAgICAgICAgc2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkVGV4dChkYXRhVHJhbnNmZXIsIHRleHQpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ29tcGF0aWJsZSB3aXRoIHNpdHVhdGlvbnMgd2hlcmUgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSBpcyBub3Qgc3VwcG9ydGVkIGFuZCBkYXRhVHJhbnNmZXIgaXMgZW1wdHlcbiAgICAvLyBTdWNoIGFzIGNvbnRleHRtZW51IGNvcHkgaW4gRmlyZWZveC5cbiAgICBpZiAoZ2V0UHJvYmFibHlTdXBwb3J0c0NsaXBib2FyZFdyaXRlVGV4dCgpKSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChidWlsZFBsYWl0SHRtbCh0eXBlLCBkYXRhKSk7XG4gICAgfVxufTtcbiJdfQ==
@@ -64,4 +64,4 @@ export const addClipboardContext = (clipboardContext, addition) => {
64
64
  }
65
65
  return clipboardContext;
66
66
  };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvY2xpcGJvYXJkL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQTJCLEVBQUUsSUFBMkIsRUFBRSxFQUFFO0lBQ3ZGLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QyxJQUFJO1FBQ0osSUFBSTtLQUNQLENBQUMsQ0FBQztJQUNILE9BQU8sVUFBVSxvQkFBb0IsVUFBVSxDQUFDO0FBQ3BELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBWSxFQUF3QixFQUFFO0lBQ3ZFLE1BQU0sV0FBVyxHQUFHLElBQUksRUFBRSxLQUFLLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLElBQUksV0FBVyxFQUFFO1FBQ2IsSUFBSTtZQUNBLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUMsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLFFBQVEsRUFBRTtvQkFDbkQsT0FBTzt3QkFDSCxRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUk7cUJBQzNCLENBQUM7aUJBQ0w7cUJBQU0sSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLE1BQU0sRUFBRTtvQkFDeEQsT0FBTzt3QkFDSCxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUk7cUJBQ3pCLENBQUM7aUJBQ0w7YUFDSjtTQUNKO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7S0FDSjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO0lBQ3RDLDZIQUE2SDtJQUM3SCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNELEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztBQUM1RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxHQUFHLEVBQUU7SUFDbEQsT0FBTyxXQUFXLElBQUksU0FBUyxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDO0FBQ3RFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLEdBQUcsRUFBRTtJQUN0RCxPQUFPLFdBQVcsSUFBSSxTQUFTLElBQUksV0FBVyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUM7QUFDMUUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxFQUFFO0lBQ2pELE9BQU8sV0FBVyxJQUFJLFNBQVMsSUFBSSxNQUFNLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQztBQUNyRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUNsQyxJQUEyQixFQUMzQixJQUEyQixFQUMzQixJQUFZLEVBQ1ksRUFBRTtJQUMxQixPQUFPO1FBQ0gsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO0tBQ1AsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQy9CLGdCQUEwQyxFQUMxQyxRQUFrQyxFQUNWLEVBQUU7SUFDMUIsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7SUFDOUMsSUFBSSxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksRUFBRTtRQUN4QixPQUFPO1lBQ0gsSUFBSTtZQUNKLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDaEMsSUFBSSxFQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUk7U0FDbkMsQ0FBQztLQUNMO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztBQUM1QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGlwYm9hcmREYXRhLCBXcml0YWJsZUNsaXBib2FyZENvbnRleHQsIFdyaXRhYmxlQ2xpcGJvYXJkRGF0YSwgV3JpdGFibGVDbGlwYm9hcmRUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBidWlsZFBsYWl0SHRtbCA9ICh0eXBlOiBXcml0YWJsZUNsaXBib2FyZFR5cGUsIGRhdGE6IFdyaXRhYmxlQ2xpcGJvYXJkRGF0YSkgPT4ge1xuICAgIGNvbnN0IHN0cmluZ2lmaWVkQ2xpcGJvYXJkID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICB0eXBlLFxuICAgICAgICBkYXRhXG4gICAgfSk7XG4gICAgcmV0dXJuIGA8cGxhaXQ+JHtzdHJpbmdpZmllZENsaXBib2FyZH08L3BsYWl0PmA7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q2xpcGJvYXJkRnJvbUh0bWwgPSAoaHRtbDogc3RyaW5nKTogQ2xpcGJvYXJkRGF0YSB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHBsYWl0U3RyaW5nID0gaHRtbD8ubWF0Y2goLzxwbGFpdFtePl0qPiguKik8XFwvcGxhaXQ+Lyk/LlsxXTtcbiAgICBpZiAocGxhaXRTdHJpbmcpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWl0SnNvbiA9IEpTT04ucGFyc2UocGxhaXRTdHJpbmcpO1xuICAgICAgICAgICAgaWYgKHBsYWl0SnNvbikge1xuICAgICAgICAgICAgICAgIGlmIChwbGFpdEpzb24udHlwZSA9PT0gV3JpdGFibGVDbGlwYm9hcmRUeXBlLmVsZW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50czogcGxhaXRKc29uLmRhdGFcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBsYWl0SnNvbi50eXBlID09PSBXcml0YWJsZUNsaXBib2FyZFR5cGUubWVkaWFzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZWRpYXM6IHBsYWl0SnNvbi5kYXRhXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBzdHJpcEh0bWwgPSAoaHRtbDogc3RyaW5nKSA9PiB7XG4gICAgLy8gU2VlIDxodHRwczovL2dpdGh1Yi5jb20vZGV2ZWxvcGl0L3ByZWFjdC1tYXJrdXAvYmxvYi80Nzg4YjhkNjFiNGUyNGY4MzY4ODcxMDc0NmVlMzZlNzQ2NGY3YmJjL3NyYy9wYXJzZS1tYXJrdXAuanMjTDYwLUw2OT5cbiAgICBjb25zdCBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJycpO1xuICAgIGRvYy5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MID0gaHRtbC50cmltKCk7XG4gICAgcmV0dXJuIGRvYy5ib2R5LnRleHRDb250ZW50IHx8IGRvYy5ib2R5LmlubmVyVGV4dCB8fCAnJztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQcm9iYWJseVN1cHBvcnRzQ2xpcGJvYXJkV3JpdGUgPSAoKSA9PiB7XG4gICAgcmV0dXJuICdjbGlwYm9hcmQnIGluIG5hdmlnYXRvciAmJiAnd3JpdGUnIGluIG5hdmlnYXRvci5jbGlwYm9hcmQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UHJvYmFibHlTdXBwb3J0c0NsaXBib2FyZFdyaXRlVGV4dCA9ICgpID0+IHtcbiAgICByZXR1cm4gJ2NsaXBib2FyZCcgaW4gbmF2aWdhdG9yICYmICd3cml0ZVRleHQnIGluIG5hdmlnYXRvci5jbGlwYm9hcmQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UHJvYmFibHlTdXBwb3J0c0NsaXBib2FyZFJlYWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuICdjbGlwYm9hcmQnIGluIG5hdmlnYXRvciAmJiAncmVhZCcgaW4gbmF2aWdhdG9yLmNsaXBib2FyZDtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDbGlwYm9hcmRDb250ZXh0ID0gKFxuICAgIHR5cGU6IFdyaXRhYmxlQ2xpcGJvYXJkVHlwZSxcbiAgICBkYXRhOiBXcml0YWJsZUNsaXBib2FyZERhdGEsXG4gICAgdGV4dDogc3RyaW5nXG4pOiBXcml0YWJsZUNsaXBib2FyZENvbnRleHQgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIHRleHRcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZENsaXBib2FyZENvbnRleHQgPSAoXG4gICAgY2xpcGJvYXJkQ29udGV4dDogV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0LFxuICAgIGFkZGl0aW9uOiBXcml0YWJsZUNsaXBib2FyZENvbnRleHRcbik6IFdyaXRhYmxlQ2xpcGJvYXJkQ29udGV4dCA9PiB7XG4gICAgY29uc3QgeyB0eXBlLCBkYXRhLCB0ZXh0IH0gPSBjbGlwYm9hcmRDb250ZXh0O1xuICAgIGlmICh0eXBlID09PSBhZGRpdGlvbi50eXBlKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgZGF0YTogZGF0YS5jb25jYXQoYWRkaXRpb24uZGF0YSksXG4gICAgICAgICAgICB0ZXh0OiB0ZXh0ICsgJyAnICsgYWRkaXRpb24udGV4dFxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gY2xpcGJvYXJkQ29udGV4dDtcbn07XG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvY2xpcGJvYXJkL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQTJCLEVBQUUsSUFBMkIsRUFBRSxFQUFFO0lBQ3ZGLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QyxJQUFJO1FBQ0osSUFBSTtLQUNQLENBQUMsQ0FBQztJQUNILE9BQU8sVUFBVSxvQkFBb0IsVUFBVSxDQUFDO0FBQ3BELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBWSxFQUF3QixFQUFFO0lBQ3ZFLE1BQU0sV0FBVyxHQUFHLElBQUksRUFBRSxLQUFLLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLElBQUksV0FBVyxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUM7WUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzFDLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNwRCxPQUFPO3dCQUNILFFBQVEsRUFBRSxTQUFTLENBQUMsSUFBSTtxQkFDM0IsQ0FBQztnQkFDTixDQUFDO3FCQUFNLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDekQsT0FBTzt3QkFDSCxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUk7cUJBQ3pCLENBQUM7Z0JBQ04sQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtJQUN0Qyw2SEFBNkg7SUFDN0gsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzRCxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsR0FBRyxFQUFFO0lBQ2xELE9BQU8sV0FBVyxJQUFJLFNBQVMsSUFBSSxPQUFPLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQztBQUN0RSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxHQUFHLEVBQUU7SUFDdEQsT0FBTyxXQUFXLElBQUksU0FBUyxJQUFJLFdBQVcsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDO0FBQzFFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsRUFBRTtJQUNqRCxPQUFPLFdBQVcsSUFBSSxTQUFTLElBQUksTUFBTSxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUM7QUFDckUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FDbEMsSUFBMkIsRUFDM0IsSUFBMkIsRUFDM0IsSUFBWSxFQUNZLEVBQUU7SUFDMUIsT0FBTztRQUNILElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtLQUNQLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUMvQixnQkFBMEMsRUFDMUMsUUFBa0MsRUFDVixFQUFFO0lBQzFCLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLGdCQUFnQixDQUFDO0lBQzlDLElBQUksSUFBSSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixPQUFPO1lBQ0gsSUFBSTtZQUNKLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDaEMsSUFBSSxFQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUk7U0FDbkMsQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFPLGdCQUFnQixDQUFDO0FBQzVCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaXBib2FyZERhdGEsIFdyaXRhYmxlQ2xpcGJvYXJkQ29udGV4dCwgV3JpdGFibGVDbGlwYm9hcmREYXRhLCBXcml0YWJsZUNsaXBib2FyZFR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGJ1aWxkUGxhaXRIdG1sID0gKHR5cGU6IFdyaXRhYmxlQ2xpcGJvYXJkVHlwZSwgZGF0YTogV3JpdGFibGVDbGlwYm9hcmREYXRhKSA9PiB7XG4gICAgY29uc3Qgc3RyaW5naWZpZWRDbGlwYm9hcmQgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIGRhdGFcbiAgICB9KTtcbiAgICByZXR1cm4gYDxwbGFpdD4ke3N0cmluZ2lmaWVkQ2xpcGJvYXJkfTwvcGxhaXQ+YDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDbGlwYm9hcmRGcm9tSHRtbCA9IChodG1sOiBzdHJpbmcpOiBDbGlwYm9hcmREYXRhIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgcGxhaXRTdHJpbmcgPSBodG1sPy5tYXRjaCgvPHBsYWl0W14+XSo+KC4qKTxcXC9wbGFpdD4vKT8uWzFdO1xuICAgIGlmIChwbGFpdFN0cmluZykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcGxhaXRKc29uID0gSlNPTi5wYXJzZShwbGFpdFN0cmluZyk7XG4gICAgICAgICAgICBpZiAocGxhaXRKc29uKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBsYWl0SnNvbi50eXBlID09PSBXcml0YWJsZUNsaXBib2FyZFR5cGUuZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBwbGFpdEpzb24uZGF0YVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGxhaXRKc29uLnR5cGUgPT09IFdyaXRhYmxlQ2xpcGJvYXJkVHlwZS5tZWRpYXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhczogcGxhaXRKc29uLmRhdGFcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IHN0cmlwSHRtbCA9IChodG1sOiBzdHJpbmcpID0+IHtcbiAgICAvLyBTZWUgPGh0dHBzOi8vZ2l0aHViLmNvbS9kZXZlbG9waXQvcHJlYWN0LW1hcmt1cC9ibG9iLzQ3ODhiOGQ2MWI0ZTI0ZjgzNjg4NzEwNzQ2ZWUzNmU3NDY0ZjdiYmMvc3JjL3BhcnNlLW1hcmt1cC5qcyNMNjAtTDY5PlxuICAgIGNvbnN0IGRvYyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgnJyk7XG4gICAgZG9jLmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUwgPSBodG1sLnRyaW0oKTtcbiAgICByZXR1cm4gZG9jLmJvZHkudGV4dENvbnRlbnQgfHwgZG9jLmJvZHkuaW5uZXJUZXh0IHx8ICcnO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRXcml0ZSA9ICgpID0+IHtcbiAgICByZXR1cm4gJ2NsaXBib2FyZCcgaW4gbmF2aWdhdG9yICYmICd3cml0ZScgaW4gbmF2aWdhdG9yLmNsaXBib2FyZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQcm9iYWJseVN1cHBvcnRzQ2xpcGJvYXJkV3JpdGVUZXh0ID0gKCkgPT4ge1xuICAgIHJldHVybiAnY2xpcGJvYXJkJyBpbiBuYXZpZ2F0b3IgJiYgJ3dyaXRlVGV4dCcgaW4gbmF2aWdhdG9yLmNsaXBib2FyZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQcm9iYWJseVN1cHBvcnRzQ2xpcGJvYXJkUmVhZCA9ICgpID0+IHtcbiAgICByZXR1cm4gJ2NsaXBib2FyZCcgaW4gbmF2aWdhdG9yICYmICdyZWFkJyBpbiBuYXZpZ2F0b3IuY2xpcGJvYXJkO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNsaXBib2FyZENvbnRleHQgPSAoXG4gICAgdHlwZTogV3JpdGFibGVDbGlwYm9hcmRUeXBlLFxuICAgIGRhdGE6IFdyaXRhYmxlQ2xpcGJvYXJkRGF0YSxcbiAgICB0ZXh0OiBzdHJpbmdcbik6IFdyaXRhYmxlQ2xpcGJvYXJkQ29udGV4dCA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgdGV4dFxuICAgIH07XG59O1xuXG5leHBvcnQgY29uc3QgYWRkQ2xpcGJvYXJkQ29udGV4dCA9IChcbiAgICBjbGlwYm9hcmRDb250ZXh0OiBXcml0YWJsZUNsaXBib2FyZENvbnRleHQsXG4gICAgYWRkaXRpb246IFdyaXRhYmxlQ2xpcGJvYXJkQ29udGV4dFxuKTogV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0ID0+IHtcbiAgICBjb25zdCB7IHR5cGUsIGRhdGEsIHRleHQgfSA9IGNsaXBib2FyZENvbnRleHQ7XG4gICAgaWYgKHR5cGUgPT09IGFkZGl0aW9uLnR5cGUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBkYXRhOiBkYXRhLmNvbmNhdChhZGRpdGlvbi5kYXRhKSxcbiAgICAgICAgICAgIHRleHQ6IHRleHQgKyAnICcgKyBhZGRpdGlvbi50ZXh0XG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBjbGlwYm9hcmRDb250ZXh0O1xufTtcbiJdfQ==
@@ -30,4 +30,4 @@ export const getDataTransferClipboardText = (data) => {
30
30
  text
31
31
  };
32
32
  };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10cmFuc2Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2NsaXBib2FyZC9kYXRhLXRyYW5zZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHaEUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxZQUFpQyxFQUFFLElBQTJCLEVBQUUsSUFBMkIsRUFBRSxFQUFFO0lBQ3BJLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLElBQXlCLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDcEYsSUFBSSxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxJQUF5QixFQUFpQixFQUFFO0lBQ2pGLE1BQU0sSUFBSSxHQUFHLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsSUFBSSxJQUFJLEVBQUU7UUFDTixNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQUksaUJBQWlCLEVBQUU7WUFDbkIsT0FBTyxpQkFBaUIsQ0FBQztTQUM1QjtLQUNKO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLElBQXlCLEVBQUUsRUFBRTtJQUN0RSxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1AsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUNELE1BQU0sSUFBSSxHQUFHLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsSUFBSSxJQUFJLEVBQUU7UUFDTixNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQUksaUJBQWlCLEVBQUU7WUFDbkIsT0FBTyxpQkFBaUIsQ0FBQztTQUM1QjtLQUNKO0lBQ0QsT0FBTztRQUNILElBQUk7S0FDUCxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYnVpbGRQbGFpdEh0bWwsIGdldENsaXBib2FyZEZyb21IdG1sIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgQ2xpcGJvYXJkRGF0YSwgV3JpdGFibGVDbGlwYm9hcmREYXRhLCBXcml0YWJsZUNsaXBib2FyZFR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IHNldERhdGFUcmFuc2ZlckNsaXBib2FyZCA9IChkYXRhVHJhbnNmZXI6IERhdGFUcmFuc2ZlciB8IG51bGwsIHR5cGU6IFdyaXRhYmxlQ2xpcGJvYXJkVHlwZSwgZGF0YTogV3JpdGFibGVDbGlwYm9hcmREYXRhKSA9PiB7XG4gICAgZGF0YVRyYW5zZmVyPy5zZXREYXRhKGB0ZXh0L2h0bWxgLCBidWlsZFBsYWl0SHRtbCh0eXBlLCBkYXRhKSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkVGV4dCA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsLCB0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICBkYXRhPy5zZXREYXRhKGB0ZXh0L3BsYWluYCwgdGV4dCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpOiBDbGlwYm9hcmREYXRhID0+IHtcbiAgICBjb25zdCBodG1sID0gZGF0YT8uZ2V0RGF0YShgdGV4dC9odG1sYCk7XG4gICAgaWYgKGh0bWwpIHtcbiAgICAgICAgY29uc3QgaHRtbENsaXBib2FyZERhdGEgPSBnZXRDbGlwYm9hcmRGcm9tSHRtbChodG1sKTtcbiAgICAgICAgaWYgKGh0bWxDbGlwYm9hcmREYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gaHRtbENsaXBib2FyZERhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge307XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkVGV4dCA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgY29uc3QgdGV4dCA9IGRhdGE/LmdldERhdGEoYHRleHQvcGxhaW5gKTtcbiAgICBpZiAodGV4dCkge1xuICAgICAgICBjb25zdCBodG1sQ2xpcGJvYXJkRGF0YSA9IGdldENsaXBib2FyZEZyb21IdG1sKHRleHQpO1xuICAgICAgICBpZiAoaHRtbENsaXBib2FyZERhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBodG1sQ2xpcGJvYXJkRGF0YTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICB0ZXh0XG4gICAgfTtcbn07XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10cmFuc2Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2NsaXBib2FyZC9kYXRhLXRyYW5zZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHaEUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxZQUFpQyxFQUFFLElBQTJCLEVBQUUsSUFBMkIsRUFBRSxFQUFFO0lBQ3BJLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLElBQXlCLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDcEYsSUFBSSxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxJQUF5QixFQUFpQixFQUFFO0lBQ2pGLE1BQU0sSUFBSSxHQUFHLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNQLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLE9BQU8saUJBQWlCLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLEVBQUUsQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQUMsSUFBeUIsRUFBRSxFQUFFO0lBQ3RFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNSLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNQLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLE9BQU8saUJBQWlCLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPO1FBQ0gsSUFBSTtLQUNQLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBidWlsZFBsYWl0SHRtbCwgZ2V0Q2xpcGJvYXJkRnJvbUh0bWwgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBDbGlwYm9hcmREYXRhLCBXcml0YWJsZUNsaXBib2FyZERhdGEsIFdyaXRhYmxlQ2xpcGJvYXJkVHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3Qgc2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkID0gKGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbCwgdHlwZTogV3JpdGFibGVDbGlwYm9hcmRUeXBlLCBkYXRhOiBXcml0YWJsZUNsaXBib2FyZERhdGEpID0+IHtcbiAgICBkYXRhVHJhbnNmZXI/LnNldERhdGEoYHRleHQvaHRtbGAsIGJ1aWxkUGxhaXRIdG1sKHR5cGUsIGRhdGEpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXREYXRhVHJhbnNmZXJDbGlwYm9hcmRUZXh0ID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGRhdGE/LnNldERhdGEoYHRleHQvcGxhaW5gLCB0ZXh0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREYXRhVHJhbnNmZXJDbGlwYm9hcmQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCk6IENsaXBib2FyZERhdGEgPT4ge1xuICAgIGNvbnN0IGh0bWwgPSBkYXRhPy5nZXREYXRhKGB0ZXh0L2h0bWxgKTtcbiAgICBpZiAoaHRtbCkge1xuICAgICAgICBjb25zdCBodG1sQ2xpcGJvYXJkRGF0YSA9IGdldENsaXBib2FyZEZyb21IdG1sKGh0bWwpO1xuICAgICAgICBpZiAoaHRtbENsaXBib2FyZERhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBodG1sQ2xpcGJvYXJkRGF0YTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7fTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREYXRhVHJhbnNmZXJDbGlwYm9hcmRUZXh0ID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpID0+IHtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCB0ZXh0ID0gZGF0YT8uZ2V0RGF0YShgdGV4dC9wbGFpbmApO1xuICAgIGlmICh0ZXh0KSB7XG4gICAgICAgIGNvbnN0IGh0bWxDbGlwYm9hcmREYXRhID0gZ2V0Q2xpcGJvYXJkRnJvbUh0bWwodGV4dCk7XG4gICAgICAgIGlmIChodG1sQ2xpcGJvYXJkRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxDbGlwYm9hcmREYXRhO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHRleHRcbiAgICB9O1xufTtcbiJdfQ==
@@ -68,4 +68,4 @@ const blobAsString = (blob) => {
68
68
  reader.readAsText(blob);
69
69
  });
70
70
  };
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLWNsaXBib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2NsaXBib2FyZC9uYXZpZ2F0b3ItY2xpcGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGdDQUFnQyxFQUNoQyxpQ0FBaUMsRUFDakMsU0FBUyxFQUNaLE1BQU0sVUFBVSxDQUFDO0FBR2xCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxJQUEyQixFQUFFLElBQTJCLEVBQUUsT0FBZSxFQUFFLEVBQUUsRUFBRTtJQUN2SCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDekIsSUFBSSxpQ0FBaUMsRUFBRSxFQUFFO1FBQ3JDLE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDNUIsSUFBSSxhQUFhLENBQUM7Z0JBQ2QsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFO29CQUNoRCxJQUFJLEVBQUUsV0FBVztpQkFDcEIsQ0FBQztnQkFDRixZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2FBQzFGLENBQUM7U0FDTCxDQUFDLENBQUM7S0FDTjtBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssSUFBNEIsRUFBRTtJQUNwRSxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsRUFBRTtRQUNyQyxPQUFPLEVBQUUsQ0FBQztLQUNiO0lBQ0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxD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QVUsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ3BDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDM0IsT0FBTyxDQUFDLElBQWMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGJ1aWxkUGxhaXRIdG1sLFxuICAgIGdldENsaXBib2FyZEZyb21IdG1sLFxuICAgIGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRSZWFkLFxuICAgIGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRXcml0ZSxcbiAgICBzdHJpcEh0bWxcbn0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgQ2xpcGJvYXJkRGF0YSwgV3JpdGFibGVDbGlwYm9hcmREYXRhLCBXcml0YWJsZUNsaXBib2FyZFR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IHNldE5hdmlnYXRvckNsaXBib2FyZCA9IGFzeW5jICh0eXBlOiBXcml0YWJsZUNsaXBib2FyZFR5cGUsIGRhdGE6IFdyaXRhYmxlQ2xpcGJvYXJkRGF0YSwgdGV4dDogc3RyaW5nID0gJycpID0+IHtcbiAgICBsZXQgdGV4dENsaXBib2FyZCA9IHRleHQ7XG4gICAgaWYgKGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRXcml0ZSgpKSB7XG4gICAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoW1xuICAgICAgICAgICAgbmV3IENsaXBib2FyZEl0ZW0oe1xuICAgICAgICAgICAgICAgICd0ZXh0L2h0bWwnOiBuZXcgQmxvYihbYnVpbGRQbGFpdEh0bWwodHlwZSwgZGF0YSldLCB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0L2h0bWwnXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgJ3RleHQvcGxhaW4nOiBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkodGV4dENsaXBib2FyZCA/PyBkYXRhKV0sIHsgdHlwZTogJ3RleHQvcGxhaW4nIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICBdKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmF2aWdhdG9yQ2xpcGJvYXJkID0gYXN5bmMgKCk6IFByb21pc2U8Q2xpcGJvYXJkRGF0YT4gPT4ge1xuICAgIGlmICghZ2V0UHJvYmFibHlTdXBwb3J0c0NsaXBib2FyZFJlYWQoKSkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IGNsaXBib2FyZEl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7XG4gICAgbGV0IGNsaXBib2FyZERhdGE6IENsaXBib2FyZERhdGEgPSB7fTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGNsaXBib2FyZEl0ZW1zKSAmJiBjbGlwYm9hcmRJdGVtc1swXSBpbnN0YW5jZW9mIENsaXBib2FyZEl0ZW0pIHtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGNsaXBib2FyZEl0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoaXNGaWxlKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xpcGJvYXJkRmlsZXMgPSBpdGVtLnR5cGVzLmZpbHRlcih0eXBlID0+IHR5cGUubWF0Y2goL15pbWFnZVxcLy8pKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlQmxvYnMgPSBhd2FpdCBQcm9taXNlLmFsbChjbGlwYm9hcmRGaWxlcy5tYXAodHlwZSA9PiBpdGVtLmdldFR5cGUodHlwZSkhKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgdXJscyA9IChmaWxlQmxvYnMuZmlsdGVyKEJvb2xlYW4pIGFzIChGaWxlIHwgQmxvYilbXSkubWFwKGJsb2IgPT4gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICAgICAgdXJscy5tYXAoYXN5bmMgdXJsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCAoYXdhaXQgZmV0Y2godXJsKSkuYmxvYigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlKFtibG9iXSwgJ3BsYWl0LWZpbGUnLCB7IHR5cGU6IGJsb2IudHlwZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVzXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLnR5cGVzLmluY2x1ZGVzKCd0ZXh0L2h0bWwnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxDb250ZW50ID0gYXdhaXQgYmxvYkFzU3RyaW5nKGF3YWl0IGl0ZW0uZ2V0VHlwZSgndGV4dC9odG1sJykpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxDbGlwYm9hcmREYXRhID0gZ2V0Q2xpcGJvYXJkRnJvbUh0bWwoaHRtbENvbnRlbnQpO1xuICAgICAgICAgICAgICAgIGlmIChodG1sQ2xpcGJvYXJkRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaHRtbENsaXBib2FyZERhdGE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChodG1sQ29udGVudCAmJiBodG1sQ29udGVudC50cmltKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xpcGJvYXJkRGF0YSA9IHsgdGV4dDogc3RyaXBIdG1sKGh0bWxDb250ZW50KSB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLnR5cGVzLmluY2x1ZGVzKCd0ZXh0L3BsYWluJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IGF3YWl0IGJsb2JBc1N0cmluZyhhd2FpdCBpdGVtLmdldFR5cGUoJ3RleHQvcGxhaW4nKSk7XG4gICAgICAgICAgICAgICAgY2xpcGJvYXJkRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogc3RyaXBIdG1sKHRleHRDb250ZW50KVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsaXBib2FyZERhdGE7XG59O1xuXG5jb25zdCBpc0ZpbGUgPSAoaXRlbTogQ2xpcGJvYXJkSXRlbSkgPT4ge1xuICAgIHJldHVybiBpdGVtLnR5cGVzLmZpbmQoaSA9PiBpLm1hdGNoKC9eaW1hZ2VcXC8vKSk7XG59O1xuXG5jb25zdCBibG9iQXNTdHJpbmcgPSAoYmxvYjogQmxvYikgPT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlbmQnLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0ID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgIHJlc29sdmUodGV4dCBhcyBzdHJpbmcpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KHJlYWRlci5lcnJvcik7XG4gICAgICAgIH0pO1xuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChibG9iKTtcbiAgICB9KTtcbn07XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLWNsaXBib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2NsaXBib2FyZC9uYXZpZ2F0b3ItY2xpcGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGdDQUFnQyxFQUNoQyxpQ0FBaUMsRUFDakMsU0FBUyxFQUNaLE1BQU0sVUFBVSxDQUFDO0FBR2xCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxJQUEyQixFQUFFLElBQTJCLEVBQUUsT0FBZSxFQUFFLEVBQUUsRUFBRTtJQUN2SCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDekIsSUFBSSxpQ0FBaUMsRUFBRSxFQUFFLENBQUM7UUFDdEMsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUM1QixJQUFJLGFBQWEsQ0FBQztnQkFDZCxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUU7b0JBQ2hELElBQUksRUFBRSxXQUFXO2lCQUNwQixDQUFDO2dCQUNGLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7YUFDMUYsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLElBQTRCLEVBQUU7SUFDcEUsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxNQUFNLFNBQVMsQ0FBQyxT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LEVBQUU7SUFDaEMsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ3BDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDM0IsT0FBTyxDQUFDLElBQWMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGJ1aWxkUGxhaXRIdG1sLFxuICAgIGdldENsaXBib2FyZEZyb21IdG1sLFxuICAgIGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRSZWFkLFxuICAgIGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRXcml0ZSxcbiAgICBzdHJpcEh0bWxcbn0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgQ2xpcGJvYXJkRGF0YSwgV3JpdGFibGVDbGlwYm9hcmREYXRhLCBXcml0YWJsZUNsaXBib2FyZFR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IHNldE5hdmlnYXRvckNsaXBib2FyZCA9IGFzeW5jICh0eXBlOiBXcml0YWJsZUNsaXBib2FyZFR5cGUsIGRhdGE6IFdyaXRhYmxlQ2xpcGJvYXJkRGF0YSwgdGV4dDogc3RyaW5nID0gJycpID0+IHtcbiAgICBsZXQgdGV4dENsaXBib2FyZCA9IHRleHQ7XG4gICAgaWYgKGdldFByb2JhYmx5U3VwcG9ydHNDbGlwYm9hcmRXcml0ZSgpKSB7XG4gICAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoW1xuICAgICAgICAgICAgbmV3IENsaXBib2FyZEl0ZW0oe1xuICAgICAgICAgICAgICAgICd0ZXh0L2h0bWwnOiBuZXcgQmxvYihbYnVpbGRQbGFpdEh0bWwodHlwZSwgZGF0YSldLCB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0L2h0bWwnXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgJ3RleHQvcGxhaW4nOiBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkodGV4dENsaXBib2FyZCA/PyBkYXRhKV0sIHsgdHlwZTogJ3RleHQvcGxhaW4nIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICBdKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmF2aWdhdG9yQ2xpcGJvYXJkID0gYXN5bmMgKCk6IFByb21pc2U8Q2xpcGJvYXJkRGF0YT4gPT4ge1xuICAgIGlmICghZ2V0UHJvYmFibHlTdXBwb3J0c0NsaXBib2FyZFJlYWQoKSkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IGNsaXBib2FyZEl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7XG4gICAgbGV0IGNsaXBib2FyZERhdGE6IENsaXBib2FyZERhdGEgPSB7fTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGNsaXBib2FyZEl0ZW1zKSAmJiBjbGlwYm9hcmRJdGVtc1swXSBpbnN0YW5jZW9mIENsaXBib2FyZEl0ZW0pIHtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGNsaXBib2FyZEl0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoaXNGaWxlKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xpcGJvYXJkRmlsZXMgPSBpdGVtLnR5cGVzLmZpbHRlcih0eXBlID0+IHR5cGUubWF0Y2goL15pbWFnZVxcLy8pKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlQmxvYnMgPSBhd2FpdCBQcm9taXNlLmFsbChjbGlwYm9hcmRGaWxlcy5tYXAodHlwZSA9PiBpdGVtLmdldFR5cGUodHlwZSkhKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgdXJscyA9IChmaWxlQmxvYnMuZmlsdGVyKEJvb2xlYW4pIGFzIChGaWxlIHwgQmxvYilbXSkubWFwKGJsb2IgPT4gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICAgICAgdXJscy5tYXAoYXN5bmMgdXJsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCAoYXdhaXQgZmV0Y2godXJsKSkuYmxvYigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlKFtibG9iXSwgJ3BsYWl0LWZpbGUnLCB7IHR5cGU6IGJsb2IudHlwZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVzXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLnR5cGVzLmluY2x1ZGVzKCd0ZXh0L2h0bWwnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxDb250ZW50ID0gYXdhaXQgYmxvYkFzU3RyaW5nKGF3YWl0IGl0ZW0uZ2V0VHlwZSgndGV4dC9odG1sJykpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxDbGlwYm9hcmREYXRhID0gZ2V0Q2xpcGJvYXJkRnJvbUh0bWwoaHRtbENvbnRlbnQpO1xuICAgICAgICAgICAgICAgIGlmIChodG1sQ2xpcGJvYXJkRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaHRtbENsaXBib2FyZERhdGE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChodG1sQ29udGVudCAmJiBodG1sQ29udGVudC50cmltKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xpcGJvYXJkRGF0YSA9IHsgdGV4dDogc3RyaXBIdG1sKGh0bWxDb250ZW50KSB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLnR5cGVzLmluY2x1ZGVzKCd0ZXh0L3BsYWluJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IGF3YWl0IGJsb2JBc1N0cmluZyhhd2FpdCBpdGVtLmdldFR5cGUoJ3RleHQvcGxhaW4nKSk7XG4gICAgICAgICAgICAgICAgY2xpcGJvYXJkRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogc3RyaXBIdG1sKHRleHRDb250ZW50KVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsaXBib2FyZERhdGE7XG59O1xuXG5jb25zdCBpc0ZpbGUgPSAoaXRlbTogQ2xpcGJvYXJkSXRlbSkgPT4ge1xuICAgIHJldHVybiBpdGVtLnR5cGVzLmZpbmQoaSA9PiBpLm1hdGNoKC9eaW1hZ2VcXC8vKSk7XG59O1xuXG5jb25zdCBibG9iQXNTdHJpbmcgPSAoYmxvYjogQmxvYikgPT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlbmQnLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0ID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgIHJlc29sdmUodGV4dCBhcyBzdHJpbmcpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KHJlYWRlci5lcnJvcik7XG4gICAgICAgIH0pO1xuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChibG9iKTtcbiAgICB9KTtcbn07XG4iXX0=
@@ -44,4 +44,4 @@ export const debounce = (func, wait, options) => {
44
44
  }
45
45
  };
46
46
  };
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE1BQU0sWUFBWSxHQUFHLElBQUksT0FBTyxFQUFnRCxDQUFDO0FBRWpGLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBaUIsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUNsRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBaUIsRUFBRSxHQUFXLEVBQUUsRUFBYyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO1FBQ3RCLElBQUksT0FBTyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtZQUNyQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM1QyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9CLEVBQUUsRUFBRSxDQUFDO1FBQ1QsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUNyQixZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUM7SUFDRixJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTtRQUNsQixvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNqQztJQUNELFlBQVksRUFBRSxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQWdCLEVBQUUsSUFBWSxFQUFFLE9BQThCLEVBQUUsRUFBRTtJQUN2RixJQUFJLGlCQUFpQixHQUF3QixJQUFJLENBQUM7SUFDbEQsT0FBTyxHQUFHLEVBQUU7UUFDUixJQUFJLGlCQUFpQixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFO1lBQ2hELGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUMzQyxJQUFJLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksT0FBTyxFQUFFLE9BQU8sRUFBRTtnQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ3BCLElBQUksRUFBRSxDQUFDO2dCQUNYLENBQUMsQ0FBQyxDQUFDO2FBQ047WUFDRCxpQkFBaUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDL0M7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IEJPQVJEX1RPX1JBRiA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIHsgW2tleTogc3RyaW5nXTogbnVtYmVyIHwgbnVsbCB9PigpO1xuXG5jb25zdCBnZXRUaW1lcklkID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBrZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gZ2V0UkFGU3RhdGUoYm9hcmQpO1xuICAgIHJldHVybiBzdGF0ZVtrZXldIHx8IG51bGw7XG59O1xuXG5jb25zdCBnZXRSQUZTdGF0ZSA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIHJldHVybiBCT0FSRF9UT19SQUYuZ2V0KGJvYXJkKSB8fCB7fTtcbn07XG5cbmV4cG9ydCBjb25zdCB0aHJvdHRsZVJBRiA9IChib2FyZDogUGxhaXRCb2FyZCwga2V5OiBzdHJpbmcsIGZuOiAoKSA9PiB2b2lkKSA9PiB7XG4gICAgY29uc3Qgc2NoZWR1bGVGdW5jID0gKCkgPT4ge1xuICAgICAgICBsZXQgdGltZXJJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IEJPQVJEX1RPX1JBRi5nZXQoYm9hcmQpIHx8IHt9O1xuICAgICAgICAgICAgdmFsdWVba2V5XSA9IG51bGw7XG4gICAgICAgICAgICBCT0FSRF9UT19SQUYuc2V0KGJvYXJkLCB2YWx1ZSk7XG4gICAgICAgICAgICBmbigpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSBnZXRSQUZTdGF0ZShib2FyZCk7XG4gICAgICAgIHN0YXRlW2tleV0gPSB0aW1lcklkO1xuICAgICAgICBCT0FSRF9UT19SQUYuc2V0KGJvYXJkLCBzdGF0ZSk7XG4gICAgfTtcbiAgICBsZXQgdGltZXJJZCA9IGdldFRpbWVySWQoYm9hcmQsIGtleSk7XG4gICAgaWYgKHRpbWVySWQgIT09IG51bGwpIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGltZXJJZCk7XG4gICAgfVxuICAgIHNjaGVkdWxlRnVuYygpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlYm91bmNlID0gKGZ1bmM6ICgpID0+IHZvaWQsIHdhaXQ6IG51bWJlciwgb3B0aW9ucz86IHsgbGVhZGluZzogYm9vbGVhbiB9KSA9PiB7XG4gICAgbGV0IHRpbWVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAodGltZXJTdWJzY3JpcHRpb24gJiYgIXRpbWVyU3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgICAgICAgdGltZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRpbWVyU3Vic2NyaXB0aW9uID0gdGltZXIod2FpdCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBmdW5jKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zPy5sZWFkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGltZXIoMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZnVuYygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGltZXJTdWJzY3JpcHRpb24gPSB0aW1lcih3YWl0KS5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE1BQU0sWUFBWSxHQUFHLElBQUksT0FBTyxFQUFnRCxDQUFDO0FBRWpGLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBaUIsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUNsRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBaUIsRUFBRSxHQUFXLEVBQUUsRUFBYyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO1FBQ3RCLElBQUksT0FBTyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtZQUNyQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM1QyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9CLEVBQUUsRUFBRSxDQUFDO1FBQ1QsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUNyQixZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUM7SUFDRixJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ25CLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxZQUFZLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFnQixFQUFFLElBQVksRUFBRSxPQUE4QixFQUFFLEVBQUU7SUFDdkYsSUFBSSxpQkFBaUIsR0FBd0IsSUFBSSxDQUFDO0lBQ2xELE9BQU8sR0FBRyxFQUFFO1FBQ1IsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pELGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUMzQyxJQUFJLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ3BCLElBQUksRUFBRSxDQUFDO2dCQUNYLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELGlCQUFpQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoRCxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBCT0FSRF9UT19SQUYgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCB7IFtrZXk6IHN0cmluZ106IG51bWJlciB8IG51bGwgfT4oKTtcblxuY29uc3QgZ2V0VGltZXJJZCA9IChib2FyZDogUGxhaXRCb2FyZCwga2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IGdldFJBRlN0YXRlKGJvYXJkKTtcbiAgICByZXR1cm4gc3RhdGVba2V5XSB8fCBudWxsO1xufTtcblxuY29uc3QgZ2V0UkFGU3RhdGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICByZXR1cm4gQk9BUkRfVE9fUkFGLmdldChib2FyZCkgfHwge307XG59O1xuXG5leHBvcnQgY29uc3QgdGhyb3R0bGVSQUYgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGtleTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkgPT4ge1xuICAgIGNvbnN0IHNjaGVkdWxlRnVuYyA9ICgpID0+IHtcbiAgICAgICAgbGV0IHRpbWVySWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBCT0FSRF9UT19SQUYuZ2V0KGJvYXJkKSB8fCB7fTtcbiAgICAgICAgICAgIHZhbHVlW2tleV0gPSBudWxsO1xuICAgICAgICAgICAgQk9BUkRfVE9fUkFGLnNldChib2FyZCwgdmFsdWUpO1xuICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gZ2V0UkFGU3RhdGUoYm9hcmQpO1xuICAgICAgICBzdGF0ZVtrZXldID0gdGltZXJJZDtcbiAgICAgICAgQk9BUkRfVE9fUkFGLnNldChib2FyZCwgc3RhdGUpO1xuICAgIH07XG4gICAgbGV0IHRpbWVySWQgPSBnZXRUaW1lcklkKGJvYXJkLCBrZXkpO1xuICAgIGlmICh0aW1lcklkICE9PSBudWxsKSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRpbWVySWQpO1xuICAgIH1cbiAgICBzY2hlZHVsZUZ1bmMoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWJvdW5jZSA9IChmdW5jOiAoKSA9PiB2b2lkLCB3YWl0OiBudW1iZXIsIG9wdGlvbnM/OiB7IGxlYWRpbmc6IGJvb2xlYW4gfSkgPT4ge1xuICAgIGxldCB0aW1lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgaWYgKHRpbWVyU3Vic2NyaXB0aW9uICYmICF0aW1lclN1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgICAgIHRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aW1lclN1YnNjcmlwdGlvbiA9IHRpbWVyKHdhaXQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgZnVuYygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucz8ubGVhZGluZykge1xuICAgICAgICAgICAgICAgIHRpbWVyKDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZ1bmMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRpbWVyU3Vic2NyaXB0aW9uID0gdGltZXIod2FpdCkuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9O1xufTtcbiJdfQ==
@@ -23,9 +23,13 @@ export function createRect(rectangle, options) {
23
23
  export const setStrokeLinecap = (g, value) => {
24
24
  g.setAttribute('stroke-linecap', value);
25
25
  };
26
- export const setTransformRotate = (g, rectangle, angle) => {
27
- var centerX = rectangle.x + rectangle.width / 2;
28
- var centerY = rectangle.y + rectangle.height / 2;
26
+ export const setAngleForG = (g, centerPoint, angle) => {
27
+ if (angle === 0) {
28
+ g.removeAttribute('transform');
29
+ return;
30
+ }
31
+ var centerX = centerPoint[0];
32
+ var centerY = centerPoint[1];
29
33
  let cosTheta = Math.cos(angle);
30
34
  let sinTheta = Math.sin(angle);
31
35
  let transformMatrix = [
@@ -85,4 +89,4 @@ export const isSecondaryPointer = (event) => {
85
89
  export const isMainPointer = (event) => {
86
90
  return event.button === POINTER_BUTTON.MAIN;
87
91
  };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvZG9tL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHakQsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLDRCQUE0QixDQUFDO0FBRS9DLE1BQU0sVUFBVSxPQUFPO0lBQ25CLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVTtJQUN0QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxTQUEwQixFQUFFLE9BQWlCO0lBQ3BFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbkQsS0FBSyxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDckIsTUFBTSxT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ekQsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFVLEVBQWlCLEVBQUU7SUFDbkQsT0FBTyxLQUFLLFlBQVksTUFBTSxDQUFDLElBQUksQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtJQUNuRSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN0QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQzdELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7S0FDSjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3BELE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsU0FBUyxDQUFDO0FBQ3JELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUMvQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQztBQUNoRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBQT0lOVEVSX0JVVFRPTiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IE5TID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUcoKSB7XG4gICAgY29uc3QgbmV3RyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ2cnKTtcbiAgICByZXR1cm4gbmV3Rztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBhdGgoKSB7XG4gICAgY29uc3QgbmV3RyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3BhdGgnKTtcbiAgICByZXR1cm4gbmV3Rztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlY3QocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM/OiBPcHRpb25zKSB7XG4gICAgY29uc3QgcmVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3JlY3QnKTtcbiAgICByZWN0LnNldEF0dHJpYnV0ZSgneCcsIGAke3JlY3RhbmdsZS54fWApO1xuICAgIHJlY3Quc2V0QXR0cmlidXRlKCd5JywgYCR7cmVjdGFuZ2xlLnl9YCk7XG4gICAgcmVjdC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7cmVjdGFuZ2xlLndpZHRofWApO1xuICAgIHJlY3Quc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBgJHtyZWN0YW5nbGUuaGVpZ2h0fWApO1xuICAgIGZvciAobGV0IGtleSBpbiBvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbktleSA9IGtleSBhcyBrZXlvZiBPcHRpb25zO1xuICAgICAgICByZWN0LnNldEF0dHJpYnV0ZShrZXksIGAke29wdGlvbnNbb3B0aW9uS2V5XX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlY3Q7XG59XG5cbmV4cG9ydCBjb25zdCBzZXRTdHJva2VMaW5lY2FwID0gKGc6IFNWR0dFbGVtZW50LCB2YWx1ZTogJ3JvdW5kJyB8ICdzcXVhcmUnKSA9PiB7XG4gICAgZy5zZXRBdHRyaWJ1dGUoJ3N0cm9rZS1saW5lY2FwJywgdmFsdWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFRyYW5zZm9ybVJvdGF0ZSA9IChnOiBTVkdHRWxlbWVudCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIGFuZ2xlOiBudW1iZXIpID0+IHtcbiAgICB2YXIgY2VudGVyWCA9IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMjtcbiAgICB2YXIgY2VudGVyWSA9IHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDI7XG5cbiAgICBsZXQgY29zVGhldGEgPSBNYXRoLmNvcyhhbmdsZSk7XG4gICAgbGV0IHNpblRoZXRhID0gTWF0aC5zaW4oYW5nbGUpO1xuXG4gICAgbGV0IHRyYW5zZm9ybU1hdHJpeCA9IFtcbiAgICAgICAgY29zVGhldGEsXG4gICAgICAgIHNpblRoZXRhLFxuICAgICAgICAtc2luVGhldGEsXG4gICAgICAgIGNvc1RoZXRhLFxuICAgICAgICBjZW50ZXJYICogKDEgLSBjb3NUaGV0YSkgKyBjZW50ZXJZICogc2luVGhldGEsXG4gICAgICAgIGNlbnRlclkgKiAoMSAtIGNvc1RoZXRhKSAtIGNlbnRlclggKiBzaW5UaGV0YVxuICAgIF07XG5cbiAgICBsZXQgbWF0cml4ID0gJ21hdHJpeCgnICsgdHJhbnNmb3JtTWF0cml4LmpvaW4oJywnKSArICcpJztcbiAgICBnLnNldEF0dHJpYnV0ZSgndHJhbnNmb3JtJywgYCR7bWF0cml4fWApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFBhdGhTdHJva2VMaW5lY2FwID0gKGc6IFNWR0dFbGVtZW50LCB2YWx1ZTogJ3JvdW5kJyB8ICdzcXVhcmUnKSA9PiB7XG4gICAgZy5xdWVyeVNlbGVjdG9yQWxsKCdwYXRoJykuZm9yRWFjaChwYXRoID0+IHtcbiAgICAgICAgcGF0aC5zZXRBdHRyaWJ1dGUoJ3N0cm9rZS1saW5lY2FwJywgdmFsdWUpO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1hc2soKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ21hc2snKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNWRygpIHtcbiAgICBjb25zdCBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmcnKTtcbiAgICByZXR1cm4gc3ZnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGV4dCh4OiBudW1iZXIsIHk6IG51bWJlciwgZmlsbDogc3RyaW5nLCB0ZXh0Q29udGVudDogc3RyaW5nKSB7XG4gICAgdmFyIHRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICd0ZXh0Jyk7XG4gICAgdGV4dC5zZXRBdHRyaWJ1dGUoJ3gnLCBgJHt4fWApO1xuICAgIHRleHQuc2V0QXR0cmlidXRlKCd5JywgYCR7eX1gKTtcbiAgICB0ZXh0LnNldEF0dHJpYnV0ZSgnZmlsbCcsIGZpbGwpO1xuICAgIHRleHQudGV4dENvbnRlbnQgPSB0ZXh0Q29udGVudDtcbiAgICByZXR1cm4gdGV4dDtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhIERPTSBub2RlIGlzIGFuIGVsZW1lbnQgbm9kZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzRE9NRWxlbWVudCA9ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgRWxlbWVudCA9PiB7XG4gICAgcmV0dXJuIGlzRE9NTm9kZSh2YWx1ZSkgJiYgdmFsdWUubm9kZVR5cGUgPT09IDE7XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGEgdmFsdWUgaXMgYSBET00gbm9kZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzRE9NTm9kZSA9ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgTm9kZSA9PiB7XG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2Ygd2luZG93Lk5vZGU7XG59O1xuXG5leHBvcnQgY29uc3QgaGFzSW5wdXRPclRleHRhcmVhVGFyZ2V0ID0gKHRhcmdldDogRXZlbnRUYXJnZXQgfCBudWxsKSA9PiB7XG4gICAgaWYgKGlzRE9NRWxlbWVudCh0YXJnZXQpKSB7XG4gICAgICAgIGlmICh0YXJnZXQudGFnTmFtZSA9PT0gJ0lOUFVUJyB8fCB0YXJnZXQudGFnTmFtZSA9PT0gJ1RFWFRBUkVBJykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU2Vjb25kYXJ5UG9pbnRlciA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIHJldHVybiBldmVudC5idXR0b24gPT09IFBPSU5URVJfQlVUVE9OLlNFQ09OREFSWTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc01haW5Qb2ludGVyID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgcmV0dXJuIGV2ZW50LmJ1dHRvbiA9PT0gUE9JTlRFUl9CVVRUT04uTUFJTjtcbn07XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvZG9tL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHakQsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLDRCQUE0QixDQUFDO0FBRS9DLE1BQU0sVUFBVSxPQUFPO0lBQ25CLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVTtJQUN0QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxTQUEwQixFQUFFLE9BQWlCO0lBQ3BFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbkQsS0FBSyxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN0QixN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QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFVLEVBQW9CLEVBQUU7SUFDekQsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFVLEVBQWlCLEVBQUU7SUFDbkQsT0FBTyxLQUFLLFlBQVksTUFBTSxDQUFDLElBQUksQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtJQUNuRSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxPQUFPLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUM5RCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3BELE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsU0FBUyxDQUFDO0FBQ3JELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUMvQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQztBQUNoRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBQT0lOVEVSX0JVVFRPTiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBOUyA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHKCkge1xuICAgIGNvbnN0IG5ld0cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdnJyk7XG4gICAgcmV0dXJuIG5ld0c7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQYXRoKCkge1xuICAgIGNvbnN0IG5ld0cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdwYXRoJyk7XG4gICAgcmV0dXJuIG5ld0c7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZWN0KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zPzogT3B0aW9ucykge1xuICAgIGNvbnN0IHJlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdyZWN0Jyk7XG4gICAgcmVjdC5zZXRBdHRyaWJ1dGUoJ3gnLCBgJHtyZWN0YW5nbGUueH1gKTtcbiAgICByZWN0LnNldEF0dHJpYnV0ZSgneScsIGAke3JlY3RhbmdsZS55fWApO1xuICAgIHJlY3Quc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAke3JlY3RhbmdsZS53aWR0aH1gKTtcbiAgICByZWN0LnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7cmVjdGFuZ2xlLmhlaWdodH1gKTtcbiAgICBmb3IgKGxldCBrZXkgaW4gb3B0aW9ucykge1xuICAgICAgICBjb25zdCBvcHRpb25LZXkgPSBrZXkgYXMga2V5b2YgT3B0aW9ucztcbiAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoa2V5LCBgJHtvcHRpb25zW29wdGlvbktleV19YCk7XG4gICAgfVxuICAgIHJldHVybiByZWN0O1xufVxuXG5leHBvcnQgY29uc3Qgc2V0U3Ryb2tlTGluZWNhcCA9IChnOiBTVkdHRWxlbWVudCwgdmFsdWU6ICdyb3VuZCcgfCAnc3F1YXJlJykgPT4ge1xuICAgIGcuc2V0QXR0cmlidXRlKCdzdHJva2UtbGluZWNhcCcsIHZhbHVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRBbmdsZUZvckcgPSAoZzogU1ZHR0VsZW1lbnQsIGNlbnRlclBvaW50OiBQb2ludCwgYW5nbGU6IG51bWJlcikgPT4ge1xuICAgIGlmIChhbmdsZSA9PT0gMCkge1xuICAgICAgICBnLnJlbW92ZUF0dHJpYnV0ZSgndHJhbnNmb3JtJyk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIGNlbnRlclggPSBjZW50ZXJQb2ludFswXTtcbiAgICB2YXIgY2VudGVyWSA9IGNlbnRlclBvaW50WzFdO1xuXG4gICAgbGV0IGNvc1RoZXRhID0gTWF0aC5jb3MoYW5nbGUpO1xuICAgIGxldCBzaW5UaGV0YSA9IE1hdGguc2luKGFuZ2xlKTtcblxuICAgIGxldCB0cmFuc2Zvcm1NYXRyaXggPSBbXG4gICAgICAgIGNvc1RoZXRhLFxuICAgICAgICBzaW5UaGV0YSxcbiAgICAgICAgLXNpblRoZXRhLFxuICAgICAgICBjb3NUaGV0YSxcbiAgICAgICAgY2VudGVyWCAqICgxIC0gY29zVGhldGEpICsgY2VudGVyWSAqIHNpblRoZXRhLFxuICAgICAgICBjZW50ZXJZICogKDEgLSBjb3NUaGV0YSkgLSBjZW50ZXJYICogc2luVGhldGFcbiAgICBdO1xuXG4gICAgbGV0IG1hdHJpeCA9ICdtYXRyaXgoJyArIHRyYW5zZm9ybU1hdHJpeC5qb2luKCcsJykgKyAnKSc7XG4gICAgZy5zZXRBdHRyaWJ1dGUoJ3RyYW5zZm9ybScsIGAke21hdHJpeH1gKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRQYXRoU3Ryb2tlTGluZWNhcCA9IChnOiBTVkdHRWxlbWVudCwgdmFsdWU6ICdyb3VuZCcgfCAnc3F1YXJlJykgPT4ge1xuICAgIGcucXVlcnlTZWxlY3RvckFsbCgncGF0aCcpLmZvckVhY2gocGF0aCA9PiB7XG4gICAgICAgIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UtbGluZWNhcCcsIHZhbHVlKTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNYXNrKCkge1xuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdtYXNrJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTVkcoKSB7XG4gICAgY29uc3Qgc3ZnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnJyk7XG4gICAgcmV0dXJuIHN2Zztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRleHQoeDogbnVtYmVyLCB5OiBudW1iZXIsIGZpbGw6IHN0cmluZywgdGV4dENvbnRlbnQ6IHN0cmluZykge1xuICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAndGV4dCcpO1xuICAgIHRleHQuc2V0QXR0cmlidXRlKCd4JywgYCR7eH1gKTtcbiAgICB0ZXh0LnNldEF0dHJpYnV0ZSgneScsIGAke3l9YCk7XG4gICAgdGV4dC5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBmaWxsKTtcbiAgICB0ZXh0LnRleHRDb250ZW50ID0gdGV4dENvbnRlbnQ7XG4gICAgcmV0dXJuIHRleHQ7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBET00gbm9kZSBpcyBhbiBlbGVtZW50IG5vZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RPTUVsZW1lbnQgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIEVsZW1lbnQgPT4ge1xuICAgIHJldHVybiBpc0RPTU5vZGUodmFsdWUpICYmIHZhbHVlLm5vZGVUeXBlID09PSAxO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIHZhbHVlIGlzIGEgRE9NIG5vZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RPTU5vZGUgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIE5vZGUgPT4ge1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIHdpbmRvdy5Ob2RlO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhc0lucHV0T3JUZXh0YXJlYVRhcmdldCA9ICh0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCkgPT4ge1xuICAgIGlmIChpc0RPTUVsZW1lbnQodGFyZ2V0KSkge1xuICAgICAgICBpZiAodGFyZ2V0LnRhZ05hbWUgPT09ICdJTlBVVCcgfHwgdGFyZ2V0LnRhZ05hbWUgPT09ICdURVhUQVJFQScpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1NlY29uZGFyeVBvaW50ZXIgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICByZXR1cm4gZXZlbnQuYnV0dG9uID09PSBQT0lOVEVSX0JVVFRPTi5TRUNPTkRBUlk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNNYWluUG9pbnRlciA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIHJldHVybiBldmVudC5idXR0b24gPT09IFBPSU5URVJfQlVUVE9OLk1BSU47XG59O1xuIl19