@plait/draw 0.75.0-next.9 → 0.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/engines/basic-shapes/cloud.d.ts +2 -12
- package/engines/uml/provided-interface.d.ts +0 -5
- package/esm2022/arrow-line.component.mjs +14 -7
- package/esm2022/engines/basic-shapes/cloud.mjs +10 -11
- package/esm2022/engines/flowchart/note-curly-left.mjs +48 -12
- package/esm2022/engines/flowchart/note-curly-right.mjs +49 -10
- package/esm2022/engines/uml/actor.mjs +61 -44
- package/esm2022/engines/uml/assembly.mjs +72 -23
- package/esm2022/engines/uml/component.mjs +78 -33
- package/esm2022/engines/uml/deletion.mjs +28 -6
- package/esm2022/engines/uml/package.mjs +51 -21
- package/esm2022/engines/uml/provided-interface.mjs +53 -26
- package/esm2022/engines/uml/required-interface.mjs +51 -7
- package/esm2022/generators/arrow-line-auto-complete.generator.mjs +3 -3
- package/esm2022/generators/line-active.generator.mjs +14 -10
- package/esm2022/geometry.component.mjs +20 -10
- package/esm2022/image.component.mjs +12 -6
- package/esm2022/plugins/with-arrow-line-auto-complete-reaction.mjs +9 -7
- package/esm2022/plugins/with-arrow-line-auto-complete.mjs +9 -8
- package/esm2022/plugins/with-arrow-line-bound-reaction.mjs +4 -4
- package/esm2022/plugins/with-arrow-line-text-move.mjs +2 -2
- package/esm2022/plugins/with-draw-resize.mjs +9 -7
- package/esm2022/plugins/with-draw-rotate.mjs +23 -18
- package/esm2022/plugins/with-geometry-create.mjs +4 -4
- package/esm2022/plugins/with-swimlane-create.mjs +4 -4
- package/esm2022/plugins/with-table-resize.mjs +5 -5
- package/esm2022/plugins/with-table.mjs +3 -2
- package/esm2022/table.component.mjs +19 -11
- package/esm2022/utils/arrow-line/arrow-line-basic.mjs +3 -3
- package/esm2022/utils/common.mjs +9 -9
- package/esm2022/utils/geometry.mjs +8 -13
- package/esm2022/utils/hit.mjs +7 -7
- package/esm2022/utils/vector-line.mjs +2 -2
- package/esm2022/vector-line.component.mjs +12 -5
- package/fesm2022/plait-draw.mjs +648 -290
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/generators/line-active.generator.d.ts +5 -1
- package/package.json +1 -1
- package/utils/geometry.d.ts +1 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PlaitBoard, SELECTION_RECTANGLE_CLASS_NAME, createG, drawRectangle, getSelectedElements } from '@plait/core';
|
|
1
|
+
import { PlaitBoard, SELECTION_RECTANGLE_CLASS_NAME, createG, drawRectangle, getSelectedElements, toActivePointFromViewBoxPoint, toActiveRectangleFromViewBoxRectangle } from '@plait/core';
|
|
2
2
|
import { ArrowLineShape, PlaitArrowLine, PlaitDrawElement } from '../interfaces';
|
|
3
3
|
import { Generator, PRIMARY_COLOR, drawFillPrimaryHandle, drawPrimaryHandle } from '@plait/common';
|
|
4
4
|
import { getMiddlePoints } from '../utils/line';
|
|
@@ -7,8 +7,9 @@ import { isUpdatedHandleIndex } from '../utils/arrow-line';
|
|
|
7
7
|
import { getHitPointIndex } from '../utils/position/line';
|
|
8
8
|
import { DefaultDrawActiveStyle } from '../constants';
|
|
9
9
|
export class LineActiveGenerator extends Generator {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(
|
|
10
|
+
constructor(board, options = { active: true }) {
|
|
11
|
+
super(board, options);
|
|
12
|
+
this.board = board;
|
|
12
13
|
this.onlySelectedCurrentLine = false;
|
|
13
14
|
}
|
|
14
15
|
canDraw(element, data) {
|
|
@@ -32,16 +33,18 @@ export class LineActiveGenerator extends Generator {
|
|
|
32
33
|
updatePoints = points.slice(0, 1).concat(points.slice(-1));
|
|
33
34
|
elbowNextRenderPoints = getNextRenderPoints(this.board, element, data.linePoints);
|
|
34
35
|
}
|
|
35
|
-
updatePoints.
|
|
36
|
+
const activePoints = updatePoints.map((point) => toActivePointFromViewBoxPoint(this.board, point));
|
|
37
|
+
activePoints.forEach((point) => {
|
|
36
38
|
const updateHandle = drawPrimaryHandle(this.board, point);
|
|
37
39
|
activeG.appendChild(updateHandle);
|
|
38
40
|
});
|
|
39
41
|
const middlePoints = getMiddlePoints(this.board, element);
|
|
42
|
+
const activeMiddlePoints = middlePoints.map((point) => toActivePointFromViewBoxPoint(this.board, point));
|
|
40
43
|
if (!PlaitBoard.hasBeenTextEditing(this.board)) {
|
|
41
|
-
for (let i = 0; i <
|
|
42
|
-
const point =
|
|
44
|
+
for (let i = 0; i < activeMiddlePoints.length; i++) {
|
|
45
|
+
const point = activeMiddlePoints[i];
|
|
43
46
|
if (element.shape === ArrowLineShape.elbow && elbowNextRenderPoints.length) {
|
|
44
|
-
const handleIndex = getHitPointIndex(
|
|
47
|
+
const handleIndex = getHitPointIndex(activeMiddlePoints, point);
|
|
45
48
|
const isUpdateHandleIndex = isUpdatedHandleIndex(this.board, element, [...points], elbowNextRenderPoints, handleIndex);
|
|
46
49
|
if (isUpdateHandleIndex) {
|
|
47
50
|
const updateHandle = drawPrimaryHandle(this.board, point);
|
|
@@ -55,8 +58,9 @@ export class LineActiveGenerator extends Generator {
|
|
|
55
58
|
}
|
|
56
59
|
}
|
|
57
60
|
else {
|
|
58
|
-
const
|
|
59
|
-
if (
|
|
61
|
+
const rectangle = this.board.getRectangle(element);
|
|
62
|
+
if (rectangle) {
|
|
63
|
+
const activeRectangle = toActiveRectangleFromViewBoxRectangle(this.board, rectangle);
|
|
60
64
|
let opacity = '0.5';
|
|
61
65
|
if (activeRectangle.height === 0 || activeRectangle.width === 0) {
|
|
62
66
|
opacity = '0.8';
|
|
@@ -77,4 +81,4 @@ export class LineActiveGenerator extends Generator {
|
|
|
77
81
|
return onlySelectedCurrentLine !== this.onlySelectedCurrentLine;
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hY3RpdmUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9saW5lLWFjdGl2ZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUyw4QkFBOEIsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdILE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUXRELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUFnQztJQUF6RTs7UUFDSSw0QkFBdUIsR0FBRyxLQUFLLENBQUM7SUF5RXBDLENBQUM7SUF2RUcsT0FBTyxDQUFDLE9BQWtCLEVBQUUsSUFBZ0I7UUFDeEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFrQixFQUFFLElBQWdCO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFB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QyxDQUFDO1lBQ3pELElBQUksZUFBZSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDcEIsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxlQUFlLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUM5RCxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixDQUFDO2dCQUNELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRTtvQkFDdkQsTUFBTSxFQUFFLGFBQWE7b0JBQ3JCLFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxvQkFBb0I7aUJBQzNELENBQUMsQ0FBQztnQkFDSCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7Z0JBQ2hDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRUQsVUFBVTtRQUNOLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE1BQU0sdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUM5RCxPQUFPLHVCQUF1QixLQUFLLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUNwRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCwgU0VMRUNUSU9OX1JFQ1RBTkdMRV9DTEFTU19OQU1FLCBjcmVhdGVHLCBkcmF3UmVjdGFuZ2xlLCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgQXJyb3dMaW5lU2hhcGUsIFBsYWl0QXJyb3dMaW5lLCBQbGFpdERyYXdFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHZW5lcmF0b3IsIFBSSU1BUllfQ09MT1IsIGRyYXdGaWxsUHJpbWFyeUhhbmRsZSwgZHJhd1ByaW1hcnlIYW5kbGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGdldE1pZGRsZVBvaW50cyB9IGZyb20gJy4uL3V0aWxzL2xpbmUnO1xuaW1wb3J0IHsgZ2V0TmV4dFJlbmRlclBvaW50cyB9IGZyb20gJy4uL3V0aWxzL2Fycm93LWxpbmUvZWxib3cnO1xuaW1wb3J0IHsgaXNVcGRhdGVkSGFuZGxlSW5kZXggfSBmcm9tICcuLi91dGlscy9hcnJvdy1saW5lJztcbmltcG9ydCB7IGdldEhpdFBvaW50SW5kZXggfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9saW5lJztcbmltcG9ydCB7IERlZmF1bHREcmF3QWN0aXZlU3R5bGUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGxhaXRMaW5lIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3RpdmVEYXRhIHtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICBsaW5lUG9pbnRzOiBQb2ludFtdO1xufVxuXG5leHBvcnQgY2xhc3MgTGluZUFjdGl2ZUdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdExpbmUsIEFjdGl2ZURhdGE+IHtcbiAgICBvbmx5U2VsZWN0ZWRDdXJyZW50TGluZSA9IGZhbHNlO1xuXG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdExpbmUsIGRhdGE6IEFjdGl2ZURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGRhdGEuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZHJhdyhlbGVtZW50OiBQbGFpdExpbmUsIGRhdGE6IEFjdGl2ZURhdGEpOiBTVkdHRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUcgPSBjcmVhdGVHKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLm9ubHlTZWxlY3RlZEN1cnJlbnRMaW5lID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgIGlmICh0aGlzLm9ubHlTZWxlY3RlZEN1cnJlbnRMaW5lKSB7XG4gICAgICAgICAgICBhY3RpdmVHLmNsYXNzTGlzdC5hZGQoU0VMRUNUSU9OX1JFQ1RBTkdMRV9DTEFTU19OQU1FKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IFBsYWl0RHJhd0VsZW1lbnQuaXNBcnJvd0xpbmUoZWxlbWVudCkgPyBQbGFpdEFycm93TGluZS5nZXRQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCkgOiBlbGVtZW50LnBvaW50cztcbiAgICAgICAgICAgIGxldCB1cGRhdGVQb2ludHMgPSBbLi4ucG9pbnRzXTtcbiAgICAgICAgICAgIGxldCBlbGJvd05leHRSZW5kZXJQb2ludHM6IFBvaW50W10gPSBbXTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnNoYXBlID09PSBBcnJvd0xpbmVTaGFwZS5lbGJvdykge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVBvaW50cyA9IHBvaW50cy5zbGljZSgwLCAxKS5jb25jYXQocG9pbnRzLnNsaWNlKC0xKSk7XG4gICAgICAgICAgICAgICAgZWxib3dOZXh0UmVuZGVyUG9pbnRzID0gZ2V0TmV4dFJlbmRlclBvaW50cyh0aGlzLmJvYXJkLCBlbGVtZW50LCBkYXRhLmxpbmVQb2ludHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBkYXRlUG9pbnRzLmZvckVhY2gocG9pbnQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUhhbmRsZSA9IGRyYXdQcmltYXJ5SGFuZGxlKHRoaXMuYm9hcmQsIHBvaW50KTtcbiAgICAgICAgICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKHVwZGF0ZUhhbmRsZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IG1pZGRsZVBvaW50cyA9IGdldE1pZGRsZVBvaW50cyh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGlmICghUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcodGhpcy5ib2FyZCkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pZGRsZVBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwb2ludCA9IG1pZGRsZVBvaW50c1tpXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuc2hhcGUgPT09IEFycm93TGluZVNoYXBlLmVsYm93ICYmIGVsYm93TmV4dFJlbmRlclBvaW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZUluZGV4ID0gZ2V0SGl0UG9pbnRJbmRleChtaWRkbGVQb2ludHMsIHBvaW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzVXBkYXRlSGFuZGxlSW5kZXggPSBpc1VwZGF0ZWRIYW5kbGVJbmRleChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJvYXJkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWy4uLnBvaW50c10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxib3dOZXh0UmVuZGVyUG9pbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzVXBkYXRlSGFuZGxlSW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVIYW5kbGUgPSBkcmF3UHJpbWFyeUhhbmRsZSh0aGlzLmJvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlRy5hcHBlbmRDaGlsZCh1cGRhdGVIYW5kbGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNpcmNsZSA9IGRyYXdGaWxsUHJpbWFyeUhhbmRsZSh0aGlzLmJvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUcuYXBwZW5kQ2hpbGQoY2lyY2xlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVSZWN0YW5nbGUgPSB0aGlzLmJvYXJkLmdldFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChhY3RpdmVSZWN0YW5nbGUpIHtcbiAgICAgICAgICAgICAgICBsZXQgb3BhY2l0eSA9ICcwLjUnO1xuICAgICAgICAgICAgICAgIGlmIChhY3RpdmVSZWN0YW5nbGUuaGVpZ2h0ID09PSAwIHx8IGFjdGl2ZVJlY3RhbmdsZS53aWR0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ID0gJzAuOCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHN0cm9rZUcgPSBkcmF3UmVjdGFuZ2xlKHRoaXMuYm9hcmQsIGFjdGl2ZVJlY3RhbmdsZSwge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IFBSSU1BUllfQ09MT1IsXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBEZWZhdWx0RHJhd0FjdGl2ZVN0eWxlLnNlbGVjdGlvblN0cm9rZVdpZHRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc3Ryb2tlRy5zdHlsZS5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgICAgICAgICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKHN0cm9rZUcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY3RpdmVHO1xuICAgIH1cblxuICAgIG5lZWRVcGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICBjb25zdCBvbmx5U2VsZWN0ZWRDdXJyZW50TGluZSA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxO1xuICAgICAgICByZXR1cm4gb25seVNlbGVjdGVkQ3VycmVudExpbmUgIT09IHRoaXMub25seVNlbGVjdGVkQ3VycmVudExpbmU7XG4gICAgfVxufVxuIl19
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hY3RpdmUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9saW5lLWFjdGl2ZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFFViw4QkFBOEIsRUFDOUIsT0FBTyxFQUNQLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsNkJBQTZCLEVBQzdCLHFDQUFxQyxFQUN4QyxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVF0RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBZ0M7SUFHckUsWUFBc0IsS0FBaUIsRUFBRSxVQUErQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7UUFDcEYsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQURKLFVBQUssR0FBTCxLQUFLLENBQVk7UUFGdkMsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO0lBSWhDLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBa0IsRUFBRSxJQUFnQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNo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QUM7SUFDbkIsQ0FBQztJQUVELFVBQVU7UUFDTixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxNQUFNLHVCQUF1QixHQUFHLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDOUQsT0FBTyx1QkFBdUIsS0FBSyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDcEUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBvaW50LFxuICAgIFNFTEVDVElPTl9SRUNUQU5HTEVfQ0xBU1NfTkFNRSxcbiAgICBjcmVhdGVHLFxuICAgIGRyYXdSZWN0YW5nbGUsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICB0b0FjdGl2ZVBvaW50RnJvbVZpZXdCb3hQb2ludCxcbiAgICB0b0FjdGl2ZVJlY3RhbmdsZUZyb21WaWV3Qm94UmVjdGFuZ2xlXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFycm93TGluZVNoYXBlLCBQbGFpdEFycm93TGluZSwgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR2VuZXJhdG9yLCBQUklNQVJZX0NPTE9SLCBkcmF3RmlsbFByaW1hcnlIYW5kbGUsIGRyYXdQcmltYXJ5SGFuZGxlIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRNaWRkbGVQb2ludHMgfSBmcm9tICcuLi91dGlscy9saW5lJztcbmltcG9ydCB7IGdldE5leHRSZW5kZXJQb2ludHMgfSBmcm9tICcuLi91dGlscy9hcnJvdy1saW5lL2VsYm93JztcbmltcG9ydCB7IGlzVXBkYXRlZEhhbmRsZUluZGV4IH0gZnJvbSAnLi4vdXRpbHMvYXJyb3ctbGluZSc7XG5pbXBvcnQgeyBnZXRIaXRQb2ludEluZGV4IH0gZnJvbSAnLi4vdXRpbHMvcG9zaXRpb24vbGluZSc7XG5pbXBvcnQgeyBEZWZhdWx0RHJhd0FjdGl2ZVN0eWxlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFBsYWl0TGluZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbGluZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZlRGF0YSB7XG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgbGluZVBvaW50czogUG9pbnRbXTtcbn1cblxuZXhwb3J0IGNsYXNzIExpbmVBY3RpdmVHZW5lcmF0b3IgZXh0ZW5kcyBHZW5lcmF0b3I8UGxhaXRMaW5lLCBBY3RpdmVEYXRhPiB7XG4gICAgb25seVNlbGVjdGVkQ3VycmVudExpbmUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBib2FyZDogUGxhaXRCb2FyZCwgb3B0aW9uczogeyBhY3RpdmU6IGJvb2xlYW4gfSA9IHsgYWN0aXZlOiB0cnVlIH0pIHtcbiAgICAgICAgc3VwZXIoYm9hcmQsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGNhbkRyYXcoZWxlbWVudDogUGxhaXRMaW5lLCBkYXRhOiBBY3RpdmVEYXRhKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChkYXRhLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRyYXcoZWxlbWVudDogUGxhaXRMaW5lLCBkYXRhOiBBY3RpdmVEYXRhKTogU1ZHR0VsZW1lbnQge1xuICAgICAgICBjb25zdCBhY3RpdmVHID0gY3JlYXRlRygpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5vbmx5U2VsZWN0ZWRDdXJyZW50TGluZSA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxO1xuICAgICAgICBpZiAodGhpcy5vbmx5U2VsZWN0ZWRDdXJyZW50TGluZSkge1xuICAgICAgICAgICAgYWN0aXZlRy5jbGFzc0xpc3QuYWRkKFNFTEVDVElPTl9SRUNUQU5HTEVfQ0xBU1NfTkFNRSk7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBQbGFpdERyYXdFbGVtZW50LmlzQXJyb3dMaW5lKGVsZW1lbnQpID8gUGxhaXRBcnJvd0xpbmUuZ2V0UG9pbnRzKHRoaXMuYm9hcmQsIGVsZW1lbnQpIDogZWxlbWVudC5wb2ludHM7XG4gICAgICAgICAgICBsZXQgdXBkYXRlUG9pbnRzID0gWy4uLnBvaW50c107XG4gICAgICAgICAgICBsZXQgZWxib3dOZXh0UmVuZGVyUG9pbnRzOiBQb2ludFtdID0gW107XG4gICAgICAgICAgICBpZiAoZWxlbWVudC5zaGFwZSA9PT0gQXJyb3dMaW5lU2hhcGUuZWxib3cpIHtcbiAgICAgICAgICAgICAgICB1cGRhdGVQb2ludHMgPSBwb2ludHMuc2xpY2UoMCwgMSkuY29uY2F0KHBvaW50cy5zbGljZSgtMSkpO1xuICAgICAgICAgICAgICAgIGVsYm93TmV4dFJlbmRlclBvaW50cyA9IGdldE5leHRSZW5kZXJQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCwgZGF0YS5saW5lUG9pbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVBvaW50cyA9IHVwZGF0ZVBvaW50cy5tYXAoKHBvaW50KSA9PiB0b0FjdGl2ZVBvaW50RnJvbVZpZXdCb3hQb2ludCh0aGlzLmJvYXJkLCBwb2ludCkpO1xuICAgICAgICAgICAgYWN0aXZlUG9pbnRzLmZvckVhY2goKHBvaW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlSGFuZGxlID0gZHJhd1ByaW1hcnlIYW5kbGUodGhpcy5ib2FyZCwgcG9pbnQpO1xuICAgICAgICAgICAgICAgIGFjdGl2ZUcuYXBwZW5kQ2hpbGQodXBkYXRlSGFuZGxlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgbWlkZGxlUG9pbnRzID0gZ2V0TWlkZGxlUG9pbnRzKHRoaXMuYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgYWN0aXZlTWlkZGxlUG9pbnRzID0gbWlkZGxlUG9pbnRzLm1hcCgocG9pbnQpID0+IHRvQWN0aXZlUG9pbnRGcm9tVmlld0JveFBvaW50KHRoaXMuYm9hcmQsIHBvaW50KSk7XG4gICAgICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKHRoaXMuYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhY3RpdmVNaWRkbGVQb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBhY3RpdmVNaWRkbGVQb2ludHNbaV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnNoYXBlID09PSBBcnJvd0xpbmVTaGFwZS5lbGJvdyAmJiBlbGJvd05leHRSZW5kZXJQb2ludHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVJbmRleCA9IGdldEhpdFBvaW50SW5kZXgoYWN0aXZlTWlkZGxlUG9pbnRzLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1VwZGF0ZUhhbmRsZUluZGV4ID0gaXNVcGRhdGVkSGFuZGxlSW5kZXgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ib2FyZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsuLi5wb2ludHNdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsYm93TmV4dFJlbmRlclBvaW50cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1VwZGF0ZUhhbmRsZUluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlSGFuZGxlID0gZHJhd1ByaW1hcnlIYW5kbGUodGhpcy5ib2FyZCwgcG9pbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUcuYXBwZW5kQ2hpbGQodXBkYXRlSGFuZGxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaXJjbGUgPSBkcmF3RmlsbFByaW1hcnlIYW5kbGUodGhpcy5ib2FyZCwgcG9pbnQpO1xuICAgICAgICAgICAgICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKGNpcmNsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gdGhpcy5ib2FyZC5nZXRSZWN0YW5nbGUoZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAocmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlUmVjdGFuZ2xlID0gdG9BY3RpdmVSZWN0YW5nbGVGcm9tVmlld0JveFJlY3RhbmdsZSh0aGlzLmJvYXJkLCByZWN0YW5nbGUpO1xuICAgICAgICAgICAgICAgIGxldCBvcGFjaXR5ID0gJzAuNSc7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2ZVJlY3RhbmdsZS5oZWlnaHQgPT09IDAgfHwgYWN0aXZlUmVjdGFuZ2xlLndpZHRoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgPSAnMC44JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgc3Ryb2tlRyA9IGRyYXdSZWN0YW5nbGUodGhpcy5ib2FyZCwgYWN0aXZlUmVjdGFuZ2xlLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogUFJJTUFSWV9DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHREcmF3QWN0aXZlU3R5bGUuc2VsZWN0aW9uU3Ryb2tlV2lkdGhcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzdHJva2VHLnN0eWxlLm9wYWNpdHkgPSBvcGFjaXR5O1xuICAgICAgICAgICAgICAgIGFjdGl2ZUcuYXBwZW5kQ2hpbGQoc3Ryb2tlRyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjdGl2ZUc7XG4gICAgfVxuXG4gICAgbmVlZFVwZGF0ZSgpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgIGNvbnN0IG9ubHlTZWxlY3RlZEN1cnJlbnRMaW5lID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgIHJldHVybiBvbmx5U2VsZWN0ZWRDdXJyZW50TGluZSAhPT0gdGhpcy5vbmx5U2VsZWN0ZWRDdXJyZW50TGluZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PlaitBoard, isSelectionMoving, getSelectedElements, ACTIVE_STROKE_WIDTH, RectangleClient } from '@plait/core';
|
|
2
2
|
import { GeometryShapeGenerator } from './generators/geometry-shape.generator';
|
|
3
3
|
import { DrawTransforms } from './transforms';
|
|
4
|
-
import { ActiveGenerator, CommonElementFlavour, hasResizeHandle } from '@plait/common';
|
|
4
|
+
import { ActiveGenerator, CommonElementFlavour, createActiveGenerator, hasResizeHandle } from '@plait/common';
|
|
5
5
|
import { ArrowLineAutoCompleteGenerator } from './generators/arrow-line-auto-complete.generator';
|
|
6
6
|
import { getTextRectangle, isGeometryIncludeText, isMultipleTextGeometry, memorizeLatestText } from './utils';
|
|
7
7
|
import { TextGenerator } from './generators/text.generator';
|
|
@@ -13,7 +13,7 @@ export class GeometryComponent extends CommonElementFlavour {
|
|
|
13
13
|
super();
|
|
14
14
|
}
|
|
15
15
|
initializeGenerator() {
|
|
16
|
-
this.activeGenerator =
|
|
16
|
+
this.activeGenerator = createActiveGenerator(this.board, {
|
|
17
17
|
getStrokeWidth: () => {
|
|
18
18
|
const selectedElements = getSelectedElements(this.board);
|
|
19
19
|
if (selectedElements.length === 1 && !isSelectionMoving(this.board)) {
|
|
@@ -46,15 +46,23 @@ export class GeometryComponent extends CommonElementFlavour {
|
|
|
46
46
|
}
|
|
47
47
|
this.getRef().addGenerator(ArrowLineAutoCompleteGenerator.key, this.lineAutoCompleteGenerator);
|
|
48
48
|
this.getRef().addGenerator(ActiveGenerator.key, this.activeGenerator);
|
|
49
|
+
this.getRef().updateActiveSection = () => {
|
|
50
|
+
this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
|
|
51
|
+
selected: this.selected
|
|
52
|
+
});
|
|
53
|
+
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
|
|
54
|
+
selected: this.selected
|
|
55
|
+
});
|
|
56
|
+
};
|
|
49
57
|
}
|
|
50
58
|
initialize() {
|
|
51
59
|
super.initialize();
|
|
52
60
|
this.initializeGenerator();
|
|
53
61
|
this.shapeGenerator.processDrawing(this.element, this.getElementG());
|
|
54
|
-
this.activeGenerator.processDrawing(this.element, PlaitBoard.
|
|
62
|
+
this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
|
|
55
63
|
selected: this.selected
|
|
56
64
|
});
|
|
57
|
-
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.
|
|
65
|
+
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.getElementTopHost(this.board), {
|
|
58
66
|
selected: this.selected
|
|
59
67
|
});
|
|
60
68
|
this.textGenerator && this.textGenerator.draw(this.getElementG());
|
|
@@ -62,8 +70,8 @@ export class GeometryComponent extends CommonElementFlavour {
|
|
|
62
70
|
onContextChanged(value, previous) {
|
|
63
71
|
if (value.element !== previous.element || value.hasThemeChanged) {
|
|
64
72
|
this.shapeGenerator.processDrawing(this.element, this.getElementG());
|
|
65
|
-
this.activeGenerator.processDrawing(this.element, PlaitBoard.
|
|
66
|
-
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.
|
|
73
|
+
this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), { selected: this.selected });
|
|
74
|
+
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
|
|
67
75
|
selected: this.selected
|
|
68
76
|
});
|
|
69
77
|
this.textGenerator && this.updateText(previous.element, value.element);
|
|
@@ -71,9 +79,11 @@ export class GeometryComponent extends CommonElementFlavour {
|
|
|
71
79
|
else {
|
|
72
80
|
const hasSameSelected = value.selected === previous.selected;
|
|
73
81
|
const hasSameHandleState = this.activeGenerator.options.hasResizeHandle() === this.activeGenerator.hasResizeHandle;
|
|
74
|
-
if (!hasSameSelected || !hasSameHandleState) {
|
|
75
|
-
this.activeGenerator.processDrawing(this.element, PlaitBoard.
|
|
76
|
-
|
|
82
|
+
if (!hasSameSelected || !hasSameHandleState || value.selected) {
|
|
83
|
+
this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
|
|
84
|
+
selected: this.selected
|
|
85
|
+
});
|
|
86
|
+
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
|
|
77
87
|
selected: this.selected
|
|
78
88
|
});
|
|
79
89
|
}
|
|
@@ -133,4 +143,4 @@ export class GeometryComponent extends CommonElementFlavour {
|
|
|
133
143
|
this.textGenerator?.destroy();
|
|
134
144
|
}
|
|
135
145
|
}
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNsQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQXdCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUcsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQXFEO0lBVXhGO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN4RSxjQUFjLEVBQUUsR0FBRyxFQUFFO2dCQUNqQixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxL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QUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQXdCLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQzlELENBQUM7b0JBQ0QsT0FBUSxJQUFJLENBQUMsT0FBcUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ2pHLENBQUM7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTztRQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIE9uQ29udGV4dENoYW5nZWQsXG4gICAgaXNTZWxlY3Rpb25Nb3ZpbmcsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIFJlY3RhbmdsZUNsaWVudFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdENvbW1vbkdlb21ldHJ5LCBQbGFpdEdlb21ldHJ5LCBQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2dlb21ldHJ5JztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2ZUdlbmVyYXRvciwgQ29tbW9uRWxlbWVudEZsYXZvdXIsIFRleHRNYW5hZ2VDaGFuZ2VEYXRhLCBoYXNSZXNpemVIYW5kbGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9hcnJvdy1saW5lLWF1dG8tY29tcGxldGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IGdldFRleHRSZWN0YW5nbGUsIGlzR2VvbWV0cnlJbmNsdWRlVGV4dCwgaXNNdWx0aXBsZVRleHRHZW9tZXRyeSwgbWVtb3JpemVMYXRlc3RUZXh0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEcmF3VGV4dEluZm8sIFRleHRHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvdGV4dC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgU2luZ2xlVGV4dEdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9zaW5nbGUtdGV4dC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgUGxhaXRUZXh0IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdlb21ldHJ5VGhyZXNob2xkIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0RW5naW5lIH0gZnJvbSAnLi9lbmdpbmVzJztcblxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5Q29tcG9uZW50IGV4dGVuZHMgQ29tbW9uRWxlbWVudEZsYXZvdXI8UGxhaXRDb21tb25HZW9tZXRyeSwgUGxhaXRCb2FyZD5cbiAgICBpbXBsZW1lbnRzIE9uQ29udGV4dENoYW5nZWQ8UGxhaXRDb21tb25HZW9tZXRyeSwgUGxhaXRCb2FyZD4ge1xuICAgIGFjdGl2ZUdlbmVyYXRvciE6IEFjdGl2ZUdlbmVyYXRvcjxQbGFpdENvbW1vbkdlb21ldHJ5PjtcblxuICAgIGxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IhOiBBcnJvd0xpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3I7XG5cbiAgICBzaGFwZUdlbmVyYXRvciE6IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3I7XG5cbiAgICB0ZXh0R2VuZXJhdG9yITogVGV4dEdlbmVyYXRvcjxQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5PiB8IFNpbmdsZVRleHRHZW5lcmF0b3I7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplR2VuZXJhdG9yKCkge1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBBY3RpdmVHZW5lcmF0b3I8UGxhaXRDb21tb25HZW9tZXRyeT4odGhpcy5ib2FyZCwge1xuICAgICAgICAgICAgZ2V0U3Ryb2tlV2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VPcGFjaXR5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdENvbW1vbkdlb21ldHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGFzUmVzaXplSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGhhc1Jlc2l6ZUhhbmRsZSh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yID0gbmV3IEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICBpZiAoaXNHZW9tZXRyeUluY2x1ZGVUZXh0KHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdldFJlZigpLmFkZEdlbmVyYXRvcihBcnJvd0xpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3Iua2V5LCB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IpO1xuICAgICAgICB0aGlzLmdldFJlZigpLmFkZEdlbmVyYXRvcihBY3RpdmVHZW5lcmF0b3Iua2V5LCB0aGlzLmFjdGl2ZUdlbmVyYXRvcik7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgdGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yICYmIHRoaXMudGV4dEdlbmVyYXRvci5kcmF3KHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRDb21tb25HZW9tZXRyeSwgUGxhaXRCb2FyZD4sXG4gICAgICAgIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0Q29tbW9uR2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgKSB7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50IHx8IHZhbHVlLmhhc1RoZW1lQ2hhbmdlZCkge1xuICAgICAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgdGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGV4dEdlbmVyYXRvciAmJiB0aGlzLnVwZGF0ZVRleHQocHJldmlvdXMuZWxlbWVudCwgdmFsdWUuZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lU2VsZWN0ZWQgPSB2YWx1ZS5zZWxlY3RlZCA9PT0gcHJldmlvdXMuc2VsZWN0ZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lSGFuZGxlU3RhdGUgPSB0aGlzLmFjdGl2ZUdlbmVyYXRvci5vcHRpb25zLmhhc1Jlc2l6ZUhhbmRsZSgpID09PSB0aGlzLmFjdGl2ZUdlbmVyYXRvci5oYXNSZXNpemVIYW5kbGU7XG4gICAgICAgICAgICBpZiAoIWhhc1NhbWVTZWxlY3RlZCB8fCAhaGFzU2FtZUhhbmRsZVN0YXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dChwcmV2aW91c0VsZW1lbnQ6IFBsYWl0Q29tbW9uR2VvbWV0cnksIGN1cnJlbnRFbGVtZW50OiBQbGFpdENvbW1vbkdlb21ldHJ5KSB7XG4gICAgICAgIGlmIChpc011bHRpcGxlVGV4dEdlb21ldHJ5KHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgICh0aGlzLnRleHRHZW5lcmF0b3IgYXMgVGV4dEdlbmVyYXRvcjxQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5PikudXBkYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCxcbiAgICAgICAgICAgICAgICBwcmV2aW91c0VsZW1lbnQudGV4dHMsXG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQudGV4dHMsXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRFbGVtZW50RygpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgKHRoaXMudGV4dEdlbmVyYXRvciBhcyBTaW5nbGVUZXh0R2VuZXJhdG9yKS51cGRhdGUoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksXG4gICAgICAgICAgICAgICAgcHJldmlvdXNFbGVtZW50LnRleHQsXG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQudGV4dCxcbiAgICAgICAgICAgICAgICB0aGlzLmdldEVsZW1lbnRHKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0aWFsaXplVGV4dE1hbmFnZSgpIHtcbiAgICAgICAgY29uc3Qgb25UZXh0Q2hhbmdlID0gKGVsZW1lbnQ6IFBsYWl0Q29tbW9uR2VvbWV0cnksIHRleHRNYW5hZ2VDaGFuZ2VEYXRhOiBUZXh0TWFuYWdlQ2hhbmdlRGF0YSwgdGV4dDogRHJhd1RleHRJbmZvKSA9PiB7XG4gICAgICAgICAgICBpZiAodGV4dE1hbmFnZUNoYW5nZURhdGEubmV3VGV4dCkge1xuICAgICAgICAgICAgICAgIGlmIChpc011bHRpcGxlVGV4dEdlb21ldHJ5KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldERyYXdUZXh0cyh0aGlzLmJvYXJkLCBlbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogdGV4dC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRNYW5hZ2VDaGFuZ2VEYXRhLm5ld1RleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0SGVpZ2h0OiB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5oZWlnaHRcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0VGV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5uZXdUZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZUNoYW5nZURhdGEud2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5oZWlnaHRcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldFRleHRTaXplKHRoaXMuYm9hcmQsIGVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgdGV4dE1hbmFnZUNoYW5nZURhdGEud2lkdGgsIHRleHRNYW5hZ2VDaGFuZ2VEYXRhLmhlaWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5vcGVyYXRpb25zICYmIG1lbW9yaXplTGF0ZXN0VGV4dChlbGVtZW50LCB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5vcGVyYXRpb25zKTtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXNNdWx0aXBsZVRleHRHZW9tZXRyeSh0aGlzLmVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRHZW5lcmF0b3IgPSBuZXcgVGV4dEdlbmVyYXRvcjxQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5PihcbiAgICAgICAgICAgICAgICB0aGlzLmJvYXJkLFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCBhcyBQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5LFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC50ZXh0cyEsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZTogb25UZXh0Q2hhbmdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGV4dEdlbmVyYXRvciA9IG5ldyBTaW5nbGVUZXh0R2VuZXJhdG9yKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LCB0aGlzLmVsZW1lbnQudGV4dCwge1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBvblRleHRDaGFuZ2UsXG4gICAgICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHdpZHRoID0gZ2V0VGV4dFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpLndpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBnZXRSZWN0YW5nbGUgPSBnZXRFbmdpbmUodGhpcy5lbGVtZW50LnNoYXBlKS5nZXRUZXh0UmVjdGFuZ2xlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0UmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IGdldFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSkud2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0aGlzLmVsZW1lbnQgYXMgUGxhaXRUZXh0KT8uYXV0b1NpemUgPyBHZW9tZXRyeVRocmVzaG9sZC5kZWZhdWx0VGV4dE1heFdpZHRoIDogd2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yLmluaXRpYWxpemUoKTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yPy5kZXN0cm95KCk7XG4gICAgfVxufVxuIl19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNsQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQXdCLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUcsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxNQUFNLE9BQU8saUJBQ1QsU0FBUSxvQkFBcUQ7SUFXN0Q7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsZUFBZSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDckQsY0FBYyxFQUFFLEdBQUcsRUFBRTtnQkFDakIsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJ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RSxZQUFZO2FBQ3pCLENBQ0osQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQXdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZHLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixXQUFXLEVBQUUsR0FBRyxFQUFFO29CQUNkLElBQUksS0FBSyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQ2pELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixDQUFDO29CQUNwRSxJQUFJLFlBQVksRUFBRSxDQUFDO3dCQUNmLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQXdCLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQzlELENBQUM7b0JBQ0QsT0FBUSxJQUFJLENBQUMsT0FBcUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ2pHLENBQUM7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTztRQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIE9uQ29udGV4dENoYW5nZWQsXG4gICAgaXNTZWxlY3Rpb25Nb3ZpbmcsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIFJlY3RhbmdsZUNsaWVudFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdENvbW1vbkdlb21ldHJ5LCBQbGFpdEdlb21ldHJ5LCBQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2dlb21ldHJ5JztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2ZUdlbmVyYXRvciwgQ29tbW9uRWxlbWVudEZsYXZvdXIsIFRleHRNYW5hZ2VDaGFuZ2VEYXRhLCBjcmVhdGVBY3RpdmVHZW5lcmF0b3IsIGhhc1Jlc2l6ZUhhbmRsZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgQXJyb3dMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2Fycm93LWxpbmUtYXV0by1jb21wbGV0ZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgZ2V0VGV4dFJlY3RhbmdsZSwgaXNHZW9tZXRyeUluY2x1ZGVUZXh0LCBpc011bHRpcGxlVGV4dEdlb21ldHJ5LCBtZW1vcml6ZUxhdGVzdFRleHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERyYXdUZXh0SW5mbywgVGV4dEdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy90ZXh0LmdlbmVyYXRvcic7XG5pbXBvcnQgeyBTaW5nbGVUZXh0R2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL3NpbmdsZS10ZXh0LmdlbmVyYXRvcic7XG5pbXBvcnQgeyBQbGFpdFRleHQgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR2VvbWV0cnlUaHJlc2hvbGQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRFbmdpbmUgfSBmcm9tICcuL2VuZ2luZXMnO1xuXG5leHBvcnQgY2xhc3MgR2VvbWV0cnlDb21wb25lbnRcbiAgICBleHRlbmRzIENvbW1vbkVsZW1lbnRGbGF2b3VyPFBsYWl0Q29tbW9uR2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkNvbnRleHRDaGFuZ2VkPFBsYWl0Q29tbW9uR2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG57XG4gICAgYWN0aXZlR2VuZXJhdG9yITogQWN0aXZlR2VuZXJhdG9yPFBsYWl0Q29tbW9uR2VvbWV0cnk+O1xuXG4gICAgbGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciE6IEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcjtcblxuICAgIHNoYXBlR2VuZXJhdG9yITogR2VvbWV0cnlTaGFwZUdlbmVyYXRvcjtcblxuICAgIHRleHRHZW5lcmF0b3IhOiBUZXh0R2VuZXJhdG9yPFBsYWl0TXVsdGlwbGVUZXh0R2VvbWV0cnk+IHwgU2luZ2xlVGV4dEdlbmVyYXRvcjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yID0gY3JlYXRlQWN0aXZlR2VuZXJhdG9yKHRoaXMuYm9hcmQsIHtcbiAgICAgICAgICAgIGdldFN0cm9rZVdpZHRoOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gQUNUSVZFX1NUUk9LRV9XSURUSDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gQUNUSVZFX1NUUk9LRV9XSURUSDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0U3Ryb2tlT3BhY2l0eTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAhaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoZWxlbWVudDogUGxhaXRDb21tb25HZW9tZXRyeSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGhhc1Jlc2l6ZUhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBoYXNSZXNpemVIYW5kbGUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciA9IG5ldyBBcnJvd0xpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IgPSBuZXcgR2VvbWV0cnlTaGFwZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgaWYgKGlzR2VvbWV0cnlJbmNsdWRlVGV4dCh0aGlzLmVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRSZWYoKS5hZGRHZW5lcmF0b3IoQXJyb3dMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLmtleSwgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yKTtcbiAgICAgICAgdGhpcy5nZXRSZWYoKS5hZGRHZW5lcmF0b3IoQWN0aXZlR2VuZXJhdG9yLmtleSwgdGhpcy5hY3RpdmVHZW5lcmF0b3IpO1xuICAgICAgICB0aGlzLmdldFJlZigpLnVwZGF0ZUFjdGl2ZVNlY3Rpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZC5nZXRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgdGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudFRvcEhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRleHRHZW5lcmF0b3IgJiYgdGhpcy50ZXh0R2VuZXJhdG9yLmRyYXcodGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2VkKFxuICAgICAgICB2YWx1ZTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdENvbW1vbkdlb21ldHJ5LCBQbGFpdEJvYXJkPixcbiAgICAgICAgcHJldmlvdXM6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRDb21tb25HZW9tZXRyeSwgUGxhaXRCb2FyZD5cbiAgICApIHtcbiAgICAgICAgaWYgKHZhbHVlLmVsZW1lbnQgIT09IHByZXZpb3VzLmVsZW1lbnQgfHwgdmFsdWUuaGFzVGhlbWVDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LCB0aGlzLmdldEVsZW1lbnRHKCkpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQuZ2V0QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGV4dEdlbmVyYXRvciAmJiB0aGlzLnVwZGF0ZVRleHQocHJldmlvdXMuZWxlbWVudCwgdmFsdWUuZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lU2VsZWN0ZWQgPSB2YWx1ZS5zZWxlY3RlZCA9PT0gcHJldmlvdXMuc2VsZWN0ZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lSGFuZGxlU3RhdGUgPSB0aGlzLmFjdGl2ZUdlbmVyYXRvci5vcHRpb25zLmhhc1Jlc2l6ZUhhbmRsZSgpID09PSB0aGlzLmFjdGl2ZUdlbmVyYXRvci5oYXNSZXNpemVIYW5kbGU7XG4gICAgICAgICAgICBpZiAoIWhhc1NhbWVTZWxlY3RlZCB8fCAhaGFzU2FtZUhhbmRsZVN0YXRlIHx8IHZhbHVlLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQuZ2V0QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dChwcmV2aW91c0VsZW1lbnQ6IFBsYWl0Q29tbW9uR2VvbWV0cnksIGN1cnJlbnRFbGVtZW50OiBQbGFpdENvbW1vbkdlb21ldHJ5KSB7XG4gICAgICAgIGlmIChpc011bHRpcGxlVGV4dEdlb21ldHJ5KHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgICh0aGlzLnRleHRHZW5lcmF0b3IgYXMgVGV4dEdlbmVyYXRvcjxQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5PikudXBkYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCxcbiAgICAgICAgICAgICAgICBwcmV2aW91c0VsZW1lbnQudGV4dHMsXG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQudGV4dHMsXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRFbGVtZW50RygpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgKHRoaXMudGV4dEdlbmVyYXRvciBhcyBTaW5nbGVUZXh0R2VuZXJhdG9yKS51cGRhdGUoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksXG4gICAgICAgICAgICAgICAgcHJldmlvdXNFbGVtZW50LnRleHQsXG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQudGV4dCxcbiAgICAgICAgICAgICAgICB0aGlzLmdldEVsZW1lbnRHKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0aWFsaXplVGV4dE1hbmFnZSgpIHtcbiAgICAgICAgY29uc3Qgb25UZXh0Q2hhbmdlID0gKGVsZW1lbnQ6IFBsYWl0Q29tbW9uR2VvbWV0cnksIHRleHRNYW5hZ2VDaGFuZ2VEYXRhOiBUZXh0TWFuYWdlQ2hhbmdlRGF0YSwgdGV4dDogRHJhd1RleHRJbmZvKSA9PiB7XG4gICAgICAgICAgICBpZiAodGV4dE1hbmFnZUNoYW5nZURhdGEubmV3VGV4dCkge1xuICAgICAgICAgICAgICAgIGlmIChpc011bHRpcGxlVGV4dEdlb21ldHJ5KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldERyYXdUZXh0cyh0aGlzLmJvYXJkLCBlbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogdGV4dC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRNYW5hZ2VDaGFuZ2VEYXRhLm5ld1RleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0SGVpZ2h0OiB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5oZWlnaHRcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0VGV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5uZXdUZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZUNoYW5nZURhdGEud2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5oZWlnaHRcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldFRleHRTaXplKHRoaXMuYm9hcmQsIGVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgdGV4dE1hbmFnZUNoYW5nZURhdGEud2lkdGgsIHRleHRNYW5hZ2VDaGFuZ2VEYXRhLmhlaWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5vcGVyYXRpb25zICYmIG1lbW9yaXplTGF0ZXN0VGV4dChlbGVtZW50LCB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5vcGVyYXRpb25zKTtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXNNdWx0aXBsZVRleHRHZW9tZXRyeSh0aGlzLmVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRHZW5lcmF0b3IgPSBuZXcgVGV4dEdlbmVyYXRvcjxQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5PihcbiAgICAgICAgICAgICAgICB0aGlzLmJvYXJkLFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCBhcyBQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5LFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC50ZXh0cyEsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZTogb25UZXh0Q2hhbmdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGV4dEdlbmVyYXRvciA9IG5ldyBTaW5nbGVUZXh0R2VuZXJhdG9yKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LCB0aGlzLmVsZW1lbnQudGV4dCwge1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBvblRleHRDaGFuZ2UsXG4gICAgICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHdpZHRoID0gZ2V0VGV4dFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpLndpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBnZXRSZWN0YW5nbGUgPSBnZXRFbmdpbmUodGhpcy5lbGVtZW50LnNoYXBlKS5nZXRUZXh0UmVjdGFuZ2xlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0UmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IGdldFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSkud2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0aGlzLmVsZW1lbnQgYXMgUGxhaXRUZXh0KT8uYXV0b1NpemUgPyBHZW9tZXRyeVRocmVzaG9sZC5kZWZhdWx0VGV4dE1heFdpZHRoIDogd2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yLmluaXRpYWxpemUoKTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yPy5kZXN0cm95KCk7XG4gICAgfVxufVxuIl19
|
|
@@ -15,7 +15,7 @@ export class ImageComponent extends CommonElementFlavour {
|
|
|
15
15
|
height: element.points[1][1] - element.points[0][1]
|
|
16
16
|
};
|
|
17
17
|
},
|
|
18
|
-
getImageItem: element => {
|
|
18
|
+
getImageItem: (element) => {
|
|
19
19
|
return {
|
|
20
20
|
url: element.url,
|
|
21
21
|
width: element.points[1][0] - element.points[0][0],
|
|
@@ -25,12 +25,18 @@ export class ImageComponent extends CommonElementFlavour {
|
|
|
25
25
|
});
|
|
26
26
|
this.lineAutoCompleteGenerator = new ArrowLineAutoCompleteGenerator(this.board);
|
|
27
27
|
this.getRef().addGenerator(ArrowLineAutoCompleteGenerator.key, this.lineAutoCompleteGenerator);
|
|
28
|
+
this.getRef().updateActiveSection = () => {
|
|
29
|
+
this.imageGenerator.setFocus(this.element, this.selected);
|
|
30
|
+
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
|
|
31
|
+
selected: this.selected
|
|
32
|
+
});
|
|
33
|
+
};
|
|
28
34
|
}
|
|
29
35
|
initialize() {
|
|
30
36
|
super.initialize();
|
|
31
37
|
this.initializeGenerator();
|
|
32
38
|
this.imageGenerator.processDrawing(this.element, this.getElementG());
|
|
33
|
-
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.
|
|
39
|
+
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
|
|
34
40
|
selected: this.selected
|
|
35
41
|
});
|
|
36
42
|
}
|
|
@@ -38,7 +44,7 @@ export class ImageComponent extends CommonElementFlavour {
|
|
|
38
44
|
if (value.element !== previous.element) {
|
|
39
45
|
this.imageGenerator.updateImage(this.getElementG(), previous.element, value.element);
|
|
40
46
|
this.imageGenerator.setFocus(this.element, this.selected);
|
|
41
|
-
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.
|
|
47
|
+
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
|
|
42
48
|
selected: this.selected
|
|
43
49
|
});
|
|
44
50
|
}
|
|
@@ -46,9 +52,9 @@ export class ImageComponent extends CommonElementFlavour {
|
|
|
46
52
|
const hasSameSelected = value.selected === previous.selected;
|
|
47
53
|
const hasSameHandleState = this.imageGenerator.activeGenerator &&
|
|
48
54
|
this.imageGenerator.activeGenerator.options.hasResizeHandle() === this.imageGenerator.activeGenerator.hasResizeHandle;
|
|
49
|
-
if (!hasSameSelected || !hasSameHandleState) {
|
|
55
|
+
if (!hasSameSelected || !hasSameHandleState || value.selected) {
|
|
50
56
|
this.imageGenerator.setFocus(this.element, this.selected);
|
|
51
|
-
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.
|
|
57
|
+
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
|
|
52
58
|
selected: this.selected
|
|
53
59
|
});
|
|
54
60
|
}
|
|
@@ -60,4 +66,4 @@ export class ImageComponent extends CommonElementFlavour {
|
|
|
60
66
|
this.lineAutoCompleteGenerator.destroy();
|
|
61
67
|
}
|
|
62
68
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQStDLE1BQU0sYUFBYSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFakcsTUFBTSxPQUFPLGNBQWUsU0FBUSxvQkFBNEM7SUFLNUU7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFhLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDN0QsWUFBWSxFQUFFLENBQUMsT0FBbUIsRUFBRSxFQUFFO2dCQUNsQyxPQUFPO29CQUNILENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdkIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2QixLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3RELENBQUM7WUFDTixDQUFDO1lBQ0QsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3RCLE9BQU87b0JBQ0gsR0FBRyxFQUFF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SUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzFELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDOUYsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2lCQUMxQixDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIE9uQ29udGV4dENoYW5nZWQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBDb21tb25FbGVtZW50Rmxhdm91ciwgSW1hZ2VHZW5lcmF0b3IgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IFBsYWl0SW1hZ2UgfSBmcm9tICcuL2ludGVyZmFjZXMvaW1hZ2UnO1xuaW1wb3J0IHsgQXJyb3dMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2Fycm93LWxpbmUtYXV0by1jb21wbGV0ZS5nZW5lcmF0b3InO1xuXG5leHBvcnQgY2xhc3MgSW1hZ2VDb21wb25lbnQgZXh0ZW5kcyBDb21tb25FbGVtZW50Rmxhdm91cjxQbGFpdEltYWdlLCBQbGFpdEJvYXJkPiBpbXBsZW1lbnRzIE9uQ29udGV4dENoYW5nZWQ8UGxhaXRJbWFnZSwgUGxhaXRCb2FyZD4ge1xuICAgIGltYWdlR2VuZXJhdG9yITogSW1hZ2VHZW5lcmF0b3I8UGxhaXRJbWFnZT47XG5cbiAgICBsaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yITogQXJyb3dMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yPFBsYWl0SW1hZ2U+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvciA9IG5ldyBJbWFnZUdlbmVyYXRvcjxQbGFpdEltYWdlPih0aGlzLmJvYXJkLCB7XG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEltYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgeDogZWxlbWVudC5wb2ludHNbMF1bMF0sXG4gICAgICAgICAgICAgICAgICAgIHk6IGVsZW1lbnQucG9pbnRzWzBdWzFdLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZWxlbWVudC5wb2ludHNbMV1bMF0gLSBlbGVtZW50LnBvaW50c1swXVswXSxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBlbGVtZW50LnBvaW50c1sxXVsxXSAtIGVsZW1lbnQucG9pbnRzWzBdWzFdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRJbWFnZUl0ZW06IChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBlbGVtZW50LnVybCxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGVsZW1lbnQucG9pbnRzWzFdWzBdIC0gZWxlbWVudC5wb2ludHNbMF1bMF0sXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogZWxlbWVudC5wb2ludHNbMV1bMV0gLSBlbGVtZW50LnBvaW50c1swXVsxXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgPSBuZXcgQXJyb3dMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmdldFJlZigpLmFkZEdlbmVyYXRvcihBcnJvd0xpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3Iua2V5LCB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IpO1xuICAgICAgICB0aGlzLmdldFJlZigpLnVwZGF0ZUFjdGl2ZVNlY3Rpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLnNldEZvY3VzKHRoaXMuZWxlbWVudCwgdGhpcy5zZWxlY3RlZCk7XG4gICAgICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRJbWFnZSwgUGxhaXRCb2FyZD4sXG4gICAgICAgIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0SW1hZ2UsIFBsYWl0Qm9hcmQ+XG4gICAgKSB7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLnVwZGF0ZUltYWdlKHRoaXMuZ2V0RWxlbWVudEcoKSwgcHJldmlvdXMuZWxlbWVudCwgdmFsdWUuZWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLnNldEZvY3VzKHRoaXMuZWxlbWVudCwgdGhpcy5zZWxlY3RlZCk7XG4gICAgICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lU2VsZWN0ZWQgPSB2YWx1ZS5zZWxlY3RlZCA9PT0gcHJldmlvdXMuc2VsZWN0ZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lSGFuZGxlU3RhdGUgPVxuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VHZW5lcmF0b3IuYWN0aXZlR2VuZXJhdG9yICYmXG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvci5hY3RpdmVHZW5lcmF0b3Iub3B0aW9ucy5oYXNSZXNpemVIYW5kbGUoKSA9PT0gdGhpcy5pbWFnZUdlbmVyYXRvci5hY3RpdmVHZW5lcmF0b3IuaGFzUmVzaXplSGFuZGxlO1xuICAgICAgICAgICAgaWYgKCFoYXNTYW1lU2VsZWN0ZWQgfHwgIWhhc1NhbWVIYW5kbGVTdGF0ZSB8fCB2YWx1ZS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VHZW5lcmF0b3Iuc2V0Rm9jdXModGhpcy5lbGVtZW50LCB0aGlzLnNlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5kZXN0cm95KCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CursorClass, PlaitBoard, PlaitElement, RectangleClient, RgbaToHEX, drawCircle, hasValidAngle, isSelectionMoving, rotateAntiPointsByElement, setAngleForG,
|
|
1
|
+
import { CursorClass, PlaitBoard, PlaitElement, RectangleClient, RgbaToHEX, drawCircle, hasValidAngle, isSelectionMoving, rotateAntiPointsByElement, setAngleForG, toActivePoint, toActiveRectangleFromViewBoxRectangle } from '@plait/core';
|
|
2
2
|
import { PlaitDrawElement } from '../interfaces';
|
|
3
3
|
import { getAutoCompletePoints, getHitIndexOfAutoCompletePoint, getSelectedDrawElements } from '../utils';
|
|
4
4
|
import { PRIMARY_COLOR } from '@plait/common';
|
|
@@ -12,10 +12,10 @@ export const withArrowLineAutoCompleteReaction = (board) => {
|
|
|
12
12
|
PlaitBoard.getBoardContainer(board).classList.remove(CursorClass.crosshair);
|
|
13
13
|
const selectedElements = getSelectedDrawElements(board);
|
|
14
14
|
const targetElement = selectedElements.length === 1 && selectedElements[0];
|
|
15
|
-
const
|
|
15
|
+
const activePoint = toActivePoint(board, event.x, event.y);
|
|
16
16
|
if (!PlaitBoard.isReadonly(board) && !isSelectionMoving(board) && targetElement && PlaitDrawElement.isShapeElement(targetElement)) {
|
|
17
|
-
const points = getAutoCompletePoints(targetElement);
|
|
18
|
-
const hitIndex = getHitIndexOfAutoCompletePoint(rotateAntiPointsByElement(
|
|
17
|
+
const points = getAutoCompletePoints(board, targetElement, true);
|
|
18
|
+
const hitIndex = getHitIndexOfAutoCompletePoint(rotateAntiPointsByElement(board, activePoint, targetElement, true) || activePoint, points);
|
|
19
19
|
const hitPoint = points[hitIndex];
|
|
20
20
|
const ref = PlaitElement.getElementRef(targetElement);
|
|
21
21
|
const lineAutoCompleteGenerator = ref.getGenerator(ArrowLineAutoCompleteGenerator.key);
|
|
@@ -27,10 +27,12 @@ export const withArrowLineAutoCompleteReaction = (board) => {
|
|
|
27
27
|
fill: RgbaToHEX(PRIMARY_COLOR, LINE_AUTO_COMPLETE_HOVERED_OPACITY),
|
|
28
28
|
fillStyle: 'solid'
|
|
29
29
|
});
|
|
30
|
-
PlaitBoard.
|
|
30
|
+
PlaitBoard.getActiveHost(board).append(reactionG);
|
|
31
31
|
PlaitBoard.getBoardContainer(board).classList.add(CursorClass.crosshair);
|
|
32
32
|
if (hasValidAngle(targetElement)) {
|
|
33
|
-
|
|
33
|
+
const rectangle = board.getRectangle(targetElement);
|
|
34
|
+
const activeRectangle = toActiveRectangleFromViewBoxRectangle(board, rectangle);
|
|
35
|
+
setAngleForG(reactionG, RectangleClient.getCenterPoint(activeRectangle), targetElement.angle);
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
}
|
|
@@ -38,4 +40,4 @@ export const withArrowLineAutoCompleteReaction = (board) => {
|
|
|
38
40
|
};
|
|
39
41
|
return board;
|
|
40
42
|
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcnJvdy1saW5lLWF1dG8tY29tcGxldGUtcmVhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLXJlYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxXQUFXLEVBQ1gsVUFBVSxFQUNWLFlBQVksRUFFWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QixZQUFZLEVBQ1osYUFBYSxFQUNiLHFDQUFxQyxFQUN4QyxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxhQUFhLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRWxHLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDOUIsSUFBSSxTQUFTLEdBQXVCLElBQUksQ0FBQztJQUN6QyxLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQ3hDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNwQixVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUUsTUFBTSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLElBQUksZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDaEksTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRSxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FDM0MseUJBQXlCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksV0FBVyxFQUNqRixNQUFNLENBQ1QsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUF3QixhQUFhLENBQUMsQ0FBQztZQUM3RSxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQWlDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZILHlCQUF5QixDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDakQsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDWCx5QkFBeUIsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDekQsU0FBUyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQ0FBbUMsRUFBRTtvQkFDakcsTUFBTSxFQUFFLE1BQU07b0JBQ2QsSUFBSSxFQUFFLFNBQVMsQ0FBQyxhQUFhLEVBQUUsa0NBQWtDLENBQUM7b0JBQ2xFLFNBQVMsRUFBRSxPQUFPO2lCQUNyQixDQUFDLENBQUM7Z0JBQ0gsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDekUsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztvQkFDL0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUUsQ0FBQztvQkFDckQsTUFBTSxlQUFlLEdBQUcscUNBQXFDLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO29CQUNoRixZQUFZLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUUsYUFBYSxDQUFDLEtBQU0sQ0FBQyxDQUFDO2dCQUNuRyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDdXJzb3JDbGFzcyxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgUmdiYVRvSEVYLFxuICAgIGRyYXdDaXJjbGUsXG4gICAgaGFzVmFsaWRBbmdsZSxcbiAgICBpc1NlbGVjdGlvbk1vdmluZyxcbiAgICByb3RhdGVBbnRpUG9pbnRzQnlFbGVtZW50LFxuICAgIHNldEFuZ2xlRm9yRyxcbiAgICB0b0FjdGl2ZVBvaW50LFxuICAgIHRvQWN0aXZlUmVjdGFuZ2xlRnJvbVZpZXdCb3hSZWN0YW5nbGVcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0QXV0b0NvbXBsZXRlUG9pbnRzLCBnZXRIaXRJbmRleE9mQXV0b0NvbXBsZXRlUG9pbnQsIGdldFNlbGVjdGVkRHJhd0VsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUFJJTUFSWV9DT0xPUiwgUGxhaXRDb21tb25FbGVtZW50UmVmIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBMSU5FX0FVVE9fQ09NUExFVEVfSE9WRVJFRF9ESUFNRVRFUiwgTElORV9BVVRPX0NPTVBMRVRFX0hPVkVSRURfT1BBQ0lUWSB9IGZyb20gJy4uL2NvbnN0YW50cy9saW5lJztcbmltcG9ydCB7IEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciB9IGZyb20gJy4uL2dlbmVyYXRvcnMvYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvcic7XG5cbmV4cG9ydCBjb25zdCB3aXRoQXJyb3dMaW5lQXV0b0NvbXBsZXRlUmVhY3Rpb24gPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJNb3ZlIH0gPSBib2FyZDtcbiAgICBsZXQgcmVhY3Rpb25HOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGJvYXJkLnBvaW50ZXJNb3ZlID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgcmVhY3Rpb25HPy5yZW1vdmUoKTtcbiAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LnJlbW92ZShDdXJzb3JDbGFzcy5jcm9zc2hhaXIpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgc2VsZWN0ZWRFbGVtZW50c1swXTtcbiAgICAgICAgY29uc3QgYWN0aXZlUG9pbnQgPSB0b0FjdGl2ZVBvaW50KGJvYXJkLCBldmVudC54LCBldmVudC55KTtcbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmICFpc1NlbGVjdGlvbk1vdmluZyhib2FyZCkgJiYgdGFyZ2V0RWxlbWVudCAmJiBQbGFpdERyYXdFbGVtZW50LmlzU2hhcGVFbGVtZW50KHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRBdXRvQ29tcGxldGVQb2ludHMoYm9hcmQsIHRhcmdldEVsZW1lbnQsIHRydWUpO1xuICAgICAgICAgICAgY29uc3QgaGl0SW5kZXggPSBnZXRIaXRJbmRleE9mQXV0b0NvbXBsZXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgcm90YXRlQW50aVBvaW50c0J5RWxlbWVudChib2FyZCwgYWN0aXZlUG9pbnQsIHRhcmdldEVsZW1lbnQsIHRydWUpIHx8IGFjdGl2ZVBvaW50LFxuICAgICAgICAgICAgICAgIHBvaW50c1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhpdFBvaW50ID0gcG9pbnRzW2hpdEluZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IHJlZiA9IFBsYWl0RWxlbWVudC5nZXRFbGVtZW50UmVmPFBsYWl0Q29tbW9uRWxlbWVudFJlZj4odGFyZ2V0RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBsaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yID0gcmVmLmdldEdlbmVyYXRvcjxBcnJvd0xpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3I+KEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5rZXkpO1xuICAgICAgICAgICAgbGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5yZWNvdmVyQXV0b0NvbXBsZXRlRygpO1xuICAgICAgICAgICAgaWYgKGhpdFBvaW50KSB7XG4gICAgICAgICAgICAgICAgbGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcj8ucmVtb3ZlQXV0b0NvbXBsZXRlRyhoaXRJbmRleCk7XG4gICAgICAgICAgICAgICAgcmVhY3Rpb25HID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSwgaGl0UG9pbnQsIExJTkVfQVVUT19DT01QTEVURV9IT1ZFUkVEX0RJQU1FVEVSLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgICBmaWxsOiBSZ2JhVG9IRVgoUFJJTUFSWV9DT0xPUiwgTElORV9BVVRPX0NPTVBMRVRFX0hPVkVSRURfT1BBQ0lUWSksXG4gICAgICAgICAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0QWN0aXZlSG9zdChib2FyZCkuYXBwZW5kKHJlYWN0aW9uRyk7XG4gICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LmFkZChDdXJzb3JDbGFzcy5jcm9zc2hhaXIpO1xuICAgICAgICAgICAgICAgIGlmIChoYXNWYWxpZEFuZ2xlKHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IGJvYXJkLmdldFJlY3RhbmdsZSh0YXJnZXRFbGVtZW50KSE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVJlY3RhbmdsZSA9IHRvQWN0aXZlUmVjdGFuZ2xlRnJvbVZpZXdCb3hSZWN0YW5nbGUoYm9hcmQsIHJlY3RhbmdsZSk7XG4gICAgICAgICAgICAgICAgICAgIHNldEFuZ2xlRm9yRyhyZWFjdGlvbkcsIFJlY3RhbmdsZUNsaWVudC5nZXRDZW50ZXJQb2ludChhY3RpdmVSZWN0YW5nbGUpLCB0YXJnZXRFbGVtZW50LmFuZ2xlISk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BoardTransforms, PRESS_AND_MOVE_BUFFER, PlaitBoard, PlaitPointerType, RectangleClient, Transforms, addSelectedElement, clearSelectedElement, createG, distanceBetweenPointAndPoint, rotateAntiPointsByElement, rotatePointsByElement, temporaryDisableSelection, toHostPoint, toViewBoxPoint } from '@plait/core';
|
|
1
|
+
import { BoardTransforms, PRESS_AND_MOVE_BUFFER, PlaitBoard, PlaitPointerType, RectangleClient, Transforms, addSelectedElement, clearSelectedElement, createG, distanceBetweenPointAndPoint, rotateAntiPointsByElement, rotatePointsByElement, temporaryDisableSelection, toActivePoint, toHostPoint, toScreenPointFromActivePoint, toViewBoxPoint } from '@plait/core';
|
|
2
2
|
import { ArrowLineShape, PlaitDrawElement } from '../interfaces';
|
|
3
3
|
import { getElementShape } from '../utils/shape';
|
|
4
4
|
import { getEngine } from '../engines';
|
|
@@ -15,14 +15,15 @@ export const withArrowLineAutoComplete = (board) => {
|
|
|
15
15
|
board.pointerDown = (event) => {
|
|
16
16
|
const selectedElements = getSelectedDrawElements(board);
|
|
17
17
|
const targetElement = selectedElements.length === 1 && selectedElements[0];
|
|
18
|
-
const
|
|
18
|
+
const activePoint = toActivePoint(board, event.x, event.y);
|
|
19
19
|
if (!PlaitBoard.isReadonly(board) && targetElement && PlaitDrawElement.isShapeElement(targetElement)) {
|
|
20
|
-
const points = getAutoCompletePoints(targetElement);
|
|
21
|
-
const index = getHitIndexOfAutoCompletePoint(rotateAntiPointsByElement(
|
|
20
|
+
const points = getAutoCompletePoints(board, targetElement, true);
|
|
21
|
+
const index = getHitIndexOfAutoCompletePoint(rotateAntiPointsByElement(board, activePoint, targetElement, true) || activePoint, points);
|
|
22
22
|
const hitPoint = points[index];
|
|
23
23
|
if (hitPoint) {
|
|
24
24
|
temporaryDisableSelection(board);
|
|
25
|
-
|
|
25
|
+
const screenPoint = toScreenPointFromActivePoint(board, hitPoint);
|
|
26
|
+
autoCompletePoint = toViewBoxPoint(board, toHostPoint(board, screenPoint[0], screenPoint[1]));
|
|
26
27
|
sourceElement = targetElement;
|
|
27
28
|
BoardTransforms.updatePointerType(board, ArrowLineShape.elbow);
|
|
28
29
|
}
|
|
@@ -34,7 +35,7 @@ export const withArrowLineAutoComplete = (board) => {
|
|
|
34
35
|
lineShapeG = createG();
|
|
35
36
|
let movingPoint = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
36
37
|
if (autoCompletePoint && sourceElement) {
|
|
37
|
-
const distance = distanceBetweenPointAndPoint(...(rotateAntiPointsByElement(movingPoint, sourceElement) || movingPoint), ...autoCompletePoint);
|
|
38
|
+
const distance = distanceBetweenPointAndPoint(...(rotateAntiPointsByElement(board, movingPoint, sourceElement) || movingPoint), ...autoCompletePoint);
|
|
38
39
|
if (distance > PRESS_AND_MOVE_BUFFER) {
|
|
39
40
|
const rectangle = RectangleClient.getRectangleByPoints(sourceElement.points);
|
|
40
41
|
const shape = getElementShape(sourceElement);
|
|
@@ -52,7 +53,7 @@ export const withArrowLineAutoComplete = (board) => {
|
|
|
52
53
|
}
|
|
53
54
|
pointerMove(event);
|
|
54
55
|
};
|
|
55
|
-
board.globalPointerUp = event => {
|
|
56
|
+
board.globalPointerUp = (event) => {
|
|
56
57
|
if (temporaryElement) {
|
|
57
58
|
Transforms.insertNode(board, temporaryElement, [board.children.length]);
|
|
58
59
|
clearSelectedElement(board);
|
|
@@ -72,4 +73,4 @@ export const withArrowLineAutoComplete = (board) => {
|
|
|
72
73
|
};
|
|
73
74
|
return board;
|
|
74
75
|
};
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcnJvdy1saW5lLWF1dG8tY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLFVBQVUsRUFFVixnQkFBZ0IsRUFFaEIsZUFBZSxFQUNmLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsV0FBVyxFQUNYLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGNBQWMsRUFBa0IsZ0JBQWdCLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLDJDQUEyQyxDQUFDO0FBTTlGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzNELE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUU1RCxJQUFJLGlCQUFpQixHQUFpQixJQUFJLENBQUM7SUFDM0MsSUFBSSxVQUFVLEdBQXVCLElBQUksQ0FBQztJQUMxQyxJQUFJLGFBQXVDLENBQUM7SUFDNUMsSUFBSSxnQkFBdUMsQ0FBQztJQUU1QyxLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQ3hDLE1BQU0sZ0JBQWdCLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRSxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLElBQUksZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDbkcsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEQsTUFBTSxLQUFLLEdBQUcsOEJBQThCLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxJQUFJLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6SCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDWCx5QkFBeUIsQ0FBQyxLQUEwQixDQUFDLENBQUM7Z0JBQ3RELGlCQUFpQixHQUFHLFFBQVEsQ0FBQztnQkFDN0IsYUFBYSxHQUFHLGFBQWEsQ0FBQztnQkFDOUIsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkUsQ0FBQztRQUNMLENBQUM7UUFDRCxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUN4QyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDckIsVUFBVSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLElBQUksV0FBVyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksaUJBQWlCLElBQUksYUFBYSxFQUFFLENBQUM7WUFDckMsTUFBTSxRQUFRLEdBQUcsNEJBQTRCLENBQ3pDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLEVBQ3pFLEdBQUcsaUJBQWlCLENBQ3ZCLENBQUM7WUFDRixJQUFJLFFBQVEsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNuQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RSxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQzdDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7Z0JBQ3BDLElBQUksTUFBTSxDQUFDLHVCQUF1QixFQUFFLENBQUM7b0JBQ2pDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztvQkFDbkYsV0FBVyxHQUFHLGFBQWEsQ0FBQztnQkFDaEMsQ0FBQztnQkFDRCxtQ0FBbUM7Z0JBQ25DLE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQztnQkFDNUYsZ0JBQWdCLEdBQUcsdUJBQXVCLENBQ3RDLEtBQUssRUFDTCxjQUFjLENBQUMsS0FBSyxFQUNwQixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLGFBQWEsRUFDYixVQUFVLENBQ2IsQ0FBQztnQkFDRixVQUFVLENBQUMsaUNBQWlDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDTCxDQUFDO1FBQ0QsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLEVBQUU7UUFDNUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25CLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sYUFBYSxHQUFJLEtBQTJCLENBQUMsZ0JBQWdCLENBQy9ELGtDQUFrQyxDQUNyQyxFQUFFLGFBQWEsQ0FBQztZQUNqQixhQUFhLElBQUksYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNwQixlQUFlLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JFLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO1FBQ0QsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsYUFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQm9hcmRUcmFuc2Zvcm1zLFxuICAgIFBSRVNTX0FORF9NT1ZFX0JVRkZFUixcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0T3B0aW9uc0JvYXJkLFxuICAgIFBsYWl0UG9pbnRlclR5cGUsXG4gICAgUG9pbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIFRyYW5zZm9ybXMsXG4gICAgYWRkU2VsZWN0ZWRFbGVtZW50LFxuICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50LFxuICAgIGNyZWF0ZUcsXG4gICAgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRQb2ludCxcbiAgICByb3RhdGVBbnRpUG9pbnRzQnlFbGVtZW50LFxuICAgIHJvdGF0ZVBvaW50c0J5RWxlbWVudCxcbiAgICB0ZW1wb3JhcnlEaXNhYmxlU2VsZWN0aW9uLFxuICAgIHRvSG9zdFBvaW50LFxuICAgIHRvVmlld0JveFBvaW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFycm93TGluZVNoYXBlLCBQbGFpdEFycm93TGluZSwgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRTaGFwZUVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEVsZW1lbnRTaGFwZSB9IGZyb20gJy4uL3V0aWxzL3NoYXBlJztcbmltcG9ydCB7IGdldEVuZ2luZSB9IGZyb20gJy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgaGFuZGxlQXJyb3dMaW5lQ3JlYXRpbmcgfSBmcm9tICcuLi91dGlscy9hcnJvdy1saW5lL2Fycm93LWxpbmUtYmFzaWMnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZCc7XG5pbXBvcnQgeyBnZXRBdXRvQ29tcGxldGVQb2ludHMsIGdldEhpdEluZGV4T2ZBdXRvQ29tcGxldGVQb2ludCB9IGZyb20gJy4uL3V0aWxzL2dlb21ldHJ5JztcblxuZXhwb3J0IGNvbnN0IFdpdGhBcnJvd0xpbmVBdXRvQ29tcGxldGVQbHVnaW5LZXkgPSAncGxhaXQtYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLXBsdWdpbi1rZXknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFycm93TGluZUF1dG9Db21wbGV0ZU9wdGlvbnMge1xuICAgIGFmdGVyQ29tcGxldGU6IChlbGVtZW50OiBQbGFpdEFycm93TGluZSkgPT4ge307XG59XG5cbmV4cG9ydCBjb25zdCB3aXRoQXJyb3dMaW5lQXV0b0NvbXBsZXRlID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBwb2ludGVyRG93biwgcG9pbnRlck1vdmUsIGdsb2JhbFBvaW50ZXJVcCB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgYXV0b0NvbXBsZXRlUG9pbnQ6IFBvaW50IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGxpbmVTaGFwZUc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHNvdXJjZUVsZW1lbnQ6IFBsYWl0U2hhcGVFbGVtZW50IHwgbnVsbDtcbiAgICBsZXQgdGVtcG9yYXJ5RWxlbWVudDogUGxhaXRBcnJvd0xpbmUgfCBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgc2VsZWN0ZWRFbGVtZW50c1swXTtcbiAgICAgICAgY29uc3QgY2xpY2tQb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiYgdGFyZ2V0RWxlbWVudCAmJiBQbGFpdERyYXdFbGVtZW50LmlzU2hhcGVFbGVtZW50KHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRBdXRvQ29tcGxldGVQb2ludHModGFyZ2V0RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IGdldEhpdEluZGV4T2ZBdXRvQ29tcGxldGVQb2ludChyb3RhdGVBbnRpUG9pbnRzQnlFbGVtZW50KGNsaWNrUG9pbnQsIHRhcmdldEVsZW1lbnQpIHx8IGNsaWNrUG9pbnQsIHBvaW50cyk7XG4gICAgICAgICAgICBjb25zdCBoaXRQb2ludCA9IHBvaW50c1tpbmRleF07XG4gICAgICAgICAgICBpZiAoaGl0UG9pbnQpIHtcbiAgICAgICAgICAgICAgICB0ZW1wb3JhcnlEaXNhYmxlU2VsZWN0aW9uKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKTtcbiAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGVQb2ludCA9IGhpdFBvaW50O1xuICAgICAgICAgICAgICAgIHNvdXJjZUVsZW1lbnQgPSB0YXJnZXRFbGVtZW50O1xuICAgICAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVQb2ludGVyVHlwZShib2FyZCwgQXJyb3dMaW5lU2hhcGUuZWxib3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBsaW5lU2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgbGluZVNoYXBlRyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgbGV0IG1vdmluZ1BvaW50ID0gdG9WaWV3Qm94UG9pbnQoYm9hcmQsIHRvSG9zdFBvaW50KGJvYXJkLCBldmVudC54LCBldmVudC55KSk7XG4gICAgICAgIGlmIChhdXRvQ29tcGxldGVQb2ludCAmJiBzb3VyY2VFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQoXG4gICAgICAgICAgICAgICAgLi4uKHJvdGF0ZUFudGlQb2ludHNCeUVsZW1lbnQobW92aW5nUG9pbnQsIHNvdXJjZUVsZW1lbnQpIHx8IG1vdmluZ1BvaW50KSxcbiAgICAgICAgICAgICAgICAuLi5hdXRvQ29tcGxldGVQb2ludFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IFBSRVNTX0FORF9NT1ZFX0JVRkZFUikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhzb3VyY2VFbGVtZW50LnBvaW50cyk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2hhcGUgPSBnZXRFbGVtZW50U2hhcGUoc291cmNlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5naW5lID0gZ2V0RW5naW5lKHNoYXBlKTtcbiAgICAgICAgICAgICAgICBsZXQgc291cmNlUG9pbnQgPSBhdXRvQ29tcGxldGVQb2ludDtcbiAgICAgICAgICAgICAgICBpZiAoZW5naW5lLmdldE5lYXJlc3RDcm9zc2luZ1BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNyb3NzaW5nUG9pbnQgPSBlbmdpbmUuZ2V0TmVhcmVzdENyb3NzaW5nUG9pbnQocmVjdGFuZ2xlLCBhdXRvQ29tcGxldGVQb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZVBvaW50ID0gY3Jvc3NpbmdQb2ludDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gc291cmNlIHBvaW50IG11c3QgYmUgY2xpY2sgcG9pbnRcbiAgICAgICAgICAgICAgICBjb25zdCByb3RhdGVkU291cmNlUG9pbnQgPSByb3RhdGVQb2ludHNCeUVsZW1lbnQoc291cmNlUG9pbnQsIHNvdXJjZUVsZW1lbnQpIHx8IHNvdXJjZVBvaW50O1xuICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBoYW5kbGVBcnJvd0xpbmVDcmVhdGluZyhcbiAgICAgICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgIEFycm93TGluZVNoYXBlLmVsYm93LFxuICAgICAgICAgICAgICAgICAgICByb3RhdGVkU291cmNlUG9pbnQsXG4gICAgICAgICAgICAgICAgICAgIG1vdmluZ1BvaW50LFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBsaW5lU2hhcGVHXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmFkZFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZCwgW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsUG9pbnRlclVwID0gZXZlbnQgPT4ge1xuICAgICAgICBpZiAodGVtcG9yYXJ5RWxlbWVudCkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCB0ZW1wb3JhcnlFbGVtZW50LCBbYm9hcmQuY2hpbGRyZW4ubGVuZ3RoXSk7XG4gICAgICAgICAgICBjbGVhclNlbGVjdGVkRWxlbWVudChib2FyZCk7XG4gICAgICAgICAgICBhZGRTZWxlY3RlZEVsZW1lbnQoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgYWZ0ZXJDb21wbGV0ZSA9IChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuZ2V0UGx1Z2luT3B0aW9uczxBcnJvd0xpbmVBdXRvQ29tcGxldGVPcHRpb25zPihcbiAgICAgICAgICAgICAgICBXaXRoQXJyb3dMaW5lQXV0b0NvbXBsZXRlUGx1Z2luS2V5XG4gICAgICAgICAgICApPy5hZnRlckNvbXBsZXRlO1xuICAgICAgICAgICAgYWZ0ZXJDb21wbGV0ZSAmJiBhZnRlckNvbXBsZXRlKHRlbXBvcmFyeUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhdXRvQ29tcGxldGVQb2ludCkge1xuICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVBvaW50ZXJUeXBlKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLnNlbGVjdGlvbik7XG4gICAgICAgICAgICBhdXRvQ29tcGxldGVQb2ludCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbGluZVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGxpbmVTaGFwZUcgPSBudWxsO1xuICAgICAgICBzb3VyY2VFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgdGVtcG9yYXJ5RWxlbWVudCA9IG51bGw7XG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcnJvdy1saW5lLWF1dG8tY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLFVBQVUsRUFFVixnQkFBZ0IsRUFFaEIsZUFBZSxFQUNmLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLFdBQVcsRUFDWCw0QkFBNEIsRUFDNUIsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFrQixnQkFBZ0IsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUYsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsMkNBQTJDLENBQUM7QUFNOUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDM0QsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTVELElBQUksaUJBQWlCLEdBQWlCLElBQUksQ0FBQztJQUMzQyxJQUFJLFVBQVUsR0FBdUIsSUFBSSxDQUFDO0lBQzFDLElBQUksYUFBdUMsQ0FBQztJQUM1QyxJQUFJLGdCQUF1QyxDQUFDO0lBRTVDLEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7UUFDeEMsTUFBTSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksYUFBYSxJQUFJLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ25HLE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDakUsTUFBTSxLQUFLLEdBQUcsOEJBQThCLENBQ3hDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLFdBQVcsRUFDakYsTUFBTSxDQUNULENBQUM7WUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDWCx5QkFBeUIsQ0FBQyxLQUEwQixDQUFDLENBQUM7Z0JBQ3RELE1BQU0sV0FBVyxHQUFHLDRCQUE0QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbEUsaUJBQWlCLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM5RixhQUFhLEdBQUcsYUFBYSxDQUFDO2dCQUM5QixlQUFlLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRSxDQUFDO1FBQ0wsQ0FBQztRQUNELFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQ3hDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNyQixVQUFVLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDdkIsSUFBSSxXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUUsSUFBSSxpQkFBaUIsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNyQyxNQUFNLFFBQVEsR0FBRyw0QkFBNEIsQ0FDekMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLEVBQ2hGLEdBQUcsaUJBQWlCLENBQ3ZCLENBQUM7WUFDRixJQUFJLFFBQVEsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNuQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RSxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQzdDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7Z0JBQ3BDLElBQUksTUFBTSxDQUFDLHVCQUF1QixFQUFFLENBQUM7b0JBQ2pDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztvQkFDbkYsV0FBVyxHQUFHLGFBQWEsQ0FBQztnQkFDaEMsQ0FBQztnQkFDRCxtQ0FBbUM7Z0JBQ25DLE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQztnQkFDNUYsZ0JBQWdCLEdBQUcsdUJBQXVCLENBQ3RDLEtBQUssRUFDTCxjQUFjLENBQUMsS0FBSyxFQUNwQixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLGFBQWEsRUFDYixVQUFVLENBQ2IsQ0FBQztnQkFDRixVQUFVLENBQUMsaUNBQWlDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDTCxDQUFDO1FBQ0QsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUM5QixJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsa0JBQWtCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDNUMsTUFBTSxhQUFhLEdBQUksS0FBMkIsQ0FBQyxnQkFBZ0IsQ0FDL0Qsa0NBQWtDLENBQ3JDLEVBQUUsYUFBYSxDQUFDO1lBQ2pCLGFBQWEsSUFBSSxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckUsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLENBQUM7UUFDRCxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDckIsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBCb2FyZFRyYW5zZm9ybXMsXG4gICAgUFJFU1NfQU5EX01PVkVfQlVGRkVSLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRPcHRpb25zQm9hcmQsXG4gICAgUGxhaXRQb2ludGVyVHlwZSxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgVHJhbnNmb3JtcyxcbiAgICBhZGRTZWxlY3RlZEVsZW1lbnQsXG4gICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQsXG4gICAgY3JlYXRlRyxcbiAgICBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50LFxuICAgIHJvdGF0ZUFudGlQb2ludHNCeUVsZW1lbnQsXG4gICAgcm90YXRlUG9pbnRzQnlFbGVtZW50LFxuICAgIHRlbXBvcmFyeURpc2FibGVTZWxlY3Rpb24sXG4gICAgdG9BY3RpdmVQb2ludCxcbiAgICB0b0hvc3RQb2ludCxcbiAgICB0b1NjcmVlblBvaW50RnJvbUFjdGl2ZVBvaW50LFxuICAgIHRvVmlld0JveFBvaW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFycm93TGluZVNoYXBlLCBQbGFpdEFycm93TGluZSwgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRTaGFwZUVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEVsZW1lbnRTaGFwZSB9IGZyb20gJy4uL3V0aWxzL3NoYXBlJztcbmltcG9ydCB7IGdldEVuZ2luZSB9IGZyb20gJy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgaGFuZGxlQXJyb3dMaW5lQ3JlYXRpbmcgfSBmcm9tICcuLi91dGlscy9hcnJvdy1saW5lL2Fycm93LWxpbmUtYmFzaWMnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZCc7XG5pbXBvcnQgeyBnZXRBdXRvQ29tcGxldGVQb2ludHMsIGdldEhpdEluZGV4T2ZBdXRvQ29tcGxldGVQb2ludCB9IGZyb20gJy4uL3V0aWxzL2dlb21ldHJ5JztcblxuZXhwb3J0IGNvbnN0IFdpdGhBcnJvd0xpbmVBdXRvQ29tcGxldGVQbHVnaW5LZXkgPSAncGxhaXQtYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLXBsdWdpbi1rZXknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFycm93TGluZUF1dG9Db21wbGV0ZU9wdGlvbnMge1xuICAgIGFmdGVyQ29tcGxldGU6IChlbGVtZW50OiBQbGFpdEFycm93TGluZSkgPT4ge307XG59XG5cbmV4cG9ydCBjb25zdCB3aXRoQXJyb3dMaW5lQXV0b0NvbXBsZXRlID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBwb2ludGVyRG93biwgcG9pbnRlck1vdmUsIGdsb2JhbFBvaW50ZXJVcCB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgYXV0b0NvbXBsZXRlUG9pbnQ6IFBvaW50IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGxpbmVTaGFwZUc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHNvdXJjZUVsZW1lbnQ6IFBsYWl0U2hhcGVFbGVtZW50IHwgbnVsbDtcbiAgICBsZXQgdGVtcG9yYXJ5RWxlbWVudDogUGxhaXRBcnJvd0xpbmUgfCBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgc2VsZWN0ZWRFbGVtZW50c1swXTtcbiAgICAgICAgY29uc3QgYWN0aXZlUG9pbnQgPSB0b0FjdGl2ZVBvaW50KGJvYXJkLCBldmVudC54LCBldmVudC55KTtcbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmIHRhcmdldEVsZW1lbnQgJiYgUGxhaXREcmF3RWxlbWVudC5pc1NoYXBlRWxlbWVudCh0YXJnZXRFbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0QXV0b0NvbXBsZXRlUG9pbnRzKGJvYXJkLCB0YXJnZXRFbGVtZW50LCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZ2V0SGl0SW5kZXhPZkF1dG9Db21wbGV0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHJvdGF0ZUFudGlQb2ludHNCeUVsZW1lbnQoYm9hcmQsIGFjdGl2ZVBvaW50LCB0YXJnZXRFbGVtZW50LCB0cnVlKSB8fCBhY3RpdmVQb2ludCxcbiAgICAgICAgICAgICAgICBwb2ludHNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoaXRQb2ludCA9IHBvaW50c1tpbmRleF07XG4gICAgICAgICAgICBpZiAoaGl0UG9pbnQpIHtcbiAgICAgICAgICAgICAgICB0ZW1wb3JhcnlEaXNhYmxlU2VsZWN0aW9uKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JlZW5Qb2ludCA9IHRvU2NyZWVuUG9pbnRGcm9tQWN0aXZlUG9pbnQoYm9hcmQsIGhpdFBvaW50KTtcbiAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGVQb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgc2NyZWVuUG9pbnRbMF0sIHNjcmVlblBvaW50WzFdKSk7XG4gICAgICAgICAgICAgICAgc291cmNlRWxlbWVudCA9IHRhcmdldEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVBvaW50ZXJUeXBlKGJvYXJkLCBBcnJvd0xpbmVTaGFwZS5lbGJvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGxpbmVTaGFwZUc/LnJlbW92ZSgpO1xuICAgICAgICBsaW5lU2hhcGVHID0gY3JlYXRlRygpO1xuICAgICAgICBsZXQgbW92aW5nUG9pbnQgPSB0b1ZpZXdCb3hQb2ludChib2FyZCwgdG9Ib3N0UG9pbnQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpKTtcbiAgICAgICAgaWYgKGF1dG9Db21wbGV0ZVBvaW50ICYmIHNvdXJjZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRQb2ludChcbiAgICAgICAgICAgICAgICAuLi4ocm90YXRlQW50aVBvaW50c0J5RWxlbWVudChib2FyZCwgbW92aW5nUG9pbnQsIHNvdXJjZUVsZW1lbnQpIHx8IG1vdmluZ1BvaW50KSxcbiAgICAgICAgICAgICAgICAuLi5hdXRvQ29tcGxldGVQb2ludFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IFBSRVNTX0FORF9NT1ZFX0JVRkZFUikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhzb3VyY2VFbGVtZW50LnBvaW50cyk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2hhcGUgPSBnZXRFbGVtZW50U2hhcGUoc291cmNlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5naW5lID0gZ2V0RW5naW5lKHNoYXBlKTtcbiAgICAgICAgICAgICAgICBsZXQgc291cmNlUG9pbnQgPSBhdXRvQ29tcGxldGVQb2ludDtcbiAgICAgICAgICAgICAgICBpZiAoZW5naW5lLmdldE5lYXJlc3RDcm9zc2luZ1BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNyb3NzaW5nUG9pbnQgPSBlbmdpbmUuZ2V0TmVhcmVzdENyb3NzaW5nUG9pbnQocmVjdGFuZ2xlLCBhdXRvQ29tcGxldGVQb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZVBvaW50ID0gY3Jvc3NpbmdQb2ludDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gc291cmNlIHBvaW50IG11c3QgYmUgY2xpY2sgcG9pbnRcbiAgICAgICAgICAgICAgICBjb25zdCByb3RhdGVkU291cmNlUG9pbnQgPSByb3RhdGVQb2ludHNCeUVsZW1lbnQoc291cmNlUG9pbnQsIHNvdXJjZUVsZW1lbnQpIHx8IHNvdXJjZVBvaW50O1xuICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBoYW5kbGVBcnJvd0xpbmVDcmVhdGluZyhcbiAgICAgICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgIEFycm93TGluZVNoYXBlLmVsYm93LFxuICAgICAgICAgICAgICAgICAgICByb3RhdGVkU291cmNlUG9pbnQsXG4gICAgICAgICAgICAgICAgICAgIG1vdmluZ1BvaW50LFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBsaW5lU2hhcGVHXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmFkZFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZCwgW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsUG9pbnRlclVwID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0ZW1wb3JhcnlFbGVtZW50KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQsIFtib2FyZC5jaGlsZHJlbi5sZW5ndGhdKTtcbiAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgdGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBhZnRlckNvbXBsZXRlID0gKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPEFycm93TGluZUF1dG9Db21wbGV0ZU9wdGlvbnM+KFxuICAgICAgICAgICAgICAgIFdpdGhBcnJvd0xpbmVBdXRvQ29tcGxldGVQbHVnaW5LZXlcbiAgICAgICAgICAgICk/LmFmdGVyQ29tcGxldGU7XG4gICAgICAgICAgICBhZnRlckNvbXBsZXRlICYmIGFmdGVyQ29tcGxldGUodGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGF1dG9Db21wbGV0ZVBvaW50KSB7XG4gICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlUG9pbnRlclR5cGUoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZVBvaW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBsaW5lU2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgbGluZVNoYXBlRyA9IG51bGw7XG4gICAgICAgIHNvdXJjZUVsZW1lbnQgPSBudWxsO1xuICAgICAgICB0ZW1wb3JhcnlFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgZ2xvYmFsUG9pbnRlclVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
|
|
@@ -15,7 +15,7 @@ export const withArrowLineBoundReaction = (board) => {
|
|
|
15
15
|
const linePointers = Object.keys(ArrowLineShape);
|
|
16
16
|
const isLinePointer = PlaitBoard.isInPointer(board, linePointers);
|
|
17
17
|
const movingPoint = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
18
|
-
const isLineResizing = isResizingByCondition(board, resizeRef => {
|
|
18
|
+
const isLineResizing = isResizingByCondition(board, (resizeRef) => {
|
|
19
19
|
const { element, handle } = resizeRef;
|
|
20
20
|
const isSourceOrTarget = handle === LineResizeHandle.target || handle === LineResizeHandle.source;
|
|
21
21
|
return PlaitDrawElement.isArrowLine(element) && isSourceOrTarget;
|
|
@@ -38,16 +38,16 @@ export const withArrowLineBoundReaction = (board) => {
|
|
|
38
38
|
if (hasValidAngle(hitElement)) {
|
|
39
39
|
setAngleForG(boundShapeG, RectangleClient.getCenterPointByPoints(hitElement.points), hitElement.angle);
|
|
40
40
|
}
|
|
41
|
-
PlaitBoard.
|
|
41
|
+
PlaitBoard.getElementTopHost(board).append(boundShapeG);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
pointerMove(event);
|
|
45
45
|
};
|
|
46
|
-
board.pointerUp = event => {
|
|
46
|
+
board.pointerUp = (event) => {
|
|
47
47
|
boundShapeG?.remove();
|
|
48
48
|
boundShapeG = null;
|
|
49
49
|
pointerUp(event);
|
|
50
50
|
};
|
|
51
51
|
return board;
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcnJvdy1saW5lLWJvdW5kLXJlYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWFycm93LWxpbmUtYm91bmQtcmVhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHFCQUFxQixFQUNyQixVQUFVLEVBRVYsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksRUFDWixXQUFXLEVBQ1gsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUM1RCxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUV6QyxJQUFJLFdBQVcsR0FBdUIsSUFBSSxDQUFDO0lBRTNDLEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7UUFDeEMsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEUsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQWlDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQzlGLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDO1lBQ3RDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxNQUFNLEtBQUssZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1lBQ2xHLE9BQU8sZ0JBQWdCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGdCQUFnQixDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxhQUFhLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbEMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNuRCxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNiLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUMzRCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUM7Z0JBQ3ZELFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDaEcsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDYixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsY0FBYyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFO3dCQUM5RixNQUFNLEVBQUUsc0JBQXNCO3dCQUM5QixXQUFXLEVBQUUscUJBQXFCO3dCQUNsQyxJQUFJLEVBQUUsc0JBQXNCO3dCQUM1QixTQUFTLEVBQUUsT0FBTztxQkFDckIsQ0FBQyxDQUFDO29CQUNILFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3JDLENBQUM7Z0JBQ0QsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDNUIsWUFBWSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVUsQ0FBQyxLQUFNLENBQUMsQ0FBQztnQkFDNUcsQ0FBQztnQkFDRCxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDTCxDQUFDO1FBQ0QsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUN4QixXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDdEIsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNuQixTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBTTkFQUElOR19TVFJPS0VfV0lEVEgsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdEVsZW1lbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgZHJhd0NpcmNsZSxcbiAgICBoYXNWYWxpZEFuZ2xlLFxuICAgIHNldEFuZ2xlRm9yRyxcbiAgICB0b0hvc3RQb2ludCxcbiAgICB0b1ZpZXdCb3hQb2ludFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBcnJvd0xpbmVTaGFwZSwgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaXNSZXNpemluZ0J5Q29uZGl0aW9uIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBMaW5lUmVzaXplSGFuZGxlIH0gZnJvbSAnLi4vdXRpbHMvcG9zaXRpb24vbGluZSc7XG5pbXBvcnQgeyBkcmF3Qm91bmRSZWFjdGlvbiwgZ2V0SGl0U2hhcGUsIGdldFNuYXBwaW5nUmVmIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3Qgd2l0aEFycm93TGluZUJvdW5kUmVhY3Rpb24gPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJNb3ZlLCBwb2ludGVyVXAgfSA9IGJvYXJkO1xuXG4gICAgbGV0IGJvdW5kU2hhcGVHOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBib3VuZFNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpKSB7XG4gICAgICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGluZVBvaW50ZXJzID0gT2JqZWN0LmtleXMoQXJyb3dMaW5lU2hhcGUpO1xuICAgICAgICBjb25zdCBpc0xpbmVQb2ludGVyID0gUGxhaXRCb2FyZC5pc0luUG9pbnRlcihib2FyZCwgbGluZVBvaW50ZXJzKTtcbiAgICAgICAgY29uc3QgbW92aW5nUG9pbnQgPSB0b1ZpZXdCb3hQb2ludChib2FyZCwgdG9Ib3N0UG9pbnQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpKTtcbiAgICAgICAgY29uc3QgaXNMaW5lUmVzaXppbmcgPSBpc1Jlc2l6aW5nQnlDb25kaXRpb248UGxhaXRFbGVtZW50LCBMaW5lUmVzaXplSGFuZGxlPihib2FyZCwgKHJlc2l6ZVJlZikgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBlbGVtZW50LCBoYW5kbGUgfSA9IHJlc2l6ZVJlZjtcbiAgICAgICAgICAgIGNvbnN0IGlzU291cmNlT3JUYXJnZXQgPSBoYW5kbGUgPT09IExpbmVSZXNpemVIYW5kbGUudGFyZ2V0IHx8IGhhbmRsZSA9PT0gTGluZVJlc2l6ZUhhbmRsZS5zb3VyY2U7XG4gICAgICAgICAgICByZXR1cm4gUGxhaXREcmF3RWxlbWVudC5pc0Fycm93TGluZShlbGVtZW50KSAmJiBpc1NvdXJjZU9yVGFyZ2V0O1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlzTGluZVBvaW50ZXIgfHwgaXNMaW5lUmVzaXppbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IGhpdEVsZW1lbnQgPSBnZXRIaXRTaGFwZShib2FyZCwgbW92aW5nUG9pbnQpO1xuICAgICAgICAgICAgaWYgKGhpdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWYgPSBnZXRTbmFwcGluZ1JlZihib2FyZCwgaGl0RWxlbWVudCwgbW92aW5nUG9pbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU25hcHBpbmcgPSByZWYuaXNIaXRFZGdlIHx8IHJlZi5pc0hpdENvbm5lY3RvcjtcbiAgICAgICAgICAgICAgICBib3VuZFNoYXBlRyA9IGRyYXdCb3VuZFJlYWN0aW9uKGJvYXJkLCBoaXRFbGVtZW50LCB7IGhhc01hc2s6IGlzU25hcHBpbmcsIGhhc0Nvbm5lY3RvcjogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICBpZiAoaXNTbmFwcGluZykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaXJjbGVHID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSwgcmVmLmNvbm5lY3RvclBvaW50IHx8IHJlZi5lZGdlUG9pbnQsIDYsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogU0VMRUNUSU9OX0JPUkRFUl9DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBTTkFQUElOR19TVFJPS0VfV0lEVEgsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBTRUxFQ1RJT05fQk9SREVSX0NPTE9SLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBib3VuZFNoYXBlRy5hcHBlbmRDaGlsZChjaXJjbGVHKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGhhc1ZhbGlkQW5nbGUoaGl0RWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0QW5nbGVGb3JHKGJvdW5kU2hhcGVHLCBSZWN0YW5nbGVDbGllbnQuZ2V0Q2VudGVyUG9pbnRCeVBvaW50cyhoaXRFbGVtZW50LnBvaW50cyksIGhpdEVsZW1lbnQuYW5nbGUhKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50VG9wSG9zdChib2FyZCkuYXBwZW5kKGJvdW5kU2hhcGVHKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJVcCA9IChldmVudCkgPT4ge1xuICAgICAgICBib3VuZFNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGJvdW5kU2hhcGVHID0gbnVsbDtcbiAgICAgICAgcG9pbnRlclVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
|