@ohif/app 3.7.0-beta.77 → 3.7.0-beta.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/{181.bundle.9406be756cfb7968981c.js → 181.bundle.9a76ce585a7139d4862f.js} +2 -2
  2. package/dist/{202.bundle.591726b6144882ba0ee0.js → 202.bundle.6c3b5e9f37d88388e5c8.js} +48 -26
  3. package/dist/{663.bundle.f4704358d88979413fc2.js → 663.bundle.5175469e25c5196a739c.js} +4 -4
  4. package/dist/{754.bundle.a5c9246c77659eab2739.js → 754.bundle.6618bdd7f648b532c682.js} +28 -18
  5. package/dist/{774.bundle.8ba82ee206266eb2da5e.js → 774.bundle.d365320749c4f67cda70.js} +3 -1
  6. package/dist/{116.bundle.422d1a76d8daccfed61d.js → 777.bundle.82a7cc23a7b6a8bd12fa.js} +293 -106
  7. package/dist/{782.bundle.c203eb0044248eadce50.js → 782.bundle.6fa60a24d3d4ad76c8db.js} +2 -2
  8. package/dist/{822.bundle.9a70e6c61f931d0b494d.js → 822.bundle.4767349eb43b79145b3e.js} +1 -1
  9. package/dist/{90.bundle.aa225b1457b31d5f13da.js → 90.bundle.1d113c4a201e850c98c0.js} +2 -2
  10. package/dist/{967.bundle.c4f5d8cccd0b98fb8e5d.js → 967.bundle.ab062b0b325bed3b9af9.js} +20 -4
  11. package/dist/{app.bundle.cb11442e23347b36351b.js → app.bundle.adf312c193d56262fa41.js} +10 -9
  12. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  13. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  14. package/dist/index.html +1 -1
  15. package/dist/sw.js +1 -1
  16. package/package.json +19 -19
  17. /package/dist/{12.bundle.0609045f3ef8a698e621.js → 12.bundle.653904a1682368c34d6b.js} +0 -0
  18. /package/dist/{128.bundle.042ce64cf4605184ca2d.js → 128.bundle.d4536952e6eda267cb5a.js} +0 -0
  19. /package/dist/{150.bundle.60a8e8848b9676657e44.js → 150.bundle.1fff6b0c3496b6367f58.js} +0 -0
  20. /package/dist/{236.bundle.6e2b4135a2a986dcc52c.js → 236.bundle.2386ed58739fdbdd53f8.js} +0 -0
  21. /package/dist/{281.bundle.510a540d099579ca0b46.js → 281.bundle.fbb8c83b343a6903d529.js} +0 -0
  22. /package/dist/{30.bundle.763c0c7b2a270248cad8.js → 30.bundle.16bfc3a374fc4eda5ffc.js} +0 -0
  23. /package/dist/{348.bundle.09129eddf504e82aeb5f.js → 348.bundle.343c39a8c96a044b0fe2.js} +0 -0
  24. /package/dist/{359.bundle.e00fdb6c1e2209d2bf18.js → 359.bundle.2618db789083f7d3007d.js} +0 -0
  25. /package/dist/{410.bundle.0511fd06923bdc8129c5.js → 410.bundle.5cc4909f3c608350a71e.js} +0 -0
  26. /package/dist/{506.bundle.4c8748ec37526d1368ee.js → 506.bundle.c0258b1d7299fdb7628e.js} +0 -0
  27. /package/dist/{687.bundle.52bd73d00f886617719c.js → 687.bundle.60d3856e6e77c027c174.js} +0 -0
  28. /package/dist/{814.bundle.0c93db51b74feab1a8db.js → 814.bundle.ba4f6267b43f8dbc803f.js} +0 -0
@@ -1542,8 +1542,8 @@ function getPanelModule(_ref) {
1542
1542
  }];
1543
1543
  }
1544
1544
  /* harmony default export */ const src_getPanelModule = (getPanelModule);
1545
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 326 modules
1546
- var esm = __webpack_require__(99116);
1545
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 327 modules
1546
+ var esm = __webpack_require__(99777);
1547
1547
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 337 modules
1548
1548
  var dist_esm = __webpack_require__(45754);
1549
1549
  ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/measurementServiceMappings/constants/supportedTools.js
@@ -14,7 +14,7 @@ __webpack_require__.r(__webpack_exports__);
14
14
  /* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34491);
15
15
  /* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88344);
16
16
  /* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69190);
17
- /* harmony import */ var _cornerstonejs_tools__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(99116);
17
+ /* harmony import */ var _cornerstonejs_tools__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(99777);
18
18
  /* harmony import */ var _getContextModule__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1053);
19
19
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(45754);
20
20
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -2191,8 +2191,8 @@ function ViewerHeader(_ref) {
2191
2191
  hotkeyDefinitions,
2192
2192
  hotkeyDefaults
2193
2193
  } = hotkeysManager;
2194
- const versionNumber = "3.7.0-beta.77";
2195
- const commitHash = "d609ae1edb7830cf18cedd05c375e8ac43088fc5";
2194
+ const versionNumber = "3.7.0-beta.79";
2195
+ const commitHash = "2bd3b26a6aa54b211ef988f3ad64ef1fe5648bab";
2196
2196
  const menuOptions = [{
2197
2197
  title: t('Header:About'),
2198
2198
  icon: 'info',
@@ -35,8 +35,8 @@ __webpack_require__.d(utils_namespaceObject, {
35
35
  var react = __webpack_require__(43001);
36
36
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 337 modules
37
37
  var esm = __webpack_require__(45754);
38
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 326 modules
39
- var dist_esm = __webpack_require__(99116);
38
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 327 modules
39
+ var dist_esm = __webpack_require__(99777);
40
40
  // EXTERNAL MODULE: ../../core/src/index.ts + 75 modules
41
41
  var src = __webpack_require__(34491);
42
42
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/streaming-image-volume-loader/dist/esm/index.js + 13 modules
@@ -86,7 +86,8 @@ function initWADOImageLoader(userAuthenticationService, appConfig, extensionMana
86
86
  // will convert everything to integers (to be able to work with cornerstone-2d).
87
87
  // Until the default is set to true (which is the case for cornerstone3D),
88
88
  // we should set this flag to false.
89
- convertFloatPixelDataToInt: false
89
+ convertFloatPixelDataToInt: false,
90
+ use16BitDataType: Boolean(appConfig.use16BitDataType)
90
91
  },
91
92
  beforeSend: function (xhr) {
92
93
  //TODO should be removed in the future and request emitted by DicomWebDataSource
@@ -3396,10 +3397,25 @@ async function init(_ref) {
3396
3397
  configuration,
3397
3398
  appConfig
3398
3399
  } = _ref;
3399
- await (0,esm.init)();
3400
+ await (0,esm.init)({
3401
+ rendering: {
3402
+ preferSizeOverAccuracy: Boolean(appConfig.use16BitDataType),
3403
+ useNorm16Texture: Boolean(appConfig.use16BitDataType)
3404
+ }
3405
+ });
3400
3406
 
3401
3407
  // For debugging e2e tests that are failing on CI
3402
3408
  esm.setUseCPURendering(Boolean(appConfig.useCPURendering));
3409
+ switch (appConfig.useSharedArrayBuffer) {
3410
+ case 'AUTO':
3411
+ esm.setUseSharedArrayBuffer(esm.Enums.SharedArrayBufferModes.AUTO);
3412
+ break;
3413
+ case 'FALSE':
3414
+ esm.setUseSharedArrayBuffer(esm.Enums.SharedArrayBufferModes.FALSE);
3415
+ break;
3416
+ default:
3417
+ esm.setUseSharedArrayBuffer(esm.Enums.SharedArrayBufferModes.TRUE);
3418
+ }
3403
3419
  esm.setConfiguration({
3404
3420
  ...esm.getConfiguration(),
3405
3421
  rendering: {
@@ -969,8 +969,8 @@ function WorkList(_ref) {
969
969
  };
970
970
  });
971
971
  const hasStudies = numOfStudies > 0;
972
- const versionNumber = "3.7.0-beta.77";
973
- const commitHash = "d609ae1edb7830cf18cedd05c375e8ac43088fc5";
972
+ const versionNumber = "3.7.0-beta.79";
973
+ const commitHash = "2bd3b26a6aa54b211ef988f3ad64ef1fe5648bab";
974
974
  const menuOptions = [{
975
975
  title: t('Header:About'),
976
976
  icon: 'info',
@@ -1926,15 +1926,15 @@ async function loadModule(module) {
1926
1926
  return imported.default;
1927
1927
  }
1928
1928
  if (module === "@ohif/extension-cornerstone") {
1929
- const imported = await Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(775), __webpack_require__.e(116), __webpack_require__.e(604), __webpack_require__.e(774), __webpack_require__.e(967)]).then(__webpack_require__.bind(__webpack_require__, 94004));
1929
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(775), __webpack_require__.e(777), __webpack_require__.e(604), __webpack_require__.e(774), __webpack_require__.e(967)]).then(__webpack_require__.bind(__webpack_require__, 94004));
1930
1930
  return imported.default;
1931
1931
  }
1932
1932
  if (module === "@ohif/extension-measurement-tracking") {
1933
- const imported = await Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(775), __webpack_require__.e(116), __webpack_require__.e(202), __webpack_require__.e(677), __webpack_require__.e(663), __webpack_require__.e(30)]).then(__webpack_require__.bind(__webpack_require__, 28030));
1933
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(775), __webpack_require__.e(777), __webpack_require__.e(202), __webpack_require__.e(677), __webpack_require__.e(663), __webpack_require__.e(30)]).then(__webpack_require__.bind(__webpack_require__, 28030));
1934
1934
  return imported.default;
1935
1935
  }
1936
1936
  if (module === "@ohif/extension-cornerstone-dicom-sr") {
1937
- const imported = await Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(775), __webpack_require__.e(116), __webpack_require__.e(202), __webpack_require__.e(663)]).then(__webpack_require__.bind(__webpack_require__, 42170));
1937
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(775), __webpack_require__.e(777), __webpack_require__.e(202), __webpack_require__.e(663)]).then(__webpack_require__.bind(__webpack_require__, 42170));
1938
1938
  return imported.default;
1939
1939
  }
1940
1940
  if (module === "@ohif/extension-cornerstone-dicom-seg") {
@@ -1954,7 +1954,7 @@ async function loadModule(module) {
1954
1954
  return imported.default;
1955
1955
  }
1956
1956
  if (module === "@ohif/extension-tmtv") {
1957
- const imported = await Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(775), __webpack_require__.e(116), __webpack_require__.e(782)]).then(__webpack_require__.bind(__webpack_require__, 43851));
1957
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(775), __webpack_require__.e(777), __webpack_require__.e(782)]).then(__webpack_require__.bind(__webpack_require__, 43851));
1958
1958
  return imported.default;
1959
1959
  }
1960
1960
  if (module === "@ohif/extension-test") {
@@ -8640,7 +8640,7 @@ const detectionOptions = {
8640
8640
  }
8641
8641
  });
8642
8642
  ;// CONCATENATED MODULE: ../../i18n/package.json
8643
- const package_namespaceObject = JSON.parse('{"i8":"3.7.0-beta.76"}');
8643
+ const package_namespaceObject = JSON.parse('{"i8":"3.7.0-beta.78"}');
8644
8644
  ;// CONCATENATED MODULE: ../../i18n/src/utils.js
