@plait/draw 0.62.0-next.0 → 0.62.0-next.10

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 (152) hide show
  1. package/arrow-line.component.d.ts +26 -0
  2. package/constants/geometry.d.ts +1 -0
  3. package/constants/pointer.d.ts +3 -3
  4. package/esm2022/arrow-line.component.mjs +157 -0
  5. package/esm2022/constants/geometry.mjs +10 -3
  6. package/esm2022/constants/pointer.mjs +4 -4
  7. package/esm2022/engines/basic-shapes/ellipse.mjs +5 -3
  8. package/esm2022/engines/basic-shapes/round-comment.mjs +5 -3
  9. package/esm2022/engines/flowchart/note-curly-left.mjs +2 -2
  10. package/esm2022/engines/flowchart/note-curly-right.mjs +7 -7
  11. package/esm2022/engines/flowchart/note-square.mjs +2 -2
  12. package/esm2022/engines/flowchart/or.mjs +5 -3
  13. package/esm2022/engines/flowchart/summing-junction.mjs +5 -3
  14. package/esm2022/engines/table/table.mjs +48 -26
  15. package/esm2022/engines/uml/deletion.mjs +3 -2
  16. package/esm2022/engines/uml/required-interface.mjs +3 -2
  17. package/esm2022/generators/arrow-line-active.generator.mjs +81 -0
  18. package/esm2022/generators/arrow-line-auto-complete.generator.mjs +46 -0
  19. package/esm2022/generators/arrow-line.generator.mjs +13 -0
  20. package/esm2022/generators/index.mjs +3 -3
  21. package/esm2022/generators/table.generator.mjs +8 -4
  22. package/esm2022/geometry.component.mjs +4 -4
  23. package/esm2022/image.component.mjs +4 -4
  24. package/esm2022/interfaces/arrow-line.mjs +70 -0
  25. package/esm2022/interfaces/element.mjs +2 -2
  26. package/esm2022/interfaces/index.mjs +14 -7
  27. package/esm2022/interfaces/vector-line.mjs +6 -0
  28. package/esm2022/plugins/with-arrow-line-auto-complete-reaction.mjs +41 -0
  29. package/esm2022/plugins/with-arrow-line-auto-complete.mjs +74 -0
  30. package/esm2022/plugins/with-arrow-line-bound-reaction.mjs +53 -0
  31. package/esm2022/plugins/with-arrow-line-create.mjs +53 -0
  32. package/esm2022/plugins/with-arrow-line-resize.mjs +158 -0
  33. package/esm2022/plugins/with-arrow-line-text-move.mjs +53 -0
  34. package/esm2022/plugins/with-arrow-line-text.mjs +63 -0
  35. package/esm2022/plugins/with-draw-fragment.mjs +13 -13
  36. package/esm2022/plugins/with-draw-resize.mjs +12 -5
  37. package/esm2022/plugins/with-draw.mjs +27 -20
  38. package/esm2022/plugins/with-geometry-resize.mjs +1 -1
  39. package/esm2022/plugins/with-swimlane-create.mjs +4 -7
  40. package/esm2022/plugins/with-swimlane.mjs +1 -20
  41. package/esm2022/plugins/with-table.mjs +34 -7
  42. package/esm2022/public-api.mjs +3 -3
  43. package/esm2022/table.component.mjs +6 -6
  44. package/esm2022/transforms/arrow-line.mjs +66 -0
  45. package/esm2022/transforms/common.mjs +36 -0
  46. package/esm2022/transforms/geometry.mjs +6 -28
  47. package/esm2022/transforms/index.mjs +15 -13
  48. package/esm2022/transforms/swimlane.mjs +1 -29
  49. package/esm2022/transforms/table-text.mjs +5 -5
  50. package/esm2022/transforms/table.mjs +30 -0
  51. package/esm2022/utils/arrow-line/arrow-line-arrow.mjs +123 -0
  52. package/esm2022/utils/arrow-line/arrow-line-basic.mjs +257 -0
  53. package/esm2022/utils/arrow-line/arrow-line-common.mjs +162 -0
  54. package/esm2022/utils/arrow-line/arrow-line-resize.mjs +309 -0
  55. package/esm2022/utils/arrow-line/elbow.mjs +114 -0
  56. package/esm2022/utils/arrow-line/index.mjs +6 -0
  57. package/esm2022/utils/clipboard.mjs +10 -10
  58. package/esm2022/utils/common.mjs +14 -5
  59. package/esm2022/utils/geometry.mjs +17 -14
  60. package/esm2022/utils/hit.mjs +67 -44
  61. package/esm2022/utils/index.mjs +2 -2
  62. package/esm2022/utils/memorize.mjs +4 -5
  63. package/esm2022/utils/position/arrow-line.mjs +67 -0
  64. package/esm2022/utils/position/geometry.mjs +1 -1
  65. package/esm2022/utils/selected.mjs +3 -3
  66. package/esm2022/utils/style/stroke.mjs +4 -4
  67. package/esm2022/utils/swimlane.mjs +17 -8
  68. package/esm2022/utils/table-selected.mjs +3 -4
  69. package/esm2022/utils/table.mjs +28 -5
  70. package/fesm2022/plait-draw.mjs +673 -514
  71. package/fesm2022/plait-draw.mjs.map +1 -1
  72. package/generators/arrow-line-active.generator.d.ts +13 -0
  73. package/generators/{line-auto-complete.generator.d.ts → arrow-line-auto-complete.generator.d.ts} +1 -1
  74. package/generators/arrow-line.generator.d.ts +8 -0
  75. package/generators/index.d.ts +2 -2
  76. package/geometry.component.d.ts +2 -2
  77. package/image.component.d.ts +2 -2
  78. package/interfaces/arrow-line.d.ts +75 -0
  79. package/interfaces/element.d.ts +1 -1
  80. package/interfaces/index.d.ts +6 -4
  81. package/interfaces/vector-line.d.ts +16 -0
  82. package/package.json +12 -4
  83. package/plugins/with-arrow-line-auto-complete-reaction.d.ts +2 -0
  84. package/plugins/with-arrow-line-auto-complete.d.ts +7 -0
  85. package/plugins/with-arrow-line-bound-reaction.d.ts +2 -0
  86. package/plugins/with-arrow-line-create.d.ts +2 -0
  87. package/plugins/with-arrow-line-resize.d.ts +2 -0
  88. package/plugins/with-arrow-line-text-move.d.ts +2 -0
  89. package/plugins/with-arrow-line-text.d.ts +2 -0
  90. package/plugins/with-draw-fragment.d.ts +2 -2
  91. package/plugins/with-swimlane.d.ts +1 -2
  92. package/public-api.d.ts +2 -2
  93. package/table.component.d.ts +2 -2
  94. package/transforms/arrow-line.d.ts +8 -0
  95. package/transforms/common.d.ts +3 -0
  96. package/transforms/geometry.d.ts +1 -2
  97. package/transforms/index.d.ts +9 -9
  98. package/transforms/swimlane.d.ts +1 -3
  99. package/transforms/table-text.d.ts +2 -3
  100. package/transforms/table.d.ts +3 -0
  101. package/utils/arrow-line/arrow-line-arrow.d.ts +4 -0
  102. package/utils/arrow-line/arrow-line-basic.d.ts +13 -0
  103. package/utils/{line/line-common.d.ts → arrow-line/arrow-line-common.d.ts} +8 -4
  104. package/utils/{line/line-resize.d.ts → arrow-line/arrow-line-resize.d.ts} +3 -3
  105. package/utils/{line → arrow-line}/elbow.d.ts +7 -7
  106. package/utils/arrow-line/index.d.ts +5 -0
  107. package/utils/clipboard.d.ts +4 -4
  108. package/utils/common.d.ts +1 -0
  109. package/utils/geometry.d.ts +2 -1
  110. package/utils/hit.d.ts +7 -4
  111. package/utils/index.d.ts +1 -1
  112. package/utils/position/arrow-line.d.ts +16 -0
  113. package/utils/selected.d.ts +2 -2
  114. package/utils/style/stroke.d.ts +3 -4
  115. package/utils/swimlane.d.ts +3 -2
  116. package/utils/table.d.ts +2 -0
  117. package/esm2022/generators/line-active.generator.mjs +0 -81
  118. package/esm2022/generators/line-auto-complete.generator.mjs +0 -46
  119. package/esm2022/generators/line.generator.mjs +0 -13
  120. package/esm2022/interfaces/line.mjs +0 -70
  121. package/esm2022/line.component.mjs +0 -155
  122. package/esm2022/plugins/with-line-auto-complete-reaction.mjs +0 -41
  123. package/esm2022/plugins/with-line-auto-complete.mjs +0 -75
  124. package/esm2022/plugins/with-line-bound-reaction.mjs +0 -53
  125. package/esm2022/plugins/with-line-create.mjs +0 -53
  126. package/esm2022/plugins/with-line-resize.mjs +0 -158
  127. package/esm2022/plugins/with-line-text-move.mjs +0 -53
  128. package/esm2022/plugins/with-line-text.mjs +0 -62
  129. package/esm2022/transforms/line.mjs +0 -100
  130. package/esm2022/utils/line/elbow.mjs +0 -114
  131. package/esm2022/utils/line/index.mjs +0 -6
  132. package/esm2022/utils/line/line-arrow.mjs +0 -123
  133. package/esm2022/utils/line/line-basic.mjs +0 -257
  134. package/esm2022/utils/line/line-common.mjs +0 -123
  135. package/esm2022/utils/line/line-resize.mjs +0 -309
  136. package/esm2022/utils/position/line.mjs +0 -67
  137. package/generators/line-active.generator.d.ts +0 -13
  138. package/generators/line.generator.d.ts +0 -8
  139. package/interfaces/line.d.ts +0 -75
  140. package/line.component.d.ts +0 -26
  141. package/plugins/with-line-auto-complete-reaction.d.ts +0 -2
  142. package/plugins/with-line-auto-complete.d.ts +0 -7
  143. package/plugins/with-line-bound-reaction.d.ts +0 -2
  144. package/plugins/with-line-create.d.ts +0 -2
  145. package/plugins/with-line-resize.d.ts +0 -2
  146. package/plugins/with-line-text-move.d.ts +0 -2
  147. package/plugins/with-line-text.d.ts +0 -2
  148. package/transforms/line.d.ts +0 -12
  149. package/utils/line/index.d.ts +0 -5
  150. package/utils/line/line-arrow.d.ts +0 -4
  151. package/utils/line/line-basic.d.ts +0 -13
  152. package/utils/position/line.d.ts +0 -16
@@ -0,0 +1,26 @@
1
+ import { PlaitBoard, PlaitPluginElementContext, OnContextChanged } from '@plait/core';
2
+ import { ArrowLineText, PlaitArrowLine, PlaitGeometry } from './interfaces';
3
+ import { ArrowLineShapeGenerator } from './generators/arrow-line.generator';
4
+ import { ArrowLineActiveGenerator } from './generators/arrow-line-active.generator';
5
+ import { CommonElementFlavour, TextManage } from '@plait/common';
6
+ interface BoundedElements {
7
+ source?: PlaitGeometry;
8
+ target?: PlaitGeometry;
9
+ }
10
+ export declare class ArrowLineComponent extends CommonElementFlavour<PlaitArrowLine, PlaitBoard> implements OnContextChanged<PlaitArrowLine, PlaitBoard> {
11
+ shapeGenerator: ArrowLineShapeGenerator;
12
+ activeGenerator: ArrowLineActiveGenerator;
13
+ boundedElements: BoundedElements;
14
+ constructor();
15
+ initializeGenerator(): void;
16
+ initialize(): void;
17
+ getBoundedElements(): BoundedElements;
18
+ onContextChanged(value: PlaitPluginElementContext<PlaitArrowLine, PlaitBoard>, previous: PlaitPluginElementContext<PlaitArrowLine, PlaitBoard>): void;
19
+ initializeTextManagesByElement(): void;
20
+ drawText(): void;
21
+ createTextManage(text: ArrowLineText, index: number): TextManage;
22
+ updateText(previousTexts: ArrowLineText[], currentTexts: ArrowLineText[]): void;
23
+ updateTextRectangle(): void;
24
+ destroy(): void;
25
+ }
26
+ export {};
@@ -375,3 +375,4 @@ export declare const LINE_SNAPPING_BUFFER = 6;
375
375
  export declare const LINE_SNAPPING_CONNECTOR_BUFFER = 8;
376
376
  export declare const GEOMETRY_WITHOUT_TEXT: GeometryShapes[];
377
377
  export declare const GEOMETRY_WITH_MULTIPLE_TEXT: UMLSymbols[];
378
+ export declare const GEOMETRY_NOT_CLOSED: GeometryShapes[];
@@ -1,8 +1,8 @@
1
- import { BasicShapes, FlowchartSymbols, LineShape, SwimlaneDrawSymbols, TableSymbols, UMLSymbols } from '../interfaces';
2
- export type DrawPointerType = BasicShapes | LineShape | FlowchartSymbols | SwimlaneDrawSymbols | TableSymbols | UMLSymbols;
1
+ import { BasicShapes, FlowchartSymbols, ArrowLineShape, SwimlaneDrawSymbols, TableSymbols, UMLSymbols } from '../interfaces';
2
+ export type DrawPointerType = BasicShapes | ArrowLineShape | FlowchartSymbols | SwimlaneDrawSymbols | TableSymbols | UMLSymbols;
3
3
  export declare const getGeometryPointers: () => string[];
4
4
  export declare const getSwimlanePointers: () => string[];
5
5
  export declare const getBasicPointers: () => string[];
6
6
  export declare const getFlowchartPointers: () => string[];
7
7
  export declare const getUMLPointers: () => string[];
