@ohif/app 3.9.1 → 3.9.2
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/{1185.bundle.023fe7179faaa50019d3.js → 1185.bundle.d328aabb2b43e9ea1f96.js} +62 -14
- package/dist/{1266.bundle.e9abd5c45b5236544151.js → 1266.bundle.46de27eda2ef1fce1243.js} +5 -0
- package/dist/{1436.bundle.773756cd51b69e887bac.js → 1436.bundle.27ae9c87e9fc7f52cad3.js} +234 -63
- package/dist/{1927.bundle.49539e3ab5b0aad1399c.js → 1927.bundle.2b2fa0b539d6ac5b0dc3.js} +1 -1
- package/dist/{3200.bundle.a12825fb5aec200d33e2.js → 3200.bundle.ccb809fb554332d9a0f5.js} +15 -7
- package/dist/{149.bundle.ce5596fc563276036744.js → 3900.bundle.3937999d1ee1f391647a.js} +35 -1
- package/dist/{4571.bundle.3b1691730b3c57bf4d35.js → 4571.bundle.a37be49663df2f4a2c8a.js} +99 -89
- package/dist/{5247.bundle.6dc2a50f21821b2ffdf5.js → 5247.bundle.1a1d7c27de482e4a73f3.js} +2 -2
- package/dist/{5252.bundle.5ec502c53a9cc877ed8d.js → 5252.bundle.f2675336275573a288d5.js} +13 -1
- package/dist/{1520.bundle.97dbd9bfa83148e5334d.js → 5630.bundle.1bd2402f37597078c1a1.js} +70 -59
- package/dist/{5717.bundle.848e13f256818475f57f.js → 5717.bundle.32836c212103dbbe8e4a.js} +247 -64
- package/dist/{7197.bundle.c28453cdb392072d8bf8.js → 7197.bundle.42a975bb7ae4a8df2d00.js} +2 -2
- package/dist/{7955.bundle.6a255705b1ef5906f4a8.js → 7955.bundle.f6c5edb284bdf8b80f2a.js} +1 -1
- package/dist/{8228.bundle.55ac03d7165248f47d4e.js → 8228.bundle.0a7997d04c82dd8c11c5.js} +2 -2
- package/dist/{8523.bundle.648334132159465cdc41.js → 8523.bundle.c0ec85de98ba380ebeb4.js} +55 -13
- package/dist/{9551.bundle.6c260a9869e14dcc3543.js → 9551.bundle.63b2679dd7beee6396d8.js} +1 -1
- package/dist/{app.bundle.d02143bec2df7fec9964.js → app.bundle.632bc6188462e1c95a41.js} +143 -80
- package/dist/app.bundle.css +2 -2
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.b79ae514989e86301c71.js → polySeg.bundle.6e85073e3abf2e6e6078.js} +1 -1
- package/dist/serve.json +1 -10
- package/dist/{suv-peak-worker.bundle.31c3b3b957204af93b7e.js → suv-peak-worker.bundle.1f483dc7131d7c26b517.js} +3 -3
- package/dist/sw.js +1 -1
- package/package.json +19 -19
- /package/dist/{1374.bundle.019bbc010eeb66109e8b.js → 1374.bundle.1ee8326c0748c7b1a7c0.js} +0 -0
- /package/dist/{213.bundle.e663335fb0884edde6d8.js → 213.bundle.8c04fecea2e3796e4d73.js} +0 -0
- /package/dist/{2424.bundle.b7da298db43541d3a7c0.js → 2424.bundle.38b19314ebd984c9d393.js} +0 -0
- /package/dist/{2825.bundle.b04c941a87fd580deb6d.js → 2825.bundle.0307cae794e8b057c674.js} +0 -0
- /package/dist/{3198.bundle.c82b7424070ffd02faf1.js → 3198.bundle.ab612063af0d67397377.js} +0 -0
- /package/dist/{4834.bundle.aad44c2628cdefb7a4dd.js → 4834.bundle.c25348524be5214e90d6.js} +0 -0
- /package/dist/{5139.bundle.367a6827071448e2923d.js → 5139.bundle.db30dc02cf41e91c8985.js} +0 -0
- /package/dist/{5687.bundle.5731ec23dd9eb43a083e.js → 5687.bundle.05de4787676bf79f9906.js} +0 -0
- /package/dist/{717.bundle.0f32b7b57347b5141248.js → 717.bundle.3a4b8835adf03e4554c7.js} +0 -0
- /package/dist/{8008.bundle.5bf7b274246be10e2f05.js → 8008.bundle.d4187a30e8f656a21316.js} +0 -0
- /package/dist/{8259.bundle.623c29b26b170a8a085b.js → 8259.bundle.990db2fa9ce0800319e9.js} +0 -0
- /package/dist/{8558.bundle.01d05fd73da5db8e60f9.js → 8558.bundle.63714e2329c22c9cb9da.js} +0 -0
- /package/dist/{9611.bundle.767595c93877e5166c03.js → 9611.bundle.78a4ffb439f65cfd0379.js} +0 -0
- /package/dist/{9862.bundle.7146682e56aa66130ae6.js → 9862.bundle.aa2f8e0010f1be1bc87d.js} +0 -0
|
@@ -934,7 +934,7 @@ class BaseVolumeViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_18__/* ["def
|
|
|
934
934
|
sliceIndex ??= currentIndex;
|
|
935
935
|
const { viewPlaneNormal, focalPoint } = this.getCamera();
|
|
936
936
|
const querySeparator = volumeId.includes('?') ? '&' : '?';
|
|
937
|
-
return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${viewPlaneNormal.join(',')}
|
|
937
|
+
return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${viewPlaneNormal.join(',')}`;
|
|
938
938
|
}
|
|
939
939
|
_addVolumeId(volumeId) {
|
|
940
940
|
this.volumeIds.add(volumeId);
|
|
@@ -16844,6 +16844,12 @@ var cache = __webpack_require__(49038);
|
|
|
16844
16844
|
|
|
16845
16845
|
|
|
16846
16846
|
|
|
16847
|
+
function convertDataType(data, targetDataType) {
|
|
16848
|
+
const Constructor = (0,getBufferConfiguration/* getConstructorFromType */.j)(targetDataType);
|
|
16849
|
+
const convertedData = new Constructor(data.length);
|
|
16850
|
+
convertedData.set(data);
|
|
16851
|
+
return convertedData;
|
|
16852
|
+
}
|
|
16847
16853
|
function vtkStreamingOpenGLTexture(publicAPI, model) {
|
|
16848
16854
|
model.classHierarchy.push('vtkStreamingOpenGLTexture');
|
|
16849
16855
|
model.updatedFrames = [];
|
|
@@ -16894,10 +16900,14 @@ function vtkStreamingOpenGLTexture(publicAPI, model) {
|
|
|
16894
16900
|
if (!image) {
|
|
16895
16901
|
continue;
|
|
16896
16902
|
}
|
|
16897
|
-
|
|
16903
|
+
let data = image.voxelManager.getScalarData();
|
|
16898
16904
|
const gl = model.context;
|
|
16899
|
-
|
|
16900
|
-
|
|
16905
|
+
if (volume.dataType !== data.constructor.name) {
|
|
16906
|
+
data = convertDataType(data, volume.dataType);
|
|
16907
|
+
}
|
|
16908
|
+
const [pixData] = publicAPI.updateArrayDataTypeForGL(volume.dataType, [
|
|
16909
|
+
data,
|
|
16910
|
+
]);
|
|
16901
16911
|
publicAPI.bind();
|
|
16902
16912
|
const zOffset = i;
|
|
16903
16913
|
gl.texSubImage3D(model.target, 0, 0, 0, zOffset, model.width, model.height, 1, model.format, model.openGLDataType, pixData);
|
|
@@ -16931,8 +16941,12 @@ function vtkStreamingOpenGLTexture(publicAPI, model) {
|
|
|
16931
16941
|
constructor = data.constructor;
|
|
16932
16942
|
}
|
|
16933
16943
|
const gl = model.context;
|
|
16934
|
-
|
|
16935
|
-
|
|
16944
|
+
if (volume.dataType !== data.constructor.name) {
|
|
16945
|
+
data = convertDataType(data, volume.dataType);
|
|
16946
|
+
}
|
|
16947
|
+
const [pixData] = publicAPI.updateArrayDataTypeForGL(volume.dataType, [
|
|
16948
|
+
data,
|
|
16949
|
+
]);
|
|
16936
16950
|
publicAPI.bind();
|
|
16937
16951
|
let zOffset = i;
|
|
16938
16952
|
gl.texSubImage3D(model.target, 0, 0, 0, zOffset, model.width, model.height, 1, model.format, model.openGLDataType, pixData);
|
|
@@ -25049,12 +25063,20 @@ const deepMerge = (target = {}, source = {}, optionsArgument = undefined) => {
|
|
|
25049
25063
|
/* harmony import */ var _getScalingParameters__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32173);
|
|
25050
25064
|
/* harmony import */ var _hasFloatScalingParameters__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30169);
|
|
25051
25065
|
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(59693);
|
|
25066
|
+
/* harmony import */ var _cache_cache__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49038);
|
|
25067
|
+
|
|
25052
25068
|
|
|
25053
25069
|
|
|
25054
25070
|
|
|
25055
25071
|
|
|
25056
25072
|
|
|
25057
25073
|
|
|
25074
|
+
const constructorToTypedArray = {
|
|
25075
|
+
Uint8Array: 'Uint8Array',
|
|
25076
|
+
Int16Array: 'Int16Array',
|
|
25077
|
+
Uint16Array: 'Uint16Array',
|
|
25078
|
+
Float32Array: 'Float32Array',
|
|
25079
|
+
};
|
|
25058
25080
|
function generateVolumePropsFromImageIds(imageIds, volumeId) {
|
|
25059
25081
|
const volumeMetadata = (0,_makeVolumeMetadata__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(imageIds);
|
|
25060
25082
|
const { ImageOrientationPatient, PixelSpacing, Columns, Rows } = volumeMetadata;
|
|
@@ -25087,6 +25109,10 @@ function generateVolumePropsFromImageIds(imageIds, volumeId) {
|
|
|
25087
25109
|
function _determineDataType(imageIds, volumeMetadata) {
|
|
25088
25110
|
const { BitsAllocated, PixelRepresentation } = volumeMetadata;
|
|
25089
25111
|
const signed = PixelRepresentation === 1;
|
|
25112
|
+
const cachedDataType = _getDataTypeFromCache(imageIds);
|
|
25113
|
+
if (cachedDataType) {
|
|
25114
|
+
return cachedDataType;
|
|
25115
|
+
}
|
|
25090
25116
|
const [firstIndex, middleIndex, lastIndex] = [
|
|
25091
25117
|
0,
|
|
25092
25118
|
Math.floor(imageIds.length / 2),
|
|
@@ -25121,6 +25147,19 @@ function _determineDataType(imageIds, volumeMetadata) {
|
|
|
25121
25147
|
throw new Error(`Bits allocated of ${BitsAllocated} is not defined to generate scalarData for the volume.`);
|
|
25122
25148
|
}
|
|
25123
25149
|
}
|
|
25150
|
+
function _getDataTypeFromCache(imageIds) {
|
|
25151
|
+
const indices = [0, Math.floor(imageIds.length / 2), imageIds.length - 1];
|
|
25152
|
+
const images = indices.map((i) => _cache_cache__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Ay.getImage(imageIds[i]));
|
|
25153
|
+
if (!images.every(Boolean)) {
|
|
25154
|
+
return null;
|
|
25155
|
+
}
|
|
25156
|
+
const constructorName = images[0].getPixelData().constructor.name;
|
|
25157
|
+
if (images.every((img) => img.getPixelData().constructor.name === constructorName) &&
|
|
25158
|
+
constructorName in constructorToTypedArray) {
|
|
25159
|
+
return constructorToTypedArray[constructorName];
|
|
25160
|
+
}
|
|
25161
|
+
return null;
|
|
25162
|
+
}
|
|
25124
25163
|
|
|
25125
25164
|
|
|
25126
25165
|
|
|
@@ -25768,6 +25807,15 @@ const imageRetrieveMetadataProvider = {
|
|
|
25768
25807
|
add: (key, payload) => {
|
|
25769
25808
|
retrieveConfigurationState.set(key, payload);
|
|
25770
25809
|
},
|
|
25810
|
+
clone: () => {
|
|
25811
|
+
return new Map(retrieveConfigurationState);
|
|
25812
|
+
},
|
|
25813
|
+
restore: (state) => {
|
|
25814
|
+
retrieveConfigurationState.clear();
|
|
25815
|
+
state.forEach((value, key) => {
|
|
25816
|
+
retrieveConfigurationState.set(key, value);
|
|
25817
|
+
});
|
|
25818
|
+
},
|
|
25771
25819
|
get: (type, ...queries) => {
|
|
25772
25820
|
if (type === IMAGE_RETRIEVE_CONFIGURATION) {
|
|
25773
25821
|
return queries
|
|
@@ -26693,7 +26741,10 @@ function calculateViewportsSpatialRegistration(viewport1, viewport2) {
|
|
|
26693
26741
|
|
|
26694
26742
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getViewportImageCornersInWorld.js
|
|
26695
26743
|
function getViewportImageCornersInWorld(viewport) {
|
|
26696
|
-
const { imageData, dimensions } = viewport.getImageData();
|
|
26744
|
+
const { imageData, dimensions } = viewport.getImageData() || {};
|
|
26745
|
+
if (!imageData || !dimensions) {
|
|
26746
|
+
return [];
|
|
26747
|
+
}
|
|
26697
26748
|
const { canvas } = viewport;
|
|
26698
26749
|
const ratio = window.devicePixelRatio;
|
|
26699
26750
|
const topLeftCanvas = [0, 0];
|
|
@@ -30108,6 +30159,10 @@ function getPixelDataTypeFromMinMax(min, max) {
|
|
|
30108
30159
|
}
|
|
30109
30160
|
return pixelDataType || Float32Array;
|
|
30110
30161
|
}
|
|
30162
|
+
function validatePixelDataType(min, max, type) {
|
|
30163
|
+
const pixelDataType = getPixelDataTypeFromMinMax(min, max);
|
|
30164
|
+
return pixelDataType === type;
|
|
30165
|
+
}
|
|
30111
30166
|
|
|
30112
30167
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/imageLoader/convertColorSpace.js
|
|
30113
30168
|
|
|
@@ -31760,7 +31815,7 @@ const workerFn = () => {
|
|
|
31760
31815
|
const instance = new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(1927), __webpack_require__.b), { type: undefined });
|
|
31761
31816
|
return instance;
|
|
31762
31817
|
};
|
|
31763
|
-
function init(options) {
|
|
31818
|
+
function init(options = {}) {
|
|
31764
31819
|
setOptions(options);
|
|
31765
31820
|
imageLoader_registerLoaders();
|
|
31766
31821
|
const workerManager = (0,esm.getWebWorkerManager)();
|
|
@@ -66971,7 +67026,7 @@ function vtkOpenGLTexture(publicAPI, model) {
|
|
|
66971
67026
|
}
|
|
66972
67027
|
return result;
|
|
66973
67028
|
};
|
|
66974
|
-
publicAPI.useHalfFloat = () => model.
|
|
67029
|
+
publicAPI.useHalfFloat = () => model.enableUseHalfFloat && model.canUseHalfFloat;
|
|
66975
67030
|
|
|
66976
67031
|
//----------------------------------------------------------------------------
|
|
66977
67032
|
publicAPI.setInternalFormat = iFormat => {
|
|
@@ -67605,18 +67660,21 @@ function vtkOpenGLTexture(publicAPI, model) {
|
|
|
67605
67660
|
}
|
|
67606
67661
|
function setCanUseHalfFloat(dataType, offset, scale, preferSizeOverAccuracy) {
|
|
67607
67662
|
publicAPI.getOpenGLDataType(dataType);
|
|
67663
|
+
|
|
67664
|
+
// Don't consider halfFloat and convert back to Float when the range of data does not generate an accurate halfFloat
|
|
67665
|
+
// AND it is not preferable to have a smaller texture than an exact texture.
|
|
67666
|
+
const isExactHalfFloat = hasExactHalfFloat(offset, scale) || preferSizeOverAccuracy;
|
|
67608
67667
|
let useHalfFloat = false;
|
|
67609
67668
|
if (model._openGLRenderWindow.getWebgl2()) {
|
|
67610
|
-
|
|
67669
|
+
// If OES_texture_float_linear is not available, and using a half float would still be exact, force half floats
|
|
67670
|
+
// This is because half floats are always texture filterable in webgl2, while full *32F floats are not (unless the extension is present)
|
|
67671
|
+
const forceHalfFloat = model.openGLDataType === model.context.FLOAT && model.context.getExtension('OES_texture_float_linear') === null && isExactHalfFloat;
|
|
67672
|
+
useHalfFloat = forceHalfFloat || model.openGLDataType === model.context.HALF_FLOAT;
|
|
67611
67673
|
} else {
|
|
67612
67674
|
const halfFloatExt = model.context.getExtension('OES_texture_half_float');
|
|
67613
67675
|
useHalfFloat = halfFloatExt && model.openGLDataType === halfFloatExt.HALF_FLOAT_OES;
|
|
67614
67676
|
}
|
|
67615
|
-
|
|
67616
|
-
// Don't consider halfFloat and convert back to Float when the range of data does not generate an accurate halfFloat
|
|
67617
|
-
// AND it is not preferable to have a smaller texture than an exact texture.
|
|
67618
|
-
const isHalfFloat = useHalfFloat && (hasExactHalfFloat(offset, scale) || preferSizeOverAccuracy);
|
|
67619
|
-
model.canUseHalfFloat = isHalfFloat;
|
|
67677
|
+
model.canUseHalfFloat = useHalfFloat && isExactHalfFloat;
|
|
67620
67678
|
}
|
|
67621
67679
|
function processDataArray(dataArray, preferSizeOverAccuracy) {
|
|
67622
67680
|
const numComps = dataArray.getNumberOfComponents();
|
|
@@ -95921,8 +95979,8 @@ function WorkList({
|
|
|
95921
95979
|
};
|
|
95922
95980
|
});
|
|
95923
95981
|
const hasStudies = numOfStudies > 0;
|
|
95924
|
-
const versionNumber = "3.9.
|
|
95925
|
-
const commitHash = "
|
|
95982
|
+
const versionNumber = "3.9.2";
|
|
95983
|
+
const commitHash = "e5286d9fc2449da50b738e7e6208d489cce1633e";
|
|
95926
95984
|
const menuOptions = [{
|
|
95927
95985
|
title: t('Header:About'),
|
|
95928
95986
|
icon: 'info',
|
|
@@ -96708,7 +96766,7 @@ function ViewerViewportGrid(props) {
|
|
|
96708
96766
|
isActive: isActive
|
|
96709
96767
|
}, /*#__PURE__*/react.createElement("div", {
|
|
96710
96768
|
"data-cy": "viewport-pane",
|
|
96711
|
-
className: classnames_default()('flex h-full w-full flex-col', {
|
|
96769
|
+
className: classnames_default()('flex h-full w-full min-w-[5px] flex-col', {
|
|
96712
96770
|
'pointer-events-none': !isActive && (appConfig?.activateViewportBeforeInteraction ?? true)
|
|
96713
96771
|
})
|
|
96714
96772
|
}, /*#__PURE__*/react.createElement(ViewportComponent, {
|
|
@@ -96797,35 +96855,35 @@ modes.push("@ohif/mode-preclinical-4d");
|
|
|
96797
96855
|
async function loadModule(module) {
|
|
96798
96856
|
if (typeof module !== 'string') return module;
|
|
96799
96857
|
if (module === "@ohif/extension-default") {
|
|
96800
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96858
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(5630), __webpack_require__.e(2591)]).then(__webpack_require__.bind(__webpack_require__, 55630));
|
|
96801
96859
|
return imported.default;
|
|
96802
96860
|
}
|
|
96803
96861
|
if (module === "@ohif/extension-cornerstone") {
|
|
96804
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96862
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(4182)]).then(__webpack_require__.bind(__webpack_require__, 11185));
|
|
96805
96863
|
return imported.default;
|
|
96806
96864
|
}
|
|
96807
96865
|
if (module === "@ohif/extension-measurement-tracking") {
|
|
96808
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96866
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(3970), __webpack_require__.e(5261), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(5687), __webpack_require__.e(3200)]).then(__webpack_require__.bind(__webpack_require__, 71903));
|
|
96809
96867
|
return imported.default;
|
|
96810
96868
|
}
|
|
96811
96869
|
if (module === "@ohif/extension-cornerstone-dicom-sr") {
|
|
96812
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96870
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(3970), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(5687), __webpack_require__.e(1801)]).then(__webpack_require__.bind(__webpack_require__, 85687));
|
|
96813
96871
|
return imported.default;
|
|
96814
96872
|
}
|
|
96815
96873
|
if (module === "@ohif/extension-cornerstone-dicom-seg") {
|
|
96816
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96874
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3970), __webpack_require__.e(5630), __webpack_require__.e(7197)]).then(__webpack_require__.bind(__webpack_require__, 96975));
|
|
96817
96875
|
return imported.default;
|
|
96818
96876
|
}
|
|
96819
96877
|
if (module === "@ohif/extension-cornerstone-dicom-pmap") {
|
|
96820
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96878
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(3970), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(5139)]).then(__webpack_require__.bind(__webpack_require__, 82098));
|
|
96821
96879
|
return imported.default;
|
|
96822
96880
|
}
|
|
96823
96881
|
if (module === "@ohif/extension-cornerstone-dynamic-volume") {
|
|
96824
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96882
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(717)]).then(__webpack_require__.bind(__webpack_require__, 14696));
|
|
96825
96883
|
return imported.default;
|
|
96826
96884
|
}
|
|
96827
96885
|
if (module === "@ohif/extension-dicom-microscopy") {
|
|
96828
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96886
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(5807), __webpack_require__.e(5630), __webpack_require__.e(5247)]).then(__webpack_require__.bind(__webpack_require__, 22801));
|
|
96829
96887
|
return imported.default;
|
|
96830
96888
|
}
|
|
96831
96889
|
if (module === "@ohif/extension-dicom-pdf") {
|
|
@@ -96837,7 +96895,7 @@ async function loadModule(module) {
|
|
|
96837
96895
|
return imported.default;
|
|
96838
96896
|
}
|
|
96839
96897
|
if (module === "@ohif/extension-tmtv") {
|
|
96840
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96898
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(3970), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(3198)]).then(__webpack_require__.bind(__webpack_require__, 57289));
|
|
96841
96899
|
return imported.default;
|
|
96842
96900
|
}
|
|
96843
96901
|
if (module === "@ohif/extension-test") {
|
|
@@ -96849,7 +96907,7 @@ async function loadModule(module) {
|
|
|
96849
96907
|
return imported.default;
|
|
96850
96908
|
}
|
|
96851
96909
|
if (module === "@ohif/mode-longitudinal") {
|
|
96852
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(
|
|
96910
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(3900), __webpack_require__.e(1436), __webpack_require__.e(3334), __webpack_require__.e(3970), __webpack_require__.e(5630), __webpack_require__.e(1185), __webpack_require__.e(5687), __webpack_require__.e(1266)]).then(__webpack_require__.bind(__webpack_require__, 35589));
|
|
96853
96911
|
return imported.default;
|
|
96854
96912
|
}
|
|
96855
96913
|
if (module === "@ohif/mode-segmentation") {
|
|
@@ -97351,9 +97409,9 @@ function ModeRoute({
|
|
|
97351
97409
|
const hangingProtocolIdToUse = hangingProtocolService.getProtocolById(runTimeHangingProtocolId) ? runTimeHangingProtocolId : hangingProtocol;
|
|
97352
97410
|
|
|
97353
97411
|
// Determine the index of the stageId if the hangingProtocolIdToUse is defined
|
|
97354
|
-
const stageIndex = hangingProtocolIdToUse ? hangingProtocolService.getStageIndex(hangingProtocolIdToUse, {
|
|
97412
|
+
const stageIndex = Array.isArray(hangingProtocolIdToUse) ? -1 : hangingProtocolService.getStageIndex(hangingProtocolIdToUse, {
|
|
97355
97413
|
stageId: runTimeStageId || undefined
|
|
97356
|
-
})
|
|
97414
|
+
});
|
|
97357
97415
|
// Ensure that the stage index is never negative
|
|
97358
97416
|
// If stageIndex is negative (e.g., if stage wasn't found), use 0 as the default
|
|
97359
97417
|
const stageIndexToUse = Math.max(0, stageIndex);
|
|
@@ -107353,7 +107411,7 @@ class CustomizationService extends pubSubServiceInterface/* PubSubService */.R {
|
|
|
107353
107411
|
return customization;
|
|
107354
107412
|
}
|
|
107355
107413
|
const parent = this.getCustomization(customizationType);
|
|
107356
|
-
const result = parent ? Object.assign(
|
|
107414
|
+
const result = parent ? Object.assign({}, parent, customization) : customization;
|
|
107357
107415
|
// Execute an nested type information
|
|
107358
107416
|
return result.transform?.(this) || result;
|
|
107359
107417
|
}
|
|
@@ -108484,7 +108542,7 @@ class StudyPrefetcherService extends pubSubServiceInterface/* PubSubService */.R
|
|
|
108484
108542
|
this._displaySetLoadingStates.clear();
|
|
108485
108543
|
this._imageIdsToDisplaySetsMap.clear();
|
|
108486
108544
|
this._inflightRequests.clear();
|
|
108487
|
-
this.imageLoadPoolManager.clearRequestStack(
|
|
108545
|
+
this.imageLoadPoolManager.clearRequestStack(this.requestType);
|
|
108488
108546
|
this._broadcastEvent(this.EVENTS.SERVICE_STOPPED, {});
|
|
108489
108547
|
}
|
|
108490
108548
|
|
|
@@ -109726,7 +109784,11 @@ function _getPaletteColor(paletteColorLookupTableData, lutDescriptor) {
|
|
|
109726
109784
|
}
|
|
109727
109785
|
// EXTERNAL MODULE: ../../core/src/utils/toNumber.js
|
|
109728
109786
|
var toNumber = __webpack_require__(37827);
|
|
109787
|
+
// EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
|
|
109788
|
+
var esm = __webpack_require__(3823);
|
|
109729
109789
|
;// CONCATENATED MODULE: ../../core/src/utils/combineFrameInstance.ts
|
|
109790
|
+
|
|
109791
|
+
|
|
109730
109792
|
/**
|
|
109731
109793
|
* Combine the Per instance frame data, the shared frame data
|
|
109732
109794
|
* and the root data objects.
|
|
@@ -109741,21 +109803,34 @@ const combineFrameInstance = (frame, instance) => {
|
|
|
109741
109803
|
const {
|
|
109742
109804
|
PerFrameFunctionalGroupsSequence,
|
|
109743
109805
|
SharedFunctionalGroupsSequence,
|
|
109744
|
-
NumberOfFrames
|
|
109806
|
+
NumberOfFrames,
|
|
109807
|
+
SpacingBetweenSlices
|
|
109745
109808
|
} = instance;
|
|
109746
109809
|
if (PerFrameFunctionalGroupsSequence || NumberOfFrames > 1) {
|
|
109747
109810
|
const frameNumber = Number.parseInt(frame || 1);
|
|
109748
|
-
const shared =
|
|
109749
|
-
const perFrame =
|
|
109811
|
+
const shared = SharedFunctionalGroupsSequence ? Object.values(SharedFunctionalGroupsSequence[0]).filter(Boolean).map(it => it[0]).filter(it => typeof it === 'object') : [];
|
|
109812
|
+
const perFrame = PerFrameFunctionalGroupsSequence ? Object.values(PerFrameFunctionalGroupsSequence[frameNumber - 1]).filter(Boolean).map(it => it[0]).filter(it => typeof it === 'object') : [];
|
|
109750
109813
|
|
|
109751
109814
|
// this is to fix NM multiframe datasets with position and orientation
|
|
109752
109815
|
// information inside DetectorInformationSequence
|
|
109753
109816
|
if (!instance.ImageOrientationPatient && instance.DetectorInformationSequence) {
|
|
109754
109817
|
instance.ImageOrientationPatient = instance.DetectorInformationSequence[0].ImageOrientationPatient;
|
|
109755
109818
|
}
|
|
109819
|
+
let ImagePositionPatientToUse = instance.ImagePositionPatient;
|
|
109756
109820
|
if (!instance.ImagePositionPatient && instance.DetectorInformationSequence) {
|
|
109757
|
-
|
|
109821
|
+
const imagePositionPatient = instance.DetectorInformationSequence[0].ImagePositionPatient;
|
|
109822
|
+
const imageOrientationPatient = instance.ImageOrientationPatient;
|
|
109823
|
+
|
|
109824
|
+
// Calculate the position for the current frame
|
|
109825
|
+
if (imageOrientationPatient && SpacingBetweenSlices) {
|
|
109826
|
+
const rowOrientation = esm/* vec3.fromValues */.eR.fromValues(imageOrientationPatient[0], imageOrientationPatient[1], imageOrientationPatient[2]);
|
|
109827
|
+
const colOrientation = esm/* vec3.fromValues */.eR.fromValues(imageOrientationPatient[3], imageOrientationPatient[4], imageOrientationPatient[5]);
|
|
109828
|
+
const normalVector = esm/* vec3.cross */.eR.cross(esm/* vec3.create */.eR.create(), rowOrientation, colOrientation);
|
|
109829
|
+
const position = esm/* vec3.scaleAndAdd */.eR.scaleAndAdd(esm/* vec3.create */.eR.create(), imagePositionPatient, normalVector, SpacingBetweenSlices * (frameNumber - 1));
|
|
109830
|
+
ImagePositionPatientToUse = [position[0], position[1], position[2]];
|
|
109831
|
+
}
|
|
109758
109832
|
}
|
|
109833
|
+
console.debug('🚀 ~ ImagePositionPatientToUse:', ImagePositionPatientToUse);
|
|
109759
109834
|
const newInstance = Object.assign(instance, {
|
|
109760
109835
|
frameNumber: frameNumber
|
|
109761
109836
|
});
|
|
@@ -109771,7 +109846,7 @@ const combineFrameInstance = (frame, instance) => {
|
|
|
109771
109846
|
// back to the dicomMetaStore so we don't have to do this again.
|
|
109772
109847
|
return {
|
|
109773
109848
|
...newInstance,
|
|
109774
|
-
ImagePositionPatient: newInstance.ImagePositionPatient ?? [0, 0, frameNumber]
|
|
109849
|
+
ImagePositionPatient: ImagePositionPatientToUse ?? newInstance.ImagePositionPatient ?? [0, 0, frameNumber]
|
|
109775
109850
|
};
|
|
109776
109851
|
} else {
|
|
109777
109852
|
return instance;
|
|
@@ -109789,7 +109864,6 @@ const combineFrameInstance = (frame, instance) => {
|
|
|
109789
109864
|
|
|
109790
109865
|
class MetadataProvider {
|
|
109791
109866
|
constructor() {
|
|
109792
|
-
this.studies = new Map();
|
|
109793
109867
|
this.imageURIToUIDs = new Map();
|
|
109794
109868
|
this.imageUIDsByImageId = new Map();
|
|
109795
109869
|
// Can be used to store custom metadata for a specific type.
|
|
@@ -109798,6 +109872,10 @@ class MetadataProvider {
|
|
|
109798
109872
|
this.customMetadata = new Map();
|
|
109799
109873
|
}
|
|
109800
109874
|
addImageIdToUIDs(imageId, uids) {
|
|
109875
|
+
if (!imageId) {
|
|
109876
|
+
throw new Error('MetadataProvider::Empty imageId');
|
|
109877
|
+
}
|
|
109878
|
+
|
|
109801
109879
|
// This method is a fallback for when you don't have WADO-URI or WADO-RS.
|
|
109802
109880
|
// You can add instances fetched by any method by calling addInstance, and hook an imageId to point at it here.
|
|
109803
109881
|
// An example would be dicom hosted at some random site.
|
|
@@ -109813,6 +109891,9 @@ class MetadataProvider {
|
|
|
109813
109891
|
this.customMetadata.get(type)[imageURI] = metadata;
|
|
109814
109892
|
}
|
|
109815
109893
|
_getInstance(imageId) {
|
|
109894
|
+
if (!imageId) {
|
|
109895
|
+
throw new Error('MetadataProvider::Empty imageId');
|
|
109896
|
+
}
|
|
109816
109897
|
const uids = this.getUIDsFromImageID(imageId);
|
|
109817
109898
|
if (!uids) {
|
|
109818
109899
|
return;
|
|
@@ -110184,17 +110265,6 @@ class MetadataProvider {
|
|
|
110184
110265
|
return;
|
|
110185
110266
|
}
|
|
110186
110267
|
getUIDsFromImageID(imageId) {
|
|
110187
|
-
if (!imageId) {
|
|
110188
|
-
throw new Error('MetadataProvider::Empty imageId');
|
|
110189
|
-
}
|
|
110190
|
-
// TODO: adding csiv here is not really correct. Probably need to use
|
|
110191
|
-
// metadataProvider.addImageIdToUIDs(imageId, {
|
|
110192
|
-
// StudyInstanceUID,
|
|
110193
|
-
// SeriesInstanceUID,
|
|
110194
|
-
// SOPInstanceUID,
|
|
110195
|
-
// })
|
|
110196
|
-
// somewhere else
|
|
110197
|
-
|
|
110198
110268
|
const cachedUIDs = this.imageUIDsByImageId.get(imageId);
|
|
110199
110269
|
if (cachedUIDs) {
|
|
110200
110270
|
return cachedUIDs;
|
|
@@ -115012,7 +115082,7 @@ const detectionOptions = {
|
|
|
115012
115082
|
}
|
|
115013
115083
|
});
|
|
115014
115084
|
;// CONCATENATED MODULE: ../../i18n/package.json
|
|
115015
|
-
const package_namespaceObject = {"rE":"3.9.
|
|
115085
|
+
const package_namespaceObject = {"rE":"3.9.1"};
|
|
115016
115086
|
;// CONCATENATED MODULE: ../../i18n/src/utils.js
|
|
115017
115087
|
const languagesMap = {
|
|
115018
115088
|
ar: 'Arabic',
|
|
@@ -239571,13 +239641,6 @@ SidePanel.propTypes = {
|
|
|
239571
239641
|
side: prop_types_default().oneOf(['left', 'right']).isRequired,
|
|
239572
239642
|
className: (prop_types_default()).string,
|
|
239573
239643
|
activeTabIndex: (prop_types_default()).number,
|
|
239574
|
-
tabs: prop_types_default().oneOfType([prop_types_default().arrayOf(prop_types_default().shape({
|
|
239575
|
-
iconName: (prop_types_default()).string.isRequired,
|
|
239576
|
-
iconLabel: (prop_types_default()).string.isRequired,
|
|
239577
|
-
name: (prop_types_default()).string.isRequired,
|
|
239578
|
-
label: (prop_types_default()).string.isRequired,
|
|
239579
|
-
content: (prop_types_default()).func // TODO: Should be node, but it keeps complaining?
|
|
239580
|
-
}))]),
|
|
239581
239644
|
onOpen: (prop_types_default()).func,
|
|
239582
239645
|
onClose: (prop_types_default()).func,
|
|
239583
239646
|
onActiveTabIndexChange: (prop_types_default()).func,
|
|
@@ -242197,9 +242260,7 @@ const DataRow = ({
|
|
|
242197
242260
|
return /*#__PURE__*/react.createElement("div", {
|
|
242198
242261
|
key: cleanText,
|
|
242199
242262
|
className: "whitespace-pre-wrap"
|
|
242200
|
-
}, indentation,
|
|
242201
|
-
className: "font-medium"
|
|
242202
|
-
}, cleanText.split(':')[0], ":"), cleanText.split(':')[1]) : /*#__PURE__*/react.createElement("span", {
|
|
242263
|
+
}, indentation, /*#__PURE__*/react.createElement("span", {
|
|
242203
242264
|
className: "font-medium"
|
|
242204
242265
|
}, cleanText));
|
|
242205
242266
|
};
|
|
@@ -242307,11 +242368,13 @@ const DataRow = ({
|
|
|
242307
242368
|
className: "text-foreground"
|
|
242308
242369
|
}), /*#__PURE__*/react.createElement("span", {
|
|
242309
242370
|
className: "pl-2"
|
|
242310
|
-
}, isLocked ? 'Unlock' : 'Lock')))))), details && details.primary?.length > 0 && /*#__PURE__*/react.createElement("div", {
|
|
242371
|
+
}, isLocked ? 'Unlock' : 'Lock')))))), details && (details.primary?.length > 0 || details.secondary?.length > 0) && /*#__PURE__*/react.createElement("div", {
|
|
242311
242372
|
className: "ml-7 px-2 py-2"
|
|
242312
242373
|
}, /*#__PURE__*/react.createElement("div", {
|
|
242313
|
-
className: "text-secondary-foreground text-base leading-normal"
|
|
242314
|
-
}, renderDetails(details.primary)
|
|
242374
|
+
className: "text-secondary-foreground flex items-center gap-1 text-base leading-normal"
|
|
242375
|
+
}, details.primary?.length > 0 && renderDetails(details.primary), details.secondary?.length > 0 && /*#__PURE__*/react.createElement("div", {
|
|
242376
|
+
className: "text-muted-foreground ml-auto text-sm"
|
|
242377
|
+
}, renderDetails(details.secondary)))));
|
|
242315
242378
|
};
|
|
242316
242379
|
/* harmony default export */ const DataRow_DataRow = (DataRow);
|
|
242317
242380
|
;// CONCATENATED MODULE: ../../ui-next/src/components/DataRow/index.ts
|
|
@@ -242497,7 +242560,7 @@ const SegmentationSegments = ({
|
|
|
242497
242560
|
return null;
|
|
242498
242561
|
}
|
|
242499
242562
|
const segmentCount = Object.keys(representationToUse.segments).length;
|
|
242500
|
-
const height = mode === 'collapsed' ? 'h-[
|
|
242563
|
+
const height = mode === 'collapsed' ? 'h-[900px]' : `h-[${segmentCount * 200}px]`;
|
|
242501
242564
|
return /*#__PURE__*/react.createElement(ScrollArea_ScrollArea, {
|
|
242502
242565
|
className: `ohif-scrollbar invisible-scrollbar bg-bkg-low space-y-px ${height}`,
|
|
242503
242566
|
showArrows: true
|
|
@@ -243248,24 +243311,24 @@ Stack: ${error.stack}
|
|
|
243248
243311
|
}, /*#__PURE__*/react.createElement(Dialog_DialogContent, {
|
|
243249
243312
|
className: "border-input h-[50vh] w-[90vw] border-2 sm:max-w-[900px]"
|
|
243250
243313
|
}, /*#__PURE__*/react.createElement(DialogHeader, null, /*#__PURE__*/react.createElement(Dialog_DialogTitle, {
|
|
243251
|
-
className: "text-xl"
|
|
243252
|
-
}, title), /*#__PURE__*/react.createElement(Dialog_DialogDescription, {
|
|
243253
|
-
className: "text-lg"
|
|
243254
|
-
}, subtitle)), /*#__PURE__*/react.createElement(ScrollArea_ScrollArea, {
|
|
243255
|
-
className: "h-[calc(90vh-120px)]"
|
|
243314
|
+
className: "text-muted-foreground flex justify-between text-xl"
|
|
243256
243315
|
}, /*#__PURE__*/react.createElement("div", {
|
|
243257
|
-
className: "
|
|
243258
|
-
}, /*#__PURE__*/react.createElement("
|
|
243259
|
-
className: "flex justify-end"
|
|
243260
|
-
}, /*#__PURE__*/react.createElement("button", {
|
|
243316
|
+
className: "flex items-center"
|
|
243317
|
+
}, title), /*#__PURE__*/react.createElement("button", {
|
|
243261
243318
|
onClick: () => {
|
|
243262
243319
|
copyErrorDetails();
|
|
243263
243320
|
setShowDetails(false);
|
|
243264
243321
|
},
|
|
243265
|
-
className: "text-aqua-pale hover:text-aqua-pale/80 flex items-center gap-2 rounded bg-gray-800 px-4 py-2"
|
|
243322
|
+
className: "text-aqua-pale hover:text-aqua-pale/80 flex items-center gap-2 rounded bg-gray-800 px-4 py-2 font-light"
|
|
243266
243323
|
}, /*#__PURE__*/react.createElement(Icons.Code, {
|
|
243267
243324
|
className: "h-4 w-4"
|
|
243268
|
-
}), t('Copy Details'))), /*#__PURE__*/react.createElement(
|
|
243325
|
+
}), t('Copy Details'))), /*#__PURE__*/react.createElement(Dialog_DialogDescription, {
|
|
243326
|
+
className: "text-lg"
|
|
243327
|
+
}, subtitle)), /*#__PURE__*/react.createElement(ScrollArea_ScrollArea, {
|
|
243328
|
+
className: "h-[100%]"
|
|
243329
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
243330
|
+
className: "space-y-4 pr-4 font-mono text-base"
|
|
243331
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
243269
243332
|
className: "space-y-4"
|
|
243270
243333
|
}, /*#__PURE__*/react.createElement("p", {
|
|
243271
243334
|
className: "text-aqua-pale break-words text-lg"
|
|
@@ -265572,7 +265635,7 @@ const SidePanel_SidePanel = ({
|
|
|
265572
265635
|
position: side === 'left' ? 'right' : 'left',
|
|
265573
265636
|
key: index,
|
|
265574
265637
|
content: getToolTipContent(childComponent.label, childComponent.disabled),
|
|
265575
|
-
className: classnames_default()('flex items-center', side === 'left' ? 'justify-end
|
|
265638
|
+
className: classnames_default()('flex items-center', side === 'left' ? 'justify-end' : 'justify-start')
|
|
265576
265639
|
}, /*#__PURE__*/react.createElement("div", {
|
|
265577
265640
|
id: `${childComponent.name}-btn`,
|
|
265578
265641
|
"data-cy": `${childComponent.name}-btn`,
|
|
@@ -265610,7 +265673,7 @@ const SidePanel_SidePanel = ({
|
|
|
265610
265673
|
const getTabGridComponent = () => {
|
|
265611
265674
|
const numCols = getNumGridColumns(tabs.length, gridWidth);
|
|
265612
265675
|
return /*#__PURE__*/react.createElement("div", {
|
|
265613
|
-
className: classnames_default()('flex grow
|
|
265676
|
+
className: classnames_default()('flex grow', side === 'right' ? 'justify-start' : 'justify-end')
|
|
265614
265677
|
}, /*#__PURE__*/react.createElement("div", {
|
|
265615
265678
|
className: classnames_default()('bg-primary-dark text-primary-active flex flex-wrap'),
|
|
265616
265679
|
style: getGridStyle(side, tabs.length, gridWidth, expandedWidth)
|
|
@@ -265649,7 +265712,7 @@ const SidePanel_SidePanel = ({
|
|
|
265649
265712
|
};
|
|
265650
265713
|
const getOneTabComponent = () => {
|
|
265651
265714
|
return /*#__PURE__*/react.createElement("div", {
|
|
265652
|
-
className: classnames_default()('text-primary-active flex
|
|
265715
|
+
className: classnames_default()('text-primary-active flex grow cursor-pointer select-none justify-center self-center text-[13px]'),
|
|
265653
265716
|
style: {
|
|
265654
265717
|
...(side === 'left' ? {
|
|
265655
265718
|
marginLeft: `${closeIconWidth}px`
|
|
@@ -265663,7 +265726,7 @@ const SidePanel_SidePanel = ({
|
|
|
265663
265726
|
};
|
|
265664
265727
|
const getOpenStateComponent = () => {
|
|
265665
265728
|
return /*#__PURE__*/react.createElement("div", {
|
|
265666
|
-
className: "bg-primary-dark flex select-none rounded-t pt-1.5 pb-[2px]
|
|
265729
|
+
className: "bg-primary-dark flex select-none rounded-t pt-1.5 pb-[2px]"
|
|
265667
265730
|
}, getCloseIcon(), tabs.length === 1 ? getOneTabComponent() : getTabGridComponent());
|
|
265668
265731
|
};
|
|
265669
265732
|
return /*#__PURE__*/react.createElement("div", {
|
|
@@ -421567,7 +421630,7 @@ function __disposeResources(env) {
|
|
|
421567
421630
|
/******/ // This function allow to reference async chunks
|
|
421568
421631
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
421569
421632
|
/******/ // return url for filenames based on template
|
|
421570
|
-
/******/ return "" + ({"572":"polySeg","3054":"histogram-worker","3584":"suv-peak-worker"}[chunkId] || chunkId) + ".bundle." + {"
|
|
421633
|
+
/******/ return "" + ({"572":"polySeg","3054":"histogram-worker","3584":"suv-peak-worker"}[chunkId] || chunkId) + ".bundle." + {"213":"8c04fecea2e3796e4d73","572":"6e85073e3abf2e6e6078","717":"3a4b8835adf03e4554c7","1185":"d328aabb2b43e9ea1f96","1266":"46de27eda2ef1fce1243","1374":"1ee8326c0748c7b1a7c0","1436":"27ae9c87e9fc7f52cad3","1801":"c552846463998fdc9ad4","1927":"2b2fa0b539d6ac5b0dc3","2424":"38b19314ebd984c9d393","2591":"e1bbdc34a55bee082ff2","2701":"8c1ff2e0faaa7d2f4716","2825":"0307cae794e8b057c674","3054":"f0e060cf2637a2ca94b7","3121":"d3e7092e305cf6cecdb5","3198":"ab612063af0d67397377","3200":"ccb809fb554332d9a0f5","3334":"0e6ba24024018199ab66","3584":"1f483dc7131d7c26b517","3900":"3937999d1ee1f391647a","3970":"31942cc0c12a008e7ba0","4182":"ec850ce1f74b1f6fe559","4202":"5c8120ed4841da0af211","4834":"c25348524be5214e90d6","5139":"db30dc02cf41e91c8985","5247":"1a1d7c27de482e4a73f3","5261":"74682659cce85f3ae592","5630":"1bd2402f37597078c1a1","5687":"05de4787676bf79f9906","5807":"dac5ce36534a71c77723","6939":"9b79da82315a25f37d96","7159":"9f4856182f1eda29c59d","7197":"42a975bb7ae4a8df2d00","7955":"f6c5edb284bdf8b80f2a","8008":"d4187a30e8f656a21316","8228":"0a7997d04c82dd8c11c5","8259":"990db2fa9ce0800319e9","8295":"4ecb27f9e58526f12bcb","8558":"63714e2329c22c9cb9da","9551":"63b2679dd7beee6396d8","9611":"78a4ffb439f65cfd0379","9862":"aa2f8e0010f1be1bc87d"}[chunkId] + ".js";
|
|
421571
421634
|
/******/ };
|
|
421572
421635
|
/******/ })();
|
|
421573
421636
|
/******/
|