8645
8645
  const languagesMap = {
8646
8646
  ar: 'Arabic',
@@ -51765,6 +51765,7 @@ class HangingProtocolService extends pubSubServiceInterface/* PubSubService */.h
51765
51765
  getActiveProtocol() {
51766
51766
  return {
51767
51767
  protocol: this.protocol,
51768
+ _originalProtocol: this._originalProtocol,
51768
51769
  stage: this.protocol?.stages?.[this.stageIndex],
51769
51770
  stageIndex: this.stageIndex,
51770
51771
  activeStudy: this.activeStudy,
@@ -56937,7 +56938,7 @@ webpackContext.id = 84179;
56937
56938
  /***/ 61539:
56938
56939
  /***/ (function(module) {
56939
56940
 
56940
- !function(e,t){ true?module.exports=t():0}(this,(()=>(()=>{"use strict";var e={578:(e,t,r)=>{const n=r(823),o=r(187),a=r(592),i=r(604),s=r(249),l=r(968),c=Object.prototype.toString,{Z_NO_FLUSH:u,Z_FINISH:d,Z_OK:f,Z_STREAM_END:m,Z_NEED_DICT:g,Z_STREAM_ERROR:h,Z_DATA_ERROR:p,Z_MEM_ERROR:x}=r(684);function w(e){this.options=o.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;let r=n.inflateInit2(this.strm,t.windowBits);if(r!==f)throw new Error(i[r]);if(this.header=new l,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=a.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=n.inflateSetDictionary(this.strm,t.dictionary),r!==f)))throw new Error(i[r])}function b(e,t){const r=new w(t);if(r.push(e),r.err)throw r.msg||i[r.err];return r.result}w.prototype.push=function(e,t){const r=this.strm,o=this.options.chunkSize,i=this.options.dictionary;let s,l,w;if(this.ended)return!1;for(l=t===~~t?t:!0===t?d:u,"[object ArrayBuffer]"===c.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(o),r.next_out=0,r.avail_out=o),s=n.inflate(r,l),s===g&&i&&(s=n.inflateSetDictionary(r,i),s===f?s=n.inflate(r,l):s===p&&(s=g));r.avail_in>0&&s===m&&r.state.wrap>0&&0!==e[r.next_in];)n.inflateReset(r),s=n.inflate(r,l);switch(s){case h:case p:case g:case x:return this.onEnd(s),this.ended=!0,!1}if(w=r.avail_out,r.next_out&&(0===r.avail_out||s===m))if("string"===this.options.to){let e=a.utf8border(r.output,r.next_out),t=r.next_out-e,n=a.buf2string(r.output,e);r.next_out=t,r.avail_out=o-t,t&&r.output.set(r.output.subarray(e,e+t),0),this.onData(n)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(s!==f||0!==w){if(s===m)return s=n.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},w.prototype.onData=function(e){this.chunks.push(e)},w.prototype.onEnd=function(e){e===f&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},e.exports.Hq=function(e,t){return(t=t||{}).raw=!0,b(e,t)},r(684)},187:e=>{const t=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);e.exports.assign=function(e){const r=Array.prototype.slice.call(arguments,1);for(;r.length;){const n=r.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(const r in n)t(n,r)&&(e[r]=n[r])}}return e},e.exports.flattenChunks=e=>{let t=0;for(let r=0,n=e.length;r<n;r++)t+=e[r].length;const r=new Uint8Array(t);for(let t=0,n=0,o=e.length;t<o;t++){let o=e[t];r.set(o,n),n+=o.length}return r}},592:e=>{let t=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){t=!1}const r=new Uint8Array(256);for(let e=0;e<256;e++)r[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;r[254]=r[254]=1,e.exports.string2buf=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,r,n,o,a,i=e.length,s=0;for(o=0;o<i;o++)r=e.charCodeAt(o),55296==(64512&r)&&o+1<i&&(n=e.charCodeAt(o+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),o++)),s+=r<128?1:r<2048?2:r<65536?3:4;for(t=new Uint8Array(s),a=0,o=0;a<s;o++)r=e.charCodeAt(o),55296==(64512&r)&&o+1<i&&(n=e.charCodeAt(o+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),o++)),r<128?t[a++]=r:r<2048?(t[a++]=192|r>>>6,t[a++]=128|63&r):r<65536?(t[a++]=224|r>>>12,t[a++]=128|r>>>6&63,t[a++]=128|63&r):(t[a++]=240|r>>>18,t[a++]=128|r>>>12&63,t[a++]=128|r>>>6&63,t[a++]=128|63&r);return t};e.exports.buf2string=(e,n)=>{const o=n||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,n));let a,i;const s=new Array(2*o);for(i=0,a=0;a<o;){let t=e[a++];if(t<128){s[i++]=t;continue}let n=r[t];if(n>4)s[i++]=65533,a+=n-1;else{for(t&=2===n?31:3===n?15:7;n>1&&a<o;)t=t<<6|63&e[a++],n--;n>1?s[i++]=65533:t<65536?s[i++]=t:(t-=65536,s[i++]=55296|t>>10&1023,s[i++]=56320|1023&t)}}return((e,r)=>{if(r<65534&&e.subarray&&t)return String.fromCharCode.apply(null,e.length===r?e:e.subarray(0,r));let n="";for(let t=0;t<r;t++)n+=String.fromCharCode(e[t]);return n})(s,i)},e.exports.utf8border=(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let n=t-1;for(;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+r[e[n]]>t?n:t}},693:e=>{e.exports=(e,t,r,n)=>{let o=65535&e|0,a=e>>>16&65535|0,i=0;for(;0!==r;){i=r>2e3?2e3:r,r-=i;do{o=o+t[n++]|0,a=a+o|0}while(--i);o%=65521,a%=65521}return o|a<<16|0}},684:e=>{e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},464:e=>{const t=new Uint32Array((()=>{let e,t=[];for(var r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t})());e.exports=(e,r,n,o)=>{const a=t,i=o+n;e^=-1;for(let t=o;t<i;t++)e=e>>>8^a[255&(e^r[t])];return-1^e}},968:e=>{e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},365:e=>{const t=16209;e.exports=function(e,r){let n,o,a,i,s,l,c,u,d,f,m,g,h,p,x,w,b,y,k,v,D,T,S,P;const I=e.state;n=e.next_in,S=e.input,o=n+(e.avail_in-5),a=e.next_out,P=e.output,i=a-(r-e.avail_out),s=a+(e.avail_out-257),l=I.dmax,c=I.wsize,u=I.whave,d=I.wnext,f=I.window,m=I.hold,g=I.bits,h=I.lencode,p=I.distcode,x=(1<<I.lenbits)-1,w=(1<<I.distbits)-1;e:do{g<15&&(m+=S[n++]<<g,g+=8,m+=S[n++]<<g,g+=8),b=h[m&x];t:for(;;){if(y=b>>>24,m>>>=y,g-=y,y=b>>>16&255,0===y)P[a++]=65535&b;else{if(!(16&y)){if(0==(64&y)){b=h[(65535&b)+(m&(1<<y)-1)];continue t}if(32&y){I.mode=16191;break e}e.msg="invalid literal/length code",I.mode=t;break e}k=65535&b,y&=15,y&&(g<y&&(m+=S[n++]<<g,g+=8),k+=m&(1<<y)-1,m>>>=y,g-=y),g<15&&(m+=S[n++]<<g,g+=8,m+=S[n++]<<g,g+=8),b=p[m&w];r:for(;;){if(y=b>>>24,m>>>=y,g-=y,y=b>>>16&255,!(16&y)){if(0==(64&y)){b=p[(65535&b)+(m&(1<<y)-1)];continue r}e.msg="invalid distance code",I.mode=t;break e}if(v=65535&b,y&=15,g<y&&(m+=S[n++]<<g,g+=8,g<y&&(m+=S[n++]<<g,g+=8)),v+=m&(1<<y)-1,v>l){e.msg="invalid distance too far back",I.mode=t;break e}if(m>>>=y,g-=y,y=a-i,v>y){if(y=v-y,y>u&&I.sane){e.msg="invalid distance too far back",I.mode=t;break e}if(D=0,T=f,0===d){if(D+=c-y,y<k){k-=y;do{P[a++]=f[D++]}while(--y);D=a-v,T=P}}else if(d<y){if(D+=c+d-y,y-=d,y<k){k-=y;do{P[a++]=f[D++]}while(--y);if(D=0,d<k){y=d,k-=y;do{P[a++]=f[D++]}while(--y);D=a-v,T=P}}}else if(D+=d-y,y<k){k-=y;do{P[a++]=f[D++]}while(--y);D=a-v,T=P}for(;k>2;)P[a++]=T[D++],P[a++]=T[D++],P[a++]=T[D++],k-=3;k&&(P[a++]=T[D++],k>1&&(P[a++]=T[D++]))}else{D=a-v;do{P[a++]=P[D++],P[a++]=P[D++],P[a++]=P[D++],k-=3}while(k>2);k&&(P[a++]=P[D++],k>1&&(P[a++]=P[D++]))}break}}break}}while(n<o&&a<s);k=g>>3,n-=k,g-=k<<3,m&=(1<<g)-1,e.next_in=n,e.next_out=a,e.avail_in=n<o?o-n+5:5-(n-o),e.avail_out=a<s?s-a+257:257-(a-s),I.hold=m,I.bits=g}},823:(e,t,r)=>{const n=r(693),o=r(464),a=r(365),i=r(446),{Z_FINISH:s,Z_BLOCK:l,Z_TREES:c,Z_OK:u,Z_STREAM_END:d,Z_NEED_DICT:f,Z_STREAM_ERROR:m,Z_DATA_ERROR:g,Z_MEM_ERROR:h,Z_BUF_ERROR:p,Z_DEFLATED:x}=r(684),w=16180,b=16190,y=16191,k=16192,v=16194,D=16199,T=16200,S=16206,P=16209,I=16210,C=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function _(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const L=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<w||t.mode>16211?1:0},A=e=>{if(L(e))return m;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=w,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,u},M=e=>{if(L(e))return m;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,A(e)},E=(e,t)=>{let r;if(L(e))return m;const n=e.state;return t<0?(r=0,t=-t):(r=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?m:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,M(e))},R=(e,t)=>{if(!e)return m;const r=new _;e.state=r,r.strm=e,r.window=null,r.mode=w;const n=E(e,t);return n!==u&&(e.state=null),n};let F,O,B=!0;const U=e=>{if(B){F=new Int32Array(512),O=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(i(1,e.lens,0,288,F,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;i(2,e.lens,0,32,O,0,e.work,{bits:5}),B=!1}e.lencode=F,e.lenbits=9,e.distcode=O,e.distbits=5},N=(e,t,r,n)=>{let o;const a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),n>=a.wsize?(a.window.set(t.subarray(r-a.wsize,r),0),a.wnext=0,a.whave=a.wsize):(o=a.wsize-a.wnext,o>n&&(o=n),a.window.set(t.subarray(r-n,r-n+o),a.wnext),(n-=o)?(a.window.set(t.subarray(r-n,r),0),a.wnext=n,a.whave=a.wsize):(a.wnext+=o,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=o))),0};e.exports.inflateReset=M,e.exports.inflateReset2=E,e.exports.inflateResetKeep=A,e.exports.inflateInit=e=>R(e,15),e.exports.inflateInit2=R,e.exports.inflate=(e,t)=>{let r,_,A,M,E,R,F,O,B,j,W,Z,$,G,V,q,z,Y,H,K,J,X,Q=0;const ee=new Uint8Array(4);let te,re;const ne=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(L(e)||!e.output||!e.input&&0!==e.avail_in)return m;r=e.state,r.mode===y&&(r.mode=k),E=e.next_out,A=e.output,F=e.avail_out,M=e.next_in,_=e.input,R=e.avail_in,O=r.hold,B=r.bits,j=R,W=F,X=u;e:for(;;)switch(r.mode){case w:if(0===r.wrap){r.mode=k;break}for(;B<16;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(2&r.wrap&&35615===O){0===r.wbits&&(r.wbits=15),r.check=0,ee[0]=255&O,ee[1]=O>>>8&255,r.check=o(r.check,ee,2,0),O=0,B=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&O)<<8)+(O>>8))%31){e.msg="incorrect header check",r.mode=P;break}if((15&O)!==x){e.msg="unknown compression method",r.mode=P;break}if(O>>>=4,B-=4,J=8+(15&O),0===r.wbits&&(r.wbits=J),J>15||J>r.wbits){e.msg="invalid window size",r.mode=P;break}r.dmax=1<<r.wbits,r.flags=0,e.adler=r.check=1,r.mode=512&O?16189:y,O=0,B=0;break;case 16181:for(;B<16;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(r.flags=O,(255&r.flags)!==x){e.msg="unknown compression method",r.mode=P;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=P;break}r.head&&(r.head.text=O>>8&1),512&r.flags&&4&r.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,r.check=o(r.check,ee,2,0)),O=0,B=0,r.mode=16182;case 16182:for(;B<32;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.head&&(r.head.time=O),512&r.flags&&4&r.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,ee[2]=O>>>16&255,ee[3]=O>>>24&255,r.check=o(r.check,ee,4,0)),O=0,B=0,r.mode=16183;case 16183:for(;B<16;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.head&&(r.head.xflags=255&O,r.head.os=O>>8),512&r.flags&&4&r.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,r.check=o(r.check,ee,2,0)),O=0,B=0,r.mode=16184;case 16184:if(1024&r.flags){for(;B<16;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.length=O,r.head&&(r.head.extra_len=O),512&r.flags&&4&r.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,r.check=o(r.check,ee,2,0)),O=0,B=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(Z=r.length,Z>R&&(Z=R),Z&&(r.head&&(J=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(_.subarray(M,M+Z),J)),512&r.flags&&4&r.wrap&&(r.check=o(r.check,_,Z,M)),R-=Z,M+=Z,r.length-=Z),r.length))break e;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===R)break e;Z=0;do{J=_[M+Z++],r.head&&J&&r.length<65536&&(r.head.name+=String.fromCharCode(J))}while(J&&Z<R);if(512&r.flags&&4&r.wrap&&(r.check=o(r.check,_,Z,M)),R-=Z,M+=Z,J)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===R)break e;Z=0;do{J=_[M+Z++],r.head&&J&&r.length<65536&&(r.head.comment+=String.fromCharCode(J))}while(J&&Z<R);if(512&r.flags&&4&r.wrap&&(r.check=o(r.check,_,Z,M)),R-=Z,M+=Z,J)break e}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;B<16;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(4&r.wrap&&O!==(65535&r.check)){e.msg="header crc mismatch",r.mode=P;break}O=0,B=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=y;break;case 16189:for(;B<32;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}e.adler=r.check=C(O),O=0,B=0,r.mode=b;case b:if(0===r.havedict)return e.next_out=E,e.avail_out=F,e.next_in=M,e.avail_in=R,r.hold=O,r.bits=B,f;e.adler=r.check=1,r.mode=y;case y:if(t===l||t===c)break e;case k:if(r.last){O>>>=7&B,B-=7&B,r.mode=S;break}for(;B<3;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}switch(r.last=1&O,O>>>=1,B-=1,3&O){case 0:r.mode=16193;break;case 1:if(U(r),r.mode=D,t===c){O>>>=2,B-=2;break e}break;case 2:r.mode=16196;break;case 3:e.msg="invalid block type",r.mode=P}O>>>=2,B-=2;break;case 16193:for(O>>>=7&B,B-=7&B;B<32;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if((65535&O)!=(O>>>16^65535)){e.msg="invalid stored block lengths",r.mode=P;break}if(r.length=65535&O,O=0,B=0,r.mode=v,t===c)break e;case v:r.mode=16195;case 16195:if(Z=r.length,Z){if(Z>R&&(Z=R),Z>F&&(Z=F),0===Z)break e;A.set(_.subarray(M,M+Z),E),R-=Z,M+=Z,F-=Z,E+=Z,r.length-=Z;break}r.mode=y;break;case 16196:for(;B<14;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(r.nlen=257+(31&O),O>>>=5,B-=5,r.ndist=1+(31&O),O>>>=5,B-=5,r.ncode=4+(15&O),O>>>=4,B-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=P;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;B<3;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.lens[ne[r.have++]]=7&O,O>>>=3,B-=3}for(;r.have<19;)r.lens[ne[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,te={bits:r.lenbits},X=i(0,r.lens,0,19,r.lencode,0,r.work,te),r.lenbits=te.bits,X){e.msg="invalid code lengths set",r.mode=P;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;Q=r.lencode[O&(1<<r.lenbits)-1],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(V<=B);){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(z<16)O>>>=V,B-=V,r.lens[r.have++]=z;else{if(16===z){for(re=V+2;B<re;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(O>>>=V,B-=V,0===r.have){e.msg="invalid bit length repeat",r.mode=P;break}J=r.lens[r.have-1],Z=3+(3&O),O>>>=2,B-=2}else if(17===z){for(re=V+3;B<re;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}O>>>=V,B-=V,J=0,Z=3+(7&O),O>>>=3,B-=3}else{for(re=V+7;B<re;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}O>>>=V,B-=V,J=0,Z=11+(127&O),O>>>=7,B-=7}if(r.have+Z>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=P;break}for(;Z--;)r.lens[r.have++]=J}}if(r.mode===P)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=P;break}if(r.lenbits=9,te={bits:r.lenbits},X=i(1,r.lens,0,r.nlen,r.lencode,0,r.work,te),r.lenbits=te.bits,X){e.msg="invalid literal/lengths set",r.mode=P;break}if(r.distbits=6,r.distcode=r.distdyn,te={bits:r.distbits},X=i(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,te),r.distbits=te.bits,X){e.msg="invalid distances set",r.mode=P;break}if(r.mode=D,t===c)break e;case D:r.mode=T;case T:if(R>=6&&F>=258){e.next_out=E,e.avail_out=F,e.next_in=M,e.avail_in=R,r.hold=O,r.bits=B,a(e,W),E=e.next_out,A=e.output,F=e.avail_out,M=e.next_in,_=e.input,R=e.avail_in,O=r.hold,B=r.bits,r.mode===y&&(r.back=-1);break}for(r.back=0;Q=r.lencode[O&(1<<r.lenbits)-1],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(V<=B);){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(q&&0==(240&q)){for(Y=V,H=q,K=z;Q=r.lencode[K+((O&(1<<Y+H)-1)>>Y)],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(Y+V<=B);){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}O>>>=Y,B-=Y,r.back+=Y}if(O>>>=V,B-=V,r.back+=V,r.length=z,0===q){r.mode=16205;break}if(32&q){r.back=-1,r.mode=y;break}if(64&q){e.msg="invalid literal/length code",r.mode=P;break}r.extra=15&q,r.mode=16201;case 16201:if(r.extra){for(re=r.extra;B<re;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.length+=O&(1<<r.extra)-1,O>>>=r.extra,B-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;Q=r.distcode[O&(1<<r.distbits)-1],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(V<=B);){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(0==(240&q)){for(Y=V,H=q,K=z;Q=r.distcode[K+((O&(1<<Y+H)-1)>>Y)],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(Y+V<=B);){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}O>>>=Y,B-=Y,r.back+=Y}if(O>>>=V,B-=V,r.back+=V,64&q){e.msg="invalid distance code",r.mode=P;break}r.offset=z,r.extra=15&q,r.mode=16203;case 16203:if(r.extra){for(re=r.extra;B<re;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.offset+=O&(1<<r.extra)-1,O>>>=r.extra,B-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=P;break}r.mode=16204;case 16204:if(0===F)break e;if(Z=W-F,r.offset>Z){if(Z=r.offset-Z,Z>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=P;break}Z>r.wnext?(Z-=r.wnext,$=r.wsize-Z):$=r.wnext-Z,Z>r.length&&(Z=r.length),G=r.window}else G=A,$=E-r.offset,Z=r.length;Z>F&&(Z=F),F-=Z,r.length-=Z;do{A[E++]=G[$++]}while(--Z);0===r.length&&(r.mode=T);break;case 16205:if(0===F)break e;A[E++]=r.length,F--,r.mode=T;break;case S:if(r.wrap){for(;B<32;){if(0===R)break e;R--,O|=_[M++]<<B,B+=8}if(W-=F,e.total_out+=W,r.total+=W,4&r.wrap&&W&&(e.adler=r.check=r.flags?o(r.check,A,W,E-W):n(r.check,A,W,E-W)),W=F,4&r.wrap&&(r.flags?O:C(O))!==r.check){e.msg="incorrect data check",r.mode=P;break}O=0,B=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;B<32;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(4&r.wrap&&O!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=P;break}O=0,B=0}r.mode=16208;case 16208:X=d;break e;case P:X=g;break e;case I:return h;default:return m}return e.next_out=E,e.avail_out=F,e.next_in=M,e.avail_in=R,r.hold=O,r.bits=B,(r.wsize||W!==e.avail_out&&r.mode<P&&(r.mode<S||t!==s))&&N(e,e.output,e.next_out,W-e.avail_out)?(r.mode=I,h):(j-=e.avail_in,W-=e.avail_out,e.total_in+=j,e.total_out+=W,r.total+=W,4&r.wrap&&W&&(e.adler=r.check=r.flags?o(r.check,A,W,e.next_out-W):n(r.check,A,W,e.next_out-W)),e.data_type=r.bits+(r.last?64:0)+(r.mode===y?128:0)+(r.mode===D||r.mode===v?256:0),(0===j&&0===W||t===s)&&X===u&&(X=p),X)},e.exports.inflateEnd=e=>{if(L(e))return m;let t=e.state;return t.window&&(t.window=null),e.state=null,u},e.exports.inflateGetHeader=(e,t)=>{if(L(e))return m;const r=e.state;return 0==(2&r.wrap)?m:(r.head=t,t.done=!1,u)},e.exports.inflateSetDictionary=(e,t)=>{const r=t.length;let o,a,i;return L(e)?m:(o=e.state,0!==o.wrap&&o.mode!==b?m:o.mode===b&&(a=1,a=n(a,t,r,0),a!==o.check)?g:(i=N(e,t,r,r),i?(o.mode=I,h):(o.havedict=1,u)))},e.exports.inflateInfo="pako inflate (from Nodeca project)"},446:e=>{const t=15,r=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),n=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),o=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),a=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);e.exports=(e,i,s,l,c,u,d,f)=>{const m=f.bits;let g,h,p,x,w,b,y=0,k=0,v=0,D=0,T=0,S=0,P=0,I=0,C=0,_=0,L=null;const A=new Uint16Array(16),M=new Uint16Array(16);let E,R,F,O=null;for(y=0;y<=t;y++)A[y]=0;for(k=0;k<l;k++)A[i[s+k]]++;for(T=m,D=t;D>=1&&0===A[D];D--);if(T>D&&(T=D),0===D)return c[u++]=20971520,c[u++]=20971520,f.bits=1,0;for(v=1;v<D&&0===A[v];v++);for(T<v&&(T=v),I=1,y=1;y<=t;y++)if(I<<=1,I-=A[y],I<0)return-1;if(I>0&&(0===e||1!==D))return-1;for(M[1]=0,y=1;y<t;y++)M[y+1]=M[y]+A[y];for(k=0;k<l;k++)0!==i[s+k]&&(d[M[i[s+k]]++]=k);if(0===e?(L=O=d,b=20):1===e?(L=r,O=n,b=257):(L=o,O=a,b=0),_=0,k=0,y=v,w=u,S=T,P=0,p=-1,C=1<<T,x=C-1,1===e&&C>852||2===e&&C>592)return 1;for(;;){E=y-P,d[k]+1<b?(R=0,F=d[k]):d[k]>=b?(R=O[d[k]-b],F=L[d[k]-b]):(R=96,F=0),g=1<<y-P,h=1<<S,v=h;do{h-=g,c[w+(_>>P)+h]=E<<24|R<<16|F|0}while(0!==h);for(g=1<<y-1;_&g;)g>>=1;if(0!==g?(_&=g-1,_+=g):_=0,k++,0==--A[y]){if(y===D)break;y=i[s+d[k]]}if(y>T&&(_&x)!==p){for(0===P&&(P=T),w+=v,S=y-P,I=1<<S;S+P<D&&(I-=A[S+P],!(I<=0));)S++,I<<=1;if(C+=1<<S,1===e&&C>852||2===e&&C>592)return 1;p=_&x,c[p]=T<<24|S<<16|w-u|0}}return 0!==_&&(c[w+_]=y-P<<24|64<<16|0),f.bits=T,0}},604:e=>{e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},249:e=>{e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var o=n.length-1;o>-1&&!e;)e=n[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})();var n={};return(()=>{function e(e,t,r){if(void 0===e)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");const n=e.length/3;let o=0,a=0;if(r)for(let r=0;r<n;r++)t[a++]=e[o++],t[a++]=e[o++],t[a++]=e[o++],t[a++]=255;else t.set(e)}function t(e,t,r){if(void 0===e)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");const n=e.length/3;let o=0,a=0,i=n,s=2*n;if(r)for(let r=0;r<n;r++)t[o++]=e[a++],t[o++]=e[i++],t[o++]=e[s++],t[o++]=255;else for(let r=0;r<n;r++)t[o++]=e[a++],t[o++]=e[i++],t[o++]=e[s++]}function o(e,t,r){if(void 0===e)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");const n=e.length/3;let o=0,a=0;if(r)for(let r=0;r<n;r++){const r=e[o++],n=e[o++],i=e[o++];t[a++]=r+1.402*(i-128),t[a++]=r-.34414*(n-128)-.71414*(i-128),t[a++]=r+1.772*(n-128),t[a++]=255}else for(let r=0;r<n;r++){const r=e[o++],n=e[o++],i=e[o++];t[a++]=r+1.402*(i-128),t[a++]=r-.34414*(n-128)-.71414*(i-128),t[a++]=r+1.772*(n-128)}}function a(e,t,r){if(void 0===e)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");const n=e.length/3;let o=0,a=0,i=n,s=2*n;if(r)for(let r=0;r<n;r++){const r=e[a++],n=e[i++],l=e[s++];t[o++]=r+1.402*(l-128),t[o++]=r-.34414*(n-128)-.71414*(l-128),t[o++]=r+1.772*(n-128),t[o++]=255}else for(let r=0;r<n;r++){const r=e[a++],n=e[i++],l=e[s++];t[o++]=r+1.402*(l-128),t[o++]=r-.34414*(n-128)-.71414*(l-128),t[o++]=r+1.772*(n-128)}}r.r(n),r.d(n,{configure:()=>nt,convertColorSpace:()=>N,convertPALETTECOLOR:()=>rt,convertRGBColorByPixel:()=>e,convertRGBColorByPlane:()=>t,convertYBRFullByPixel:()=>o,convertYBRFullByPlane:()=>a,createImage:()=>ce,decodeImageFrame:()=>ne,decodeJPEGBaseline8BitColor:()=>W,default:()=>at,external:()=>et,getImageFrame:()=>oe,getMinMax:()=>B,getPixelData:()=>O,internal:()=>R,isColorImage:()=>ae,isJPEGBaseline8BitColor:()=>ot,wadors:()=>de,wadouri:()=>He,webWorkerManager:()=>ee});const i=function(e,t,r){return t=t||0,e&&e.Value?e.Value.length<=t?r:e.Value[t]:r};const s=function(e,t,r){const n=i(e,t,r);if(void 0!==n)return parseFloat(n)};const l=function(e,t){const r=i(e,t);if(void 0!==r)return parseFloat(r)};const c=function(e,t){if(!e)return;if(!e.Value)return;if(!Array.isArray(e.Value))return;if(t&&e.Value.length<t)return;const r=[];for(let t=0;t<e.Value.length;t++)r.push(parseFloat(e.Value[t]));return r};function u(e){const t=e.indexOf(":");return e.substring(t+1)}function d(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e&&e.Value?e.Value[0]&&t?e.Value[0]:e.Value:e}function f(e,t,r){return{shared:(t?Object.values(t[0]):[]).map((e=>e[0])).filter((e=>void 0!==e&&"object"==typeof e)),perFrame:(e?Object.values(e[r-1]):[]).map((e=>e.Value[0])).filter((e=>void 0!==e&&"object"==typeof e))}}function m(e){let{52009230:t,52009229:r,"00280008":n,...o}=e;return t=d(t,!1),r=d(r,!1),n=d(n),{PerFrameFunctionalGroupsSequence:t,SharedFunctionalGroupsSequence:r,NumberOfFrames:n,rest:o}}function g(e){const t=e.indexOf("/frames/")+8,r=e.slice(0,t),n=parseInt(e.slice(t),10);return{metadata:p[`${r}1`],frame:n}}const h={_retrieveMultiframeMetadata:g,retrieveMultiframeMetadata:function(e){return g(u(e))},isMultiframe:function(e){const t=i(e["00280008"]);return t&&t>1}};let p=[],x={};const w={add:function(e,t){const r=u(e);t.isMultiframe=h.isMultiframe(t),p[r]=t},get:function(e){const t=u(e),r=p[t];if(r&&!r?.isMultiframe)return r;const n=x[t];if(n)return n;const o=h._retrieveMultiframeMetadata(t);if(!o||!o.metadata)return;const{metadata:a,frame:i}=o;if(a){const e=function(e,t){const{PerFrameFunctionalGroupsSequence:r,SharedFunctionalGroupsSequence:n,NumberOfFrames:o,rest:a}=m(t);if(r||o>1){const{shared:i,perFrame:s}=f(r,n,e),l=Object.assign(t,{frameNumber:e});return[...i,...s].forEach((e=>{Object.entries(e).forEach((e=>{let[t,r]=e;l[t]=r}))})),Object.assign(a,{"00280008":o},l)}return t}(i,a);return x[t]=e,e}},remove:function(e){const t=u(e);p[t]=void 0,x[t]=void 0},purge:function(){p=[],x={}}};function b(e){return"RECON TOMO"===e||"RECON GATED TOMO"===e}function y(e){return i(e["00080060"]).includes("NM")}function k(e,t){const r=d(e["00080008"],!1);if(r)return r[t]}function v(e){let t=c(e["00200037"],6);return!t&&y(e)&&(t=function(e){let t;const r=k(e,2);if(r&&b(r)){const r=d(e["00540022"]);r&&(t=c(r["00200037"],6))}return t}(e)),t}function D(e){let t=c(e["00200032"],3);return!t&&y(e)&&(t=function(e){let t;const r=k(e,2);if(r&&b(r)){const r=d(e["00540022"]);r&&(t=c(r["00200032"],3))}return t}(e)),t}function T(e,t,r){const n={};for(const o of r)try{const r=t(o,e);if(r){const e={};for(const t in r)if(t in r){e[S(t)]=r[t]}Object.assign(n,e)}}catch(e){console.error(`Error retrieving ${o} data:`,e)}return n}const S=e=>e.charAt(0).toUpperCase()+e.slice(1),P=["multiframeModule","generalSeriesModule","patientStudyModule","imagePlaneModule","nmMultiframeGeometryModule","imagePixelModule","modalityLutModule","voiLutModule","sopCommonModule","petIsotopeModule","overlayPlaneModule","transferSyntax","petSeriesModule","petImageModule"];const I=function e(t,r){if("multiframeModule"===t){const{metadata:e,frame:t}=h.retrieveMultiframeMetadata(r);if(!e)return;const{PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:o,NumberOfFrames:a}=m(e);if(n||a>1){const{shared:e,perFrame:r}=f(n,o,t);return{NumberOfFrames:a,PerFrameFunctionalInformation:r,SharedFunctionalInformation:e}}return{NumberOfFrames:a}}const{dicomParser:n}=et,o=w.get(r);if(o){if("generalSeriesModule"===t)return{modality:i(o["00080060"]),seriesInstanceUID:i(o["0020000E"]),seriesNumber:l(o["00200011"]),studyInstanceUID:i(o["0020000D"]),seriesDate:n.parseDA(i(o["00080021"])),seriesTime:n.parseTM(i(o["00080031"],0,"")),acquisitionDate:n.parseDA(i(o["00080022"]),""),acquisitionTime:n.parseTM(i(o["00080032"],0,""))};if("patientStudyModule"===t)return{patientAge:l(o["00101010"]),patientSize:l(o["00101020"]),patientSex:i(o["00100040"]),patientWeight:l(o["00101030"])};if("nmMultiframeGeometryModule"===t){const e=i(o["00080060"]),t=k(o,2);return{modality:e,imageType:i(o["00080008"]),imageSubType:t,imageOrientationPatient:v(o),imagePositionPatient:D(o),sliceThickness:l(o["00180050"]),pixelSpacing:c(o["00280030"],2),numberOfFrames:l(o["00280008"]),isNMReconstructable:b(t)&&e.includes("NM")}}if("imagePlaneModule"===t){const e=v(o),t=D(o),r=c(o["00280030"],2);let n=null,a=null;r&&(a=r[0],n=r[1]);let s=null,u=null;return e&&(s=[parseFloat(e[0]),parseFloat(e[1]),parseFloat(e[2])],u=[parseFloat(e[3]),parseFloat(e[4]),parseFloat(e[5])]),{frameOfReferenceUID:i(o["00200052"]),rows:l(o["00280010"]),columns:l(o["00280011"]),imageOrientationPatient:e,rowCosines:s,columnCosines:u,imagePositionPatient:t,sliceThickness:l(o["00180050"]),sliceLocation:l(o["00201041"]),pixelSpacing:r,rowPixelSpacing:a,columnPixelSpacing:n}}if("imagePixelModule"===t)return{samplesPerPixel:l(o["00280002"]),photometricInterpretation:i(o["00280004"]),rows:l(o["00280010"]),columns:l(o["00280011"]),bitsAllocated:l(o["00280100"]),bitsStored:l(o["00280101"]),highBit:i(o["00280102"]),pixelRepresentation:l(o["00280103"]),planarConfiguration:l(o["00280006"]),pixelAspectRatio:i(o["00280034"]),smallestPixelValue:l(o["00280106"]),largestPixelValue:l(o["00280107"]),redPaletteColorLookupTableDescriptor:c(o["00281101"]),greenPaletteColorLookupTableDescriptor:c(o["00281102"]),bluePaletteColorLookupTableDescriptor:c(o["00281103"]),redPaletteColorLookupTableData:c(o["00281201"]),greenPaletteColorLookupTableData:c(o["00281202"]),bluePaletteColorLookupTableData:c(o["00281203"])};if("voiLutModule"===t)return{windowCenter:c(o["00281050"],1),windowWidth:c(o["00281051"],1)};if("modalityLutModule"===t)return{rescaleIntercept:l(o["00281052"]),rescaleSlope:l(o["00281053"]),rescaleType:i(o["00281054"])};if("sopCommonModule"===t)return{sopClassUID:i(o["00080016"]),sopInstanceUID:i(o["00080018"])};if("petIsotopeModule"===t){const e=i(o["00540016"]);if(void 0===e)return;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:n.parseTM(i(e["00181072"],0,"")),radiopharmaceuticalStartDateTime:i(e["00181078"],0,""),radionuclideTotalDose:l(e["00181074"]),radionuclideHalfLife:l(e["00181075"])}}}return"overlayPlaneModule"===t?function(e){const t=[];for(let r=0;r<=30;r+=2){let n=`x60${r.toString(16)}`;4===n.length&&(n=`x600${r.toString(16)}`);const o=i(e[`${n}3000`]);if(!o)continue;const a=[];for(let t=0;t<o.length;t++)for(let r=0;r<8;r++){const n=e.Value[o.dataOffset+t];a[8*t+r]=n>>r&1}t.push({rows:l(e[`${n}0010`]),columns:l(e[`${n}0011`]),type:i(e[`${n}0040`]),x:l(e[`${n}0050`],1)-1,y:l(e[`${n}0050`],0)-1,pixelData:a,description:i(e[`${n}0022`]),label:i(e[`${n}1500`]),roiArea:i(e[`${n}1301`]),roiMean:i(e[`${n}1302`]),roiStandardDeviation:i(e[`${n}1303`])})}return{overlays:t}}(o):"transferSyntax"===t?{transferSyntaxUID:i(o["00020010"])}:"petSeriesModule"===t?{correctedImage:i(o["00280051"]),units:i(o["00541001"]),decayCorrection:i(o["00541102"])}:"petImageModule"===t?{frameReferenceTime:l(o["00541300"]),actualFrameDuration:l(o["00181242"])}:"instance"===t?T(r,e,P):void 0}};function C(e,t,r){if(r+e.length>t.length)return!1;let n=r;for(let r=0;r<e.length;r++)if(e[r]!==t[n++])return!1;return!0}const _=function(e,t,r){r=r||0;const n=function(e){const t=new Uint8Array(e.length);for(let r=0,n=e.length;r<n;r++)t[r]=e.charCodeAt(r);return t}(t);for(let t=r;t<e.length;t++)if(n[0]===e[t]&&C(n,e,t))return t;return-1};let L={open(e,t){e.open("get",t,!0)},beforeSend(){},beforeProcessing:e=>Promise.resolve(e.response),imageCreated(){},strict:!1,decodeConfig:{convertFloatPixelDataToInt:!0,use16BitDataType:!1}};function A(e){L=Object.assign(L,e)}function M(){return L}const E=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const{cornerstone:o}=et,a=M(),i=e=>{if("function"==typeof a.errorInterceptor){const t=new Error("request failed");t.request=e,t.response=e.response,t.status=e.status,a.errorInterceptor(t)}},s=new XMLHttpRequest,l=new Promise(((l,c)=>{a.open(s,e,r,n);const u=a.beforeSend(s,t,r,n);s.responseType="arraybuffer";const d=Object.assign({},r,u);Object.keys(d).forEach((function(t){null!==d[t]&&("Accept"===t&&-1!==e.indexOf("accept=")||s.setRequestHeader(t,d[t]))})),n.deferred={resolve:l,reject:c},n.url=e,n.imageId=t,s.onloadstart=function(r){a.onloadstart&&a.onloadstart(r,n);const i={url:e,imageId:t};o.triggerEvent(o.events,"cornerstoneimageloadstart",i)},s.onloadend=function(r){a.onloadend&&a.onloadend(r,n);const i={url:e,imageId:t};o.triggerEvent(o.events,"cornerstoneimageloadend",i)},s.onreadystatechange=function(e){a.onreadystatechange?a.onreadystatechange(e,n):4===s.readyState&&(200===s.status?a.beforeProcessing(s).then(l).catch((()=>{i(s),c(s)})):(i(s),c(s)))},s.onprogress=function(r){const i=r.loaded;let s,l;r.lengthComputable&&(s=r.total,l=Math.round(i/s*100)),a.onprogress&&a.onprogress(r,n);const c={url:e,imageId:t,loaded:i,total:s,percentComplete:l};o.triggerEvent(o.events,o.EVENTS.IMAGE_LOAD_PROGRESS,c)},s.onerror=function(){i(s),c(s)},s.onabort=function(){i(s),c(s)},s.send()}));return l.xhr=s,l},R={xhrRequest:E,setOptions:A,getOptions:M};function F(e){for(let t=0;t<e.length;t++)if("Content-Type:"===e[t].substr(0,13))return e[t].substr(13).trim()}const O=function(e,t){const r={Accept:arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/octet-stream"};return new Promise(((n,o)=>{const a=E(e,t,r),{xhr:i}=a;a.then((function(e){const t=new Uint8Array(e),r=i.getResponseHeader("Content-Type")||"application/octet-stream";if(-1===r.indexOf("multipart"))return void n({contentType:r,imageFrame:{pixelData:t}});const a=_(t,"\r\n\r\n");-1===a&&o(new Error("invalid response - no multipart mime header"));const s=function(e,t,r){t=t||0,r=r||e.length-t;let n="";for(let o=t;o<t+r;o++)n+=String.fromCharCode(e[o]);return n}(t,0,a),l=s.split("\r\n"),c=function(e){for(let t=0;t<e.length;t++)if("--"===e[t].substr(0,2))return e[t]}(l);c||o(new Error("invalid response - no boundary marker"));const u=a+4,d=_(t,c,u);-1===d&&o(new Error("invalid response - terminating boundary not found"));const f=d-u-2;n({contentType:F(l),imageFrame:{pixelData:new Uint8Array(e,u,f)}})}),o)}))};const B=function(e){let t,r=e[0],n=e[0];const o=e.length;for(let a=1;a<o;a++)t=e[a],r=Math.min(r,t),n=Math.max(n,t);return{min:r,max:n}};function U(r,n,o){0===r.planarConfiguration?e(r.pixelData,n,o):t(r.pixelData,n,o)}function N(e,t,r){if("RGB"===e.photometricInterpretation)U(e,t,r);else if("YBR_RCT"===e.photometricInterpretation)U(e,t,r);else if("YBR_ICT"===e.photometricInterpretation)U(e,t,r);else if("PALETTE COLOR"===e.photometricInterpretation)rt(e,t,r);else if("YBR_FULL_422"===e.photometricInterpretation)!function(e,t,r){if(void 0===e)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(e.length%2!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");const n=e.length/2;let o=0,a=0;if(r)for(let r=0;r<n;r+=2){const r=e[o++],n=e[o++],i=e[o++],s=e[o++];t[a++]=r+1.402*(s-128),t[a++]=r-.34414*(i-128)-.71414*(s-128),t[a++]=r+1.772*(i-128),t[a++]=255,t[a++]=n+1.402*(s-128),t[a++]=n-.34414*(i-128)-.71414*(s-128),t[a++]=n+1.772*(i-128),t[a++]=255}else for(let r=0;r<n;r+=2){const r=e[o++],n=e[o++],i=e[o++],s=e[o++];t[a++]=r+1.402*(s-128),t[a++]=r-.34414*(i-128)-.71414*(s-128),t[a++]=r+1.772*(i-128),t[a++]=n+1.402*(s-128),t[a++]=n-.34414*(i-128)-.71414*(s-128),t[a++]=n+1.772*(i-128)}}(e.pixelData,t,r);else{if("YBR_FULL"!==e.photometricInterpretation)throw new Error(`No color space conversion for photometric interpretation ${e.photometricInterpretation}`);!function(e,t,r){0===e.planarConfiguration?o(e.pixelData,t,r):a(e.pixelData,t,r)}(e,t,r)}}function j(e){return function(e){let t;try{return decodeURIComponent(escape(e))}catch(r){if(t=r,t instanceof URIError)return e;throw t}}(String.fromCharCode.apply(null,Array.prototype.slice.apply(new Uint8Array(e))))}const W=function(e,t,r){const n=(new Date).getTime(),o=new Blob([t],{type:"image/jpeg"});return new Promise(((t,a)=>{const i=new FileReader;void 0===i.readAsBinaryString?i.readAsArrayBuffer(o):i.readAsBinaryString(o),i.onload=function(){const o=new Image;o.onload=function(){r.height=o.height,r.width=o.width,e.rows=o.height,e.columns=o.width;const a=r.getContext("2d");a.drawImage(this,0,0);const i=a.getImageData(0,0,o.width,o.height),s=(new Date).getTime();e.pixelData=new Uint8Array(i.data.buffer),e.imageData=i,e.decodeTimeInMS=s-n;const l=B(e.pixelData);e.smallestPixelValue=l.min,e.largestPixelValue=l.max,e.pixelDataLength=e.pixelData.length,t(e)},o.onerror=function(e){a(e)},void 0===i.readAsBinaryString?o.src=`data:image/jpeg;base64,${window.btoa(j(i.result))}`:o.src=`data:image/jpeg;base64,${window.btoa(i.result)}`},i.onerror=e=>{a(e)}}))};function Z(){return new Worker(r.p+"index.worker.e62ecca63f1a2e124230.worker.js")}let $=0;const G=[],V=[],q=M(),z={maxWebWorkers:navigator.hardwareConcurrency||1,startWebWorkersOnDemand:!0,webWorkerTaskPaths:[],taskConfiguration:{decodeTask:{initializeCodecsOnStartup:!1,strict:q.strict}}};let Y;const H={maxWebWorkers:0,numWebWorkers:0,numTasksQueued:0,numTasksExecuting:0,numTasksCompleted:0,totalTaskTimeInMS:0,totalTimeDelayedInMS:0};function K(){if(G.length){for(let e=0;e<V.length;e++)if("ready"===V[e].status){V[e].status="busy";const t=G.shift();t.start=(new Date).getTime();const r=(new Date).getTime();return H.totalTimeDelayedInMS+=r-t.added,V[e].task=t,V[e].worker.postMessage({taskType:t.taskType,workerIndex:e,data:t.data},t.transferList),void H.numTasksExecuting++}V.length<Y.maxWebWorkers&&X()}}function J(e){if("initialize"===e.data.taskType)V[e.data.workerIndex].status="ready",K();else{const t=V[e.data.workerIndex].task.start,r="success"===e.data.status?"resolve":"reject";try{V[e.data.workerIndex].task.deferred[r](e.data.result)}catch(e){console.warn("Caught error delivering response",e)}V[e.data.workerIndex].task=void 0,H.numTasksExecuting--,V[e.data.workerIndex].status="ready",H.numTasksCompleted++;const n=(new Date).getTime();H.totalTaskTimeInMS+=n-t,K()}}function X(){if(V.length>=Y.maxWebWorkers)return;const e=new Z;V.push({worker:e,status:"initializing"}),e.addEventListener("message",J),e.postMessage({taskType:"initialize",workerIndex:V.length-1,config:Y})}function Q(e){if(Y=e=e||z,Y.maxWebWorkers=Y.maxWebWorkers||navigator.hardwareConcurrency||1,!Y.startWebWorkersOnDemand)for(let e=0;e<Y.maxWebWorkers;e++)X()}const ee={initialize:Q,loadWebWorkerTask:function(e,t){Y.webWorkerTaskPaths.push(e),t&&(Y.taskConfiguration=Object.assign(Y.taskConfiguration,t));for(let t=0;t<V.length;t++)V[t].worker.postMessage({taskType:"loadWebWorkerTask",workerIndex:V.length-1,sourcePath:e,config:Y})},addTask:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0;Y||Q();let o={resolve:void 0,reject:void 0};const a=new Promise(((e,t)=>{o={resolve:e,reject:t}}));let i;for(i=0;i<G.length&&!(G[i].priority<r);i++);const s=$++;return G.splice(i,0,{taskId:s,taskType:e,status:"ready",added:(new Date).getTime(),data:t,deferred:o,priority:r,transferList:n}),K(),{taskId:s,promise:a}},getStatistics:function(){return H.maxWebWorkers=Y.maxWebWorkers,H.numWebWorkers=V.length,H.numTasksQueued=G.length,H},setTaskPriority:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(let r=0;r<G.length;r++)if(G[r].taskId===e){const e=G.splice(r,1)[0];for(e.priority=t,r=0;r<G.length&&!(G[r].priority<t);r++);return G.splice(r,0,e),!0}return!1},cancelTask:function(e,t){for(let r=0;r<G.length;r++)if(G[r].taskId===e){return G.splice(r,1).deferred.reject(t),!0}return!1},webWorkers:V,terminate:function(){for(let e=0;e<V.length;e++)V[e].worker.terminate();V.length=0,Y=void 0}};var te=r(578);function re(e,t,r,n,o){const a=n.priority||void 0,i=n.transferPixelData?[r.buffer]:void 0;return ee.addTask("decodeTask",{imageFrame:e,transferSyntax:t,pixelData:r,options:n,decodeConfig:o},a,i).promise}window.pako={inflateRaw:te.Hq};const ne=function(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=arguments.length>5?arguments[5]:void 0;switch(t){case"1.2.840.10008.1.2":case"1.2.840.10008.1.2.1":case"1.2.840.10008.1.2.2":case"1.2.840.10008.1.2.1.99":case"1.2.840.10008.1.2.5":case"1.2.840.10008.1.2.4.51":case"1.2.840.10008.1.2.4.57":case"1.2.840.10008.1.2.4.70":case"1.2.840.10008.1.2.4.80":case"1.2.840.10008.1.2.4.81":case"1.2.840.10008.1.2.4.90":case"1.2.840.10008.1.2.4.91":case"3.2.840.10008.1.2.4.96":return re(e,t,r,o,a);case"1.2.840.10008.1.2.4.50":return 8!==e.bitsAllocated||3!==e.samplesPerPixel&&4!==e.samplesPerPixel?re(e,t,r,o,a):W(e,r,n)}return Promise.reject(new Error(`No decoder for transfer syntax ${t}`))};const oe=function(e){const{cornerstone:t}=et,r=t.metaData.get("imagePixelModule",e);return{samplesPerPixel:r.samplesPerPixel,photometricInterpretation:r.photometricInterpretation,planarConfiguration:r.planarConfiguration,rows:r.rows,columns:r.columns,bitsAllocated:r.bitsAllocated,bitsStored:r.bitsStored,pixelRepresentation:r.pixelRepresentation,smallestPixelValue:r.smallestPixelValue,largestPixelValue:r.largestPixelValue,redPaletteColorLookupTableDescriptor:r.redPaletteColorLookupTableDescriptor,greenPaletteColorLookupTableDescriptor:r.greenPaletteColorLookupTableDescriptor,bluePaletteColorLookupTableDescriptor:r.bluePaletteColorLookupTableDescriptor,redPaletteColorLookupTableData:r.redPaletteColorLookupTableData,greenPaletteColorLookupTableData:r.greenPaletteColorLookupTableData,bluePaletteColorLookupTableData:r.bluePaletteColorLookupTableData,pixelData:void 0,imageId:e}};function ae(e){return"RGB"===e||"PALETTE COLOR"===e||"YBR_FULL"===e||"YBR_FULL_422"===e||"YBR_PARTIAL_422"===e||"YBR_PARTIAL_420"===e||"YBR_RCT"===e||"YBR_ICT"===e}const ie={"1.2.840.10008.1.2.1":"application/octet-stream","1.2.840.10008.1.2":"application/octet-stream","1.2.840.10008.1.2.2":"application/octet-stream","1.2.840.10008.1.2.5":"image/dicom-rle"};let se="";function le(e){const t=function(e,t){let r;return Number.isInteger(e)&&Number.isInteger(t)?e>=0?t<=255?r=Uint8Array:t<=65535&&(r=Uint16Array):e>=-128&&t<=127?r=Int8Array:e>=-32768&&t<=32767&&(r=Int16Array):r=Float32Array,r}(e.smallestPixelValue,e.largestPixelValue);if(!t)throw new Error("Could not apply a typed array to the pixel data");{const r=new t(e.pixelData);e.pixelData=r}}const ce=function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=n.useRGBA;if(n.preScale={enabled:!(!n.preScale||void 0===n.preScale.enabled)&&n.preScale.enabled},!t||!t.length)return Promise.reject(new Error("The file does not contain image data."));const{cornerstone:a}=et,i=document.createElement("canvas"),s=oe(e);if(n.preScale.enabled){const t=function(e,t){const r=e.get("modalityLutModule",t)||{},n=e.get("generalSeriesModule",t)||{},{modality:o}=n,a={rescaleSlope:r.rescaleSlope,rescaleIntercept:r.rescaleIntercept,modality:o},i=e.get("scalingModule",t)||{};return{...a,..."PT"===o&&{suvbw:i.suvbw}}}(a.metaData,e);t&&(n.preScale={...n.preScale,scalingParameters:t})}n.isSharedArrayBuffer=n.targetBuffer?.arrayBuffer&&n.targetBuffer.arrayBuffer instanceof SharedArrayBuffer;const{decodeConfig:l}=M(),c=ne(s,r,t,i,n,l),{use16BitDataType:u}=l,d=ae(s.photometricInterpretation);return new Promise(((t,s)=>{c.then((function(s){if(n.skipCreateImage)return t(s);let l=!1;if(n.targetBuffer&&n.targetBuffer.type&&!d){const{arrayBuffer:e,type:t,offset:r=0,length:o}=n.targetBuffer,a=s.pixelDataLength,i=r,c=null!=o?o:a-i,d={Uint8Array,Uint16Array:u?Uint16Array:void 0,Int16Array:u?Int16Array:void 0,Float32Array};if(c!==s.pixelDataLength)throw new Error(`target array for image does not have the same length (${c}) as the decoded image length (${s.pixelDataLength}).`);const f=d[t],m=e?new f(e,i,c):new f(s.pixelData);if(c!==s.pixelDataLength)throw new Error("target array for image does not have the same length as the decoded image length.");s.pixelData=m,l=!0}l||le(s);const c=a.metaData.get("imagePlaneModule",e)||{},f=a.metaData.get("voiLutModule",e)||{},m=a.metaData.get("modalityLutModule",e)||{},g=a.metaData.get("sopCommonModule",e)||{};if(d){const{rows:e,columns:t}=s;if(ie[r]){i.height=s.rows,i.width=s.columns;const e=i.getContext("2d").createImageData(s.columns,s.rows);N(s,e.data,o),s.imageData=e,s.pixelData=e.data,s.pixelDataLength=e.data.length}else if(!o&&s.pixelDataLength===4*e*t){const e=new Uint8Array(s.pixelData.length/4*3);s.pixelData=function(e,t){const r=e.length/4;let n=0,o=0;for(let a=0;a<r;a++)t[o++]=e[n++],t[o++]=e[n++],t[o++]=e[n++],n++;return t}(s.pixelData,e),s.pixelDataLength=s.pixelData.length}const n=B(s.pixelData);s.smallestPixelValue=n.min,s.largestPixelValue=n.max}const h={imageId:e,color:d,columnPixelSpacing:c.columnPixelSpacing,columns:s.columns,height:s.rows,preScale:s.preScale,intercept:m.rescaleIntercept?m.rescaleIntercept:0,slope:m.rescaleSlope?m.rescaleSlope:1,invert:"MONOCHROME1"===s.photometricInterpretation,minPixelValue:s.smallestPixelValue,maxPixelValue:s.largestPixelValue,rowPixelSpacing:c.rowPixelSpacing,rows:s.rows,sizeInBytes:s.pixelData.byteLength,width:s.columns,windowCenter:f.windowCenter?f.windowCenter[0]:void 0,windowWidth:f.windowWidth?f.windowWidth[0]:void 0,voiLUTFunction:f.voiLUTFunction?f.voiLUTFunction:void 0,decodeTimeInMS:s.decodeTimeInMS,floatPixelData:void 0,imageFrame:s,rgba:d&&o,getPixelData:()=>s.pixelData,getCanvas:void 0,numComps:void 0};var p;if(window.image=h,h.color&&(h.getCanvas=function(){if(se===e)return i;const t=h.columns,r=h.rows;i.height=r,i.width=t;const n=i.getContext("2d"),o=n.createImageData(t,r),a=s.pixelData;if(a.length===t*r*4)for(let e=0;e<a.length;e++)o.data[e]=a[e];else if(a.length===t*r*3){let e=0;for(let t=0;t<a.length;t+=3)o.data[e++]=a[t],o.data[e++]=a[t+1],o.data[e++]=a[t+2],o.data[e++]=255}return s.pixelData=o.data,s.pixelDataLength=o.data.length,s.imageData=o,n.putImageData(s.imageData,0,0),se=e,i}),m.modalityLUTSequence&&m.modalityLUTSequence.length>0&&("1.2.840.10008.5.1.4.1.1.12.1"!==(p=g.sopClassUID)&&"1.2.840.10008.5.1.4.1.1.12.2.1"!==p)&&(h.modalityLUT=m.modalityLUTSequence[0]),f.voiLUTSequence&&f.voiLUTSequence.length>0&&(h.voiLUT=f.voiLUTSequence[0]),h.color&&(h.windowWidth=256,h.windowCenter=128),void 0===h.windowCenter||void 0===h.windowWidth){const e=h.imageFrame.minAfterScale,t=h.imageFrame.maxAfterScale;h.windowWidth=t-e,h.windowCenter=(t+e)/2}t(h)}),s)}))};const ue=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=et.cornerstone.imageRetrievalPoolManager,n=(new Date).getTime();return{promise:new Promise(((o,a)=>{const i=t.requestType||"interaction",s=t.additionalDetails||{imageId:e},l=void 0===t.priority?5:t.priority,c=t.addToBeginning||!1,u=e.substring(7);r.addRequest(function(e,r,i){return O(e,r,i).then((e=>{const i=function(e){const t="1.2.840.10008.1.2";if(!e)return t;const r=e.split(";"),n={};r.forEach((e=>{const t=e.split("=");if(2!==t.length)return;const r=t[1].trim().replace(/"/g,"");n[t[0].trim()]=r}));const o={"image/jpeg":"1.2.840.10008.1.2.4.50","image/x-dicom-rle":"1.2.840.10008.1.2.5","image/x-jls":"1.2.840.10008.1.2.4.80","image/jls":"1.2.840.10008.1.2.4.80","image/jll":"1.2.840.10008.1.2.4.70","image/jp2":"1.2.840.10008.1.2.4.90","image/jpx":"1.2.840.10008.1.2.4.92","image/jphc":"3.2.840.10008.1.2.4.96","image/jxl":"1.2.840.10008.1.2.4.140"};return n["transfer-syntax"]?n["transfer-syntax"]:e&&!Object.keys(n).length&&o[e]?o[e]:n.type&&o[n.type]?o[n.type]:o[e]?o[e]:t}(e.contentType),s=e.imageFrame.pixelData;ce(r,s,i,t).then((e=>{const t=(new Date).getTime();e.loadTimeInMS=t-n,o(e)}),a)}),a).catch((e=>{a(e)}))}.bind(this,u,e,"multipart/related; type=application/octet-stream; transfer-syntax=*"),i,s,l,c)})),cancelFn:void 0}};const de={metaData:{getNumberString:s,getNumberValue:l,getNumberValues:c,getValue:i,metaDataProvider:I},findIndexOfString:_,getPixelData:O,loadImage:ue,metaDataManager:w,register:function(e){e.registerImageLoader("wadors",ue),e.metaData.addProvider(I)}};function fe(e,t){if(e.elements[t]&&6===e.elements[t].length)return[e.uint16(t,0),e.uint16(t,1),e.uint16(t,2)]}function me(e,t,r){const n=[],o=e.elements[t];for(let a=0;a<r[0];a++)16===r[2]?n[a]=e.uint16(t,a):n[a]=e.byteArray[a+o.dataOffset];return n}const ge=function(e){const t={samplesPerPixel:e.uint16("x00280002"),photometricInterpretation:e.string("x00280004"),rows:e.uint16("x00280010"),columns:e.uint16("x00280011"),bitsAllocated:e.uint16("x00280100"),bitsStored:e.uint16("x00280101"),highBit:e.uint16("x00280102"),pixelRepresentation:e.uint16("x00280103"),planarConfiguration:e.uint16("x00280006"),pixelAspectRatio:e.string("x00280034")};return function(e,t){0===e.uint16("x00280103")?(t.smallestPixelValue=e.uint16("x00280106"),t.largestPixelValue=e.uint16("x00280107")):(t.smallestPixelValue=e.int16("x00280106"),t.largestPixelValue=e.int16("x00280107"))}(e,t),"PALETTE COLOR"===t.photometricInterpretation&&e.elements.x00281101&&function(e,t){t.redPaletteColorLookupTableDescriptor=fe(e,"x00281101"),t.greenPaletteColorLookupTableDescriptor=fe(e,"x00281102"),t.bluePaletteColorLookupTableDescriptor=fe(e,"x00281103"),0===t.redPaletteColorLookupTableDescriptor[0]&&(t.redPaletteColorLookupTableDescriptor[0]=65536,t.greenPaletteColorLookupTableDescriptor[0]=65536,t.bluePaletteColorLookupTableDescriptor[0]=65536);const r=t.redPaletteColorLookupTableDescriptor[0],n=e.elements.x00281201.length===r?8:16;t.redPaletteColorLookupTableDescriptor[2]!==n&&(t.redPaletteColorLookupTableDescriptor[2]=n,t.greenPaletteColorLookupTableDescriptor[2]=n,t.bluePaletteColorLookupTableDescriptor[2]=n),t.redPaletteColorLookupTableData=me(e,"x00281201",t.redPaletteColorLookupTableDescriptor),t.greenPaletteColorLookupTableData=me(e,"x00281202",t.greenPaletteColorLookupTableDescriptor),t.bluePaletteColorLookupTableData=me(e,"x00281203",t.bluePaletteColorLookupTableDescriptor)}(e,t),t};function he(e,t){let r=t.uint16("x00283002",0);0===r&&(r=65535);let n=0;n=0===e?t.uint16("x00283002",1):t.int16("x00283002",1);const o={id:"1",firstValueMapped:n,numBitsPerEntry:t.uint16("x00283002",2),lut:[]};for(let n=0;n<r;n++)o.lut[n]=0===e?t.uint16("x00283006",n):t.int16("x00283006",n);return o}const pe=function(e,t){if(!t||!t.items||!t.items.length)return;const r=[];for(let n=0;n<t.items.length;n++){const o=he(e,t.items[n].dataSet);o&&r.push(o)}return r};const xe=function(e){const t=e.string("x00080016");if("1.2.840.10008.5.1.4.1.1.2"===t||"1.2.840.10008.5.1.4.1.1.2.1"===t)return 1;const r=e.floatString("x00281052"),n=e.floatString("x00281053");if(void 0!==r&&void 0!==n){const t=function(e){const t=e.uint16("x00280103"),r=e.uint16("x00280101");return 0===t?0:-1<<r-1}(e);return t*n+r<0?1:0}return e.elements.x00283000&&e.elements.x00283000.length>0?0:e.uint16("x00280103")};const we=function(e,t,r){const n=[],o=e.string(t);if(!o)return;const a=o.split("\\");if(!(r&&a.length<r)){for(let e=0;e<a.length;e++)n.push(parseFloat(a[e]));return n}};const be=function(e){const t=e.indexOf(":");let r=e.substring(t+1);const n=r.indexOf("frame=");let o;if(-1!==n){const e=r.substring(n+6);o=parseInt(e,10),r=r.substring(0,n-1)}return{scheme:e.substring(0,t),url:r,frame:o,pixelDataFrame:void 0!==o?o-1:void 0}};function ye(e){const{dicomParser:t}=et;let r,n=t.parseDicom(e,{untilTag:"x7fe00010"});n.elements.x7fe00010||console.warn("Pixel data not found!");try{r=t.parseDicom(e)}catch(e){console.error(e),console.log("pixel data dataset:",e.dataSet),r=e.dataSet}return n.elements.x7fe00010=r.elements.x7fe00010,n=function(e){const t=e.elements.x7fe00010.fragments,r=e.byteArray.length;for(const e of t){const{position:t,length:n}=e;n>r-t&&(console.log(`Truncated fragment, changing fragment length from ${e.length} to ${r-t}`),e.length=r-t)}return e}(n),n}async function ke(e,t,r){const n=ye(e),{uri:o,imageId:a,fileTotalLength:i}=r;return n.fetchMore=async function(s){const l=Object.assign({uri:o,imageId:a,fetchedLength:e.length,lengthToFetch:i-e.length},s),{fetchedLength:c,lengthToFetch:u}=l,{arrayBuffer:d}=await t(o,a,{byteRange:`${c}-${c+u}`}),f=new Uint8Array(d),m=new Uint8Array(n.byteArray.length+f.length);return m.set(n.byteArray),m.set(f,n.byteArray.length),ke(m,t,r)},n}function ve(e,t,r){const n={};(t?Object.values(t.items[0].dataSet.elements):[]).map((e=>n[e.tag]=e));const o={};return(e?Object.values(e.items[r-1].dataSet.elements):[]).map((e=>o[e.tag]=e)),{shared:n,perFrame:o}}function De(e){if(!e)return;const{elements:t,...r}=e,{x52009230:n,x52009229:o,...a}=t;return{NumberOfFrames:e.intString("x00280008"),PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:o,otherElements:a,otherAttributtes:r}}function Te(e){if(Ce[e])return Ce[e]}function Se(e){if(!e)return!1;const t=e.intString("x00280008");return t&&t>1}const Pe={_get:Te,generateMultiframeWADOURIs:function(e){const t=[],r=Te(e);if(Se(r)){const n=r.intString("x00280008");for(let r=1;r<=n;r++)t.push(`${e}&frame=${r}`)}else t.push(e);return t},retrieveMultiframeDataset:function(e){const t=function(e){return e.indexOf("&frame=")}(e),r=-1===t?e:e.slice(0,t),n=parseInt(e.slice(t+7),10)||1;let o;return o=Ce[r]?Ce[r].dataSet:void 0,{dataSet:o,frame:n}},isMultiframeDataset:function(e){return Se(Te(e))}};let Ie=0,Ce={},_e={};function Le(){return{cacheSizeInBytes:Ie,numberOfDataSetsCached:Object.keys(Ce).length}}const Ae={isLoaded:function(e){return void 0!==Ce[e]},load:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:E,r=arguments.length>2?arguments[2]:void 0;const{cornerstone:n,dicomParser:o}=et;if(Ce[e])return new Promise((t=>{Ce[e].cacheCount++,t(Ce[e].dataSet)}));if(_e[e])return _e[e].cacheCount++,_e[e];const a=t(e,r),i=new Promise(((s,l)=>{a.then((async function(a){const c={isPartialContent:!1,fileTotalLength:null};if(!(a instanceof ArrayBuffer)){if(!a.arrayBuffer)return l(new Error("If not returning ArrayBuffer, must return object with `arrayBuffer` parameter"));c.isPartialContent=a.flags.isPartialContent,c.fileTotalLength=a.flags.fileTotalLength,a=a.arrayBuffer}const u=new Uint8Array(a);let d;try{d=c.isPartialContent?await ke(u,t,{uri:e,imageId:r,fileTotalLength:c.fileTotalLength}):o.parseDicom(u)}catch(e){return l(e)}Ce[e]={dataSet:d,cacheCount:i.cacheCount},Ie+=d.byteArray.length,s(d),n.triggerEvent(n.events,"datasetscachechanged",{uri:e,action:"loaded",cacheInfo:Le()})}),l).then((()=>{delete _e[e]}),(()=>{delete _e[e]}))}));return i.cacheCount=1,_e[e]=i,i},unload:function(e){const{cornerstone:t}=et;Ce[e]&&(Ce[e].cacheCount--,0===Ce[e].cacheCount&&(Ie-=Ce[e].dataSet.byteArray.length,delete Ce[e],t.triggerEvent(t.events,"datasetscachechanged",{uri:e,action:"unloaded",cacheInfo:Le()})))},getInfo:Le,purge:function(){Ce={},_e={},Ie=0},get:function(e){let t;if(e.includes("&frame=")){const{frame:r,dataSet:n}=Pe.retrieveMultiframeDataset(e);t=function(e,t){if(!t)return;const{NumberOfFrames:r,PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:o,otherElements:a}=De(t);if(n||r>1){const{shared:r,perFrame:i}=ve(n,o,e),s={elements:{...a,...r,...i}},l=Object.create(t);return Object.assign(l,s)}return t}(r,n)}else Ce[e]&&(t=Ce[e].dataSet);return t},update:function(e,t){const r=Ce[e];r?(Ie-=r.dataSet.byteArray.length,r.dataSet=t,Ie+=t.byteArray.length,et.cornerstone.triggerEvent(et.cornerstone.events,"datasetscachechanged",{uri:e,action:"updated",cacheInfo:Le()})):console.error(`No loaded dataSet for uri ${e}`)}};function Me(e,t){const r=e.string("x00080008");if(r){const e=r.split("\\");if(e.length>t)return e[t]}}function Ee(e){let t=we(e,"x00200037",6);return!t&&e.elements.x00209116&&(t=we(e.elements.x00209116.items[0].dataSet,"x00200037",6)),t||(t=function(e){let t;if(e.string("x00080060").includes("NM")){const r=Me(e,2);r&&b(r)&&e.elements.x00540022&&(t=we(e.elements.x00540022.items[0].dataSet,"x00200037",6))}return t}(e)),t}function Re(e){let t=we(e,"x00200032",3);return!t&&e.elements.x00209113&&(t=we(e.elements.x00209113.items[0].dataSet,"x00200032",3)),t||(t=function(e){let t;if(e.string("x00080060").includes("NM")){const r=Me(e,2);r&&b(r)&&e.elements.x00540022&&(t=we(e.elements.x00540022.items[0].dataSet,"x00200032",3))}return t}(e)),t}function Fe(e){let t=we(e,"x00280030",2);return!t&&e.elements.x00289110&&(t=we(e.elements.x00289110.items[0].dataSet,"x00280030",2)),t}function Oe(e){let t;return e.elements.x00180050?t=e.floatString("x00180050"):e.elements.x00289110&&e.elements.x00289110.items.length&&e.elements.x00289110.items[0].dataSet.elements.x00180050&&(t=e.elements.x00289110.items[0].dataSet.floatString("x00180050")),t}const Be=function e(t,r){const{dicomParser:n}=et,o=be(r);if("multiframeModule"===t){const e=Pe.retrieveMultiframeDataset(o.url);if(!e.dataSet)return;const t=function(e,t){if(!e)return;const{NumberOfFrames:r,PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:o}=De(e);if(n||r>1){const{shared:e,perFrame:a}=ve(n,o,t);return{NumberOfFrames:r,PerFrameFunctionalInformation:a,SharedFunctionalInformation:e}}return{NumberOfFrames:r}}(e.dataSet,e.frame);return t}let a=o.url;o.frame&&(a=`${a}&frame=${o.frame}`);const i=Ae.get(a);if(i){if("generalSeriesModule"===t)return{modality:i.string("x00080060"),seriesInstanceUID:i.string("x0020000e"),seriesNumber:i.intString("x00200011"),studyInstanceUID:i.string("x0020000d"),seriesDate:n.parseDA(i.string("x00080021")),seriesTime:n.parseTM(i.string("x00080031")||""),acquisitionDate:n.parseDA(i.string("x00080022")||""),acquisitionTime:n.parseTM(i.string("x00080032")||"")};if("patientStudyModule"===t)return{patientAge:i.intString("x00101010"),patientSize:i.floatString("x00101020"),patientWeight:i.floatString("x00101030")};if("imagePlaneModule"===t){const e=Ee(i),t=Re(i),r=Fe(i);let n;i.elements.x00200052&&(n=i.string("x00200052"));const o=Oe(i);let a;i.elements.x00201041&&(a=i.floatString("x00201041"));let s=null,l=null;r&&(l=r[0],s=r[1]);let c=null,u=null;return e&&(c=[parseFloat(e[0]),parseFloat(e[1]),parseFloat(e[2])],u=[parseFloat(e[3]),parseFloat(e[4]),parseFloat(e[5])]),{frameOfReferenceUID:n,rows:i.uint16("x00280010"),columns:i.uint16("x00280011"),imageOrientationPatient:e,rowCosines:c,columnCosines:u,imagePositionPatient:t,sliceThickness:o,sliceLocation:a,pixelSpacing:r,rowPixelSpacing:l,columnPixelSpacing:s}}if("nmMultiframeGeometryModule"===t){const e=i.string("x00080060"),t=Me(i,2);return{modality:e,imageType:i.string("x00080008"),imageSubType:t,imageOrientationPatient:Ee(i),imagePositionPatient:Re(i),sliceThickness:Oe(i),pixelSpacing:Fe(i),numberOfFrames:i.uint16("x00280008"),isNMReconstructable:b(t)&&e.includes("NM")}}if("imagePixelModule"===t)return ge(i);if("modalityLutModule"===t)return{rescaleIntercept:i.floatString("x00281052"),rescaleSlope:i.floatString("x00281053"),rescaleType:i.string("x00281054"),modalityLUTSequence:pe(i.uint16("x00280103"),i.elements.x00283000)};if("voiLutModule"===t){const e=xe(i);return{windowCenter:we(i,"x00281050",1),windowWidth:we(i,"x00281051",1),voiLUTSequence:pe(e,i.elements.x00283010)}}if("sopCommonModule"===t)return{sopClassUID:i.string("x00080016"),sopInstanceUID:i.string("x00080018")};if("petIsotopeModule"===t){const e=i.elements.x00540016;if(void 0===e)return;const t=e.items[0].dataSet;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:n.parseTM(t.string("x00181072")||""),radionuclideTotalDose:t.floatString("x00181074"),radionuclideHalfLife:t.floatString("x00181075")}}}return"overlayPlaneModule"===t?function(e){const t=[];for(let r=0;r<=30;r+=2){let n=`x60${r.toString(16)}`;4===n.length&&(n=`x600${r.toString(16)}`);const o=e.elements[`${n}3000`];if(!o)continue;const a=[];for(let t=0;t<o.length;t++)for(let r=0;r<8;r++){const n=e.byteArray[o.dataOffset+t];a[8*t+r]=n>>r&1}t.push({rows:e.uint16(`${n}0010`),columns:e.uint16(`${n}0011`),type:e.string(`${n}0040`),x:e.int16(`${n}0050`,1)-1,y:e.int16(`${n}0050`,0)-1,pixelData:a,description:e.string(`${n}0022`),label:e.string(`${n}1500`),roiArea:e.string(`${n}1301`),roiMean:e.string(`${n}1302`),roiStandardDeviation:e.string(`${n}1303`)})}return{overlays:t}}(i):"transferSyntax"===t?{transferSyntaxUID:i.string("x00020010")}:"petSeriesModule"===t?{correctedImage:i.string("x00280051"),units:i.string("x00541001"),decayCorrection:i.string("x00541102")}:"petImageModule"===t?{frameReferenceTime:n.floatString(i.string("x00541300")||""),actualFrameDuration:n.intString(i.string("x00181242"))}:"instance"===t?T(r,e,P):void 0}};let Ue=[];const Ne={add:function(e){return"dicomfile:"+(Ue.push(e)-1)},get:function(e){return Ue[e]},remove:function(e){Ue[e]=void 0},purge:function(){Ue=[]}};function je(e,t){const{dicomParser:r}=et;if(e.elements.x7fe00010&&e.elements.x7fe00010.basicOffsetTable.length)return r.readEncapsulatedImageFrame(e,e.elements.x7fe00010,t);if(function(e){return e.intString("x00280008")!==e.elements.x7fe00010.fragments.length}(e)){const n=r.createJPEGBasicOffsetTable(e,e.elements.x7fe00010);return r.readEncapsulatedImageFrame(e,e.elements.x7fe00010,t,n)}return r.readEncapsulatedPixelDataFromFragments(e,e.elements.x7fe00010,t)}function We(e,t){return e&1<<t}const Ze=function(e,t,r){const n=new Uint8Array(r);for(let o=0;o<r;o++){const r=e[Math.floor(o/8)+t],a=o%8;n[o]=We(r,a)?1:0}return n};const $e=function(e,t){const r=e.elements.x7fe00010||e.elements.x7fe00008,n=e.uint16("x00280100"),o=e.uint16("x00280010"),a=e.uint16("x00280011");let i=e.uint16("x00280002");"YBR_FULL_422"===e.string("x00280004")&&(i=2,console.warn("Using SamplesPerPixel of 2 for YBR_FULL_422 photometric interpretation.\n See http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.6.3.html for more information."));const s=r.dataOffset,l=o*a*i;let c;if(8===n){if(c=s+t*l,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer.slice(c,c+l))}if(16===n){if(c=s+t*l*2,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer.slice(c,c+2*l))}if(1===n){if(c=s+t*l*.125,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return Ze(e.byteArray,c,l)}if(32===n){if(c=s+t*l*4,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer.slice(c,c+4*l))}throw new Error("unsupported pixel format")};const Ge=function(e){const t=be(e),r=parseInt(t.url,10),n=Ne.get(r);return new Promise(((e,t)=>{const r=new FileReader;r.onload=t=>{const r=t.target.result;e(r)},r.onerror=t,r.readAsArrayBuffer(n)}))};const Ve=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=e.elements.x7fe00010||e.elements.x7fe00008;return r?r.encapsulatedPixelData?je(e,t):$e(e,t):null};function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0;const i=(new Date).getTime(),s={cancelFn:void 0,promise:void 0};return s.promise=new Promise(((l,c)=>{e.then((e=>{const u=Ve(e,r),d=e.string("x00020010"),f=(new Date).getTime(),m=ce(t,u,d,o);!function(e,t){e.decache=function(){const e=be(t);Ae.unload(e.url)}}(s,t),m.then((t=>{t.data=e,t.sharedCacheKey=n;const r=(new Date).getTime();t.loadTimeInMS=f-i,t.totalTimeInMS=r-i,void 0!==a&&void 0!==a.imageDoneCallback&&a.imageDoneCallback(t),l(t)}),(function(t){c({error:t,dataSet:e})}))}),(function(e){c({error:e})}))})),s}function ze(e){return"dicomweb"===e||"wadouri"===e?E:"dicomfile"===e?Ge:void 0}function Ye(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=be(e);t=Object.assign({},t);let n=t.loader;if(void 0===n?n=ze(r.scheme):delete t.loader,Ae.isLoaded(r.url)){return function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;const a=(new Date).getTime();return{promise:new Promise(((i,s)=>{const l=(new Date).getTime();let c;try{const n=Ve(e,r),a=e.string("x00020010");c=ce(t,n,a,o)}catch(t){return void s({error:t,dataSet:e})}c.then((t=>{t.data=e,t.sharedCacheKey=n;const r=(new Date).getTime();t.loadTimeInMS=l-a,t.totalTimeInMS=r-a,i(t)}),s)})),cancelFn:void 0}}(Ae.get(r.url,n,e),e,r.pixelDataFrame,r.url,t)}return qe(Ae.load(r.url,n,e),e,r.frame,r.url,t)}const He={metaData:{getImagePixelModule:ge,getLUTs:pe,getModalityLUTOutputPixelRepresentation:xe,getNumberValues:we,metaDataProvider:Be},dataSetCacheManager:Ae,fileManager:Ne,getEncapsulatedImageFrame:je,getUncompressedImageFrame:$e,loadFileRequest:Ge,loadImageFromPromise:qe,getLoaderForScheme:ze,loadImage:Ye,parseImageId:be,unpackBinaryFrame:Ze,register:function(e){e.registerImageLoader("dicomweb",Ye),e.registerImageLoader("wadouri",Ye),e.registerImageLoader("dicomfile",Ye),e.metaData.addProvider(Be)}};const Ke=function(e){de.register(e),He.register(e)};let Je,Xe;const Qe={set cornerstone(e){Je=e,Ke(Je)},get cornerstone(){if(!Je){if(Je=window&&window.cornerstone,!Je)throw new Error("cornerstoneDICOMImageLoader requires a copy of Cornerstone to work properly. Please add cornerstoneDICOMImageLoader.external.cornerstone = cornerstone; to your application.");Ke(Je)}return Je},set dicomParser(e){Xe=e},get dicomParser(){if(!Xe){if(!window||!window.dicomParser)throw new Error("cornerstoneDICOMImageLoader requires a copy of dicomParser to work properly. Please add cornerstoneDICOMImageLoader.external.dicomParser = dicomParser; to your application.");Xe=window.dicomParser}return Xe}},et=Qe;function tt(e,t){const r=e.length,n=new Uint8ClampedArray(r);for(let o=0;o<r;++o)n[o]=e[o]>>t;return n}function rt(e,t,r){const n=e.columns*e.rows,o=e.pixelData;let a=e.redPaletteColorLookupTableData;a||(a=et.cornerstone.metaData.get("imagePixelModule",e.imageId)?.redPaletteColorLookupTableData);let i=e.greenPaletteColorLookupTableData;i||(i=et.cornerstone.metaData.get("imagePixelModule",e.imageId)?.greenPaletteColorLookupTableData);let s=e.bluePaletteColorLookupTableData;if(s||(s=et.cornerstone.metaData.get("imagePixelModule",e.imageId)?.bluePaletteColorLookupTableData),!a||!i||!s)throw new Error("The image does not have a complete color palette. R, G, and B palette data are required.");const l=e.redPaletteColorLookupTableData.length;let c=0,u=0;const d=e.redPaletteColorLookupTableDescriptor[1],f=8===e.redPaletteColorLookupTableDescriptor[2]?0:8,m=tt(a,f),g=tt(i,f),h=tt(s,f);if(r)for(let e=0;e<n;++e){let e=o[c++];e<d?e=0:e>d+l-1?e=l-1:e-=d,t[u++]=m[e],t[u++]=g[e],t[u++]=h[e],t[u++]=255}else for(let e=0;e<n;++e){let e=o[c++];e<d?e=0:e>d+l-1?e=l-1:e-=d,t[u++]=m[e],t[u++]=g[e],t[u++]=h[e]}}const nt=function(e){A(e)};const ot=function(e,t){if(t=t||e.transferSyntax,8===e.bitsAllocated&&"1.2.840.10008.1.2.4.50"===t&&(3===e.samplesPerPixel||4===e.samplesPerPixel))return!0},at={convertRGBColorByPixel:e,convertRGBColorByPlane:t,convertYBRFullByPixel:o,convertYBRFullByPlane:a,convertPALETTECOLOR:rt,wadouri:He,wadors:de,configure:nt,convertColorSpace:N,createImage:ce,decodeImageFrame:ne,decodeJPEGBaseline8BitColor:W,getImageFrame:oe,getPixelData:O,getMinMax:B,isColorImage:ae,isJPEGBaseline8BitColor:ot,webWorkerManager:ee,internal:R,external:Qe}})(),n})()));
56941
+ !function(e,t){ true?module.exports=t():0}(this,(()=>(()=>{"use strict";var e={578:(e,t,r)=>{const n=r(823),o=r(187),a=r(592),i=r(604),s=r(249),l=r(968),c=Object.prototype.toString,{Z_NO_FLUSH:u,Z_FINISH:d,Z_OK:f,Z_STREAM_END:m,Z_NEED_DICT:g,Z_STREAM_ERROR:h,Z_DATA_ERROR:p,Z_MEM_ERROR:x}=r(684);function w(e){this.options=o.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;let r=n.inflateInit2(this.strm,t.windowBits);if(r!==f)throw new Error(i[r]);if(this.header=new l,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=a.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=n.inflateSetDictionary(this.strm,t.dictionary),r!==f)))throw new Error(i[r])}function b(e,t){const r=new w(t);if(r.push(e),r.err)throw r.msg||i[r.err];return r.result}w.prototype.push=function(e,t){const r=this.strm,o=this.options.chunkSize,i=this.options.dictionary;let s,l,w;if(this.ended)return!1;for(l=t===~~t?t:!0===t?d:u,"[object ArrayBuffer]"===c.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(o),r.next_out=0,r.avail_out=o),s=n.inflate(r,l),s===g&&i&&(s=n.inflateSetDictionary(r,i),s===f?s=n.inflate(r,l):s===p&&(s=g));r.avail_in>0&&s===m&&r.state.wrap>0&&0!==e[r.next_in];)n.inflateReset(r),s=n.inflate(r,l);switch(s){case h:case p:case g:case x:return this.onEnd(s),this.ended=!0,!1}if(w=r.avail_out,r.next_out&&(0===r.avail_out||s===m))if("string"===this.options.to){let e=a.utf8border(r.output,r.next_out),t=r.next_out-e,n=a.buf2string(r.output,e);r.next_out=t,r.avail_out=o-t,t&&r.output.set(r.output.subarray(e,e+t),0),this.onData(n)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(s!==f||0!==w){if(s===m)return s=n.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},w.prototype.onData=function(e){this.chunks.push(e)},w.prototype.onEnd=function(e){e===f&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},e.exports.Hq=function(e,t){return(t=t||{}).raw=!0,b(e,t)},r(684)},187:e=>{const t=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);e.exports.assign=function(e){const r=Array.prototype.slice.call(arguments,1);for(;r.length;){const n=r.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(const r in n)t(n,r)&&(e[r]=n[r])}}return e},e.exports.flattenChunks=e=>{let t=0;for(let r=0,n=e.length;r<n;r++)t+=e[r].length;const r=new Uint8Array(t);for(let t=0,n=0,o=e.length;t<o;t++){let o=e[t];r.set(o,n),n+=o.length}return r}},592:e=>{let t=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){t=!1}const r=new Uint8Array(256);for(let e=0;e<256;e++)r[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;r[254]=r[254]=1,e.exports.string2buf=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,r,n,o,a,i=e.length,s=0;for(o=0;o<i;o++)r=e.charCodeAt(o),55296==(64512&r)&&o+1<i&&(n=e.charCodeAt(o+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),o++)),s+=r<128?1:r<2048?2:r<65536?3:4;for(t=new Uint8Array(s),a=0,o=0;a<s;o++)r=e.charCodeAt(o),55296==(64512&r)&&o+1<i&&(n=e.charCodeAt(o+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),o++)),r<128?t[a++]=r:r<2048?(t[a++]=192|r>>>6,t[a++]=128|63&r):r<65536?(t[a++]=224|r>>>12,t[a++]=128|r>>>6&63,t[a++]=128|63&r):(t[a++]=240|r>>>18,t[a++]=128|r>>>12&63,t[a++]=128|r>>>6&63,t[a++]=128|63&r);return t};e.exports.buf2string=(e,n)=>{const o=n||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,n));let a,i;const s=new Array(2*o);for(i=0,a=0;a<o;){let t=e[a++];if(t<128){s[i++]=t;continue}let n=r[t];if(n>4)s[i++]=65533,a+=n-1;else{for(t&=2===n?31:3===n?15:7;n>1&&a<o;)t=t<<6|63&e[a++],n--;n>1?s[i++]=65533:t<65536?s[i++]=t:(t-=65536,s[i++]=55296|t>>10&1023,s[i++]=56320|1023&t)}}return((e,r)=>{if(r<65534&&e.subarray&&t)return String.fromCharCode.apply(null,e.length===r?e:e.subarray(0,r));let n="";for(let t=0;t<r;t++)n+=String.fromCharCode(e[t]);return n})(s,i)},e.exports.utf8border=(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let n=t-1;for(;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+r[e[n]]>t?n:t}},693:e=>{e.exports=(e,t,r,n)=>{let o=65535&e|0,a=e>>>16&65535|0,i=0;for(;0!==r;){i=r>2e3?2e3:r,r-=i;do{o=o+t[n++]|0,a=a+o|0}while(--i);o%=65521,a%=65521}return o|a<<16|0}},684:e=>{e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},464:e=>{const t=new Uint32Array((()=>{let e,t=[];for(var r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t})());e.exports=(e,r,n,o)=>{const a=t,i=o+n;e^=-1;for(let t=o;t<i;t++)e=e>>>8^a[255&(e^r[t])];return-1^e}},968:e=>{e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},365:e=>{const t=16209;e.exports=function(e,r){let n,o,a,i,s,l,c,u,d,f,m,g,h,p,x,w,b,y,k,v,D,T,S,P;const I=e.state;n=e.next_in,S=e.input,o=n+(e.avail_in-5),a=e.next_out,P=e.output,i=a-(r-e.avail_out),s=a+(e.avail_out-257),l=I.dmax,c=I.wsize,u=I.whave,d=I.wnext,f=I.window,m=I.hold,g=I.bits,h=I.lencode,p=I.distcode,x=(1<<I.lenbits)-1,w=(1<<I.distbits)-1;e:do{g<15&&(m+=S[n++]<<g,g+=8,m+=S[n++]<<g,g+=8),b=h[m&x];t:for(;;){if(y=b>>>24,m>>>=y,g-=y,y=b>>>16&255,0===y)P[a++]=65535&b;else{if(!(16&y)){if(0==(64&y)){b=h[(65535&b)+(m&(1<<y)-1)];continue t}if(32&y){I.mode=16191;break e}e.msg="invalid literal/length code",I.mode=t;break e}k=65535&b,y&=15,y&&(g<y&&(m+=S[n++]<<g,g+=8),k+=m&(1<<y)-1,m>>>=y,g-=y),g<15&&(m+=S[n++]<<g,g+=8,m+=S[n++]<<g,g+=8),b=p[m&w];r:for(;;){if(y=b>>>24,m>>>=y,g-=y,y=b>>>16&255,!(16&y)){if(0==(64&y)){b=p[(65535&b)+(m&(1<<y)-1)];continue r}e.msg="invalid distance code",I.mode=t;break e}if(v=65535&b,y&=15,g<y&&(m+=S[n++]<<g,g+=8,g<y&&(m+=S[n++]<<g,g+=8)),v+=m&(1<<y)-1,v>l){e.msg="invalid distance too far back",I.mode=t;break e}if(m>>>=y,g-=y,y=a-i,v>y){if(y=v-y,y>u&&I.sane){e.msg="invalid distance too far back",I.mode=t;break e}if(D=0,T=f,0===d){if(D+=c-y,y<k){k-=y;do{P[a++]=f[D++]}while(--y);D=a-v,T=P}}else if(d<y){if(D+=c+d-y,y-=d,y<k){k-=y;do{P[a++]=f[D++]}while(--y);if(D=0,d<k){y=d,k-=y;do{P[a++]=f[D++]}while(--y);D=a-v,T=P}}}else if(D+=d-y,y<k){k-=y;do{P[a++]=f[D++]}while(--y);D=a-v,T=P}for(;k>2;)P[a++]=T[D++],P[a++]=T[D++],P[a++]=T[D++],k-=3;k&&(P[a++]=T[D++],k>1&&(P[a++]=T[D++]))}else{D=a-v;do{P[a++]=P[D++],P[a++]=P[D++],P[a++]=P[D++],k-=3}while(k>2);k&&(P[a++]=P[D++],k>1&&(P[a++]=P[D++]))}break}}break}}while(n<o&&a<s);k=g>>3,n-=k,g-=k<<3,m&=(1<<g)-1,e.next_in=n,e.next_out=a,e.avail_in=n<o?o-n+5:5-(n-o),e.avail_out=a<s?s-a+257:257-(a-s),I.hold=m,I.bits=g}},823:(e,t,r)=>{const n=r(693),o=r(464),a=r(365),i=r(446),{Z_FINISH:s,Z_BLOCK:l,Z_TREES:c,Z_OK:u,Z_STREAM_END:d,Z_NEED_DICT:f,Z_STREAM_ERROR:m,Z_DATA_ERROR:g,Z_MEM_ERROR:h,Z_BUF_ERROR:p,Z_DEFLATED:x}=r(684),w=16180,b=16190,y=16191,k=16192,v=16194,D=16199,T=16200,S=16206,P=16209,I=16210,C=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function _(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const L=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<w||t.mode>16211?1:0},A=e=>{if(L(e))return m;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=w,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,u},M=e=>{if(L(e))return m;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,A(e)},E=(e,t)=>{let r;if(L(e))return m;const n=e.state;return t<0?(r=0,t=-t):(r=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?m:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,M(e))},R=(e,t)=>{if(!e)return m;const r=new _;e.state=r,r.strm=e,r.window=null,r.mode=w;const n=E(e,t);return n!==u&&(e.state=null),n};let F,O,B=!0;const U=e=>{if(B){F=new Int32Array(512),O=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(i(1,e.lens,0,288,F,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;i(2,e.lens,0,32,O,0,e.work,{bits:5}),B=!1}e.lencode=F,e.lenbits=9,e.distcode=O,e.distbits=5},N=(e,t,r,n)=>{let o;const a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),n>=a.wsize?(a.window.set(t.subarray(r-a.wsize,r),0),a.wnext=0,a.whave=a.wsize):(o=a.wsize-a.wnext,o>n&&(o=n),a.window.set(t.subarray(r-n,r-n+o),a.wnext),(n-=o)?(a.window.set(t.subarray(r-n,r),0),a.wnext=n,a.whave=a.wsize):(a.wnext+=o,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=o))),0};e.exports.inflateReset=M,e.exports.inflateReset2=E,e.exports.inflateResetKeep=A,e.exports.inflateInit=e=>R(e,15),e.exports.inflateInit2=R,e.exports.inflate=(e,t)=>{let r,_,A,M,E,R,F,O,B,j,W,Z,$,G,V,q,z,Y,H,K,J,X,Q=0;const ee=new Uint8Array(4);let te,re;const ne=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(L(e)||!e.output||!e.input&&0!==e.avail_in)return m;r=e.state,r.mode===y&&(r.mode=k),E=e.next_out,A=e.output,F=e.avail_out,M=e.next_in,_=e.input,R=e.avail_in,O=r.hold,B=r.bits,j=R,W=F,X=u;e:for(;;)switch(r.mode){case w:if(0===r.wrap){r.mode=k;break}for(;B<16;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(2&r.wrap&&35615===O){0===r.wbits&&(r.wbits=15),r.check=0,ee[0]=255&O,ee[1]=O>>>8&255,r.check=o(r.check,ee,2,0),O=0,B=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&O)<<8)+(O>>8))%31){e.msg="incorrect header check",r.mode=P;break}if((15&O)!==x){e.msg="unknown compression method",r.mode=P;break}if(O>>>=4,B-=4,J=8+(15&O),0===r.wbits&&(r.wbits=J),J>15||J>r.wbits){e.msg="invalid window size",r.mode=P;break}r.dmax=1<<r.wbits,r.flags=0,e.adler=r.check=1,r.mode=512&O?16189:y,O=0,B=0;break;case 16181:for(;B<16;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(r.flags=O,(255&r.flags)!==x){e.msg="unknown compression method",r.mode=P;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=P;break}r.head&&(r.head.text=O>>8&1),512&r.flags&&4&r.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,r.check=o(r.check,ee,2,0)),O=0,B=0,r.mode=16182;case 16182:for(;B<32;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.head&&(r.head.time=O),512&r.flags&&4&r.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,ee[2]=O>>>16&255,ee[3]=O>>>24&255,r.check=o(r.check,ee,4,0)),O=0,B=0,r.mode=16183;case 16183:for(;B<16;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.head&&(r.head.xflags=255&O,r.head.os=O>>8),512&r.flags&&4&r.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,r.check=o(r.check,ee,2,0)),O=0,B=0,r.mode=16184;case 16184:if(1024&r.flags){for(;B<16;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.length=O,r.head&&(r.head.extra_len=O),512&r.flags&&4&r.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,r.check=o(r.check,ee,2,0)),O=0,B=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(Z=r.length,Z>R&&(Z=R),Z&&(r.head&&(J=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(_.subarray(M,M+Z),J)),512&r.flags&&4&r.wrap&&(r.check=o(r.check,_,Z,M)),R-=Z,M+=Z,r.length-=Z),r.length))break e;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===R)break e;Z=0;do{J=_[M+Z++],r.head&&J&&r.length<65536&&(r.head.name+=String.fromCharCode(J))}while(J&&Z<R);if(512&r.flags&&4&r.wrap&&(r.check=o(r.check,_,Z,M)),R-=Z,M+=Z,J)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===R)break e;Z=0;do{J=_[M+Z++],r.head&&J&&r.length<65536&&(r.head.comment+=String.fromCharCode(J))}while(J&&Z<R);if(512&r.flags&&4&r.wrap&&(r.check=o(r.check,_,Z,M)),R-=Z,M+=Z,J)break e}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;B<16;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(4&r.wrap&&O!==(65535&r.check)){e.msg="header crc mismatch",r.mode=P;break}O=0,B=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=y;break;case 16189:for(;B<32;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}e.adler=r.check=C(O),O=0,B=0,r.mode=b;case b:if(0===r.havedict)return e.next_out=E,e.avail_out=F,e.next_in=M,e.avail_in=R,r.hold=O,r.bits=B,f;e.adler=r.check=1,r.mode=y;case y:if(t===l||t===c)break e;case k:if(r.last){O>>>=7&B,B-=7&B,r.mode=S;break}for(;B<3;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}switch(r.last=1&O,O>>>=1,B-=1,3&O){case 0:r.mode=16193;break;case 1:if(U(r),r.mode=D,t===c){O>>>=2,B-=2;break e}break;case 2:r.mode=16196;break;case 3:e.msg="invalid block type",r.mode=P}O>>>=2,B-=2;break;case 16193:for(O>>>=7&B,B-=7&B;B<32;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if((65535&O)!=(O>>>16^65535)){e.msg="invalid stored block lengths",r.mode=P;break}if(r.length=65535&O,O=0,B=0,r.mode=v,t===c)break e;case v:r.mode=16195;case 16195:if(Z=r.length,Z){if(Z>R&&(Z=R),Z>F&&(Z=F),0===Z)break e;A.set(_.subarray(M,M+Z),E),R-=Z,M+=Z,F-=Z,E+=Z,r.length-=Z;break}r.mode=y;break;case 16196:for(;B<14;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(r.nlen=257+(31&O),O>>>=5,B-=5,r.ndist=1+(31&O),O>>>=5,B-=5,r.ncode=4+(15&O),O>>>=4,B-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=P;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;B<3;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.lens[ne[r.have++]]=7&O,O>>>=3,B-=3}for(;r.have<19;)r.lens[ne[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,te={bits:r.lenbits},X=i(0,r.lens,0,19,r.lencode,0,r.work,te),r.lenbits=te.bits,X){e.msg="invalid code lengths set",r.mode=P;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;Q=r.lencode[O&(1<<r.lenbits)-1],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(V<=B);){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(z<16)O>>>=V,B-=V,r.lens[r.have++]=z;else{if(16===z){for(re=V+2;B<re;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(O>>>=V,B-=V,0===r.have){e.msg="invalid bit length repeat",r.mode=P;break}J=r.lens[r.have-1],Z=3+(3&O),O>>>=2,B-=2}else if(17===z){for(re=V+3;B<re;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}O>>>=V,B-=V,J=0,Z=3+(7&O),O>>>=3,B-=3}else{for(re=V+7;B<re;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}O>>>=V,B-=V,J=0,Z=11+(127&O),O>>>=7,B-=7}if(r.have+Z>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=P;break}for(;Z--;)r.lens[r.have++]=J}}if(r.mode===P)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=P;break}if(r.lenbits=9,te={bits:r.lenbits},X=i(1,r.lens,0,r.nlen,r.lencode,0,r.work,te),r.lenbits=te.bits,X){e.msg="invalid literal/lengths set",r.mode=P;break}if(r.distbits=6,r.distcode=r.distdyn,te={bits:r.distbits},X=i(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,te),r.distbits=te.bits,X){e.msg="invalid distances set",r.mode=P;break}if(r.mode=D,t===c)break e;case D:r.mode=T;case T:if(R>=6&&F>=258){e.next_out=E,e.avail_out=F,e.next_in=M,e.avail_in=R,r.hold=O,r.bits=B,a(e,W),E=e.next_out,A=e.output,F=e.avail_out,M=e.next_in,_=e.input,R=e.avail_in,O=r.hold,B=r.bits,r.mode===y&&(r.back=-1);break}for(r.back=0;Q=r.lencode[O&(1<<r.lenbits)-1],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(V<=B);){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(q&&0==(240&q)){for(Y=V,H=q,K=z;Q=r.lencode[K+((O&(1<<Y+H)-1)>>Y)],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(Y+V<=B);){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}O>>>=Y,B-=Y,r.back+=Y}if(O>>>=V,B-=V,r.back+=V,r.length=z,0===q){r.mode=16205;break}if(32&q){r.back=-1,r.mode=y;break}if(64&q){e.msg="invalid literal/length code",r.mode=P;break}r.extra=15&q,r.mode=16201;case 16201:if(r.extra){for(re=r.extra;B<re;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.length+=O&(1<<r.extra)-1,O>>>=r.extra,B-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;Q=r.distcode[O&(1<<r.distbits)-1],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(V<=B);){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(0==(240&q)){for(Y=V,H=q,K=z;Q=r.distcode[K+((O&(1<<Y+H)-1)>>Y)],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(Y+V<=B);){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}O>>>=Y,B-=Y,r.back+=Y}if(O>>>=V,B-=V,r.back+=V,64&q){e.msg="invalid distance code",r.mode=P;break}r.offset=z,r.extra=15&q,r.mode=16203;case 16203:if(r.extra){for(re=r.extra;B<re;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}r.offset+=O&(1<<r.extra)-1,O>>>=r.extra,B-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=P;break}r.mode=16204;case 16204:if(0===F)break e;if(Z=W-F,r.offset>Z){if(Z=r.offset-Z,Z>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=P;break}Z>r.wnext?(Z-=r.wnext,$=r.wsize-Z):$=r.wnext-Z,Z>r.length&&(Z=r.length),G=r.window}else G=A,$=E-r.offset,Z=r.length;Z>F&&(Z=F),F-=Z,r.length-=Z;do{A[E++]=G[$++]}while(--Z);0===r.length&&(r.mode=T);break;case 16205:if(0===F)break e;A[E++]=r.length,F--,r.mode=T;break;case S:if(r.wrap){for(;B<32;){if(0===R)break e;R--,O|=_[M++]<<B,B+=8}if(W-=F,e.total_out+=W,r.total+=W,4&r.wrap&&W&&(e.adler=r.check=r.flags?o(r.check,A,W,E-W):n(r.check,A,W,E-W)),W=F,4&r.wrap&&(r.flags?O:C(O))!==r.check){e.msg="incorrect data check",r.mode=P;break}O=0,B=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;B<32;){if(0===R)break e;R--,O+=_[M++]<<B,B+=8}if(4&r.wrap&&O!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=P;break}O=0,B=0}r.mode=16208;case 16208:X=d;break e;case P:X=g;break e;case I:return h;default:return m}return e.next_out=E,e.avail_out=F,e.next_in=M,e.avail_in=R,r.hold=O,r.bits=B,(r.wsize||W!==e.avail_out&&r.mode<P&&(r.mode<S||t!==s))&&N(e,e.output,e.next_out,W-e.avail_out)?(r.mode=I,h):(j-=e.avail_in,W-=e.avail_out,e.total_in+=j,e.total_out+=W,r.total+=W,4&r.wrap&&W&&(e.adler=r.check=r.flags?o(r.check,A,W,e.next_out-W):n(r.check,A,W,e.next_out-W)),e.data_type=r.bits+(r.last?64:0)+(r.mode===y?128:0)+(r.mode===D||r.mode===v?256:0),(0===j&&0===W||t===s)&&X===u&&(X=p),X)},e.exports.inflateEnd=e=>{if(L(e))return m;let t=e.state;return t.window&&(t.window=null),e.state=null,u},e.exports.inflateGetHeader=(e,t)=>{if(L(e))return m;const r=e.state;return 0==(2&r.wrap)?m:(r.head=t,t.done=!1,u)},e.exports.inflateSetDictionary=(e,t)=>{const r=t.length;let o,a,i;return L(e)?m:(o=e.state,0!==o.wrap&&o.mode!==b?m:o.mode===b&&(a=1,a=n(a,t,r,0),a!==o.check)?g:(i=N(e,t,r,r),i?(o.mode=I,h):(o.havedict=1,u)))},e.exports.inflateInfo="pako inflate (from Nodeca project)"},446:e=>{const t=15,r=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),n=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),o=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),a=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);e.exports=(e,i,s,l,c,u,d,f)=>{const m=f.bits;let g,h,p,x,w,b,y=0,k=0,v=0,D=0,T=0,S=0,P=0,I=0,C=0,_=0,L=null;const A=new Uint16Array(16),M=new Uint16Array(16);let E,R,F,O=null;for(y=0;y<=t;y++)A[y]=0;for(k=0;k<l;k++)A[i[s+k]]++;for(T=m,D=t;D>=1&&0===A[D];D--);if(T>D&&(T=D),0===D)return c[u++]=20971520,c[u++]=20971520,f.bits=1,0;for(v=1;v<D&&0===A[v];v++);for(T<v&&(T=v),I=1,y=1;y<=t;y++)if(I<<=1,I-=A[y],I<0)return-1;if(I>0&&(0===e||1!==D))return-1;for(M[1]=0,y=1;y<t;y++)M[y+1]=M[y]+A[y];for(k=0;k<l;k++)0!==i[s+k]&&(d[M[i[s+k]]++]=k);if(0===e?(L=O=d,b=20):1===e?(L=r,O=n,b=257):(L=o,O=a,b=0),_=0,k=0,y=v,w=u,S=T,P=0,p=-1,C=1<<T,x=C-1,1===e&&C>852||2===e&&C>592)return 1;for(;;){E=y-P,d[k]+1<b?(R=0,F=d[k]):d[k]>=b?(R=O[d[k]-b],F=L[d[k]-b]):(R=96,F=0),g=1<<y-P,h=1<<S,v=h;do{h-=g,c[w+(_>>P)+h]=E<<24|R<<16|F|0}while(0!==h);for(g=1<<y-1;_&g;)g>>=1;if(0!==g?(_&=g-1,_+=g):_=0,k++,0==--A[y]){if(y===D)break;y=i[s+d[k]]}if(y>T&&(_&x)!==p){for(0===P&&(P=T),w+=v,S=y-P,I=1<<S;S+P<D&&(I-=A[S+P],!(I<=0));)S++,I<<=1;if(C+=1<<S,1===e&&C>852||2===e&&C>592)return 1;p=_&x,c[p]=T<<24|S<<16|w-u|0}}return 0!==_&&(c[w+_]=y-P<<24|64<<16|0),f.bits=T,0}},604:e=>{e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},249:e=>{e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var o=n.length-1;o>-1&&!e;)e=n[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})();var n={};return(()=>{function e(e,t,r){if(void 0===e)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");const n=e.length/3;let o=0,a=0;if(r)for(let r=0;r<n;r++)t[a++]=e[o++],t[a++]=e[o++],t[a++]=e[o++],t[a++]=255;else t.set(e)}function t(e,t,r){if(void 0===e)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");const n=e.length/3;let o=0,a=0,i=n,s=2*n;if(r)for(let r=0;r<n;r++)t[o++]=e[a++],t[o++]=e[i++],t[o++]=e[s++],t[o++]=255;else for(let r=0;r<n;r++)t[o++]=e[a++],t[o++]=e[i++],t[o++]=e[s++]}function o(e,t,r){if(void 0===e)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");const n=e.length/3;let o=0,a=0;if(r)for(let r=0;r<n;r++){const r=e[o++],n=e[o++],i=e[o++];t[a++]=r+1.402*(i-128),t[a++]=r-.34414*(n-128)-.71414*(i-128),t[a++]=r+1.772*(n-128),t[a++]=255}else for(let r=0;r<n;r++){const r=e[o++],n=e[o++],i=e[o++];t[a++]=r+1.402*(i-128),t[a++]=r-.34414*(n-128)-.71414*(i-128),t[a++]=r+1.772*(n-128)}}function a(e,t,r){if(void 0===e)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");const n=e.length/3;let o=0,a=0,i=n,s=2*n;if(r)for(let r=0;r<n;r++){const r=e[a++],n=e[i++],l=e[s++];t[o++]=r+1.402*(l-128),t[o++]=r-.34414*(n-128)-.71414*(l-128),t[o++]=r+1.772*(n-128),t[o++]=255}else for(let r=0;r<n;r++){const r=e[a++],n=e[i++],l=e[s++];t[o++]=r+1.402*(l-128),t[o++]=r-.34414*(n-128)-.71414*(l-128),t[o++]=r+1.772*(n-128)}}r.r(n),r.d(n,{configure:()=>nt,convertColorSpace:()=>N,convertPALETTECOLOR:()=>rt,convertRGBColorByPixel:()=>e,convertRGBColorByPlane:()=>t,convertYBRFullByPixel:()=>o,convertYBRFullByPlane:()=>a,createImage:()=>ce,decodeImageFrame:()=>ne,decodeJPEGBaseline8BitColor:()=>W,default:()=>at,external:()=>et,getImageFrame:()=>oe,getMinMax:()=>B,getPixelData:()=>O,internal:()=>R,isColorImage:()=>ae,isJPEGBaseline8BitColor:()=>ot,wadors:()=>de,wadouri:()=>He,webWorkerManager:()=>ee});const i=function(e,t,r){return t=t||0,e&&e.Value?e.Value.length<=t?r:e.Value[t]:r};const s=function(e,t,r){const n=i(e,t,r);if(void 0!==n)return parseFloat(n)};const l=function(e,t){const r=i(e,t);if(void 0!==r)return parseFloat(r)};const c=function(e,t){if(!e)return;if(!e.Value)return;if(!Array.isArray(e.Value))return;if(t&&e.Value.length<t)return;const r=[];for(let t=0;t<e.Value.length;t++)r.push(parseFloat(e.Value[t]));return r};function u(e){const t=e.indexOf(":");return e.substring(t+1)}function d(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e&&e.Value?e.Value[0]&&t?e.Value[0]:e.Value:e}function f(e,t,r){return{shared:(t?Object.values(t[0]):[]).map((e=>e[0])).filter((e=>void 0!==e&&"object"==typeof e)),perFrame:(e?Object.values(e[r-1]):[]).map((e=>e.Value[0])).filter((e=>void 0!==e&&"object"==typeof e))}}function m(e){let{52009230:t,52009229:r,"00280008":n,...o}=e;return t=d(t,!1),r=d(r,!1),n=d(n),{PerFrameFunctionalGroupsSequence:t,SharedFunctionalGroupsSequence:r,NumberOfFrames:n,rest:o}}function g(e){const t=e.indexOf("/frames/")+8,r=e.slice(0,t),n=parseInt(e.slice(t),10);return{metadata:p[`${r}1`],frame:n}}const h={_retrieveMultiframeMetadata:g,retrieveMultiframeMetadata:function(e){return g(u(e))},isMultiframe:function(e){const t=i(e["00280008"]);return t&&t>1}};let p=[],x={};const w={add:function(e,t){const r=u(e);t.isMultiframe=h.isMultiframe(t),p[r]=t},get:function(e){const t=u(e),r=p[t];if(r&&!r?.isMultiframe)return r;const n=x[t];if(n)return n;const o=h._retrieveMultiframeMetadata(t);if(!o||!o.metadata)return;const{metadata:a,frame:i}=o;if(a){const e=function(e,t){const{PerFrameFunctionalGroupsSequence:r,SharedFunctionalGroupsSequence:n,NumberOfFrames:o,rest:a}=m(t);if(r||o>1){const{shared:i,perFrame:s}=f(r,n,e),l=Object.assign(t,{frameNumber:e});return[...i,...s].forEach((e=>{Object.entries(e).forEach((e=>{let[t,r]=e;l[t]=r}))})),Object.assign(a,{"00280008":o},l)}return t}(i,a);return x[t]=e,e}},remove:function(e){const t=u(e);p[t]=void 0,x[t]=void 0},purge:function(){p=[],x={}}};function b(e){return"RECON TOMO"===e||"RECON GATED TOMO"===e}function y(e){return i(e["00080060"]).includes("NM")}function k(e,t){const r=d(e["00080008"],!1);if(r)return r[t]}function v(e){let t=c(e["00200037"],6);return!t&&y(e)&&(t=function(e){let t;const r=k(e,2);if(r&&b(r)){const r=d(e["00540022"]);r&&(t=c(r["00200037"],6))}return t}(e)),t}function D(e){let t=c(e["00200032"],3);return!t&&y(e)&&(t=function(e){let t;const r=k(e,2);if(r&&b(r)){const r=d(e["00540022"]);r&&(t=c(r["00200032"],3))}return t}(e)),t}function T(e,t,r){const n={};for(const o of r)try{const r=t(o,e);if(r){const e={};for(const t in r)if(t in r){e[S(t)]=r[t]}Object.assign(n,e)}}catch(e){console.error(`Error retrieving ${o} data:`,e)}return n}const S=e=>e.charAt(0).toUpperCase()+e.slice(1),P=["multiframeModule","generalSeriesModule","patientStudyModule","imagePlaneModule","nmMultiframeGeometryModule","imagePixelModule","modalityLutModule","voiLutModule","sopCommonModule","petIsotopeModule","overlayPlaneModule","transferSyntax","petSeriesModule","petImageModule"];const I=function e(t,r){if("multiframeModule"===t){const{metadata:e,frame:t}=h.retrieveMultiframeMetadata(r);if(!e)return;const{PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:o,NumberOfFrames:a}=m(e);if(n||a>1){const{shared:e,perFrame:r}=f(n,o,t);return{NumberOfFrames:a,PerFrameFunctionalInformation:r,SharedFunctionalInformation:e}}return{NumberOfFrames:a}}const{dicomParser:n}=et,o=w.get(r);if(o){if("generalSeriesModule"===t)return{modality:i(o["00080060"]),seriesInstanceUID:i(o["0020000E"]),seriesNumber:l(o["00200011"]),studyInstanceUID:i(o["0020000D"]),seriesDate:n.parseDA(i(o["00080021"])),seriesTime:n.parseTM(i(o["00080031"],0,"")),acquisitionDate:n.parseDA(i(o["00080022"]),""),acquisitionTime:n.parseTM(i(o["00080032"],0,""))};if("patientStudyModule"===t)return{patientAge:l(o["00101010"]),patientSize:l(o["00101020"]),patientSex:i(o["00100040"]),patientWeight:l(o["00101030"])};if("nmMultiframeGeometryModule"===t){const e=i(o["00080060"]),t=k(o,2);return{modality:e,imageType:i(o["00080008"]),imageSubType:t,imageOrientationPatient:v(o),imagePositionPatient:D(o),sliceThickness:l(o["00180050"]),pixelSpacing:c(o["00280030"],2),numberOfFrames:l(o["00280008"]),isNMReconstructable:b(t)&&e.includes("NM")}}if("imagePlaneModule"===t){const e=v(o),t=D(o),r=c(o["00280030"],2);let n=null,a=null;r&&(a=r[0],n=r[1]);let s=null,u=null;return e&&(s=[parseFloat(e[0]),parseFloat(e[1]),parseFloat(e[2])],u=[parseFloat(e[3]),parseFloat(e[4]),parseFloat(e[5])]),{frameOfReferenceUID:i(o["00200052"]),rows:l(o["00280010"]),columns:l(o["00280011"]),imageOrientationPatient:e,rowCosines:s,columnCosines:u,imagePositionPatient:t,sliceThickness:l(o["00180050"]),sliceLocation:l(o["00201041"]),pixelSpacing:r,rowPixelSpacing:a,columnPixelSpacing:n}}if("imagePixelModule"===t)return{samplesPerPixel:l(o["00280002"]),photometricInterpretation:i(o["00280004"]),rows:l(o["00280010"]),columns:l(o["00280011"]),bitsAllocated:l(o["00280100"]),bitsStored:l(o["00280101"]),highBit:i(o["00280102"]),pixelRepresentation:l(o["00280103"]),planarConfiguration:l(o["00280006"]),pixelAspectRatio:i(o["00280034"]),smallestPixelValue:l(o["00280106"]),largestPixelValue:l(o["00280107"]),redPaletteColorLookupTableDescriptor:c(o["00281101"]),greenPaletteColorLookupTableDescriptor:c(o["00281102"]),bluePaletteColorLookupTableDescriptor:c(o["00281103"]),redPaletteColorLookupTableData:c(o["00281201"]),greenPaletteColorLookupTableData:c(o["00281202"]),bluePaletteColorLookupTableData:c(o["00281203"])};if("voiLutModule"===t)return{windowCenter:c(o["00281050"],1),windowWidth:c(o["00281051"],1)};if("modalityLutModule"===t)return{rescaleIntercept:l(o["00281052"]),rescaleSlope:l(o["00281053"]),rescaleType:i(o["00281054"])};if("sopCommonModule"===t)return{sopClassUID:i(o["00080016"]),sopInstanceUID:i(o["00080018"])};if("petIsotopeModule"===t){const e=i(o["00540016"]);if(void 0===e)return;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:n.parseTM(i(e["00181072"],0,"")),radiopharmaceuticalStartDateTime:i(e["00181078"],0,""),radionuclideTotalDose:l(e["00181074"]),radionuclideHalfLife:l(e["00181075"])}}}return"overlayPlaneModule"===t?function(e){const t=[];for(let r=0;r<=30;r+=2){let n=`x60${r.toString(16)}`;4===n.length&&(n=`x600${r.toString(16)}`);const o=i(e[`${n}3000`]);if(!o)continue;const a=[];for(let t=0;t<o.length;t++)for(let r=0;r<8;r++){const n=e.Value[o.dataOffset+t];a[8*t+r]=n>>r&1}t.push({rows:l(e[`${n}0010`]),columns:l(e[`${n}0011`]),type:i(e[`${n}0040`]),x:l(e[`${n}0050`],1)-1,y:l(e[`${n}0050`],0)-1,pixelData:a,description:i(e[`${n}0022`]),label:i(e[`${n}1500`]),roiArea:i(e[`${n}1301`]),roiMean:i(e[`${n}1302`]),roiStandardDeviation:i(e[`${n}1303`])})}return{overlays:t}}(o):"transferSyntax"===t?{transferSyntaxUID:i(o["00020010"])}:"petSeriesModule"===t?{correctedImage:i(o["00280051"]),units:i(o["00541001"]),decayCorrection:i(o["00541102"])}:"petImageModule"===t?{frameReferenceTime:l(o["00541300"]),actualFrameDuration:l(o["00181242"])}:"instance"===t?T(r,e,P):void 0}};function C(e,t,r){if(r+e.length>t.length)return!1;let n=r;for(let r=0;r<e.length;r++)if(e[r]!==t[n++])return!1;return!0}const _=function(e,t,r){r=r||0;const n=function(e){const t=new Uint8Array(e.length);for(let r=0,n=e.length;r<n;r++)t[r]=e.charCodeAt(r);return t}(t);for(let t=r;t<e.length;t++)if(n[0]===e[t]&&C(n,e,t))return t;return-1};let L={open(e,t){e.open("get",t,!0)},beforeSend(){},beforeProcessing:e=>Promise.resolve(e.response),imageCreated(){},strict:!1,decodeConfig:{convertFloatPixelDataToInt:!0,use16BitDataType:!1}};function A(e){L=Object.assign(L,e)}function M(){return L}const E=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const{cornerstone:o}=et,a=M(),i=e=>{if("function"==typeof a.errorInterceptor){const t=new Error("request failed");t.request=e,t.response=e.response,t.status=e.status,a.errorInterceptor(t)}},s=new XMLHttpRequest,l=new Promise(((l,c)=>{a.open(s,e,r,n);const u=a.beforeSend(s,t,r,n);s.responseType="arraybuffer";const d=Object.assign({},r,u);Object.keys(d).forEach((function(t){null!==d[t]&&("Accept"===t&&-1!==e.indexOf("accept=")||s.setRequestHeader(t,d[t]))})),n.deferred={resolve:l,reject:c},n.url=e,n.imageId=t,s.onloadstart=function(r){a.onloadstart&&a.onloadstart(r,n);const i={url:e,imageId:t};o.triggerEvent(o.events,"cornerstoneimageloadstart",i)},s.onloadend=function(r){a.onloadend&&a.onloadend(r,n);const i={url:e,imageId:t};o.triggerEvent(o.events,"cornerstoneimageloadend",i)},s.onreadystatechange=function(e){a.onreadystatechange?a.onreadystatechange(e,n):4===s.readyState&&(200===s.status?a.beforeProcessing(s).then(l).catch((()=>{i(s),c(s)})):(i(s),c(s)))},s.onprogress=function(r){const i=r.loaded;let s,l;r.lengthComputable&&(s=r.total,l=Math.round(i/s*100)),a.onprogress&&a.onprogress(r,n);const c={url:e,imageId:t,loaded:i,total:s,percentComplete:l};o.triggerEvent(o.events,o.EVENTS.IMAGE_LOAD_PROGRESS,c)},s.onerror=function(){i(s),c(s)},s.onabort=function(){i(s),c(s)},s.send()}));return l.xhr=s,l},R={xhrRequest:E,setOptions:A,getOptions:M};function F(e){for(let t=0;t<e.length;t++)if("Content-Type:"===e[t].substr(0,13))return e[t].substr(13).trim()}const O=function(e,t){const r={Accept:arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/octet-stream"};return new Promise(((n,o)=>{const a=E(e,t,r),{xhr:i}=a;a.then((function(e){const t=new Uint8Array(e),r=i.getResponseHeader("Content-Type")||"application/octet-stream";if(-1===r.indexOf("multipart"))return void n({contentType:r,imageFrame:{pixelData:t}});const a=_(t,"\r\n\r\n");-1===a&&o(new Error("invalid response - no multipart mime header"));const s=function(e,t,r){t=t||0,r=r||e.length-t;let n="";for(let o=t;o<t+r;o++)n+=String.fromCharCode(e[o]);return n}(t,0,a),l=s.split("\r\n"),c=function(e){for(let t=0;t<e.length;t++)if("--"===e[t].substr(0,2))return e[t]}(l);c||o(new Error("invalid response - no boundary marker"));const u=a+4,d=_(t,c,u);-1===d&&o(new Error("invalid response - terminating boundary not found"));const f=d-u-2;n({contentType:F(l),imageFrame:{pixelData:new Uint8Array(e,u,f)}})}),o)}))};const B=function(e){let t,r=e[0],n=e[0];const o=e.length;for(let a=1;a<o;a++)t=e[a],r=Math.min(r,t),n=Math.max(n,t);return{min:r,max:n}};function U(r,n,o){0===r.planarConfiguration?e(r.pixelData,n,o):t(r.pixelData,n,o)}function N(e,t,r){if("RGB"===e.photometricInterpretation)U(e,t,r);else if("YBR_RCT"===e.photometricInterpretation)U(e,t,r);else if("YBR_ICT"===e.photometricInterpretation)U(e,t,r);else if("PALETTE COLOR"===e.photometricInterpretation)rt(e,t,r);else if("YBR_FULL_422"===e.photometricInterpretation)!function(e,t,r){if(void 0===e)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(e.length%2!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");const n=e.length/2;let o=0,a=0;if(r)for(let r=0;r<n;r+=2){const r=e[o++],n=e[o++],i=e[o++],s=e[o++];t[a++]=r+1.402*(s-128),t[a++]=r-.34414*(i-128)-.71414*(s-128),t[a++]=r+1.772*(i-128),t[a++]=255,t[a++]=n+1.402*(s-128),t[a++]=n-.34414*(i-128)-.71414*(s-128),t[a++]=n+1.772*(i-128),t[a++]=255}else for(let r=0;r<n;r+=2){const r=e[o++],n=e[o++],i=e[o++],s=e[o++];t[a++]=r+1.402*(s-128),t[a++]=r-.34414*(i-128)-.71414*(s-128),t[a++]=r+1.772*(i-128),t[a++]=n+1.402*(s-128),t[a++]=n-.34414*(i-128)-.71414*(s-128),t[a++]=n+1.772*(i-128)}}(e.pixelData,t,r);else{if("YBR_FULL"!==e.photometricInterpretation)throw new Error(`No color space conversion for photometric interpretation ${e.photometricInterpretation}`);!function(e,t,r){0===e.planarConfiguration?o(e.pixelData,t,r):a(e.pixelData,t,r)}(e,t,r)}}function j(e){return function(e){let t;try{return decodeURIComponent(escape(e))}catch(r){if(t=r,t instanceof URIError)return e;throw t}}(String.fromCharCode.apply(null,Array.prototype.slice.apply(new Uint8Array(e))))}const W=function(e,t,r){const n=(new Date).getTime(),o=new Blob([t],{type:"image/jpeg"});return new Promise(((t,a)=>{const i=new FileReader;void 0===i.readAsBinaryString?i.readAsArrayBuffer(o):i.readAsBinaryString(o),i.onload=function(){const o=new Image;o.onload=function(){r.height=o.height,r.width=o.width,e.rows=o.height,e.columns=o.width;const a=r.getContext("2d");a.drawImage(this,0,0);const i=a.getImageData(0,0,o.width,o.height),s=(new Date).getTime();e.pixelData=new Uint8Array(i.data.buffer),e.imageData=i,e.decodeTimeInMS=s-n;const l=B(e.pixelData);e.smallestPixelValue=l.min,e.largestPixelValue=l.max,e.pixelDataLength=e.pixelData.length,t(e)},o.onerror=function(e){a(e)},void 0===i.readAsBinaryString?o.src=`data:image/jpeg;base64,${window.btoa(j(i.result))}`:o.src=`data:image/jpeg;base64,${window.btoa(i.result)}`},i.onerror=e=>{a(e)}}))};function Z(){return new Worker(r.p+"index.worker.e62ecca63f1a2e124230.worker.js")}let $=0;const G=[],V=[],q=M(),z={maxWebWorkers:navigator.hardwareConcurrency||1,startWebWorkersOnDemand:!0,webWorkerTaskPaths:[],taskConfiguration:{decodeTask:{initializeCodecsOnStartup:!1,strict:q.strict}}};let Y;const H={maxWebWorkers:0,numWebWorkers:0,numTasksQueued:0,numTasksExecuting:0,numTasksCompleted:0,totalTaskTimeInMS:0,totalTimeDelayedInMS:0};function K(){if(G.length){for(let e=0;e<V.length;e++)if("ready"===V[e].status){V[e].status="busy";const t=G.shift();t.start=(new Date).getTime();const r=(new Date).getTime();return H.totalTimeDelayedInMS+=r-t.added,V[e].task=t,V[e].worker.postMessage({taskType:t.taskType,workerIndex:e,data:t.data},t.transferList),void H.numTasksExecuting++}V.length<Y.maxWebWorkers&&X()}}function J(e){if("initialize"===e.data.taskType)V[e.data.workerIndex].status="ready",K();else{const t=V[e.data.workerIndex].task.start,r="success"===e.data.status?"resolve":"reject";try{V[e.data.workerIndex].task.deferred[r](e.data.result)}catch(e){console.warn("Caught error delivering response",e)}V[e.data.workerIndex].task=void 0,H.numTasksExecuting--,V[e.data.workerIndex].status="ready",H.numTasksCompleted++;const n=(new Date).getTime();H.totalTaskTimeInMS+=n-t,K()}}function X(){if(V.length>=Y.maxWebWorkers)return;const e=new Z;V.push({worker:e,status:"initializing"}),e.addEventListener("message",J),e.postMessage({taskType:"initialize",workerIndex:V.length-1,config:Y})}function Q(e){if(Y=e=e||z,Y.maxWebWorkers=Y.maxWebWorkers||navigator.hardwareConcurrency||1,!Y.startWebWorkersOnDemand)for(let e=0;e<Y.maxWebWorkers;e++)X()}const ee={initialize:Q,loadWebWorkerTask:function(e,t){Y.webWorkerTaskPaths.push(e),t&&(Y.taskConfiguration=Object.assign(Y.taskConfiguration,t));for(let t=0;t<V.length;t++)V[t].worker.postMessage({taskType:"loadWebWorkerTask",workerIndex:V.length-1,sourcePath:e,config:Y})},addTask:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0;Y||Q();let o={resolve:void 0,reject:void 0};const a=new Promise(((e,t)=>{o={resolve:e,reject:t}}));let i;for(i=0;i<G.length&&!(G[i].priority<r);i++);const s=$++;return G.splice(i,0,{taskId:s,taskType:e,status:"ready",added:(new Date).getTime(),data:t,deferred:o,priority:r,transferList:n}),K(),{taskId:s,promise:a}},getStatistics:function(){return H.maxWebWorkers=Y.maxWebWorkers,H.numWebWorkers=V.length,H.numTasksQueued=G.length,H},setTaskPriority:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(let r=0;r<G.length;r++)if(G[r].taskId===e){const e=G.splice(r,1)[0];for(e.priority=t,r=0;r<G.length&&!(G[r].priority<t);r++);return G.splice(r,0,e),!0}return!1},cancelTask:function(e,t){for(let r=0;r<G.length;r++)if(G[r].taskId===e){return G.splice(r,1).deferred.reject(t),!0}return!1},webWorkers:V,terminate:function(){for(let e=0;e<V.length;e++)V[e].worker.terminate();V.length=0,Y=void 0}};var te=r(578);function re(e,t,r,n,o){const a=n.priority||void 0,i=n.transferPixelData?[r.buffer]:void 0;return ee.addTask("decodeTask",{imageFrame:e,transferSyntax:t,pixelData:r,options:n,decodeConfig:o},a,i).promise}window.pako={inflateRaw:te.Hq};const ne=function(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=arguments.length>5?arguments[5]:void 0;switch(t){case"1.2.840.10008.1.2":case"1.2.840.10008.1.2.1":case"1.2.840.10008.1.2.2":case"1.2.840.10008.1.2.1.99":case"1.2.840.10008.1.2.5":case"1.2.840.10008.1.2.4.51":case"1.2.840.10008.1.2.4.57":case"1.2.840.10008.1.2.4.70":case"1.2.840.10008.1.2.4.80":case"1.2.840.10008.1.2.4.81":case"1.2.840.10008.1.2.4.90":case"1.2.840.10008.1.2.4.91":case"3.2.840.10008.1.2.4.96":return re(e,t,r,o,a);case"1.2.840.10008.1.2.4.50":return 8!==e.bitsAllocated||3!==e.samplesPerPixel&&4!==e.samplesPerPixel?re(e,t,r,o,a):W(e,r,n)}return Promise.reject(new Error(`No decoder for transfer syntax ${t}`))};const oe=function(e){const{cornerstone:t}=et,r=t.metaData.get("imagePixelModule",e);return{samplesPerPixel:r.samplesPerPixel,photometricInterpretation:r.photometricInterpretation,planarConfiguration:r.planarConfiguration,rows:r.rows,columns:r.columns,bitsAllocated:r.bitsAllocated,bitsStored:r.bitsStored,pixelRepresentation:r.pixelRepresentation,smallestPixelValue:r.smallestPixelValue,largestPixelValue:r.largestPixelValue,redPaletteColorLookupTableDescriptor:r.redPaletteColorLookupTableDescriptor,greenPaletteColorLookupTableDescriptor:r.greenPaletteColorLookupTableDescriptor,bluePaletteColorLookupTableDescriptor:r.bluePaletteColorLookupTableDescriptor,redPaletteColorLookupTableData:r.redPaletteColorLookupTableData,greenPaletteColorLookupTableData:r.greenPaletteColorLookupTableData,bluePaletteColorLookupTableData:r.bluePaletteColorLookupTableData,pixelData:void 0,imageId:e}};function ae(e){return"RGB"===e||"PALETTE COLOR"===e||"YBR_FULL"===e||"YBR_FULL_422"===e||"YBR_PARTIAL_422"===e||"YBR_PARTIAL_420"===e||"YBR_RCT"===e||"YBR_ICT"===e}const ie={"1.2.840.10008.1.2.1":"application/octet-stream","1.2.840.10008.1.2":"application/octet-stream","1.2.840.10008.1.2.2":"application/octet-stream","1.2.840.10008.1.2.5":"image/dicom-rle"};let se="";function le(e){const t=function(e,t){let r;return Number.isInteger(e)&&Number.isInteger(t)?e>=0?t<=255?r=Uint8Array:t<=65535&&(r=Uint16Array):e>=-128&&t<=127?r=Int8Array:e>=-32768&&t<=32767&&(r=Int16Array):r=Float32Array,r}(e.smallestPixelValue,e.largestPixelValue);if(!t)throw new Error("Could not apply a typed array to the pixel data");{const r=new t(e.pixelData);e.pixelData=r}}const ce=function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=n.useRGBA;if(n.preScale={enabled:!(!n.preScale||void 0===n.preScale.enabled)&&n.preScale.enabled},!t||!t.length)return Promise.reject(new Error("The file does not contain image data."));const{cornerstone:a}=et,i=document.createElement("canvas"),s=oe(e);if(n.preScale.enabled){const t=function(e,t){const r=e.get("modalityLutModule",t)||{},n=e.get("generalSeriesModule",t)||{},{modality:o}=n,a={rescaleSlope:r.rescaleSlope,rescaleIntercept:r.rescaleIntercept,modality:o},i=e.get("scalingModule",t)||{};return{...a,..."PT"===o&&{suvbw:i.suvbw}}}(a.metaData,e);t&&(n.preScale={...n.preScale,scalingParameters:t})}n.isSharedArrayBuffer=n.targetBuffer?.arrayBuffer&&n.targetBuffer.arrayBuffer instanceof SharedArrayBuffer;const{decodeConfig:l}=M(),c=ne(s,r,t,i,n,l),{use16BitDataType:u}=l,d=ae(s.photometricInterpretation);return new Promise(((t,s)=>{c.then((function(s){if(n.skipCreateImage)return t(s);let l=!1;if(n.targetBuffer&&n.targetBuffer.type&&!d){const{arrayBuffer:e,type:t,offset:r=0,length:o}=n.targetBuffer,a=s.pixelDataLength,i=r,c=null!=o?o:a-i,d={Uint8Array,Uint16Array:u?Uint16Array:void 0,Int16Array:u?Int16Array:void 0,Float32Array};if(c!==s.pixelDataLength)throw new Error(`target array for image does not have the same length (${c}) as the decoded image length (${s.pixelDataLength}).`);const f=d[t],m=e?new f(e,i,c):new f(s.pixelData);if(c!==s.pixelDataLength)throw new Error("target array for image does not have the same length as the decoded image length.");s.pixelData=m,l=!0}l||le(s);const c=a.metaData.get("imagePlaneModule",e)||{},f=a.metaData.get("voiLutModule",e)||{},m=a.metaData.get("modalityLutModule",e)||{},g=a.metaData.get("sopCommonModule",e)||{};if(d){const{rows:e,columns:t}=s;if(ie[r]){i.height=s.rows,i.width=s.columns;const e=i.getContext("2d").createImageData(s.columns,s.rows);N(s,e.data,o),s.imageData=e,s.pixelData=e.data,s.pixelDataLength=e.data.length}else if(!o&&s.pixelDataLength===4*e*t){const e=new Uint8Array(s.pixelData.length/4*3);s.pixelData=function(e,t){const r=e.length/4;let n=0,o=0;for(let a=0;a<r;a++)t[o++]=e[n++],t[o++]=e[n++],t[o++]=e[n++],n++;return t}(s.pixelData,e),s.pixelDataLength=s.pixelData.length}const n=B(s.pixelData);s.smallestPixelValue=n.min,s.largestPixelValue=n.max}const h={imageId:e,color:d,columnPixelSpacing:c.columnPixelSpacing,columns:s.columns,height:s.rows,preScale:s.preScale,intercept:m.rescaleIntercept?m.rescaleIntercept:0,slope:m.rescaleSlope?m.rescaleSlope:1,invert:"MONOCHROME1"===s.photometricInterpretation,minPixelValue:s.smallestPixelValue,maxPixelValue:s.largestPixelValue,rowPixelSpacing:c.rowPixelSpacing,rows:s.rows,sizeInBytes:s.pixelData.byteLength,width:s.columns,windowCenter:f.windowCenter?f.windowCenter[0]:void 0,windowWidth:f.windowWidth?f.windowWidth[0]:void 0,voiLUTFunction:f.voiLUTFunction?f.voiLUTFunction:void 0,decodeTimeInMS:s.decodeTimeInMS,floatPixelData:void 0,imageFrame:s,rgba:d&&o,getPixelData:()=>s.pixelData,getCanvas:void 0,numComps:void 0};var p;if(window.image=h,h.color&&(h.getCanvas=function(){if(se===e)return i;const t=h.columns,r=h.rows;i.height=r,i.width=t;const n=i.getContext("2d"),o=n.createImageData(t,r),a=s.pixelData;if(a.length===t*r*4)for(let e=0;e<a.length;e++)o.data[e]=a[e];else if(a.length===t*r*3){let e=0;for(let t=0;t<a.length;t+=3)o.data[e++]=a[t],o.data[e++]=a[t+1],o.data[e++]=a[t+2],o.data[e++]=255}return s.pixelData=o.data,s.pixelDataLength=o.data.length,s.imageData=o,n.putImageData(s.imageData,0,0),se=e,i}),m.modalityLUTSequence&&m.modalityLUTSequence.length>0&&("1.2.840.10008.5.1.4.1.1.12.1"!==(p=g.sopClassUID)&&"1.2.840.10008.5.1.4.1.1.12.2.1"!==p)&&(h.modalityLUT=m.modalityLUTSequence[0]),f.voiLUTSequence&&f.voiLUTSequence.length>0&&(h.voiLUT=f.voiLUTSequence[0]),h.color&&(h.windowWidth=256,h.windowCenter=128),void 0===h.windowCenter||void 0===h.windowWidth){const e=h.imageFrame.minAfterScale,t=h.imageFrame.maxAfterScale;h.windowWidth=t-e,h.windowCenter=(t+e)/2}t(h)}),s)}))};const ue=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=et.cornerstone.imageRetrievalPoolManager,n=(new Date).getTime();return{promise:new Promise(((o,a)=>{const i=t.requestType||"interaction",s=t.additionalDetails||{imageId:e},l=void 0===t.priority?5:t.priority,c=t.addToBeginning||!1,u=e.substring(7);r.addRequest(function(e,r,i){return O(e,r,i).then((e=>{const i=function(e){const t="1.2.840.10008.1.2";if(!e)return t;const r=e.split(";"),n={};r.forEach((e=>{const t=e.split("=");if(2!==t.length)return;const r=t[1].trim().replace(/"/g,"");n[t[0].trim()]=r}));const o={"image/jpeg":"1.2.840.10008.1.2.4.50","image/x-dicom-rle":"1.2.840.10008.1.2.5","image/x-jls":"1.2.840.10008.1.2.4.80","image/jls":"1.2.840.10008.1.2.4.80","image/jll":"1.2.840.10008.1.2.4.70","image/jp2":"1.2.840.10008.1.2.4.90","image/jpx":"1.2.840.10008.1.2.4.92","image/jphc":"3.2.840.10008.1.2.4.96","image/jxl":"1.2.840.10008.1.2.4.140"};return n["transfer-syntax"]?n["transfer-syntax"]:e&&!Object.keys(n).length&&o[e]?o[e]:n.type&&o[n.type]?o[n.type]:o[e]?o[e]:t}(e.contentType),s=e.imageFrame.pixelData;ce(r,s,i,t).then((e=>{const t=(new Date).getTime();e.loadTimeInMS=t-n,o(e)}),a)}),a).catch((e=>{a(e)}))}.bind(this,u,e,"multipart/related; type=application/octet-stream; transfer-syntax=*"),i,s,l,c)})),cancelFn:void 0}};const de={metaData:{getNumberString:s,getNumberValue:l,getNumberValues:c,getValue:i,metaDataProvider:I},findIndexOfString:_,getPixelData:O,loadImage:ue,metaDataManager:w,register:function(e){e.registerImageLoader("wadors",ue),e.metaData.addProvider(I)}};function fe(e,t){if(e.elements[t]&&6===e.elements[t].length)return[e.uint16(t,0),e.uint16(t,1),e.uint16(t,2)]}function me(e,t,r){const n=[],o=e.elements[t];for(let a=0;a<r[0];a++)16===r[2]?n[a]=e.uint16(t,a):n[a]=e.byteArray[a+o.dataOffset];return n}const ge=function(e){const t={samplesPerPixel:e.uint16("x00280002"),photometricInterpretation:e.string("x00280004"),rows:e.uint16("x00280010"),columns:e.uint16("x00280011"),bitsAllocated:e.uint16("x00280100"),bitsStored:e.uint16("x00280101"),highBit:e.uint16("x00280102"),pixelRepresentation:e.uint16("x00280103"),planarConfiguration:e.uint16("x00280006"),pixelAspectRatio:e.string("x00280034")};return function(e,t){0===e.uint16("x00280103")?(t.smallestPixelValue=e.uint16("x00280106"),t.largestPixelValue=e.uint16("x00280107")):(t.smallestPixelValue=e.int16("x00280106"),t.largestPixelValue=e.int16("x00280107"))}(e,t),"PALETTE COLOR"===t.photometricInterpretation&&e.elements.x00281101&&function(e,t){t.redPaletteColorLookupTableDescriptor=fe(e,"x00281101"),t.greenPaletteColorLookupTableDescriptor=fe(e,"x00281102"),t.bluePaletteColorLookupTableDescriptor=fe(e,"x00281103"),0===t.redPaletteColorLookupTableDescriptor[0]&&(t.redPaletteColorLookupTableDescriptor[0]=65536,t.greenPaletteColorLookupTableDescriptor[0]=65536,t.bluePaletteColorLookupTableDescriptor[0]=65536);const r=t.redPaletteColorLookupTableDescriptor[0],n=e.elements.x00281201.length===r?8:16;t.redPaletteColorLookupTableDescriptor[2]!==n&&(t.redPaletteColorLookupTableDescriptor[2]=n,t.greenPaletteColorLookupTableDescriptor[2]=n,t.bluePaletteColorLookupTableDescriptor[2]=n),t.redPaletteColorLookupTableData=me(e,"x00281201",t.redPaletteColorLookupTableDescriptor),t.greenPaletteColorLookupTableData=me(e,"x00281202",t.greenPaletteColorLookupTableDescriptor),t.bluePaletteColorLookupTableData=me(e,"x00281203",t.bluePaletteColorLookupTableDescriptor)}(e,t),t};function he(e,t){let r=t.uint16("x00283002",0);0===r&&(r=65535);let n=0;n=0===e?t.uint16("x00283002",1):t.int16("x00283002",1);const o={id:"1",firstValueMapped:n,numBitsPerEntry:t.uint16("x00283002",2),lut:[]};for(let n=0;n<r;n++)o.lut[n]=0===e?t.uint16("x00283006",n):t.int16("x00283006",n);return o}const pe=function(e,t){if(!t||!t.items||!t.items.length)return;const r=[];for(let n=0;n<t.items.length;n++){const o=he(e,t.items[n].dataSet);o&&r.push(o)}return r};const xe=function(e){const t=e.string("x00080016");if("1.2.840.10008.5.1.4.1.1.2"===t||"1.2.840.10008.5.1.4.1.1.2.1"===t)return 1;const r=e.floatString("x00281052"),n=e.floatString("x00281053");if(void 0!==r&&void 0!==n){const t=function(e){const t=e.uint16("x00280103"),r=e.uint16("x00280101");return 0===t?0:-1<<r-1}(e);return t*n+r<0?1:0}return e.elements.x00283000&&e.elements.x00283000.length>0?0:e.uint16("x00280103")};const we=function(e,t,r){const n=[],o=e.string(t);if(!o)return;const a=o.split("\\");if(!(r&&a.length<r)){for(let e=0;e<a.length;e++)n.push(parseFloat(a[e]));return n}};const be=function(e){const t=e.indexOf(":");let r=e.substring(t+1);const n=r.indexOf("frame=");let o;if(-1!==n){const e=r.substring(n+6);o=parseInt(e,10),r=r.substring(0,n-1)}return{scheme:e.substring(0,t),url:r,frame:o,pixelDataFrame:void 0!==o?o-1:void 0}};function ye(e){const{dicomParser:t}=et;let r,n=t.parseDicom(e,{untilTag:"x7fe00010"});n.elements.x7fe00010||console.warn("Pixel data not found!");try{r=t.parseDicom(e)}catch(e){console.error(e),console.log("pixel data dataset:",e.dataSet),r=e.dataSet}return n.elements.x7fe00010=r.elements.x7fe00010,n=function(e){const t=e.elements.x7fe00010.fragments,r=e.byteArray.length;for(const e of t){const{position:t,length:n}=e;n>r-t&&(console.log(`Truncated fragment, changing fragment length from ${e.length} to ${r-t}`),e.length=r-t)}return e}(n),n}async function ke(e,t,r){const n=ye(e),{uri:o,imageId:a,fileTotalLength:i}=r;return n.fetchMore=async function(s){const l=Object.assign({uri:o,imageId:a,fetchedLength:e.length,lengthToFetch:i-e.length},s),{fetchedLength:c,lengthToFetch:u}=l,{arrayBuffer:d}=await t(o,a,{byteRange:`${c}-${c+u}`}),f=new Uint8Array(d),m=new Uint8Array(n.byteArray.length+f.length);return m.set(n.byteArray),m.set(f,n.byteArray.length),ke(m,t,r)},n}function ve(e,t,r){const n={};(t?Object.values(t.items[0].dataSet.elements):[]).map((e=>n[e.tag]=e));const o={};return(e?Object.values(e.items[r-1].dataSet.elements):[]).map((e=>o[e.tag]=e)),{shared:n,perFrame:o}}function De(e){if(!e)return;const{elements:t,...r}=e,{x52009230:n,x52009229:o,...a}=t;return{NumberOfFrames:e.intString("x00280008"),PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:o,otherElements:a,otherAttributtes:r}}function Te(e){if(Ce[e])return Ce[e]}function Se(e){if(!e)return!1;const t=e.intString("x00280008");return t&&t>1}const Pe={_get:Te,generateMultiframeWADOURIs:function(e){const t=[],r=Te(e);if(Se(r)){const n=r.intString("x00280008");for(let r=1;r<=n;r++)t.push(`${e}&frame=${r}`)}else t.push(e);return t},retrieveMultiframeDataset:function(e){const t=function(e){return e.indexOf("&frame=")}(e),r=-1===t?e:e.slice(0,t),n=parseInt(e.slice(t+7),10)||1;let o;return o=Ce[r]?Ce[r].dataSet:void 0,{dataSet:o,frame:n}},isMultiframeDataset:function(e){return Se(Te(e))}};let Ie=0,Ce={},_e={};function Le(){return{cacheSizeInBytes:Ie,numberOfDataSetsCached:Object.keys(Ce).length}}const Ae={isLoaded:function(e){return void 0!==Ce[e]},load:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:E,r=arguments.length>2?arguments[2]:void 0;const{cornerstone:n,dicomParser:o}=et;if(Ce[e])return new Promise((t=>{Ce[e].cacheCount++,t(Ce[e].dataSet)}));if(_e[e])return _e[e].cacheCount++,_e[e];const a=t(e,r),i=new Promise(((s,l)=>{a.then((async function(a){const c={isPartialContent:!1,fileTotalLength:null};if(!(a instanceof ArrayBuffer)){if(!a.arrayBuffer)return l(new Error("If not returning ArrayBuffer, must return object with `arrayBuffer` parameter"));c.isPartialContent=a.flags.isPartialContent,c.fileTotalLength=a.flags.fileTotalLength,a=a.arrayBuffer}const u=new Uint8Array(a);let d;try{d=c.isPartialContent?await ke(u,t,{uri:e,imageId:r,fileTotalLength:c.fileTotalLength}):o.parseDicom(u)}catch(e){return l(e)}Ce[e]={dataSet:d,cacheCount:i.cacheCount},Ie+=d.byteArray.length,s(d),n.triggerEvent(n.events,"datasetscachechanged",{uri:e,action:"loaded",cacheInfo:Le()})}),l).then((()=>{delete _e[e]}),(()=>{delete _e[e]}))}));return i.cacheCount=1,_e[e]=i,i},unload:function(e){const{cornerstone:t}=et;Ce[e]&&(Ce[e].cacheCount--,0===Ce[e].cacheCount&&(Ie-=Ce[e].dataSet.byteArray.length,delete Ce[e],t.triggerEvent(t.events,"datasetscachechanged",{uri:e,action:"unloaded",cacheInfo:Le()})))},getInfo:Le,purge:function(){Ce={},_e={},Ie=0},get:function(e){let t;if(e.includes("&frame=")){const{frame:r,dataSet:n}=Pe.retrieveMultiframeDataset(e);t=function(e,t){if(!t)return;const{NumberOfFrames:r,PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:o,otherElements:a}=De(t);if(n||r>1){const{shared:r,perFrame:i}=ve(n,o,e),s={elements:{...a,...r,...i}},l=Object.create(t);return Object.assign(l,s)}return t}(r,n)}else Ce[e]&&(t=Ce[e].dataSet);return t},update:function(e,t){const r=Ce[e];r?(Ie-=r.dataSet.byteArray.length,r.dataSet=t,Ie+=t.byteArray.length,et.cornerstone.triggerEvent(et.cornerstone.events,"datasetscachechanged",{uri:e,action:"updated",cacheInfo:Le()})):console.error(`No loaded dataSet for uri ${e}`)}};function Me(e,t){const r=e.string("x00080008");if(r){const e=r.split("\\");if(e.length>t)return e[t]}}function Ee(e){let t=we(e,"x00200037",6);return!t&&e.elements.x00209116&&(t=we(e.elements.x00209116.items[0].dataSet,"x00200037",6)),t||(t=function(e){let t;if(e.string("x00080060").includes("NM")){const r=Me(e,2);r&&b(r)&&e.elements.x00540022&&(t=we(e.elements.x00540022.items[0].dataSet,"x00200037",6))}return t}(e)),t}function Re(e){let t=we(e,"x00200032",3);return!t&&e.elements.x00209113&&(t=we(e.elements.x00209113.items[0].dataSet,"x00200032",3)),t||(t=function(e){let t;if(e.string("x00080060").includes("NM")){const r=Me(e,2);r&&b(r)&&e.elements.x00540022&&(t=we(e.elements.x00540022.items[0].dataSet,"x00200032",3))}return t}(e)),t}function Fe(e){let t=we(e,"x00280030",2);return!t&&e.elements.x00289110&&(t=we(e.elements.x00289110.items[0].dataSet,"x00280030",2)),t}function Oe(e){let t;return e.elements.x00180050?t=e.floatString("x00180050"):e.elements.x00289110&&e.elements.x00289110.items.length&&e.elements.x00289110.items[0].dataSet.elements.x00180050&&(t=e.elements.x00289110.items[0].dataSet.floatString("x00180050")),t}const Be=function e(t,r){const{dicomParser:n}=et,o=be(r);if("multiframeModule"===t){const e=Pe.retrieveMultiframeDataset(o.url);if(!e.dataSet)return;const t=function(e,t){if(!e)return;const{NumberOfFrames:r,PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:o}=De(e);if(n||r>1){const{shared:e,perFrame:a}=ve(n,o,t);return{NumberOfFrames:r,PerFrameFunctionalInformation:a,SharedFunctionalInformation:e}}return{NumberOfFrames:r}}(e.dataSet,e.frame);return t}let a=o.url;o.frame&&(a=`${a}&frame=${o.frame}`);const i=Ae.get(a);if(i){if("generalSeriesModule"===t)return{modality:i.string("x00080060"),seriesInstanceUID:i.string("x0020000e"),seriesNumber:i.intString("x00200011"),studyInstanceUID:i.string("x0020000d"),seriesDate:n.parseDA(i.string("x00080021")),seriesTime:n.parseTM(i.string("x00080031")||""),acquisitionDate:n.parseDA(i.string("x00080022")||""),acquisitionTime:n.parseTM(i.string("x00080032")||"")};if("patientStudyModule"===t)return{patientAge:i.intString("x00101010"),patientSize:i.floatString("x00101020"),patientWeight:i.floatString("x00101030")};if("imagePlaneModule"===t){const e=Ee(i),t=Re(i),r=Fe(i);let n;i.elements.x00200052&&(n=i.string("x00200052"));const o=Oe(i);let a;i.elements.x00201041&&(a=i.floatString("x00201041"));let s=null,l=null;r&&(l=r[0],s=r[1]);let c=null,u=null;return e&&(c=[parseFloat(e[0]),parseFloat(e[1]),parseFloat(e[2])],u=[parseFloat(e[3]),parseFloat(e[4]),parseFloat(e[5])]),{frameOfReferenceUID:n,rows:i.uint16("x00280010"),columns:i.uint16("x00280011"),imageOrientationPatient:e,rowCosines:c,columnCosines:u,imagePositionPatient:t,sliceThickness:o,sliceLocation:a,pixelSpacing:r,rowPixelSpacing:l,columnPixelSpacing:s}}if("nmMultiframeGeometryModule"===t){const e=i.string("x00080060"),t=Me(i,2);return{modality:e,imageType:i.string("x00080008"),imageSubType:t,imageOrientationPatient:Ee(i),imagePositionPatient:Re(i),sliceThickness:Oe(i),pixelSpacing:Fe(i),numberOfFrames:i.uint16("x00280008"),isNMReconstructable:b(t)&&e.includes("NM")}}if("imagePixelModule"===t)return ge(i);if("modalityLutModule"===t)return{rescaleIntercept:i.floatString("x00281052"),rescaleSlope:i.floatString("x00281053"),rescaleType:i.string("x00281054"),modalityLUTSequence:pe(i.uint16("x00280103"),i.elements.x00283000)};if("voiLutModule"===t){const e=xe(i);return{windowCenter:we(i,"x00281050",1),windowWidth:we(i,"x00281051",1),voiLUTSequence:pe(e,i.elements.x00283010)}}if("sopCommonModule"===t)return{sopClassUID:i.string("x00080016"),sopInstanceUID:i.string("x00080018")};if("petIsotopeModule"===t){const e=i.elements.x00540016;if(void 0===e)return;const t=e.items[0].dataSet;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:n.parseTM(t.string("x00181072")||""),radionuclideTotalDose:t.floatString("x00181074"),radionuclideHalfLife:t.floatString("x00181075")}}}return"overlayPlaneModule"===t?function(e){const t=[];for(let r=0;r<=30;r+=2){let n=`x60${r.toString(16)}`;4===n.length&&(n=`x600${r.toString(16)}`);const o=e.elements[`${n}3000`];if(!o)continue;const a=[];for(let t=0;t<o.length;t++)for(let r=0;r<8;r++){const n=e.byteArray[o.dataOffset+t];a[8*t+r]=n>>r&1}t.push({rows:e.uint16(`${n}0010`),columns:e.uint16(`${n}0011`),type:e.string(`${n}0040`),x:e.int16(`${n}0050`,1)-1,y:e.int16(`${n}0050`,0)-1,pixelData:a,description:e.string(`${n}0022`),label:e.string(`${n}1500`),roiArea:e.string(`${n}1301`),roiMean:e.string(`${n}1302`),roiStandardDeviation:e.string(`${n}1303`)})}return{overlays:t}}(i):"transferSyntax"===t?{transferSyntaxUID:i.string("x00020010")}:"petSeriesModule"===t?{correctedImage:i.string("x00280051"),units:i.string("x00541001"),decayCorrection:i.string("x00541102")}:"petImageModule"===t?{frameReferenceTime:i.floatString(i.string("x00541300")||""),actualFrameDuration:i.intString(i.string("x00181242"))}:"instance"===t?T(r,e,P):void 0}};let Ue=[];const Ne={add:function(e){return"dicomfile:"+(Ue.push(e)-1)},get:function(e){return Ue[e]},remove:function(e){Ue[e]=void 0},purge:function(){Ue=[]}};function je(e,t){const{dicomParser:r}=et;if(e.elements.x7fe00010&&e.elements.x7fe00010.basicOffsetTable.length)return r.readEncapsulatedImageFrame(e,e.elements.x7fe00010,t);if(function(e){return e.intString("x00280008")!==e.elements.x7fe00010.fragments.length}(e)){const n=r.createJPEGBasicOffsetTable(e,e.elements.x7fe00010);return r.readEncapsulatedImageFrame(e,e.elements.x7fe00010,t,n)}return r.readEncapsulatedPixelDataFromFragments(e,e.elements.x7fe00010,t)}function We(e,t){return e&1<<t}const Ze=function(e,t,r){const n=new Uint8Array(r);for(let o=0;o<r;o++){const r=e[Math.floor(o/8)+t],a=o%8;n[o]=We(r,a)?1:0}return n};const $e=function(e,t){const r=e.elements.x7fe00010||e.elements.x7fe00008,n=e.uint16("x00280100"),o=e.uint16("x00280010"),a=e.uint16("x00280011");let i=e.uint16("x00280002");"YBR_FULL_422"===e.string("x00280004")&&(i=2,console.warn("Using SamplesPerPixel of 2 for YBR_FULL_422 photometric interpretation.\n See http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.6.3.html for more information."));const s=r.dataOffset,l=o*a*i;let c;if(8===n){if(c=s+t*l,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer.slice(c,c+l))}if(16===n){if(c=s+t*l*2,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer.slice(c,c+2*l))}if(1===n){if(c=s+t*l*.125,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return Ze(e.byteArray,c,l)}if(32===n){if(c=s+t*l*4,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer.slice(c,c+4*l))}throw new Error("unsupported pixel format")};const Ge=function(e){const t=be(e),r=parseInt(t.url,10),n=Ne.get(r);return new Promise(((e,t)=>{const r=new FileReader;r.onload=t=>{const r=t.target.result;e(r)},r.onerror=t,r.readAsArrayBuffer(n)}))};const Ve=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=e.elements.x7fe00010||e.elements.x7fe00008;return r?r.encapsulatedPixelData?je(e,t):$e(e,t):null};function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0;const i=(new Date).getTime(),s={cancelFn:void 0,promise:void 0};return s.promise=new Promise(((l,c)=>{e.then((e=>{const u=Ve(e,r),d=e.string("x00020010"),f=(new Date).getTime(),m=ce(t,u,d,o);!function(e,t){e.decache=function(){const e=be(t);Ae.unload(e.url)}}(s,t),m.then((t=>{t.data=e,t.sharedCacheKey=n;const r=(new Date).getTime();t.loadTimeInMS=f-i,t.totalTimeInMS=r-i,void 0!==a&&void 0!==a.imageDoneCallback&&a.imageDoneCallback(t),l(t)}),(function(t){c({error:t,dataSet:e})}))}),(function(e){c({error:e})}))})),s}function ze(e){return"dicomweb"===e||"wadouri"===e?E:"dicomfile"===e?Ge:void 0}function Ye(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=be(e);t=Object.assign({},t);let n=t.loader;if(void 0===n?n=ze(r.scheme):delete t.loader,Ae.isLoaded(r.url)){return function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;const a=(new Date).getTime();return{promise:new Promise(((i,s)=>{const l=(new Date).getTime();let c;try{const n=Ve(e,r),a=e.string("x00020010");c=ce(t,n,a,o)}catch(t){return void s({error:t,dataSet:e})}c.then((t=>{t.data=e,t.sharedCacheKey=n;const r=(new Date).getTime();t.loadTimeInMS=l-a,t.totalTimeInMS=r-a,i(t)}),s)})),cancelFn:void 0}}(Ae.get(r.url,n,e),e,r.pixelDataFrame,r.url,t)}return qe(Ae.load(r.url,n,e),e,r.frame,r.url,t)}const He={metaData:{getImagePixelModule:ge,getLUTs:pe,getModalityLUTOutputPixelRepresentation:xe,getNumberValues:we,metaDataProvider:Be},dataSetCacheManager:Ae,fileManager:Ne,getEncapsulatedImageFrame:je,getUncompressedImageFrame:$e,loadFileRequest:Ge,loadImageFromPromise:qe,getLoaderForScheme:ze,loadImage:Ye,parseImageId:be,unpackBinaryFrame:Ze,register:function(e){e.registerImageLoader("dicomweb",Ye),e.registerImageLoader("wadouri",Ye),e.registerImageLoader("dicomfile",Ye),e.metaData.addProvider(Be)}};const Ke=function(e){de.register(e),He.register(e)};let Je,Xe;const Qe={set cornerstone(e){Je=e,Ke(Je)},get cornerstone(){if(!Je){if(Je=window&&window.cornerstone,!Je)throw new Error("cornerstoneDICOMImageLoader requires a copy of Cornerstone to work properly. Please add cornerstoneDICOMImageLoader.external.cornerstone = cornerstone; to your application.");Ke(Je)}return Je},set dicomParser(e){Xe=e},get dicomParser(){if(!Xe){if(!window||!window.dicomParser)throw new Error("cornerstoneDICOMImageLoader requires a copy of dicomParser to work properly. Please add cornerstoneDICOMImageLoader.external.dicomParser = dicomParser; to your application.");Xe=window.dicomParser}return Xe}},et=Qe;function tt(e,t){const r=e.length,n=new Uint8ClampedArray(r);for(let o=0;o<r;++o)n[o]=e[o]>>t;return n}function rt(e,t,r){const n=e.columns*e.rows,o=e.pixelData;let a=e.redPaletteColorLookupTableData;a||(a=et.cornerstone.metaData.get("imagePixelModule",e.imageId)?.redPaletteColorLookupTableData);let i=e.greenPaletteColorLookupTableData;i||(i=et.cornerstone.metaData.get("imagePixelModule",e.imageId)?.greenPaletteColorLookupTableData);let s=e.bluePaletteColorLookupTableData;if(s||(s=et.cornerstone.metaData.get("imagePixelModule",e.imageId)?.bluePaletteColorLookupTableData),!a||!i||!s)throw new Error("The image does not have a complete color palette. R, G, and B palette data are required.");const l=e.redPaletteColorLookupTableData.length;let c=0,u=0;const d=e.redPaletteColorLookupTableDescriptor[1],f=8===e.redPaletteColorLookupTableDescriptor[2]?0:8,m=tt(a,f),g=tt(i,f),h=tt(s,f);if(r)for(let e=0;e<n;++e){let e=o[c++];e<d?e=0:e>d+l-1?e=l-1:e-=d,t[u++]=m[e],t[u++]=g[e],t[u++]=h[e],t[u++]=255}else for(let e=0;e<n;++e){let e=o[c++];e<d?e=0:e>d+l-1?e=l-1:e-=d,t[u++]=m[e],t[u++]=g[e],t[u++]=h[e]}}const nt=function(e){A(e)};const ot=function(e,t){if(t=t||e.transferSyntax,8===e.bitsAllocated&&"1.2.840.10008.1.2.4.50"===t&&(3===e.samplesPerPixel||4===e.samplesPerPixel))return!0},at={convertRGBColorByPixel:e,convertRGBColorByPlane:t,convertYBRFullByPixel:o,convertYBRFullByPlane:a,convertPALETTECOLOR:rt,wadouri:He,wadors:de,configure:nt,convertColorSpace:N,createImage:ce,decodeImageFrame:ne,decodeJPEGBaseline8BitColor:W,getImageFrame:oe,getPixelData:O,getMinMax:B,isColorImage:ae,isJPEGBaseline8BitColor:ot,webWorkerManager:ee,internal:R,external:Qe}})(),n})()));
56941
56942
 
56942
56943
 
56943
56944
  /***/ }),
@@ -156051,7 +156052,7 @@ var selectOrdinal = function selectOrdinal() {
156051
156052
  /******/ // This function allow to reference async chunks
156052
156053
  /******/ __webpack_require__.u = (chunkId) => {
156053
156054
  /******/ // return url for filenames based on template
156054
- /******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"0609045f3ef8a698e621","18":"2c146384eb9466d02ff8","23":"e008ad788170f2ed5569","30":"763c0c7b2a270248cad8","90":"aa225b1457b31d5f13da","116":"422d1a76d8daccfed61d","125":"aeaad798561853bf6939","128":"042ce64cf4605184ca2d","150":"60a8e8848b9676657e44","181":"9406be756cfb7968981c","202":"591726b6144882ba0ee0","220":"f7e1c96c94245e70f2be","236":"6e2b4135a2a986dcc52c","250":"77985c008fc579308ca9","281":"510a540d099579ca0b46","348":"09129eddf504e82aeb5f","359":"e00fdb6c1e2209d2bf18","410":"0511fd06923bdc8129c5","417":"6cadc61b8a455776de31","451":"aaabf094eb8fa67da819","471":"953dacdccd46028efba7","506":"4c8748ec37526d1368ee","579":"8fc434a0c13d3f662d42","604":"a51f83e64004bca5f497","663":"f4704358d88979413fc2","677":"ec5f2b4707db33bd4d8e","686":"b3dbf84eefbef768843f","687":"52bd73d00f886617719c","754":"a5c9246c77659eab2739","774":"8ba82ee206266eb2da5e","775":"2285e7e0e67878948c0d","782":"c203eb0044248eadce50","814":"0c93db51b74feab1a8db","822":"9a70e6c61f931d0b494d","886":"7ee671b1d5656455d067","967":"c4f5d8cccd0b98fb8e5d"}[chunkId] + ".js";
156055
+ /******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"653904a1682368c34d6b","18":"2c146384eb9466d02ff8","23":"e008ad788170f2ed5569","30":"16bfc3a374fc4eda5ffc","90":"1d113c4a201e850c98c0","125":"aeaad798561853bf6939","128":"d4536952e6eda267cb5a","150":"1fff6b0c3496b6367f58","181":"9a76ce585a7139d4862f","202":"6c3b5e9f37d88388e5c8","220":"f7e1c96c94245e70f2be","236":"2386ed58739fdbdd53f8","250":"77985c008fc579308ca9","281":"fbb8c83b343a6903d529","348":"343c39a8c96a044b0fe2","359":"2618db789083f7d3007d","410":"5cc4909f3c608350a71e","417":"6cadc61b8a455776de31","451":"aaabf094eb8fa67da819","471":"953dacdccd46028efba7","506":"c0258b1d7299fdb7628e","579":"8fc434a0c13d3f662d42","604":"a51f83e64004bca5f497","663":"5175469e25c5196a739c","677":"ec5f2b4707db33bd4d8e","686":"b3dbf84eefbef768843f","687":"60d3856e6e77c027c174","754":"6618bdd7f648b532c682","774":"d365320749c4f67cda70","775":"2285e7e0e67878948c0d","777":"82a7cc23a7b6a8bd12fa","782":"6fa60a24d3d4ad76c8db","814":"ba4f6267b43f8dbc803f","822":"4767349eb43b79145b3e","886":"7ee671b1d5656455d067","967":"ab062b0b325bed3b9af9"}[chunkId] + ".js";
156055
156056
  /******/ };
156056
156057
  /******/ })();
156057
156058
  /******/