8
- export declare const getLinePointers: () => string[];
8
+ export declare const getArrowLinePointers: () => string[];
@@ -0,0 +1,157 @@
1
+ import { PlaitBoard, getElementById, createDebugGenerator, PlaitNode } from '@plait/core';
2
+ import { ArrowLineShapeGenerator } from './generators/arrow-line.generator';
3
+ import { ArrowLineActiveGenerator } from './generators/arrow-line-active.generator';
4
+ import { DrawTransforms } from './transforms';
5
+ import { GeometryThreshold, MIN_TEXT_WIDTH } from './constants';
6
+ import { CommonElementFlavour, TextManage } from '@plait/common';
7
+ import { getArrowLinePoints, getArrowLineTextRectangle } from './utils/arrow-line/arrow-line-basic';
8
+ import { memorizeLatestText } from './utils/memorize';
9
+ const debugKey = 'debug:plait:line-turning';
10
+ const debugGenerator = createDebugGenerator(debugKey);
11
+ export class ArrowLineComponent extends CommonElementFlavour {
12
+ constructor() {
13
+ super();
14
+ this.boundedElements = {};
15
+ }
16
+ initializeGenerator() {
17
+ this.shapeGenerator = new ArrowLineShapeGenerator(this.board);
18
+ this.activeGenerator = new ArrowLineActiveGenerator(this.board);
19
+ this.initializeTextManagesByElement();
20
+ }
21
+ initialize() {
22
+ this.initializeGenerator();
23
+ this.shapeGenerator.processDrawing(this.element, this.getElementG());
24
+ const linePoints = getArrowLinePoints(this.board, this.element);
25
+ this.activeGenerator.processDrawing(this.element, PlaitBoard.getElementActiveHost(this.board), {
26
+ selected: this.selected,
27
+ linePoints
28
+ });
29
+ super.initialize();
30
+ this.boundedElements = this.getBoundedElements();
31
+ this.drawText();
32
+ debugGenerator.isDebug() && debugGenerator.drawCircles(this.board, this.element.points.slice(1, -1), 4, true);
33
+ }
34
+ getBoundedElements() {
35
+ const boundedElements = {};
36
+ if (this.element.source.boundId) {
37
+ const boundElement = getElementById(this.board, this.element.source.boundId);
38
+ if (boundElement) {
39
+ boundedElements.source = boundElement;
40
+ }
41
+ }
42
+ if (this.element.target.boundId) {
43
+ const boundElement = getElementById(this.board, this.element.target.boundId);
44
+ if (boundElement) {
45
+ boundedElements.target = boundElement;
46
+ }
47
+ }
48
+ return boundedElements;
49
+ }
50
+ onContextChanged(value, previous) {
51
+ this.initializeWeakMap();
52
+ const boundedElements = this.getBoundedElements();
53
+ const isBoundedElementsChanged = boundedElements.source !== this.boundedElements.source || boundedElements.target !== this.boundedElements.target;
54
+ this.boundedElements = boundedElements;
55
+ const isChangeTheme = this.board.operations.find(op => op.type === 'set_theme');
56
+ const linePoints = getArrowLinePoints(this.board, this.element);
57
+ if (value.element !== previous.element || isChangeTheme) {
58
+ this.shapeGenerator.processDrawing(this.element, this.getElementG());
59
+ this.activeGenerator.processDrawing(this.element, PlaitBoard.getElementActiveHost(this.board), {
60
+ selected: this.selected,
61
+ linePoints
62
+ });
63
+ this.updateText(previous.element.texts, value.element.texts);
64
+ this.updateTextRectangle();
65
+ }
66
+ else {
67
+ const needUpdate = value.selected !== previous.selected || this.activeGenerator.needUpdate();
68
+ if (needUpdate) {
69
+ this.activeGenerator.processDrawing(this.element, PlaitBoard.getElementActiveHost(this.board), {
70
+ selected: this.selected,
71
+ linePoints
72
+ });
73
+ }
74
+ }
75
+ if (isBoundedElementsChanged) {
76
+ this.shapeGenerator.processDrawing(this.element, this.getElementG());
77
+ this.activeGenerator.processDrawing(this.element, PlaitBoard.getElementActiveHost(this.board), {
78
+ selected: this.selected,
79
+ linePoints
80
+ });
81
+ this.updateTextRectangle();
82
+ return;
83
+ }
84
+ }
85
+ initializeTextManagesByElement() {
86
+ if (this.element.texts?.length) {
87
+ const textManages = [];
88
+ this.element.texts.forEach((text, index) => {
89
+ const manage = this.createTextManage(text, index);
90
+ textManages.push(manage);
91
+ });
92
+ this.initializeTextManages(textManages);
93
+ }
94
+ }
95
+ drawText() {
96
+ if (this.element.texts?.length) {
97
+ this.getTextManages().forEach((manage, index) => {
98
+ manage.draw(this.element.texts[index].text);
99
+ this.getElementG().append(manage.g);
100
+ });
101
+ }
102
+ }
103
+ createTextManage(text, index) {
104
+ return new TextManage(this.board, {
105
+ getRectangle: () => {
106
+ return getArrowLineTextRectangle(this.board, this.element, index);
107
+ },
108
+ onChange: (textManageChangeData) => {
109
+ const path = PlaitBoard.findPath(this.board, this.element);
110
+ const node = PlaitNode.get(this.board, path);
111
+ const texts = [...node.texts];
112
+ const newWidth = textManageChangeData.width < MIN_TEXT_WIDTH ? MIN_TEXT_WIDTH : textManageChangeData.width;
113
+ texts.splice(index, 1, {
114
+ text: textManageChangeData.newText ? textManageChangeData.newText : this.element.texts[index].text,
115
+ position: this.element.texts[index].position,
116
+ width: newWidth,
117
+ height: textManageChangeData.height
118
+ });
119
+ DrawTransforms.setArrowLineTexts(this.board, this.element, texts);
120
+ textManageChangeData.operations && memorizeLatestText(this.element, textManageChangeData.operations);
121
+ },
122
+ getMaxWidth: () => GeometryThreshold.defaultTextMaxWidth,
123
+ textPlugins: []
124
+ });
125
+ }
126
+ updateText(previousTexts, currentTexts) {
127
+ if (previousTexts === currentTexts)
128
+ return;
129
+ const previousTextsLength = previousTexts.length;
130
+ const currentTextsLength = currentTexts.length;
131
+ const textManages = this.getTextManages();
132
+ if (currentTextsLength === previousTextsLength) {
133
+ for (let i = 0; i < previousTextsLength; i++) {
134
+ if (previousTexts[i].text !== currentTexts[i].text) {
135
+ textManages[i].updateText(currentTexts[i].text);
136
+ }
137
+ }
138
+ }
139
+ else {
140
+ this.destroyTextManages();
141
+ this.initializeTextManagesByElement();
142
+ this.drawText();
143
+ }
144
+ }
145
+ updateTextRectangle() {
146
+ const textManages = this.getTextManages();
147
+ textManages.forEach(manage => {
148
+ manage.updateRectangle();
149
+ });
150
+ }
151
+ destroy() {
152
+ super.destroy();
153
+ this.activeGenerator.destroy();
154
+ this.destroyTextManages();
155
+ }
156
+ }
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9hcnJvdy1saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUErQyxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZJLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU90RCxNQUFNLFFBQVEsR0FBRywwQkFBMEIsQ0FBQztBQUM1QyxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUV0RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsb0JBQWdEO0lBUXBGO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFIWixvQkFBZSxHQUFvQixFQUFFLENBQUM7SUFJdEMsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRSxJQUFJ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QUFDLEVBQUU7WUFDekIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU87UUFDSCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LCBPbkNvbnRleHRDaGFuZ2VkLCBnZXRFbGVtZW50QnlJZCwgY3JlYXRlRGVidWdHZW5lcmF0b3IsIFBsYWl0Tm9kZSB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFycm93TGluZVRleHQsIFBsYWl0QXJyb3dMaW5lLCBQbGFpdERyYXdFbGVtZW50LCBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFycm93TGluZVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2Fycm93LWxpbmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IEFycm93TGluZUFjdGl2ZUdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9hcnJvdy1saW5lLWFjdGl2ZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgRHJhd1RyYW5zZm9ybXMgfSBmcm9tICcuL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgR2VvbWV0cnlUaHJlc2hvbGQsIE1JTl9URVhUX1dJRFRIIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29tbW9uRWxlbWVudEZsYXZvdXIsIFRleHRNYW5hZ2UsIFRleHRNYW5hZ2VDaGFuZ2VEYXRhIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRBcnJvd0xpbmVQb2ludHMsIGdldEFycm93TGluZVRleHRSZWN0YW5nbGUgfSBmcm9tICcuL3V0aWxzL2Fycm93LWxpbmUvYXJyb3ctbGluZS1iYXNpYyc7XG5pbXBvcnQgeyBtZW1vcml6ZUxhdGVzdFRleHQgfSBmcm9tICcuL3V0aWxzL21lbW9yaXplJztcblxuaW50ZXJmYWNlIEJvdW5kZWRFbGVtZW50cyB7XG4gICAgc291cmNlPzogUGxhaXRHZW9tZXRyeTtcbiAgICB0YXJnZXQ/OiBQbGFpdEdlb21ldHJ5O1xufVxuXG5jb25zdCBkZWJ1Z0tleSA9ICdkZWJ1ZzpwbGFpdDpsaW5lLXR1cm5pbmcnO1xuY29uc3QgZGVidWdHZW5lcmF0b3IgPSBjcmVhdGVEZWJ1Z0dlbmVyYXRvcihkZWJ1Z0tleSk7XG5cbmV4cG9ydCBjbGFzcyBBcnJvd0xpbmVDb21wb25lbnQgZXh0ZW5kcyBDb21tb25FbGVtZW50Rmxhdm91cjxQbGFpdEFycm93TGluZSwgUGxhaXRCb2FyZD5cbiAgICBpbXBsZW1lbnRzIE9uQ29udGV4dENoYW5nZWQ8UGxhaXRBcnJvd0xpbmUsIFBsYWl0Qm9hcmQ+IHtcbiAgICBzaGFwZUdlbmVyYXRvciE6IEFycm93TGluZVNoYXBlR2VuZXJhdG9yO1xuXG4gICAgYWN0aXZlR2VuZXJhdG9yITogQXJyb3dMaW5lQWN0aXZlR2VuZXJhdG9yO1xuXG4gICAgYm91bmRlZEVsZW1lbnRzOiBCb3VuZGVkRWxlbWVudHMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IgPSBuZXcgQXJyb3dMaW5lU2hhcGVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yID0gbmV3IEFycm93TGluZUFjdGl2ZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dE1hbmFnZXNCeUVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgIGNvbnN0IGxpbmVQb2ludHMgPSBnZXRBcnJvd0xpbmVQb2ludHModGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCxcbiAgICAgICAgICAgIGxpbmVQb2ludHNcbiAgICAgICAgfSk7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5ib3VuZGVkRWxlbWVudHMgPSB0aGlzLmdldEJvdW5kZWRFbGVtZW50cygpO1xuICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG5cbiAgICAgICAgZGVidWdHZW5lcmF0b3IuaXNEZWJ1ZygpICYmIGRlYnVnR2VuZXJhdG9yLmRyYXdDaXJjbGVzKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudC5wb2ludHMuc2xpY2UoMSwgLTEpLCA0LCB0cnVlKTtcbiAgICB9XG5cbiAgICBnZXRCb3VuZGVkRWxlbWVudHMoKSB7XG4gICAgICAgIGNvbnN0IGJvdW5kZWRFbGVtZW50czogQm91bmRlZEVsZW1lbnRzID0ge307XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQuc291cmNlLmJvdW5kSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdW5kRWxlbWVudCA9IGdldEVsZW1lbnRCeUlkPFBsYWl0R2VvbWV0cnk+KHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudC5zb3VyY2UuYm91bmRJZCk7XG4gICAgICAgICAgICBpZiAoYm91bmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgYm91bmRlZEVsZW1lbnRzLnNvdXJjZSA9IGJvdW5kRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRhcmdldC5ib3VuZElkKSB7XG4gICAgICAgICAgICBjb25zdCBib3VuZEVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZDxQbGFpdEdlb21ldHJ5Pih0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQudGFyZ2V0LmJvdW5kSWQpO1xuICAgICAgICAgICAgaWYgKGJvdW5kRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGJvdW5kZWRFbGVtZW50cy50YXJnZXQgPSBib3VuZEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJvdW5kZWRFbGVtZW50cztcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2VkKFxuICAgICAgICB2YWx1ZTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdEFycm93TGluZSwgUGxhaXRCb2FyZD4sXG4gICAgICAgIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0QXJyb3dMaW5lLCBQbGFpdEJvYXJkPlxuICAgICkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVXZWFrTWFwKCk7XG4gICAgICAgIGNvbnN0IGJvdW5kZWRFbGVtZW50cyA9IHRoaXMuZ2V0Qm91bmRlZEVsZW1lbnRzKCk7XG4gICAgICAgIGNvbnN0IGlzQm91bmRlZEVsZW1lbnRzQ2hhbmdlZCA9XG4gICAgICAgICAgICBib3VuZGVkRWxlbWVudHMuc291cmNlICE9PSB0aGlzLmJvdW5kZWRFbGVtZW50cy5zb3VyY2UgfHwgYm91bmRlZEVsZW1lbnRzLnRhcmdldCAhPT0gdGhpcy5ib3VuZGVkRWxlbWVudHMudGFyZ2V0O1xuICAgICAgICB0aGlzLmJvdW5kZWRFbGVtZW50cyA9IGJvdW5kZWRFbGVtZW50cztcbiAgICAgICAgY29uc3QgaXNDaGFuZ2VUaGVtZSA9IHRoaXMuYm9hcmQub3BlcmF0aW9ucy5maW5kKG9wID0+IG9wLnR5cGUgPT09ICdzZXRfdGhlbWUnKTtcbiAgICAgICAgY29uc3QgbGluZVBvaW50cyA9IGdldEFycm93TGluZVBvaW50cyh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICBpZiAodmFsdWUuZWxlbWVudCAhPT0gcHJldmlvdXMuZWxlbWVudCB8fCBpc0NoYW5nZVRoZW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIGxpbmVQb2ludHNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0KHByZXZpb3VzLmVsZW1lbnQudGV4dHMsIHZhbHVlLmVsZW1lbnQudGV4dHMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0UmVjdGFuZ2xlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBuZWVkVXBkYXRlID0gdmFsdWUuc2VsZWN0ZWQgIT09IHByZXZpb3VzLnNlbGVjdGVkIHx8IHRoaXMuYWN0aXZlR2VuZXJhdG9yLm5lZWRVcGRhdGUoKTtcbiAgICAgICAgICAgIGlmIChuZWVkVXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICBsaW5lUG9pbnRzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQm91bmRlZEVsZW1lbnRzQ2hhbmdlZCkge1xuICAgICAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCxcbiAgICAgICAgICAgICAgICBsaW5lUG9pbnRzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dFJlY3RhbmdsZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVRleHRNYW5hZ2VzQnlFbGVtZW50KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRleHRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRNYW5hZ2VzOiBUZXh0TWFuYWdlW10gPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC50ZXh0cy5mb3JFYWNoKCh0ZXh0OiBBcnJvd0xpbmVUZXh0LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFuYWdlID0gdGhpcy5jcmVhdGVUZXh0TWFuYWdlKHRleHQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlcy5wdXNoKG1hbmFnZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKHRleHRNYW5hZ2VzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRyYXdUZXh0KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRleHRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VGV4dE1hbmFnZXMoKS5mb3JFYWNoKChtYW5hZ2UsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgbWFuYWdlLmRyYXcodGhpcy5lbGVtZW50LnRleHRzIVtpbmRleF0udGV4dCk7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRFbGVtZW50RygpLmFwcGVuZChtYW5hZ2UuZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZVRleHRNYW5hZ2UodGV4dDogQXJyb3dMaW5lVGV4dCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gbmV3IFRleHRNYW5hZ2UodGhpcy5ib2FyZCwge1xuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldEFycm93TGluZVRleHRSZWN0YW5nbGUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50IGFzIFBsYWl0QXJyb3dMaW5lLCBpbmRleCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25DaGFuZ2U6ICh0ZXh0TWFuYWdlQ2hhbmdlRGF0YTogVGV4dE1hbmFnZUNoYW5nZURhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aCh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBQbGFpdE5vZGUuZ2V0KHRoaXMuYm9hcmQsIHBhdGgpIGFzIFBsYWl0QXJyb3dMaW5lO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRzID0gWy4uLm5vZGUudGV4dHNdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1dpZHRoID0gdGV4dE1hbmFnZUNoYW5nZURhdGEud2lkdGggPCBNSU5fVEVYVF9XSURUSCA/IE1JTl9URVhUX1dJRFRIIDogdGV4dE1hbmFnZUNoYW5nZURhdGEud2lkdGg7XG4gICAgICAgICAgICAgICAgdGV4dHMuc3BsaWNlKGluZGV4LCAxLCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRNYW5hZ2VDaGFuZ2VEYXRhLm5ld1RleHQgPyB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5uZXdUZXh0IDogdGhpcy5lbGVtZW50LnRleHRzW2luZGV4XS50ZXh0LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5lbGVtZW50LnRleHRzW2luZGV4XS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG5ld1dpZHRoLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHRleHRNYW5hZ2VDaGFuZ2VEYXRhLmhlaWdodFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldEFycm93TGluZVRleHRzKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCBhcyBQbGFpdEFycm93TGluZSwgdGV4dHMpO1xuICAgICAgICAgICAgICAgIHRleHRNYW5hZ2VDaGFuZ2VEYXRhLm9wZXJhdGlvbnMgJiYgbWVtb3JpemVMYXRlc3RUZXh0KHRoaXMuZWxlbWVudCwgdGV4dE1hbmFnZUNoYW5nZURhdGEub3BlcmF0aW9ucyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IEdlb21ldHJ5VGhyZXNob2xkLmRlZmF1bHRUZXh0TWF4V2lkdGgsXG4gICAgICAgICAgICB0ZXh0UGx1Z2luczogW11cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dChwcmV2aW91c1RleHRzOiBBcnJvd0xpbmVUZXh0W10sIGN1cnJlbnRUZXh0czogQXJyb3dMaW5lVGV4dFtdKSB7XG4gICAgICAgIGlmIChwcmV2aW91c1RleHRzID09PSBjdXJyZW50VGV4dHMpIHJldHVybjtcbiAgICAgICAgY29uc3QgcHJldmlvdXNUZXh0c0xlbmd0aCA9IHByZXZpb3VzVGV4dHMubGVuZ3RoO1xuICAgICAgICBjb25zdCBjdXJyZW50VGV4dHNMZW5ndGggPSBjdXJyZW50VGV4dHMubGVuZ3RoO1xuICAgICAgICBjb25zdCB0ZXh0TWFuYWdlcyA9IHRoaXMuZ2V0VGV4dE1hbmFnZXMoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRUZXh0c0xlbmd0aCA9PT0gcHJldmlvdXNUZXh0c0xlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcmV2aW91c1RleHRzTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNUZXh0c1tpXS50ZXh0ICE9PSBjdXJyZW50VGV4dHNbaV0udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlc1tpXS51cGRhdGVUZXh0KGN1cnJlbnRUZXh0c1tpXS50ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lUZXh0TWFuYWdlcygpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dE1hbmFnZXNCeUVsZW1lbnQoKTtcbiAgICAgICAgICAgIHRoaXMuZHJhd1RleHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVRleHRSZWN0YW5nbGUoKSB7XG4gICAgICAgIGNvbnN0IHRleHRNYW5hZ2VzID0gdGhpcy5nZXRUZXh0TWFuYWdlcygpO1xuICAgICAgICB0ZXh0TWFuYWdlcy5mb3JFYWNoKG1hbmFnZSA9PiB7XG4gICAgICAgICAgICBtYW5hZ2UudXBkYXRlUmVjdGFuZ2xlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lUZXh0TWFuYWdlcygpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { ACTIVE_STROKE_WIDTH } from '@plait/core';
2
2
  import { BasicShapes, FlowchartSymbols, MultipleTextGeometryCommonTextKeys, UMLSymbols } from '../interfaces';
