@cornerstonejs/tools 0.31.0 → 0.32.1
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/dist/cjs/synchronizers/callbacks/areViewportsCoplanar .d.ts +2 -0
- package/dist/cjs/synchronizers/callbacks/areViewportsCoplanar .js +11 -0
- package/dist/cjs/synchronizers/callbacks/areViewportsCoplanar .js.map +1 -0
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js +7 -0
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
- package/dist/cjs/utilities/segmentation/createLabelmapVolumeForViewport.js +1 -1
- package/dist/cjs/utilities/segmentation/createLabelmapVolumeForViewport.js.map +1 -1
- package/dist/cjs/utilities/viewport/isViewportPreScaled.js +1 -1
- package/dist/cjs/utilities/viewport/isViewportPreScaled.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .d.ts +2 -0
- package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .js +8 -0
- package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .js.map +1 -0
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js +4 -0
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
- package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +1 -1
- package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js.map +1 -1
- package/dist/esm/utilities/viewport/isViewportPreScaled.js +2 -2
- package/dist/esm/utilities/viewport/isViewportPreScaled.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
4
|
+
function areViewportsCoplanar(viewport1, viewport2) {
|
|
5
|
+
const { viewPlaneNormal: viewPlaneNormal1 } = viewport1.getCamera();
|
|
6
|
+
const { viewPlaneNormal: viewPlaneNormal2 } = viewport2.getCamera();
|
|
7
|
+
const dotProducts = gl_matrix_1.vec3.dot(viewPlaneNormal1, viewPlaneNormal2);
|
|
8
|
+
return Math.abs(dotProducts) > 0.9;
|
|
9
|
+
}
|
|
10
|
+
exports.default = areViewportsCoplanar;
|
|
11
|
+
//# sourceMappingURL=areViewportsCoplanar%20.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"areViewportsCoplanar .js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/areViewportsCoplanar .ts"],"names":[],"mappings":";;AAAA,yCAAiC;AAGjC,SAAwB,oBAAoB,CAC1C,SAA+B,EAC/B,SAA+B;IAE/B,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACpE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACpE,MAAM,WAAW,GAAG,gBAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;AACrC,CAAC;AARD,uCAQC"}
|
|
@@ -8,10 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
const gl_matrix_1 = require("gl-matrix");
|
|
13
16
|
const core_1 = require("@cornerstonejs/core");
|
|
14
17
|
const utilities_1 = require("../../utilities");
|
|
18
|
+
const areViewportsCoplanar_1 = __importDefault(require("./areViewportsCoplanar "));
|
|
15
19
|
function stackImageSyncCallback(synchronizerInstance, sourceViewport, targetViewport) {
|
|
16
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
21
|
const renderingEngine = (0, core_1.getRenderingEngine)(targetViewport.renderingEngineId);
|
|
@@ -26,6 +30,9 @@ function stackImageSyncCallback(synchronizerInstance, sourceViewport, targetView
|
|
|
26
30
|
const imagePlaneModule1 = core_1.metaData.get('imagePlaneModule', imageId1);
|
|
27
31
|
const sourceImagePositionPatient = imagePlaneModule1.imagePositionPatient;
|
|
28
32
|
const targetImageIds = tViewport.getImageIds();
|
|
33
|
+
if (!(0, areViewportsCoplanar_1.default)(sViewport, tViewport)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
29
36
|
if (frameOfReferenceUID1 === frameOfReferenceUID2) {
|
|
30
37
|
const closestImageIdIndex = _getClosestImageIdIndex(sourceImagePositionPatient, targetImageIds);
|
|
31
38
|
if (closestImageIdIndex.index !== -1 &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stackImageSyncCallback.js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/stackImageSyncCallback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stackImageSyncCallback.js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/stackImageSyncCallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ function createLabelmapVolumeForViewport(input) {
|
|
|
22
22
|
}
|
|
23
23
|
const { viewport } = enabledElement;
|
|
24
24
|
if (!(viewport instanceof core_1.VolumeViewport)) {
|
|
25
|
-
throw new Error('Segmentation
|
|
25
|
+
throw new Error('Segmentation only supports VolumeViewport');
|
|
26
26
|
}
|
|
27
27
|
const { uid } = viewport.getDefaultActor();
|
|
28
28
|
if (segmentationId === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLabelmapVolumeForViewport.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/createLabelmapVolumeForViewport.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAA8C;AAC9C,8CAK6B;AAc7B,SAA8B,+BAA+B,CAAC,KAgB7D;;;QACC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACzD,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QAC/B,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAE7E,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,IAAI,CAAC,CAAC,QAAQ,YAAY,qBAAc,CAAC,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"createLabelmapVolumeForViewport.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/createLabelmapVolumeForViewport.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAA8C;AAC9C,8CAK6B;AAc7B,SAA8B,+BAA+B,CAAC,KAgB7D;;;QACC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACzD,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QAC/B,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAE7E,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,IAAI,CAAC,CAAC,QAAQ,YAAY,qBAAc,CAAC,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QAE3C,IAAI,cAAc,KAAK,SAAS,EAAE;YAEhC,cAAc,GAAG,GAAG,GAAG,uBACrB,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,gBAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAClD,EAAE,CAAC;SACJ;QAED,IAAI,OAAO,EAAE;YAGX,MAAM,UAAU,GAAG,IAAA,6BAAU,EAAC,OAAO,CAAC,CAAC;YACvC,MAAM,mBAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;SAClE;aAAM;YAEL,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;YACrD,MAAM,mBAAY,CAAC,2BAA2B,CAAC,QAAQ,EAAE;gBACvD,QAAQ,EAAE,cAAc;aACzB,CAAC,CAAC;SACJ;QAED,OAAO,cAAc,CAAC;;CACvB;AArDD,kDAqDC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.isViewportPreScaled = void 0;
|
|
4
4
|
const core_1 = require("@cornerstonejs/core");
|
|
5
5
|
function isViewportPreScaled(viewport, targetId) {
|
|
6
|
-
if (viewport instanceof core_1.
|
|
6
|
+
if (viewport instanceof core_1.BaseVolumeViewport) {
|
|
7
7
|
const volumeId = targetId.split('volumeId:')[1];
|
|
8
8
|
const volume = core_1.cache.getVolume(volumeId);
|
|
9
9
|
return volume.scaling && Object.keys(volume.scaling).length > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isViewportPreScaled.js","sourceRoot":"","sources":["../../../../src/utilities/viewport/isViewportPreScaled.ts"],"names":[],"mappings":";;;AAAA,8CAK6B;AAE7B,SAAS,mBAAmB,CAC1B,QAAsD,EACtD,QAAgB;IAEhB,IAAI,QAAQ,YAAY,
|
|
1
|
+
{"version":3,"file":"isViewportPreScaled.js","sourceRoot":"","sources":["../../../../src/utilities/viewport/isViewportPreScaled.ts"],"names":[],"mappings":";;;AAAA,8CAK6B;AAE7B,SAAS,mBAAmB,CAC1B,QAAsD,EACtD,QAAgB;IAEhB,IAAI,QAAQ,YAAY,yBAAkB,EAAE;QAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,YAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACjE;SAAM,IAAI,QAAQ,YAAY,oBAAa,EAAE;QAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,MAAM,CAAC;KACxB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;AACH,CAAC;AAEQ,kDAAmB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { vec3 } from 'gl-matrix';
|
|
2
|
+
export default function areViewportsCoplanar(viewport1, viewport2) {
|
|
3
|
+
const { viewPlaneNormal: viewPlaneNormal1 } = viewport1.getCamera();
|
|
4
|
+
const { viewPlaneNormal: viewPlaneNormal2 } = viewport2.getCamera();
|
|
5
|
+
const dotProducts = vec3.dot(viewPlaneNormal1, viewPlaneNormal2);
|
|
6
|
+
return Math.abs(dotProducts) > 0.9;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=areViewportsCoplanar%20.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"areViewportsCoplanar .js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/areViewportsCoplanar .ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,SAA+B,EAC/B,SAA+B;IAE/B,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACpE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;AACrC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { vec3 } from 'gl-matrix';
|
|
2
2
|
import { getRenderingEngine, metaData, utilities, } from '@cornerstonejs/core';
|
|
3
3
|
import { jumpToSlice } from '../../utilities';
|
|
4
|
+
import areViewportsCoplanar from './areViewportsCoplanar ';
|
|
4
5
|
export default async function stackImageSyncCallback(synchronizerInstance, sourceViewport, targetViewport) {
|
|
5
6
|
const renderingEngine = getRenderingEngine(targetViewport.renderingEngineId);
|
|
6
7
|
if (!renderingEngine) {
|
|
@@ -14,6 +15,9 @@ export default async function stackImageSyncCallback(synchronizerInstance, sourc
|
|
|
14
15
|
const imagePlaneModule1 = metaData.get('imagePlaneModule', imageId1);
|
|
15
16
|
const sourceImagePositionPatient = imagePlaneModule1.imagePositionPatient;
|
|
16
17
|
const targetImageIds = tViewport.getImageIds();
|
|
18
|
+
if (!areViewportsCoplanar(sViewport, tViewport)) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
17
21
|
if (frameOfReferenceUID1 === frameOfReferenceUID2) {
|
|
18
22
|
const closestImageIdIndex = _getClosestImageIdIndex(sourceImagePositionPatient, targetImageIds);
|
|
19
23
|
if (closestImageIdIndex.index !== -1 &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stackImageSyncCallback.js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/stackImageSyncCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,kBAAkB,EAElB,QAAQ,EACR,SAAS,GACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"stackImageSyncCallback.js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/stackImageSyncCallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export default async function createLabelmapVolumeForViewport(input) {
|
|
|
9
9
|
}
|
|
10
10
|
const { viewport } = enabledElement;
|
|
11
11
|
if (!(viewport instanceof VolumeViewport)) {
|
|
12
|
-
throw new Error('Segmentation
|
|
12
|
+
throw new Error('Segmentation only supports VolumeViewport');
|
|
13
13
|
}
|
|
14
14
|
const { uid } = viewport.getDefaultActor();
|
|
15
15
|
if (segmentationId === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLabelmapVolumeForViewport.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/createLabelmapVolumeForViewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,SAAS,IAAI,OAAO,GACrB,MAAM,qBAAqB,CAAC;AAc7B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,+BAA+B,CAAC,KAgB7D;IACC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACzD,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAC/B,MAAM,cAAc,GAAG,sBAAsB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAE7E,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACrC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IACpC,IAAI,CAAC,CAAC,QAAQ,YAAY,cAAc,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"createLabelmapVolumeForViewport.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/createLabelmapVolumeForViewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,SAAS,IAAI,OAAO,GACrB,MAAM,qBAAqB,CAAC;AAc7B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,+BAA+B,CAAC,KAgB7D;IACC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACzD,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAC/B,MAAM,cAAc,GAAG,sBAAsB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAE7E,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACrC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IACpC,IAAI,CAAC,CAAC,QAAQ,YAAY,cAAc,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;IAE3C,IAAI,cAAc,KAAK,SAAS,EAAE;QAEhC,cAAc,GAAG,GAAG,GAAG,uBACrB,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAClD,EAAE,CAAC;KACJ;IAED,IAAI,OAAO,EAAE;QAGX,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,YAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KAClE;SAAM;QAEL,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QACrD,MAAM,YAAY,CAAC,2BAA2B,CAAC,QAAQ,EAAE;YACvD,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAC;KACJ;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { cache, StackViewport,
|
|
1
|
+
import { cache, StackViewport, BaseVolumeViewport, } from '@cornerstonejs/core';
|
|
2
2
|
function isViewportPreScaled(viewport, targetId) {
|
|
3
|
-
if (viewport instanceof
|
|
3
|
+
if (viewport instanceof BaseVolumeViewport) {
|
|
4
4
|
const volumeId = targetId.split('volumeId:')[1];
|
|
5
5
|
const volume = cache.getVolume(volumeId);
|
|
6
6
|
return volume.scaling && Object.keys(volume.scaling).length > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isViewportPreScaled.js","sourceRoot":"","sources":["../../../../src/utilities/viewport/isViewportPreScaled.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,aAAa,EAEb,
|
|
1
|
+
{"version":3,"file":"isViewportPreScaled.js","sourceRoot":"","sources":["../../../../src/utilities/viewport/isViewportPreScaled.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,aAAa,EAEb,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,SAAS,mBAAmB,CAC1B,QAAsD,EACtD,QAAgB;IAEhB,IAAI,QAAQ,YAAY,kBAAkB,EAAE;QAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACjE;SAAM,IAAI,QAAQ,YAAY,aAAa,EAAE;QAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,MAAM,CAAC;KACxB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;AACH,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|