3
- import { Alignment } from '@plait/common';
3
+ import { Alignment, DEFAULT_FILL } from '@plait/common';
4
4
  export const ShapeDefaultSpace = {
5
5
  rectangleAndText: 4
6
6
  };
@@ -8,7 +8,7 @@ export const DefaultDrawStyle = {
8
8
  strokeWidth: 2,
9
9
  defaultRadius: 4,
10
10
  strokeColor: '#000',
11
- fill: 'none'
11
+ fill: DEFAULT_FILL
12
12
  };
13
13
  export const DefaultDrawActiveStyle = {
14
14
  strokeWidth: ACTIVE_STROKE_WIDTH,
@@ -262,4 +262,11 @@ export const GEOMETRY_WITHOUT_TEXT = [
262
262
  UMLSymbols.requiredInterface
263
263
  ];
264
264
  export const GEOMETRY_WITH_MULTIPLE_TEXT = [UMLSymbols.package, UMLSymbols.combinedFragment];
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLGtDQUFrQyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQzdCLGdCQUFnQixFQUFFLENBQUM7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLFdBQVcsRUFBRSxDQUFDO0lBQ2QsYUFBYSxFQUFFLENBQUM7SUFDaEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsSUFBSSxFQUFFLE1BQU07Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDbEMsV0FBVyxFQUFFLG1CQUFtQjtJQUNoQyxvQkFBb0IsRUFBRSxtQkFBbUI7Q0FDNUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3JDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxXQUFXLEVBQUUsTUFBTTtJQUNuQixXQUFXLEVBQUUsQ0FBQztDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUc7SUFDeEMsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsRUFBRTtDQUNiLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN0QyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixH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dUI7SUFDakQsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsdUJBQXVCO0lBQzlDLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsZ0NBQWdDO0lBQ2hFLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsZ0NBQWdDO0NBQ25FLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBMkM7SUFDaEYsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQztJQUNyRSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUM7Q0FDakYsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEVBQUUsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7QUFFdEMsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ2pDLGdCQUFnQixDQUFDLEVBQUU7SUFDbkIsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxVQUFVLENBQUMsVUFBVTtJQUNyQixVQUFVLENBQUMsUUFBUTtJQUNuQixVQUFVLENBQUMsSUFBSTtJQUNmLFVBQVUsQ0FBQyxXQUFXO0lBQ3RCLFVBQVUsQ0FBQyxRQUFRO0lBQ25CLFVBQVUsQ0FBQyxpQkFBaUI7SUFDNUIsVUFBVSxDQUFDLGlCQUFpQjtDQUNYLENBQUM7QUFFdEIsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUNUSVZFX1NUUk9LRV9XSURUSCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEJhc2ljU2hhcGVzLCBGbG93Y2hhcnRTeW1ib2xzLCBHZW9tZXRyeVNoYXBlcywgTXVsdGlwbGVUZXh0R2VvbWV0cnlDb21tb25UZXh0S2V5cywgVU1MU3ltYm9scyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWxpZ25tZW50IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBTaGFwZURlZmF1bHRTcGFjZSA9IHtcbiAgICByZWN0YW5nbGVBbmRUZXh0OiA0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERyYXdTdHlsZSA9IHtcbiAgICBzdHJva2VXaWR0aDogMixcbiAgICBkZWZhdWx0UmFkaXVzOiA0LFxuICAgIHN0cm9rZUNvbG9yOiAnIzAwMCcsXG4gICAgZmlsbDogJ25vbmUnXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERyYXdBY3RpdmVTdHlsZSA9IHtcbiAgICBzdHJva2VXaWR0aDogQUNUSVZFX1NUUk9LRV9XSURUSCxcbiAgICBzZWxlY3Rpb25TdHJva2VXaWR0aDogQUNUSVZFX1NUUk9LRV9XSURUSFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEwMCxcbiAgICBoZWlnaHQ6IDEwMCxcbiAgICBzdHJva2VDb2xvcjogJyMzMzMnLFxuICAgIHN0cm9rZVdpZHRoOiAyXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFBlbnRhZ29uQXJyb3dQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNTBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0VHdvV2F5QXJyb3dQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTM4LFxuICAgIGhlaWdodDogODBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QXJyb3dQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTAwLFxuICAgIGhlaWdodDogODBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q2xvdWRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogMTAwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFRleHRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMzYsXG4gICAgaGVpZ2h0OiAyMCxcbiAgICB0ZXh0OiAn5paH5pysJ1xufTtcblxuZXhwb3J0IGNvbnN0IEdlb21ldHJ5VGhyZXNob2xkID0ge1xuICAgIGRlZmF1bHRUZXh0TWF4V2lkdGg6IDM0ICogMTRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29ubmVjdG9yUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDQ0LFxuICAgIGhlaWdodDogNDRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDYwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERhdGFCYXNlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDcwLFxuICAgIGhlaWdodDogODBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0SW50ZXJuYWxTdG9yYWdlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDgwLFxuICAgIGhlaWdodDogODBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RGVjaXNpb25Qcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTQwLFxuICAgIGhlaWdodDogNzBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RGF0YVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjQsXG4gICAgaGVpZ2h0OiA2MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREb2N1bWVudFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA3MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHROb3RlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDE2MCxcbiAgICBoZWlnaHQ6IDEwMFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRNdWx0aURvY3VtZW50UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdE1hbnVhbElucHV0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDExNyxcbiAgICBoZWlnaHQ6IDU5XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdE1lcmdlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDQ3LFxuICAgIGhlaWdodDogMzNcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QWN0b3JQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogNjgsXG4gICAgaGVpZ2h0OiAxMDBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29udGFpbmVyUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDMwMCxcbiAgICBoZWlnaHQ6IDI0MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRQYWNrYWdlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDIxMCxcbiAgICBoZWlnaHQ6IDE1MCxcbiAgICB0ZXh0czogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IE11bHRpcGxlVGV4dEdlb21ldHJ5Q29tbW9uVGV4dEtleXMubmFtZSxcbiAgICAgICAgICAgIHRleHQ6ICfljIXlkI0nLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogTXVsdGlwbGVUZXh0R2VvbWV0cnlDb21tb25UZXh0S2V5cy5jb250ZW50LFxuICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfVxuICAgIF1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QWN0aXZhdGlvblByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxOCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdE9iamVjdFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA2MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRDb21wb25lbnRCb3hQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMjAwLFxuICAgIGhlaWdodDogMTUwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERlbGV0aW9uUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDQwLFxuICAgIGhlaWdodDogNDBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0UG9ydFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAyMCxcbiAgICBoZWlnaHQ6IDIwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFJlcXVpcmVkSW50ZXJmYWNlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDcwLFxuICAgIGhlaWdodDogNTZcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QXNzZW1ibHlQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNTZcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0UHJvdmlkZWRJbnRlcmZhY2VQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogNzAsXG4gICAgaGVpZ2h0OiAzNFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRDb21iaW5lZEZyYWdtZW50UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDQwMCxcbiAgICBoZWlnaHQ6IDI4MCxcbiAgICB0ZXh0czogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IE11bHRpcGxlVGV4dEdlb21ldHJ5Q29tbW9uVGV4dEtleXMubmFtZSxcbiAgICAgICAgICAgIHRleHQ6ICdPcHQgfCBBbHQgfCBMb29wJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IE11bHRpcGxlVGV4dEdlb21ldHJ5Q29tbW9uVGV4dEtleXMuY29udGVudCxcbiAgICAgICAgICAgIHRleHQ6ICdbQ29uZGl0aW9uXScsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfVxuICAgIF1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q2xhc3NQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMjMwLFxuICAgIGhlaWdodDogMTgwLFxuICAgIHRleHRzOiBbXG4gICAgICAgIHsgdGV4dDogJ0NsYXNzJywgYWxpZ246IEFsaWdubWVudC5jZW50ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogJysgYXR0cmlidXRlMTp0eXBlICBkZWZhdWx0VmFsdWVcXG4rIGF0dHJpYnV0ZTI6dHlwZVxcbi0gYXR0cmlidXRlMzp0eXBlJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiAnKyBvcGVyYXRpb24xKHBhcmFtcyk6cmV0dXJuVHlwZVxcbi0gb3BlcmF0aW9uMihwYXJhbXMpXFxuLSBvcGVyYXRpb24zKCknLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEludGVyZmFjZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAyMzAsXG4gICAgaGVpZ2h0OiAxNDAsXG4gICAgdGV4dHM6IFtcbiAgICAgICAgeyB0ZXh0OiAnPDxpbnRlcmZhY2U+PlxcbkludGVyZmFjZScsIGFsaWduOiBBbGlnbm1lbnQuY2VudGVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6ICcrIG9wZXJhdGlvbjEocGFyYW1zKTpyZXR1cm5UeXBlXFxuLSBvcGVyYXRpb24yKHBhcmFtcylcXG4tIG9wZXJhdGlvbjMoKScsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfVxuICAgIF1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFzaWNTaGFwZVByb3BlcnR5TWFwOiBSZWNvcmQ8c3RyaW5nLCB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0+ID0ge1xuICAgIFtCYXNpY1NoYXBlcy5wZW50YWdvbkFycm93XTogRGVmYXVsdFBlbnRhZ29uQXJyb3dQcm9wZXJ0eSxcbiAgICBbQmFzaWNTaGFwZXMucHJvY2Vzc0Fycm93XTogRGVmYXVsdFBlbnRhZ29uQXJyb3dQcm9wZXJ0eSxcbiAgICBbQmFzaWNTaGFwZXMuY2xvdWRdOiBEZWZhdWx0Q2xvdWRQcm9wZXJ0eSxcbiAgICBbQmFzaWNTaGFwZXMudHdvV2F5QXJyb3ddOiBEZWZhdWx0VHdvV2F5QXJyb3dQcm9wZXJ0eSxcbiAgICBbQmFzaWNTaGFwZXMubGVmdEFycm93XTogRGVmYXVsdEFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLnJpZ2h0QXJyb3ddOiBEZWZhdWx0QXJyb3dQcm9wZXJ0eVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eU1hcCA9IHtcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5jb25uZWN0b3JdOiBEZWZhdWx0Q29ubmVjdG9yUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMucHJvY2Vzc106IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kZWNpc2lvbl06IERlZmF1bHREZWNpc2lvblByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRhdGFdOiBEZWZhdWx0RGF0YVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnRlcm1pbmFsXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm1hbnVhbElucHV0XTogRGVmYXVsdE1hbnVhbElucHV0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMucHJlcGFyYXRpb25dOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubWFudWFsTG9vcF06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5tZXJnZV06IERlZmF1bHRNZXJnZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRlbGF5XTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnN0b3JlZERhdGFdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMub3JdOiBEZWZhdWx0Q29ubmVjdG9yUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuc3VtbWluZ0p1bmN0aW9uXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByZWRlZmluZWRQcm9jZXNzXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm9mZlBhZ2VdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZG9jdW1lbnRdOiBEZWZhdWx0RG9jdW1lbnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5tdWx0aURvY3VtZW50XTogRGVmYXVsdE11bHRpRG9jdW1lbnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kYXRhYmFzZV06IERlZmF1bHREYXRhQmFzZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmhhcmREaXNrXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmludGVybmFsU3RvcmFnZV06IERlZmF1bHRJbnRlcm5hbFN0b3JhZ2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5ub3RlQ3VybHlMZWZ0XTogRGVmYXVsdE5vdGVQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5ub3RlQ3VybHlSaWdodF06IERlZmF1bHROb3RlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubm90ZVNxdWFyZV06IERlZmF1bHROb3RlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGlzcGxheV06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRVTUxQcm9wZXJ0eU1hcCA9IHtcbiAgICBbVU1MU3ltYm9scy5hY3Rvcl06IERlZmF1bHRBY3RvclByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnVzZUNhc2VdOiBEZWZhdWx0RG9jdW1lbnRQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5jb250YWluZXJdOiBEZWZhdWx0Q29udGFpbmVyUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMubm90ZV06IERlZmF1bHRPYmplY3RQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5wYWNrYWdlXTogRGVmYXVsdFBhY2thZ2VQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5jb21iaW5lZEZyYWdtZW50XTogRGVmYXVsdENvbWJpbmVkRnJhZ21lbnRQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5jbGFzc106IERlZmF1bHRDbGFzc1Byb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmludGVyZmFjZV06IERlZmF1bHRJbnRlcmZhY2VQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5hY3RpdmF0aW9uXTogRGVmYXVsdEFjdGl2YXRpb25Qcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5vYmplY3RdOiBEZWZhdWx0T2JqZWN0UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuZGVsZXRpb25dOiBEZWZhdWx0RGVsZXRpb25Qcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5hY3Rpdml0eUNsYXNzXTogRGVmYXVsdE9iamVjdFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnNpbXBsZUNsYXNzXTogRGVmYXVsdE9iamVjdFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmNvbXBvbmVudF06IERlZmF1bHRNdWx0aURvY3VtZW50UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMudGVtcGxhdGVdOiBEZWZhdWx0TXVsdGlEb2N1bWVudFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmNvbXBvbmVudEJveF06IERlZmF1bHRDb21wb25lbnRCb3hQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5wb3J0XTogRGVmYXVsdFBvcnRQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5icmFuY2hNZXJnZV06IERlZmF1bHREZWxldGlvblByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmFzc2VtYmx5XTogRGVmYXVsdEFzc2VtYmx5UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMucHJvdmlkZWRJbnRlcmZhY2VdOiBEZWZhdWx0UHJvdmlkZWRJbnRlcmZhY2VQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5yZXF1aXJlZEludGVyZmFjZV06IERlZmF1bHRSZXF1aXJlZEludGVyZmFjZVByb3BlcnR5XG59O1xuXG5leHBvcnQgY29uc3QgTXVsdGlwbGVUZXh0R2VvbWV0cnlUZXh0S2V5czogeyBba2V5IGluIEdlb21ldHJ5U2hhcGVzXT86IHN0cmluZ1tdIH0gPSB7XG4gICAgW1VNTFN5bWJvbHMucGFja2FnZV06IE9iamVjdC5rZXlzKE11bHRpcGxlVGV4dEdlb21ldHJ5Q29tbW9uVGV4dEtleXMpLFxuICAgIFtVTUxTeW1ib2xzLmNvbWJpbmVkRnJhZ21lbnRdOiBPYmplY3Qua2V5cyhNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzKVxufTtcblxuZXhwb3J0IGNvbnN0IExJTkVfSElUX0dFT01FVFJZX0JVRkZFUiA9IDEwO1xuXG5leHBvcnQgY29uc3QgTElORV9TTkFQUElOR19CVUZGRVIgPSA2O1xuXG5leHBvcnQgY29uc3QgTElORV9TTkFQUElOR19DT05ORUNUT1JfQlVGRkVSID0gODtcblxuZXhwb3J0IGNvbnN0IEdFT01FVFJZX1dJVEhPVVRfVEVYVCA9IFtcbiAgICBGbG93Y2hhcnRTeW1ib2xzLm9yLFxuICAgIEZsb3djaGFydFN5bWJvbHMuc3VtbWluZ0p1bmN0aW9uLFxuICAgIFVNTFN5bWJvbHMuYWN0aXZhdGlvbixcbiAgICBVTUxTeW1ib2xzLmRlbGV0aW9uLFxuICAgIFVNTFN5bWJvbHMucG9ydCxcbiAgICBVTUxTeW1ib2xzLmJyYW5jaE1lcmdlLFxuICAgIFVNTFN5bWJvbHMuYXNzZW1ibHksXG4gICAgVU1MU3ltYm9scy5wcm92aWRlZEludGVyZmFjZSxcbiAgICBVTUxTeW1ib2xzLnJlcXVpcmVkSW50ZXJmYWNlXG5dIGFzIEdlb21ldHJ5U2hhcGVzW107XG5cbmV4cG9ydCBjb25zdCBHRU9NRVRSWV9XSVRIX01VTFRJUExFX1RFWFQgPSBbVU1MU3ltYm9scy5wYWNrYWdlLCBVTUxTeW1ib2xzLmNvbWJpbmVkRnJhZ21lbnRdO1xuIl19
265
+ export const GEOMETRY_NOT_CLOSED = [
266
+ FlowchartSymbols.noteCurlyLeft,
267
+ FlowchartSymbols.noteCurlyRight,
268
+ FlowchartSymbols.noteSquare,
269
+ UMLSymbols.requiredInterface,
270
+ UMLSymbols.deletion
271
+ ];
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLGtDQUFrQyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixnQkFBZ0IsRUFBRSxDQUFDO0NBQ3RCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixXQUFXLEVBQUUsQ0FBQztJQUNkLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLElBQUksRUFBRSxZQUFZO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNsQyxXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLG9CQUFvQixFQUFFLG1CQUFtQjtDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFDckMsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFdBQVcsRUFBRSxDQUFDO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUN4QyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3RDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFDLE1B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VUFBVSxDQUFDLGlCQUFpQjtJQUM1QixVQUFVLENBQUMsUUFBUTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQ1RJVkVfU1RST0tFX1dJRFRIIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgQmFzaWNTaGFwZXMsIEZsb3djaGFydFN5bWJvbHMsIEdlb21ldHJ5U2hhcGVzLCBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLCBVTUxTeW1ib2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIERFRkFVTFRfRklMTCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgU2hhcGVEZWZhdWx0U3BhY2UgPSB7XG4gICAgcmVjdGFuZ2xlQW5kVGV4dDogNFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREcmF3U3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgZGVmYXVsdFJhZGl1czogNCxcbiAgICBzdHJva2VDb2xvcjogJyMwMDAnLFxuICAgIGZpbGw6IERFRkFVTFRfRklMTFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREcmF3QWN0aXZlU3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgc2VsZWN0aW9uU3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEhcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFzaWNTaGFwZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMDAsXG4gICAgaGVpZ2h0OiAxMDAsXG4gICAgc3Ryb2tlQ29sb3I6ICcjMzMzJyxcbiAgICBzdHJva2VXaWR0aDogMlxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDUwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFR3b1dheUFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEzOCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEwMCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENsb3VkUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDEwMFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRUZXh0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDM2LFxuICAgIGhlaWdodDogMjAsXG4gICAgdGV4dDogJ+aWh+acrCdcbn07XG5cbmV4cG9ydCBjb25zdCBHZW9tZXRyeVRocmVzaG9sZCA9IHtcbiAgICBkZWZhdWx0VGV4dE1heFdpZHRoOiAzNCAqIDE0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbm5lY3RvclByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0NCxcbiAgICBoZWlnaHQ6IDQ0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEZsb3djaGFydFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA2MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREYXRhQmFzZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA3MCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEludGVybmFsU3RvcmFnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA4MCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERlY2lzaW9uUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDE0MCxcbiAgICBoZWlnaHQ6IDcwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERhdGFQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTI0LFxuICAgIGhlaWdodDogNjBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RG9jdW1lbnRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNzBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Tm90ZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxNjAsXG4gICAgaGVpZ2h0OiAxMDBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0TXVsdGlEb2N1bWVudFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA4MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRNYW51YWxJbnB1dFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMTcsXG4gICAgaGVpZ2h0OiA1OVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRNZXJnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0NyxcbiAgICBoZWlnaHQ6IDMzXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFjdG9yUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDY4LFxuICAgIGhlaWdodDogMTAwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbnRhaW5lclByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgaGVpZ2h0OiAyNDBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0UGFja2FnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAyMTAsXG4gICAgaGVpZ2h0OiAxNTAsXG4gICAgdGV4dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLm5hbWUsXG4gICAgICAgICAgICB0ZXh0OiAn5YyF5ZCNJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IE11bHRpcGxlVGV4dEdlb21ldHJ5Q29tbW9uVGV4dEtleXMuY29udGVudCxcbiAgICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFjdGl2YXRpb25Qcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTgsXG4gICAgaGVpZ2h0OiA4MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRPYmplY3RQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNjBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29tcG9uZW50Qm94UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDIwMCxcbiAgICBoZWlnaHQ6IDE1MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREZWxldGlvblByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0MCxcbiAgICBoZWlnaHQ6IDQwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFBvcnRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMjAsXG4gICAgaGVpZ2h0OiAyMFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRSZXF1aXJlZEludGVyZmFjZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA3MCxcbiAgICBoZWlnaHQ6IDU2XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFzc2VtYmx5UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDU2XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFByb3ZpZGVkSW50ZXJmYWNlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDcwLFxuICAgIGhlaWdodDogMzRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29tYmluZWRGcmFnbWVudFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0MDAsXG4gICAgaGVpZ2h0OiAyODAsXG4gICAgdGV4dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLm5hbWUsXG4gICAgICAgICAgICB0ZXh0OiAnT3B0IHwgQWx0IHwgTG9vcCcsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLmNvbnRlbnQsXG4gICAgICAgICAgICB0ZXh0OiAnW0NvbmRpdGlvbl0nLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENsYXNzUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDIzMCxcbiAgICBoZWlnaHQ6IDE4MCxcbiAgICB0ZXh0czogW1xuICAgICAgICB7IHRleHQ6ICdDbGFzcycsIGFsaWduOiBBbGlnbm1lbnQuY2VudGVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6ICcrIGF0dHJpYnV0ZTE6dHlwZSAgZGVmYXVsdFZhbHVlXFxuKyBhdHRyaWJ1dGUyOnR5cGVcXG4tIGF0dHJpYnV0ZTM6dHlwZScsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogJysgb3BlcmF0aW9uMShwYXJhbXMpOnJldHVyblR5cGVcXG4tIG9wZXJhdGlvbjIocGFyYW1zKVxcbi0gb3BlcmF0aW9uMygpJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9XG4gICAgXVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRJbnRlcmZhY2VQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMjMwLFxuICAgIGhlaWdodDogMTQwLFxuICAgIHRleHRzOiBbXG4gICAgICAgIHsgdGV4dDogJzw8aW50ZXJmYWNlPj5cXG5JbnRlcmZhY2UnLCBhbGlnbjogQWxpZ25tZW50LmNlbnRlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiAnKyBvcGVyYXRpb24xKHBhcmFtcyk6cmV0dXJuVHlwZVxcbi0gb3BlcmF0aW9uMihwYXJhbXMpXFxuLSBvcGVyYXRpb24zKCknLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eU1hcDogUmVjb3JkPHN0cmluZywgeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9PiA9IHtcbiAgICBbQmFzaWNTaGFwZXMucGVudGFnb25BcnJvd106IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLnByb2Nlc3NBcnJvd106IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLmNsb3VkXTogRGVmYXVsdENsb3VkUHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLnR3b1dheUFycm93XTogRGVmYXVsdFR3b1dheUFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLmxlZnRBcnJvd106IERlZmF1bHRBcnJvd1Byb3BlcnR5LFxuICAgIFtCYXNpY1NoYXBlcy5yaWdodEFycm93XTogRGVmYXVsdEFycm93UHJvcGVydHlcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlNYXAgPSB7XG4gICAgW0Zsb3djaGFydFN5bWJvbHMuY29ubmVjdG9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByb2Nlc3NdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGVjaXNpb25dOiBEZWZhdWx0RGVjaXNpb25Qcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kYXRhXTogRGVmYXVsdERhdGFQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy50ZXJtaW5hbF06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5tYW51YWxJbnB1dF06IERlZmF1bHRNYW51YWxJbnB1dFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByZXBhcmF0aW9uXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm1hbnVhbExvb3BdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubWVyZ2VdOiBEZWZhdWx0TWVyZ2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kZWxheV06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5zdG9yZWREYXRhXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnN1bW1pbmdKdW5jdGlvbl06IERlZmF1bHRDb25uZWN0b3JQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5wcmVkZWZpbmVkUHJvY2Vzc106IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5vZmZQYWdlXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRvY3VtZW50XTogRGVmYXVsdERvY3VtZW50UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubXVsdGlEb2N1bWVudF06IERlZmF1bHRNdWx0aURvY3VtZW50UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGF0YWJhc2VdOiBEZWZhdWx0RGF0YUJhc2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5oYXJkRGlza106IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5pbnRlcm5hbFN0b3JhZ2VdOiBEZWZhdWx0SW50ZXJuYWxTdG9yYWdlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5TGVmdF06IERlZmF1bHROb3RlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5UmlnaHRdOiBEZWZhdWx0Tm90ZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm5vdGVTcXVhcmVdOiBEZWZhdWx0Tm90ZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRpc3BsYXldOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0VU1MUHJvcGVydHlNYXAgPSB7XG4gICAgW1VNTFN5bWJvbHMuYWN0b3JdOiBEZWZhdWx0QWN0b3JQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy51c2VDYXNlXTogRGVmYXVsdERvY3VtZW50UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY29udGFpbmVyXTogRGVmYXVsdENvbnRhaW5lclByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLm5vdGVdOiBEZWZhdWx0T2JqZWN0UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMucGFja2FnZV06IERlZmF1bHRQYWNrYWdlUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY29tYmluZWRGcmFnbWVudF06IERlZmF1bHRDb21iaW5lZEZyYWdtZW50UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY2xhc3NdOiBEZWZhdWx0Q2xhc3NQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5pbnRlcmZhY2VdOiBEZWZhdWx0SW50ZXJmYWNlUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuYWN0aXZhdGlvbl06IERlZmF1bHRBY3RpdmF0aW9uUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMub2JqZWN0XTogRGVmYXVsdE9iamVjdFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmRlbGV0aW9uXTogRGVmYXVsdERlbGV0aW9uUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuYWN0aXZpdHlDbGFzc106IERlZmF1bHRPYmplY3RQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5zaW1wbGVDbGFzc106IERlZmF1bHRPYmplY3RQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5jb21wb25lbnRdOiBEZWZhdWx0TXVsdGlEb2N1bWVudFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnRlbXBsYXRlXTogRGVmYXVsdE11bHRpRG9jdW1lbnRQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5jb21wb25lbnRCb3hdOiBEZWZhdWx0Q29tcG9uZW50Qm94UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMucG9ydF06IERlZmF1bHRQb3J0UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuYnJhbmNoTWVyZ2VdOiBEZWZhdWx0RGVsZXRpb25Qcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5hc3NlbWJseV06IERlZmF1bHRBc3NlbWJseVByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnByb3ZpZGVkSW50ZXJmYWNlXTogRGVmYXVsdFByb3ZpZGVkSW50ZXJmYWNlUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMucmVxdWlyZWRJbnRlcmZhY2VdOiBEZWZhdWx0UmVxdWlyZWRJbnRlcmZhY2VQcm9wZXJ0eVxufTtcblxuZXhwb3J0IGNvbnN0IE11bHRpcGxlVGV4dEdlb21ldHJ5VGV4dEtleXM6IHsgW2tleSBpbiBHZW9tZXRyeVNoYXBlc10/OiBzdHJpbmdbXSB9ID0ge1xuICAgIFtVTUxTeW1ib2xzLnBhY2thZ2VdOiBPYmplY3Qua2V5cyhNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzKSxcbiAgICBbVU1MU3ltYm9scy5jb21iaW5lZEZyYWdtZW50XTogT2JqZWN0LmtleXMoTXVsdGlwbGVUZXh0R2VvbWV0cnlDb21tb25UZXh0S2V5cylcbn07XG5cbmV4cG9ydCBjb25zdCBMSU5FX0hJVF9HRU9NRVRSWV9CVUZGRVIgPSAxMDtcblxuZXhwb3J0IGNvbnN0IExJTkVfU05BUFBJTkdfQlVGRkVSID0gNjtcblxuZXhwb3J0IGNvbnN0IExJTkVfU05BUFBJTkdfQ09OTkVDVE9SX0JVRkZFUiA9IDg7XG5cbmV4cG9ydCBjb25zdCBHRU9NRVRSWV9XSVRIT1VUX1RFWFQgPSBbXG4gICAgRmxvd2NoYXJ0U3ltYm9scy5vcixcbiAgICBGbG93Y2hhcnRTeW1ib2xzLnN1bW1pbmdKdW5jdGlvbixcbiAgICBVTUxTeW1ib2xzLmFjdGl2YXRpb24sXG4gICAgVU1MU3ltYm9scy5kZWxldGlvbixcbiAgICBVTUxTeW1ib2xzLnBvcnQsXG4gICAgVU1MU3ltYm9scy5icmFuY2hNZXJnZSxcbiAgICBVTUxTeW1ib2xzLmFzc2VtYmx5LFxuICAgIFVNTFN5bWJvbHMucHJvdmlkZWRJbnRlcmZhY2UsXG4gICAgVU1MU3ltYm9scy5yZXF1aXJlZEludGVyZmFjZVxuXSBhcyBHZW9tZXRyeVNoYXBlc1tdO1xuXG5leHBvcnQgY29uc3QgR0VPTUVUUllfV0lUSF9NVUxUSVBMRV9URVhUID0gW1VNTFN5bWJvbHMucGFja2FnZSwgVU1MU3ltYm9scy5jb21iaW5lZEZyYWdtZW50XTtcblxuZXhwb3J0IGNvbnN0IEdFT01FVFJZX05PVF9DTE9TRUQgPSBbXG4gICAgRmxvd2NoYXJ0U3ltYm9scy5ub3RlQ3VybHlMZWZ0LFxuICAgIEZsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5UmlnaHQsXG4gICAgRmxvd2NoYXJ0U3ltYm9scy5ub3RlU3F1YXJlLFxuICAgIFVNTFN5bWJvbHMucmVxdWlyZWRJbnRlcmZhY2UsXG4gICAgVU1MU3ltYm9scy5kZWxldGlvblxuXSBhcyBHZW9tZXRyeVNoYXBlc1tdO1xuIl19
@@ -1,4 +1,4 @@
1
- import { BasicShapes, FlowchartSymbols, LineShape, SwimlaneDrawSymbols, UMLSymbols } from '../interfaces';
1
+ import { BasicShapes, FlowchartSymbols, ArrowLineShape, SwimlaneDrawSymbols, UMLSymbols } from '../interfaces';
2
2
  export const getGeometryPointers = () => {
3
3
  return [...Object.keys(BasicShapes), ...Object.keys(FlowchartSymbols), ...Object.keys(UMLSymbols)];
4
4
  };
@@ -14,7 +14,7 @@ export const getFlowchartPointers = () => {
14
14
  export const getUMLPointers = () => {
15
15
  return Object.keys(UMLSymbols);
16
16
  };
17
- export const getLinePointers = () => {
18
- return Object.keys(LineShape);
17
+ export const getArrowLinePointers = () => {
18
+ return Object.keys(ArrowLineShape);
19
19
  };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2NvbnN0YW50cy9wb2ludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJeEgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO0lBQ3BDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDdkcsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO0lBQ3BDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRTtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFO0lBQ3JDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7SUFDL0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDaEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2ljU2hhcGVzLCBGbG93Y2hhcnRTeW1ib2xzLCBMaW5lU2hhcGUsIFN3aW1sYW5lRHJhd1N5bWJvbHMsIFRhYmxlU3ltYm9scywgVU1MU3ltYm9scyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgdHlwZSBEcmF3UG9pbnRlclR5cGUgPSBCYXNpY1NoYXBlcyB8IExpbmVTaGFwZSB8IEZsb3djaGFydFN5bWJvbHMgfCBTd2ltbGFuZURyYXdTeW1ib2xzIHwgVGFibGVTeW1ib2xzIHwgVU1MU3ltYm9scztcblxuZXhwb3J0IGNvbnN0IGdldEdlb21ldHJ5UG9pbnRlcnMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIFsuLi5PYmplY3Qua2V5cyhCYXNpY1NoYXBlcyksIC4uLk9iamVjdC5rZXlzKEZsb3djaGFydFN5bWJvbHMpLCAuLi5PYmplY3Qua2V5cyhVTUxTeW1ib2xzKV07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3dpbWxhbmVQb2ludGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoU3dpbWxhbmVEcmF3U3ltYm9scyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QmFzaWNQb2ludGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoQmFzaWNTaGFwZXMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZsb3djaGFydFBvaW50ZXJzID0gKCkgPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhGbG93Y2hhcnRTeW1ib2xzKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVTUxQb2ludGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoVU1MU3ltYm9scyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGluZVBvaW50ZXJzID0gKCkgPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhMaW5lU2hhcGUpO1xufTtcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2NvbnN0YW50cy9wb2ludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJN0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO0lBQ3BDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDdkcsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO0lBQ3BDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRTtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFO0lBQ3JDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7SUFDL0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRTtJQUNyQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzaWNTaGFwZXMsIEZsb3djaGFydFN5bWJvbHMsIEFycm93TGluZVNoYXBlLCBTd2ltbGFuZURyYXdTeW1ib2xzLCBUYWJsZVN5bWJvbHMsIFVNTFN5bWJvbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IHR5cGUgRHJhd1BvaW50ZXJUeXBlID0gQmFzaWNTaGFwZXMgfCBBcnJvd0xpbmVTaGFwZSB8IEZsb3djaGFydFN5bWJvbHMgfCBTd2ltbGFuZURyYXdTeW1ib2xzIHwgVGFibGVTeW1ib2xzIHwgVU1MU3ltYm9scztcblxuZXhwb3J0IGNvbnN0IGdldEdlb21ldHJ5UG9pbnRlcnMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIFsuLi5PYmplY3Qua2V5cyhCYXNpY1NoYXBlcyksIC4uLk9iamVjdC5rZXlzKEZsb3djaGFydFN5bWJvbHMpLCAuLi5PYmplY3Qua2V5cyhVTUxTeW1ib2xzKV07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3dpbWxhbmVQb2ludGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoU3dpbWxhbmVEcmF3U3ltYm9scyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QmFzaWNQb2ludGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoQmFzaWNTaGFwZXMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZsb3djaGFydFBvaW50ZXJzID0gKCkgPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhGbG93Y2hhcnRTeW1ib2xzKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVTUxQb2ludGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoVU1MU3ltYm9scyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXJyb3dMaW5lUG9pbnRlcnMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKEFycm93TGluZVNoYXBlKTtcbn07XG4iXX0=
@@ -1,11 +1,13 @@
1
- import { PlaitBoard, RectangleClient, getEllipseTangentSlope, getVectorFromPointAndSlope, isPointInEllipse, getNearestPointBetweenPointAndEllipse } from '@plait/core';
1
+ import { PlaitBoard, RectangleClient, getEllipseTangentSlope, getVectorFromPointAndSlope, isPointInEllipse, getNearestPointBetweenPointAndEllipse, setStrokeLinecap } from '@plait/core';
2
2
  import { getTextRectangle } from '../../utils';
3
3
  export function createEllipseEngine(createOptions) {
4
4
  const engine = {
5
5
  draw(board, rectangle, options) {
6
6
  const centerPoint = [rectangle.x + rectangle.width / 2, rectangle.y + rectangle.height / 2];
7
7
  const rs = PlaitBoard.getRoughSVG(board);
8
- return rs.ellipse(centerPoint[0], centerPoint[1], rectangle.width, rectangle.height, { ...options, fillStyle: 'solid' });
8
+ const shape = rs.ellipse(centerPoint[0], centerPoint[1], rectangle.width, rectangle.height, { ...options, fillStyle: 'solid' });
9
+ setStrokeLinecap(shape, 'round');
10
+ return shape;
9
11
  },
10
12
  isInsidePoint(rectangle, point) {
11
13
  const centerPoint = [rectangle.x + rectangle.width / 2, rectangle.y + rectangle.height / 2];
@@ -48,4 +50,4 @@ export function createEllipseEngine(createOptions) {
48
50
  return engine;
49
51
  }
50
52
  export const EllipseEngine = createEllipseEngine();
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL2VsbGlwc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3hDLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU8vQyxNQUFNLFVBQVUsbUJBQW1CLENBQUMsYUFBb0M7SUFDcEUsTUFBTSxNQUFNLEdBQWdCO1FBQ3hCLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7WUFDaEUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1RixNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdILENBQUM7UUFDRCxhQUFhLENBQUMsU0FBMEIsRUFBRSxLQUFZO1lBQ2xELE1BQU0sV0FBVyxHQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FB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bEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBZ0IsbUJBQW1CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlLFxuICAgIGdldFZlY3RvckZyb21Qb2ludEFuZFNsb3BlLFxuICAgIGlzUG9pbnRJbkVsbGlwc2UsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZVxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5LCBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgZ2V0VGV4dFJlY3RhbmdsZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVFbGxpcHNlT3B0aW9ucyB7XG4gICAgZHJhdz86IChib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpID0+IFNWR0dFbGVtZW50O1xuICAgIGdldFRleHRSZWN0YW5nbGU/OiAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4gUmVjdGFuZ2xlQ2xpZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWxsaXBzZUVuZ2luZShjcmVhdGVPcHRpb25zPzogQ3JlYXRlRWxsaXBzZU9wdGlvbnMpOiBTaGFwZUVuZ2luZSB7XG4gICAgY29uc3QgZW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICAgICAgZHJhdyhib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50ID0gW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICAgICAgcmV0dXJuIHJzLmVsbGlwc2UoY2VudGVyUG9pbnRbMF0sIGNlbnRlclBvaW50WzFdLCByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS5oZWlnaHQsIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH0pO1xuICAgICAgICB9LFxuICAgICAgICBpc0luc2lkZVBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50OiBQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICAgICAgcmV0dXJuIGlzUG9pbnRJbkVsbGlwc2UocG9pbnQsIGNlbnRlclBvaW50LCByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUuaGVpZ2h0IC8gMik7XG4gICAgICAgIH0sXG4gICAgICAgIGdldENvcm5lclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgICAgICBjb25zdCBjZW50ZXJQb2ludDogUG9pbnQgPSBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXTtcbiAgICAgICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlKHBvaW50LCBjZW50ZXJQb2ludCwgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLmhlaWdodCAvIDIpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRUYW5nZW50VmVjdG9yQnlDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50T2ZSZWN0YW5nbGU6IFBvaW50T2ZSZWN0YW5nbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbm5lY3Rpb25Qb2ludCA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlLCBwb2ludE9mUmVjdGFuZ2xlKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50OiBQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBbY29ubmVjdGlvblBvaW50WzBdIC0gY2VudGVyUG9pbnRbMF0sIC0oY29ubmVjdGlvblBvaW50WzFdIC0gY2VudGVyUG9pbnRbMV0pXTtcbiAgICAgICAgICAgIGNvbnN0IGEgPSByZWN0YW5nbGUud2lkdGggLyAyO1xuICAgICAgICAgICAgY29uc3QgYiA9IHJlY3RhbmdsZS5oZWlnaHQgLyAyO1xuICAgICAgICAgICAgY29uc3Qgc2xvcGUgPSBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlKHBvaW50WzBdLCBwb2ludFsxXSwgYSwgYikgYXMgYW55O1xuICAgICAgICAgICAgY29uc3QgdmVjdG9yID0gZ2V0VmVjdG9yRnJvbVBvaW50QW5kU2xvcGUocG9pbnRbMF0sIHBvaW50WzFdLCBzbG9wZSk7XG4gICAgICAgICAgICByZXR1cm4gdmVjdG9yO1xuICAgICAgICB9LFxuICAgICAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0RWRnZUNlbnRlclBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRUZXh0UmVjdGFuZ2xlKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFRleHRSZWN0YW5nbGUoZWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgICAgIHJlY3RhbmdsZS53aWR0aCA9IChyZWN0YW5nbGUud2lkdGggKiAzKSAvIDQ7XG4gICAgICAgICAgICByZWN0YW5nbGUueCArPSB3aWR0aCAvIDg7XG4gICAgICAgICAgICByZXR1cm4gcmVjdGFuZ2xlO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGlmIChjcmVhdGVPcHRpb25zPy5kcmF3KSB7XG4gICAgICAgIGVuZ2luZS5kcmF3ID0gY3JlYXRlT3B0aW9ucy5kcmF3O1xuICAgIH1cbiAgICBpZiAoY3JlYXRlT3B0aW9ucz8uZ2V0VGV4dFJlY3RhbmdsZSkge1xuICAgICAgICBlbmdpbmUuZ2V0VGV4dFJlY3RhbmdsZSA9IGNyZWF0ZU9wdGlvbnMuZ2V0VGV4dFJlY3RhbmdsZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW5naW5lO1xufVxuXG5leHBvcnQgY29uc3QgRWxsaXBzZUVuZ2luZTogU2hhcGVFbmdpbmUgPSBjcmVhdGVFbGxpcHNlRW5naW5lKCk7XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL2VsbGlwc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3JDLGdCQUFnQixFQUNuQixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFPL0MsTUFBTSxVQUFVLG1CQUFtQixDQUFDLGFBQW9DO0lBQ3BFLE1BQU0sTUFBTSxHQUFnQjtRQUN4QixJQUFJLENBQUMsS0FBaUIsRUFBRSxTQUEwQixFQUFFLE9BQWdCO1lBQ2hFLE1BQU0sV0FBVyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDNUYsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxhQUFhLENBQUMsU0FBMEIsRUFBRSxLQUFZO1lBQ2xELE1BQU0sV0FBVyxHQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkcsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUNELGVBQWUsQ0FBQyxTQUEwQjtZQUN0QyxPQUFPLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsZUFBZSxDQUFDLFNBQTBCLEVBQUUsS0FBWTtZQUNwRCxNQUFNLFdBQVcsR0FBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25HLE9BQU8scUNBQXFDLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hILENBQUM7UUFDRCxpQ0FBaUMsQ0FBQyxTQUEwQixFQUFFLGdCQUFrQztZQUM1RixNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDeEYsTUFBTSxXQUFXLEdBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNuRyxNQUFNLEtBQUssR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVGLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBUSxDQUFDO1lBQ3RFLE1BQU0sTUFBTSxHQUFHLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckUsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELGtCQUFrQixDQUFDLFNBQTBCO1lBQ3pDLE9BQU8sZUFBZSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxnQkFBZ0IsQ0FBQyxPQUFzQjtZQUNuQyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQzlCLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QyxTQUFTLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDekIsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztLQUNKLENBQUM7SUFFRixJQUFJLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN0QixNQUFNLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUNELElBQUksYUFBYSxFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFDbEMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM3RCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBZ0IsbUJBQW1CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlLFxuICAgIGdldFZlY3RvckZyb21Qb2ludEFuZFNsb3BlLFxuICAgIGlzUG9pbnRJbkVsbGlwc2UsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZSxcbiAgICBzZXRTdHJva2VMaW5lY2FwXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnksIFNoYXBlRW5naW5lIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUVsbGlwc2VPcHRpb25zIHtcbiAgICBkcmF3PzogKGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykgPT4gU1ZHR0VsZW1lbnQ7XG4gICAgZ2V0VGV4dFJlY3RhbmdsZT86IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiBSZWN0YW5nbGVDbGllbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFbGxpcHNlRW5naW5lKGNyZWF0ZU9wdGlvbnM/OiBDcmVhdGVFbGxpcHNlT3B0aW9ucyk6IFNoYXBlRW5naW5lIHtcbiAgICBjb25zdCBlbmdpbmU6IFNoYXBlRW5naW5lID0ge1xuICAgICAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgY2VudGVyUG9pbnQgPSBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXTtcbiAgICAgICAgICAgIGNvbnN0IHJzID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCk7XG4gICAgICAgICAgICBjb25zdCBzaGFwZSA9IHJzLmVsbGlwc2UoY2VudGVyUG9pbnRbMF0sIGNlbnRlclBvaW50WzFdLCByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS5oZWlnaHQsIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH0pO1xuICAgICAgICAgICAgc2V0U3Ryb2tlTGluZWNhcChzaGFwZSwgJ3JvdW5kJyk7XG4gICAgICAgICAgICByZXR1cm4gc2hhcGU7XG4gICAgICAgIH0sXG4gICAgICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICAgICAgY29uc3QgY2VudGVyUG9pbnQ6IFBvaW50ID0gW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgICAgICByZXR1cm4gaXNQb2ludEluRWxsaXBzZShwb2ludCwgY2VudGVyUG9pbnQsIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS5oZWlnaHQgLyAyKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldEVkZ2VDZW50ZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0TmVhcmVzdFBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50OiBQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICAgICAgcmV0dXJuIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZEVsbGlwc2UocG9pbnQsIGNlbnRlclBvaW50LCByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUuaGVpZ2h0IC8gMik7XG4gICAgICAgIH0sXG4gICAgICAgIGdldFRhbmdlbnRWZWN0b3JCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSkge1xuICAgICAgICAgICAgY29uc3QgY29ubmVjdGlvblBvaW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGUsIHBvaW50T2ZSZWN0YW5nbGUpO1xuICAgICAgICAgICAgY29uc3QgY2VudGVyUG9pbnQ6IFBvaW50ID0gW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IFtjb25uZWN0aW9uUG9pbnRbMF0gLSBjZW50ZXJQb2ludFswXSwgLShjb25uZWN0aW9uUG9pbnRbMV0gLSBjZW50ZXJQb2ludFsxXSldO1xuICAgICAgICAgICAgY29uc3QgYSA9IHJlY3RhbmdsZS53aWR0aCAvIDI7XG4gICAgICAgICAgICBjb25zdCBiID0gcmVjdGFuZ2xlLmhlaWdodCAvIDI7XG4gICAgICAgICAgICBjb25zdCBzbG9wZSA9IGdldEVsbGlwc2VUYW5nZW50U2xvcGUocG9pbnRbMF0sIHBvaW50WzFdLCBhLCBiKSBhcyBhbnk7XG4gICAgICAgICAgICBjb25zdCB2ZWN0b3IgPSBnZXRWZWN0b3JGcm9tUG9pbnRBbmRTbG9wZShwb2ludFswXSwgcG9pbnRbMV0sIHNsb3BlKTtcbiAgICAgICAgICAgIHJldHVybiB2ZWN0b3I7XG4gICAgICAgIH0sXG4gICAgICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldFRleHRSZWN0YW5nbGUoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0VGV4dFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gcmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoID0gKHJlY3RhbmdsZS53aWR0aCAqIDMpIC8gNDtcbiAgICAgICAgICAgIHJlY3RhbmdsZS54ICs9IHdpZHRoIC8gODtcbiAgICAgICAgICAgIHJldHVybiByZWN0YW5nbGU7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKGNyZWF0ZU9wdGlvbnM/LmRyYXcpIHtcbiAgICAgICAgZW5naW5lLmRyYXcgPSBjcmVhdGVPcHRpb25zLmRyYXc7XG4gICAgfVxuICAgIGlmIChjcmVhdGVPcHRpb25zPy5nZXRUZXh0UmVjdGFuZ2xlKSB7XG4gICAgICAgIGVuZ2luZS5nZXRUZXh0UmVjdGFuZ2xlID0gY3JlYXRlT3B0aW9ucy5nZXRUZXh0UmVjdGFuZ2xlO1xuICAgIH1cblxuICAgIHJldHVybiBlbmdpbmU7XG59XG5cbmV4cG9ydCBjb25zdCBFbGxpcHNlRW5naW5lOiBTaGFwZUVuZ2luZSA9IGNyZWF0ZUVsbGlwc2VFbmdpbmUoKTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { PlaitBoard, RectangleClient, getNearestPointBetweenPointAndSegments, isPointInPolygon, isPointInRoundRectangle } from '@plait/core';
1
+ import { PlaitBoard, RectangleClient, getNearestPointBetweenPointAndSegments, isPointInPolygon, isPointInRoundRectangle, setStrokeLinecap } from '@plait/core';
2
2
  import { ShapeDefaultSpace } from '../../constants';
3
3
  import { getRoundRectangleRadius } from './round-rectangle';
4
4
  import { getPolygonEdgeByConnectionPoint } from '../../utils/polygon';
@@ -23,7 +23,9 @@ export const RoundCommentEngine = {
23
23
  const point9 = [x1 + rectangle.width / 4, y2];
24
24
  const point10 = [x1 + rectangle.width / 4, rectangle.y + rectangle.height];
25
25
  const point11 = [x1 + rectangle.width / 2, y2];
26
- return rs.path(`M${point2[0]} ${point2[1]} A ${radius} ${radius}, 0, 0, 1, ${point3[0]} ${point3[1]} L ${point4[0]} ${point4[1]} A ${radius} ${radius}, 0, 0, 1, ${point5[0]} ${point5[1]} L ${point11[0]} ${point11[1]} ${point10[0]} ${point10[1]} ${point9[0]} ${point9[1]} ${point6[0]} ${point6[1]} A ${radius} ${radius}, 0, 0, 1, ${point7[0]} ${point7[1]} L ${point8[0]} ${point8[1]} A ${radius} ${radius}, 0, 0, 1, ${point1[0]} ${point1[1]} Z`, { ...options, fillStyle: 'solid' });
26
+ const shape = rs.path(`M${point2[0]} ${point2[1]} A ${radius} ${radius}, 0, 0, 1, ${point3[0]} ${point3[1]} L ${point4[0]} ${point4[1]} A ${radius} ${radius}, 0, 0, 1, ${point5[0]} ${point5[1]} L ${point11[0]} ${point11[1]} ${point10[0]} ${point10[1]} ${point9[0]} ${point9[1]} ${point6[0]} ${point6[1]} A ${radius} ${radius}, 0, 0, 1, ${point7[0]} ${point7[1]} L ${point8[0]} ${point8[1]} A ${radius} ${radius}, 0, 0, 1, ${point1[0]} ${point1[1]} Z`, { ...options, fillStyle: 'solid' });
27
+ setStrokeLinecap(shape, 'round');
28
+ return shape;
27
29
  },
28
30
  isInsidePoint(rectangle, point) {
29
31
  const points = [
@@ -77,4 +79,4 @@ export const getRoundCommentPoints = (rectangle) => {
77
79
  [rectangle.x, rectangle.y + rectangle.height * heightRatio]
78
80
  ];
79
81
  };
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQtY29tbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL3JvdW5kLWNvbW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2Ysc0NBQXNDLEVBQ3RDLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDMUIsTUFBTSxhQUFhLENBQUM7QUFHckIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUUxQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDM0MsSUFBSSxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQjtRQUNoRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2QixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDekMsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVsRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBRWpDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRS9DLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDVixJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxJQUFJLE1BQU0sY0FBYyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxDQUFD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QyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzVDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDN0UsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDakYsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUNuRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUNqRixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztLQUM5RCxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBvaW50LFxuICAgIFBvaW50T2ZSZWN0YW5nbGUsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzLFxuICAgIGlzUG9pbnRJblBvbHlnb24sXG4gICAgaXNQb2ludEluUm91bmRSZWN0YW5nbGVcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSwgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFNoYXBlRGVmYXVsdFNwYWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzIH0gZnJvbSAnLi9yb3VuZC1yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9jb21tb24nO1xuXG5jb25zdCBoZWlnaHRSYXRpbyA9IDMgLyA0O1xuXG5leHBvcnQgY29uc3QgUm91bmRDb21tZW50RW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICBjb25zdCB4MSA9IHJlY3RhbmdsZS54O1xuICAgICAgICBjb25zdCB5MSA9IHJlY3RhbmdsZS55O1xuICAgICAgICBjb25zdCB4MiA9IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICBjb25zdCB5MiA9IHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvO1xuICAgICAgICBjb25zdCByYWRpdXMgPSBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpO1xuXG4gICAgICAgIGNvbnN0IHBvaW50MSA9IFt4MSArIHJhZGl1cywgeTFdO1xuICAgICAgICBjb25zdCBwb2ludDIgPSBbeDIgLSByYWRpdXMsIHkxXTtcbiAgICAgICAgY29uc3QgcG9pbnQzID0gW3gyLCB5MSArIHJhZGl1c107XG4gICAgICAgIGNvbnN0IHBvaW50NCA9IFt4MiwgeTIgLSByYWRpdXNdO1xuICAgICAgICBjb25zdCBwb2ludDUgPSBbeDIgLSByYWRpdXMsIHkyXTtcbiAgICAgICAgY29uc3QgcG9pbnQ2ID0gW3gxICsgcmFkaXVzLCB5Ml07XG4gICAgICAgIGNvbnN0IHBvaW50NyA9IFt4MSwgeTIgLSByYWRpdXNdO1xuICAgICAgICBjb25zdCBwb2ludDggPSBbeDEsIHkxICsgcmFkaXVzXTtcblxuICAgICAgICBjb25zdCBwb2ludDkgPSBbeDEgKyByZWN0YW5nbGUud2lkdGggLyA0LCB5Ml07XG4gICAgICAgIGNvbnN0IHBvaW50MTAgPSBbeDEgKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHRdO1xuICAgICAgICBjb25zdCBwb2ludDExID0gW3gxICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgeTJdO1xuXG4gICAgICAgIHJldHVybiBycy5wYXRoKFxuICAgICAgICAgICAgYE0ke3BvaW50MlswXX0gJHtwb2ludDJbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDNbMF19ICR7cG9pbnQzWzFdfSBMICR7cG9pbnQ0WzBdfSAke3BvaW50NFsxXX0gQSAke3JhZGl1c30gJHtyYWRpdXN9LCAwLCAwLCAxLCAke3BvaW50NVswXX0gJHtwb2ludDVbMV19IEwgICAgJHtwb2ludDExWzBdfSAke3BvaW50MTFbMV19ICAke3BvaW50MTBbMF19ICR7cG9pbnQxMFsxXX0gICAke3BvaW50OVswXX0gJHtwb2ludDlbMV19ICAgJHtwb2ludDZbMF19ICR7cG9pbnQ2WzFdfSBBICR7cmFkaXVzfSAke3JhZGl1c30sIDAsIDAsIDEsICR7cG9pbnQ3WzBdfSAke3BvaW50N1sxXX0gTCAke3BvaW50OFswXX0gJHtwb2ludDhbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDFbMF19ICR7cG9pbnQxWzFdfSBaYCxcbiAgICAgICAgICAgIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH1cbiAgICAgICAgKTtcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICBjb25zdCBwb2ludHM6IFBvaW50W10gPSBbXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIChyZWN0YW5nbGUuaGVpZ2h0ICogMykgLyA0XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDQsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodF0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueSArIChyZWN0YW5nbGUuaGVpZ2h0ICogMykgLyA0XVxuICAgICAgICBdO1xuICAgICAgICByZWN0YW5nbGUuaGVpZ2h0ID0gKHJlY3RhbmdsZS5oZWlnaHQgKiAzKSAvIDQ7XG4gICAgICAgIHJldHVybiBpc1BvaW50SW5Qb2x5Z29uKHBvaW50LCBwb2ludHMpIHx8IGlzUG9pbnRJblJvdW5kUmVjdGFuZ2xlKHBvaW50LCByZWN0YW5nbGUsIGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzKHJlY3RhbmdsZSkpO1xuICAgIH0sXG4gICAgZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBnZXRSb3VuZENvbW1lbnRQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyhwb2ludCwgZ2V0Um91bmRDb21tZW50UG9pbnRzKHJlY3RhbmdsZSkpO1xuICAgIH0sXG4gICAgZ2V0RWRnZUJ5Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludE9mUmVjdGFuZ2xlOiBQb2ludE9mUmVjdGFuZ2xlKTogW1BvaW50LCBQb2ludF0gfCBudWxsIHtcbiAgICAgICAgY29uc3QgY29ybmVycyA9IGdldFJvdW5kQ29tbWVudFBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICBjb25zdCBwb2ludCA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlLCBwb2ludE9mUmVjdGFuZ2xlKTtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlnb25FZGdlQnlDb25uZWN0aW9uUG9pbnQoY29ybmVycywgcG9pbnQpO1xuICAgIH0sXG4gICAgZ2V0Q29ubmVjdG9yUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueV0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0ICogaGVpZ2h0UmF0aW9dLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXVxuICAgICAgICBdO1xuICAgIH0sXG4gICAgZ2V0VGV4dFJlY3RhbmdsZShlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMhKTtcbiAgICAgICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC50ZXh0SGVpZ2h0ITtcbiAgICAgICAgY29uc3Qgd2lkdGggPSBlbGVtZW50UmVjdGFuZ2xlLndpZHRoIC0gU2hhcGVEZWZhdWx0U3BhY2UucmVjdGFuZ2xlQW5kVGV4dCAqIDIgLSBzdHJva2VXaWR0aCAqIDI7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aDogd2lkdGggPiAwID8gd2lkdGggOiAwLFxuICAgICAgICAgICAgeDogZWxlbWVudFJlY3RhbmdsZS54ICsgU2hhcGVEZWZhdWx0U3BhY2UucmVjdGFuZ2xlQW5kVGV4dCArIHN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgeTogZWxlbWVudFJlY3RhbmdsZS55ICsgKGVsZW1lbnRSZWN0YW5nbGUuaGVpZ2h0ICogaGVpZ2h0UmF0aW8gLSBoZWlnaHQpIC8gMlxuICAgICAgICB9O1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSb3VuZENvbW1lbnRQb2ludHMgPSAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpOiBQb2ludFtdID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAgICBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55XSxcbiAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoLCByZWN0YW5nbGUueV0sXG4gICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0ICogaGVpZ2h0UmF0aW9dLFxuICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgKiBoZWlnaHRSYXRpb10sXG4gICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDQsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodF0sXG4gICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDQsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvXSxcbiAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgKiBoZWlnaHRSYXRpb11cbiAgICBdO1xufTtcbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQtY29tbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL3JvdW5kLWNvbW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2Ysc0NBQXNDLEVBQ3RDLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQWdCO0lBQzNDLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUVqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUvQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNqQixJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxJQUFJLE1BQU0sY0FBYyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMs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QVcsRUFBRTtJQUN6RSxPQUFPO1FBQ0gsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1FBQzdFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1FBQ2pGLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDbkUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDakYsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7S0FDOUQsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyxcbiAgICBpc1BvaW50SW5Qb2x5Z29uLFxuICAgIGlzUG9pbnRJblJvdW5kUmVjdGFuZ2xlLFxuICAgIHNldFN0cm9rZUxpbmVjYXBcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSwgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFNoYXBlRGVmYXVsdFNwYWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzIH0gZnJvbSAnLi9yb3VuZC1yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9jb21tb24nO1xuXG5jb25zdCBoZWlnaHRSYXRpbyA9IDMgLyA0O1xuXG5leHBvcnQgY29uc3QgUm91bmRDb21tZW50RW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICBjb25zdCB4MSA9IHJlY3RhbmdsZS54O1xuICAgICAgICBjb25zdCB5MSA9IHJlY3RhbmdsZS55O1xuICAgICAgICBjb25zdCB4MiA9IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICBjb25zdCB5MiA9IHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvO1xuICAgICAgICBjb25zdCByYWRpdXMgPSBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpO1xuXG4gICAgICAgIGNvbnN0IHBvaW50MSA9IFt4MSArIHJhZGl1cywgeTFdO1xuICAgICAgICBjb25zdCBwb2ludDIgPSBbeDIgLSByYWRpdXMsIHkxXTtcbiAgICAgICAgY29uc3QgcG9pbnQzID0gW3gyLCB5MSArIHJhZGl1c107XG4gICAgICAgIGNvbnN0IHBvaW50NCA9IFt4MiwgeTIgLSByYWRpdXNdO1xuICAgICAgICBjb25zdCBwb2ludDUgPSBbeDIgLSByYWRpdXMsIHkyXTtcbiAgICAgICAgY29uc3QgcG9pbnQ2ID0gW3gxICsgcmFkaXVzLCB5Ml07XG4gICAgICAgIGNvbnN0IHBvaW50NyA9IFt4MSwgeTIgLSByYWRpdXNdO1xuICAgICAgICBjb25zdCBwb2ludDggPSBbeDEsIHkxICsgcmFkaXVzXTtcblxuICAgICAgICBjb25zdCBwb2ludDkgPSBbeDEgKyByZWN0YW5nbGUud2lkdGggLyA0LCB5Ml07XG4gICAgICAgIGNvbnN0IHBvaW50MTAgPSBbeDEgKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHRdO1xuICAgICAgICBjb25zdCBwb2ludDExID0gW3gxICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgeTJdO1xuXG4gICAgICAgIGNvbnN0IHNoYXBlID0gcnMucGF0aChcbiAgICAgICAgICAgIGBNJHtwb2ludDJbMF19ICR7cG9pbnQyWzFdfSBBICR7cmFkaXVzfSAke3JhZGl1c30sIDAsIDAsIDEsICR7cG9pbnQzWzBdfSAke3BvaW50M1sxXX0gTCAke3BvaW50NFswXX0gJHtwb2ludDRbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDVbMF19ICR7cG9pbnQ1WzFdfSBMICAgICR7cG9pbnQxMVswXX0gJHtwb2ludDExWzFdfSAgJHtwb2ludDEwWzBdfSAke3BvaW50MTBbMV19ICAgJHtwb2ludDlbMF19ICR7cG9pbnQ5WzFdfSAgICR7cG9pbnQ2WzBdfSAke3BvaW50NlsxXX0gQSAke3JhZGl1c30gJHtyYWRpdXN9LCAwLCAwLCAxLCAke3BvaW50N1swXX0gJHtwb2ludDdbMV19IEwgJHtwb2ludDhbMF19ICR7cG9pbnQ4WzFdfSBBICR7cmFkaXVzfSAke3JhZGl1c30sIDAsIDAsIDEsICR7cG9pbnQxWzBdfSAke3BvaW50MVsxXX0gWmAsXG4gICAgICAgICAgICB7IC4uLm9wdGlvbnMsIGZpbGxTdHlsZTogJ3NvbGlkJyB9XG4gICAgICAgICk7XG4gICAgICAgIHNldFN0cm9rZUxpbmVjYXAoc2hhcGUsICdyb3VuZCcpO1xuICAgICAgICByZXR1cm4gc2hhcGU7XG4gICAgfSxcbiAgICBpc0luc2lkZVBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBQb2ludFtdID0gW1xuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gNCwgcmVjdGFuZ2xlLnkgKyAocmVjdGFuZ2xlLmhlaWdodCAqIDMpIC8gNF0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHRdLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyAocmVjdGFuZ2xlLmhlaWdodCAqIDMpIC8gNF1cbiAgICAgICAgXTtcbiAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCA9IChyZWN0YW5nbGUuaGVpZ2h0ICogMykgLyA0O1xuICAgICAgICByZXR1cm4gaXNQb2ludEluUG9seWdvbihwb2ludCwgcG9pbnRzKSB8fCBpc1BvaW50SW5Sb3VuZFJlY3RhbmdsZShwb2ludCwgcmVjdGFuZ2xlLCBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldENvcm5lclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gZ2V0Um91bmRDb21tZW50UG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfSxcbiAgICBnZXROZWFyZXN0UG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICByZXR1cm4gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMocG9pbnQsIGdldFJvdW5kQ29tbWVudFBvaW50cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldEVkZ2VCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSk6IFtQb2ludCwgUG9pbnRdIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvcm5lcnMgPSBnZXRSb3VuZENvbW1lbnRQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgY29uc3QgcG9pbnQgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZSwgcG9pbnRPZlJlY3RhbmdsZSk7XG4gICAgICAgIHJldHVybiBnZXRQb2x5Z29uRWRnZUJ5Q29ubmVjdGlvblBvaW50KGNvcm5lcnMsIHBvaW50KTtcbiAgICB9LFxuICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnldLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvXSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl1cbiAgICAgICAgXTtcbiAgICB9LFxuICAgIGdldFRleHRSZWN0YW5nbGUoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICBjb25zdCBlbGVtZW50UmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzISk7XG4gICAgICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IGVsZW1lbnQudGV4dEhlaWdodCE7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gZWxlbWVudFJlY3RhbmdsZS53aWR0aCAtIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKiAyIC0gc3Ryb2tlV2lkdGggKiAyO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGg6IHdpZHRoID4gMCA/IHdpZHRoIDogMCxcbiAgICAgICAgICAgIHg6IGVsZW1lbnRSZWN0YW5nbGUueCArIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKyBzdHJva2VXaWR0aCxcbiAgICAgICAgICAgIHk6IGVsZW1lbnRSZWN0YW5nbGUueSArIChlbGVtZW50UmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvIC0gaGVpZ2h0KSAvIDJcbiAgICAgICAgfTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Um91bmRDb21tZW50UG9pbnRzID0gKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KTogUG9pbnRbXSA9PiB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueV0sXG4gICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnldLFxuICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvXSxcbiAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0ICogaGVpZ2h0UmF0aW9dLFxuICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHRdLFxuICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgKiBoZWlnaHRSYXRpb10sXG4gICAgICAgIFtyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0ICogaGVpZ2h0UmF0aW9dXG4gICAgXTtcbn07XG4iXX0=
@@ -12,7 +12,7 @@ export const NoteCurlyLeftEngine = {
12
12
  ${rectangle.x + rectangle.width - rectangle.width * 0.09} ${rectangle.y + rectangle.height / 2}
13
13
  C${rectangle.x + rectangle.width} ${rectangle.y + rectangle.height / 2},
14
14
  ${rectangle.x + rectangle.width - rectangle.width * 0.09} ${rectangle.y + rectangle.height},
15
- ${rectangle.x + rectangle.width} ${rectangle.y + rectangle.height}`, { ...options, fillStyle: 'solid' });
15
+ ${rectangle.x + rectangle.width} ${rectangle.y + rectangle.height}`, { ...options, fillStyle: 'solid', fill: 'transparent' });
16
16
  setStrokeLinecap(shape, 'round');
17
17
  return shape;
18
18
  },
@@ -47,4 +47,4 @@ export const NoteCurlyLeftEngine = {
47
47
  };
48
48
  }
49
49
  };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZS1jdXJseS1sZWZ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZW5naW5lcy9mbG93Y2hhcnQvbm90ZS1jdXJseS1sZWZ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsZUFBZSxFQUNmLHNDQUFzQyxFQUN0QyxnQkFBZ0IsRUFDbkIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBZ0I7SUFDNUMsSUFBSSxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQjtRQUNoRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ2pCLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO2VBQzdDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQztjQUN0RSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7Y0FDbkUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcs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dCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyxcbiAgICBzZXRTdHJva2VMaW5lY2FwXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnksIFNoYXBlRW5naW5lIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTaGFwZURlZmF1bHRTcGFjZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBSZWN0YW5nbGVFbmdpbmUgfSBmcm9tICcuLi9iYXNpYy1zaGFwZXMvcmVjdGFuZ2xlJztcbmltcG9ydCB7IGdldFBvbHlnb25FZGdlQnlDb25uZWN0aW9uUG9pbnQgfSBmcm9tICcuLi8uLi91dGlscy9wb2x5Z29uJztcbmltcG9ydCB7IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgTm90ZUN1cmx5TGVmdEVuZ2luZTogU2hhcGVFbmdpbmUgPSB7XG4gICAgZHJhdyhib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcnMgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKTtcbiAgICAgICAgY29uc3Qgc2hhcGUgPSBycy5wYXRoKFxuICAgICAgICAgICAgYE0ke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRofSAke3JlY3RhbmdsZS55fSBcbiAgICAgICAgICAgIEMke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC0gcmVjdGFuZ2xlLndpZHRoICogMC4wOX0gJHtyZWN0YW5nbGUueX0sIFxuICAgICAgICAgICAgJHtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aH0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyfSwgXG4gICAgICAgICAgICAke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC0gcmVjdGFuZ2xlLndpZHRoICogMC4wOX0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyfVxuICAgICAgICAgICAgQyR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGh9ICR7cmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMn0sIFxuICAgICAgICAgICAgJHtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAtIHJlY3RhbmdsZS53aWR0aCAqIDAuMDl9ICR7cmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0fSwgXG4gICAgICAgICAgICAke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRofSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodH1gLFxuICAgICAgICAgICAgeyAuLi5vcHRpb25zLCBmaWxsU3R5bGU6ICdzb2xpZCcgfVxuICAgICAgICApO1xuICAgICAgICBzZXRTdHJva2VMaW5lY2FwKHNoYXBlLCAncm91bmQnKTtcbiAgICAgICAgcmV0dXJuIHNoYXBlO1xuICAgIH0sXG4gICAgaXNJbnNpZGVQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIGNvbnN0IHJhbmdlUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKFtwb2ludCwgcG9pbnRdKTtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5pc0hpdChyZWN0YW5nbGUsIHJhbmdlUmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldENvcm5lclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldENvcm5lclBvaW50cyhyZWN0YW5nbGUpO1xuICAgIH0sXG4gICAgZ2V0TmVhcmVzdFBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgcmV0dXJuIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzKHBvaW50LCBSZWN0YW5nbGVFbmdpbmUuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSkpO1xuICAgIH0sXG4gICAgZ2V0RWRnZUJ5Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludE9mUmVjdGFuZ2xlOiBQb2ludE9mUmVjdGFuZ2xlKTogW1BvaW50LCBQb2ludF0gfCBudWxsIHtcbiAgICAgICAgY29uc3QgY29ybmVycyA9IFJlY3RhbmdsZUVuZ2luZS5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgY29uc3QgcG9pbnQgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZSwgcG9pbnRPZlJlY3RhbmdsZSk7XG4gICAgICAgIHJldHVybiBnZXRQb2x5Z29uRWRnZUJ5Q29ubmVjdGlvblBvaW50KGNvcm5lcnMsIHBvaW50KTtcbiAgICB9LFxuICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldEVkZ2VDZW50ZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldFRleHRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMhKTtcbiAgICAgICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC50ZXh0SGVpZ2h0ITtcbiAgICAgICAgY29uc3Qgd2lkdGggPSBlbGVtZW50UmVjdGFuZ2xlLndpZHRoIC0gZWxlbWVudFJlY3RhbmdsZS53aWR0aCAqIDAuMDkgLSBTaGFwZURlZmF1bHRTcGFjZS5yZWN0YW5nbGVBbmRUZXh0ICogMiAtIHN0cm9rZVdpZHRoICogMjtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIHdpZHRoOiB3aWR0aCA+IDAgPyB3aWR0aCA6IDAsXG4gICAgICAgICAgICB4OiBlbGVtZW50UmVjdGFuZ2xlLnggKyBTaGFwZURlZmF1bHRTcGFjZS5yZWN0YW5nbGVBbmRUZXh0ICsgc3Ryb2tlV2lkdGgsXG4gICAgICAgICAgICB5OiBlbGVtZW50UmVjdGFuZ2xlLnkgKyAoZWxlbWVudFJlY3RhbmdsZS5oZWlnaHQgLSBoZWlnaHQpIC8gMlxuICAgICAgICB9O1xuICAgIH1cbn07XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZS1jdXJseS1sZWZ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZW5naW5lcy9mbG93Y2hhcnQvbm90ZS1jdXJseS1sZWZ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsZUFBZSxFQUNmLHNDQUFzQyxFQUN0QyxnQkFBZ0IsRUFDbkIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBZ0I7SUFDNUMsSUFBSSxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQjtRQUNoRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ2pCLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO2VBQzdDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQztjQUN0RSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7Y0FDbkUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcs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bGFpdEJvYXJkLFxuICAgIFBvaW50LFxuICAgIFBvaW50T2ZSZWN0YW5nbGUsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzLFxuICAgIHNldFN0cm9rZUxpbmVjYXBcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSwgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNoYXBlRGVmYXVsdFNwYWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFJlY3RhbmdsZUVuZ2luZSB9IGZyb20gJy4uL2Jhc2ljLXNoYXBlcy9yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBOb3RlQ3VybHlMZWZ0RW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICBjb25zdCBzaGFwZSA9IHJzLnBhdGgoXG4gICAgICAgICAgICBgTSR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGh9ICR7cmVjdGFuZ2xlLnl9IFxuICAgICAgICAgICAgQyR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLSByZWN0YW5nbGUud2lkdGggKiAwLjA5fSAke3JlY3RhbmdsZS55fSwgXG4gICAgICAgICAgICAke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRofSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJ9LCBcbiAgICAgICAgICAgICR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLSByZWN0YW5nbGUud2lkdGggKiAwLjA5fSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJ9XG4gICAgICAgICAgICBDJHtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aH0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyfSwgXG4gICAgICAgICAgICAke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC0gcmVjdGFuZ2xlLndpZHRoICogMC4wOX0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHR9LCBcbiAgICAgICAgICAgICR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGh9ICR7cmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0fWAsXG4gICAgICAgICAgICB7IC4uLm9wdGlvbnMsIGZpbGxTdHlsZTogJ3NvbGlkJywgZmlsbDogJ3RyYW5zcGFyZW50JyB9XG4gICAgICAgICk7XG4gICAgICAgIHNldFN0cm9rZUxpbmVjYXAoc2hhcGUsICdyb3VuZCcpO1xuICAgICAgICByZXR1cm4gc2hhcGU7XG4gICAgfSxcbiAgICBpc0luc2lkZVBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgY29uc3QgcmFuZ2VSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoW3BvaW50LCBwb2ludF0pO1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHJlY3RhbmdsZSwgcmFuZ2VSZWN0YW5nbGUpO1xuICAgIH0sXG4gICAgZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfSxcbiAgICBnZXROZWFyZXN0UG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICByZXR1cm4gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMocG9pbnQsIFJlY3RhbmdsZUVuZ2luZS5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKSk7XG4gICAgfSxcbiAgICBnZXRFZGdlQnlDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50T2ZSZWN0YW5nbGU6IFBvaW50T2ZSZWN0YW5nbGUpOiBbUG9pbnQsIFBvaW50XSB8IG51bGwge1xuICAgICAgICBjb25zdCBjb3JuZXJzID0gUmVjdGFuZ2xlRW5naW5lLmdldENvcm5lclBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICBjb25zdCBwb2ludCA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlLCBwb2ludE9mUmVjdGFuZ2xlKTtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlnb25FZGdlQnlDb25uZWN0aW9uUG9pbnQoY29ybmVycywgcG9pbnQpO1xuICAgIH0sXG4gICAgZ2V0Q29ubmVjdG9yUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0RWRnZUNlbnRlclBvaW50cyhyZWN0YW5nbGUpO1xuICAgIH0sXG4gICAgZ2V0VGV4dFJlY3RhbmdsZTogKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpID0+IHtcbiAgICAgICAgY29uc3QgZWxlbWVudFJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyEpO1xuICAgICAgICBjb25zdCBzdHJva2VXaWR0aCA9IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBlbGVtZW50LnRleHRIZWlnaHQhO1xuICAgICAgICBjb25zdCB3aWR0aCA9IGVsZW1lbnRSZWN0YW5nbGUud2lkdGggLSBlbGVtZW50UmVjdGFuZ2xlLndpZHRoICogMC4wOSAtIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKiAyIC0gc3Ryb2tlV2lkdGggKiAyO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGg6IHdpZHRoID4gMCA/IHdpZHRoIDogMCxcbiAgICAgICAgICAgIHg6IGVsZW1lbnRSZWN0YW5nbGUueCArIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKyBzdHJva2VXaWR0aCxcbiAgICAgICAgICAgIHk6IGVsZW1lbnRSZWN0YW5nbGUueSArIChlbGVtZW50UmVjdGFuZ2xlLmhlaWdodCAtIGhlaWdodCkgLyAyXG4gICAgICAgIH07XG4gICAgfVxufTtcbiJdfQ==