@cornerstonejs/dicom-image-loader 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstoneDICOMImageLoader",[],t):"object"==typeof exports?exports.cornerstoneDICOMImageLoader=t():e.cornerstoneDICOMImageLoader=t()}(this,(function(){return(()=>{var e={945:(e,t,r)=>{e.exports=r(602)},578:(e,t,r)=>{"use strict";const n=r(823),a=r(187),o=r(592),i=r(604),s=r(249),l=r(968),c=Object.prototype.toString,{Z_NO_FLUSH:u,Z_FINISH:f,Z_OK:d,Z_STREAM_END:h,Z_NEED_DICT:m,Z_STREAM_ERROR:p,Z_DATA_ERROR:g,Z_MEM_ERROR:v}=r(684);function b(e){this.options=a.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!==d)throw new Error(i[r]);if(this.header=new l,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=o.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!==d)))throw new Error(i[r])}function y(e,t){const r=new b(t);if(r.push(e),r.err)throw r.msg||i[r.err];return r.result}b.prototype.push=function(e,t){const r=this.strm,a=this.options.chunkSize,i=this.options.dictionary;let s,l,b;if(this.ended)return!1;for(l=t===~~t?t:!0===t?f: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(a),r.next_out=0,r.avail_out=a),s=n.inflate(r,l),s===m&&i&&(s=n.inflateSetDictionary(r,i),s===d?s=n.inflate(r,l):s===g&&(s=m));r.avail_in>0&&s===h&&r.state.wrap>0&&0!==e[r.next_in];)n.inflateReset(r),s=n.inflate(r,l);switch(s){case p:case g:case m:case v:return this.onEnd(s),this.ended=!0,!1}if(b=r.avail_out,r.next_out&&(0===r.avail_out||s===h))if("string"===this.options.to){let e=o.utf8border(r.output,r.next_out),t=r.next_out-e,n=o.buf2string(r.output,e);r.next_out=t,r.avail_out=a-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!==d||0!==b){if(s===h)return s=n.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},b.prototype.onData=function(e){this.chunks.push(e)},b.prototype.onEnd=function(e){e===d&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=a.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},e.exports.Hq=function(e,t){return(t=t||{}).raw=!0,y(e,t)},r(684)},187:e=>{"use strict";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,a=e.length;t<a;t++){let a=e[t];r.set(a,n),n+=a.length}return r}},592:e=>{"use strict";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,a,o,i=e.length,s=0;for(a=0;a<i;a++)r=e.charCodeAt(a),55296==(64512&r)&&a+1<i&&(n=e.charCodeAt(a+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),a++)),s+=r<128?1:r<2048?2:r<65536?3:4;for(t=new Uint8Array(s),o=0,a=0;o<s;a++)r=e.charCodeAt(a),55296==(64512&r)&&a+1<i&&(n=e.charCodeAt(a+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),a++)),r<128?t[o++]=r:r<2048?(t[o++]=192|r>>>6,t[o++]=128|63&r):r<65536?(t[o++]=224|r>>>12,t[o++]=128|r>>>6&63,t[o++]=128|63&r):(t[o++]=240|r>>>18,t[o++]=128|r>>>12&63,t[o++]=128|r>>>6&63,t[o++]=128|63&r);return t};e.exports.buf2string=(e,n)=>{const a=n||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,n));let o,i;const s=new Array(2*a);for(i=0,o=0;o<a;){let t=e[o++];if(t<128){s[i++]=t;continue}let n=r[t];if(n>4)s[i++]=65533,o+=n-1;else{for(t&=2===n?31:3===n?15:7;n>1&&o<a;)t=t<<6|63&e[o++],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=>{"use strict";e.exports=(e,t,r,n)=>{let a=65535&e|0,o=e>>>16&65535|0,i=0;for(;0!==r;){i=r>2e3?2e3:r,r-=i;do{a=a+t[n++]|0,o=o+a|0}while(--i);a%=65521,o%=65521}return a|o<<16|0}},684:e=>{"use strict";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=>{"use strict";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,a)=>{const o=t,i=a+n;e^=-1;for(let t=a;t<i;t++)e=e>>>8^o[255&(e^r[t])];return-1^e}},968:e=>{"use strict";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=>{"use strict";e.exports=function(e,t){let r,n,a,o,i,s,l,c,u,f,d,h,m,p,g,v,b,y,w,x,k,P,S,D;const T=e.state;r=e.next_in,S=e.input,n=r+(e.avail_in-5),a=e.next_out,D=e.output,o=a-(t-e.avail_out),i=a+(e.avail_out-257),s=T.dmax,l=T.wsize,c=T.whave,u=T.wnext,f=T.window,d=T.hold,h=T.bits,m=T.lencode,p=T.distcode,g=(1<<T.lenbits)-1,v=(1<<T.distbits)-1;e:do{h<15&&(d+=S[r++]<<h,h+=8,d+=S[r++]<<h,h+=8),b=m[d&g];t:for(;;){if(y=b>>>24,d>>>=y,h-=y,y=b>>>16&255,0===y)D[a++]=65535&b;else{if(!(16&y)){if(0==(64&y)){b=m[(65535&b)+(d&(1<<y)-1)];continue t}if(32&y){T.mode=12;break e}e.msg="invalid literal/length code",T.mode=30;break e}w=65535&b,y&=15,y&&(h<y&&(d+=S[r++]<<h,h+=8),w+=d&(1<<y)-1,d>>>=y,h-=y),h<15&&(d+=S[r++]<<h,h+=8,d+=S[r++]<<h,h+=8),b=p[d&v];r:for(;;){if(y=b>>>24,d>>>=y,h-=y,y=b>>>16&255,!(16&y)){if(0==(64&y)){b=p[(65535&b)+(d&(1<<y)-1)];continue r}e.msg="invalid distance code",T.mode=30;break e}if(x=65535&b,y&=15,h<y&&(d+=S[r++]<<h,h+=8,h<y&&(d+=S[r++]<<h,h+=8)),x+=d&(1<<y)-1,x>s){e.msg="invalid distance too far back",T.mode=30;break e}if(d>>>=y,h-=y,y=a-o,x>y){if(y=x-y,y>c&&T.sane){e.msg="invalid distance too far back",T.mode=30;break e}if(k=0,P=f,0===u){if(k+=l-y,y<w){w-=y;do{D[a++]=f[k++]}while(--y);k=a-x,P=D}}else if(u<y){if(k+=l+u-y,y-=u,y<w){w-=y;do{D[a++]=f[k++]}while(--y);if(k=0,u<w){y=u,w-=y;do{D[a++]=f[k++]}while(--y);k=a-x,P=D}}}else if(k+=u-y,y<w){w-=y;do{D[a++]=f[k++]}while(--y);k=a-x,P=D}for(;w>2;)D[a++]=P[k++],D[a++]=P[k++],D[a++]=P[k++],w-=3;w&&(D[a++]=P[k++],w>1&&(D[a++]=P[k++]))}else{k=a-x;do{D[a++]=D[k++],D[a++]=D[k++],D[a++]=D[k++],w-=3}while(w>2);w&&(D[a++]=D[k++],w>1&&(D[a++]=D[k++]))}break}}break}}while(r<n&&a<i);w=h>>3,r-=w,h-=w<<3,d&=(1<<h)-1,e.next_in=r,e.next_out=a,e.avail_in=r<n?n-r+5:5-(r-n),e.avail_out=a<i?i-a+257:257-(a-i),T.hold=d,T.bits=h}},823:(e,t,r)=>{"use strict";const n=r(693),a=r(464),o=r(365),i=r(446),{Z_FINISH:s,Z_BLOCK:l,Z_TREES:c,Z_OK:u,Z_STREAM_END:f,Z_NEED_DICT:d,Z_STREAM_ERROR:h,Z_DATA_ERROR:m,Z_MEM_ERROR:p,Z_BUF_ERROR:g,Z_DEFLATED:v}=r(684),b=12,y=30,w=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function x(){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 k=e=>{if(!e||!e.state)return h;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=1,t.last=0,t.havedict=0,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},P=e=>{if(!e||!e.state)return h;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,k(e)},S=(e,t)=>{let r;if(!e||!e.state)return h;const n=e.state;return t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?h:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,P(e))},D=(e,t)=>{if(!e)return h;const r=new x;e.state=r,r.window=null;const n=S(e,t);return n!==u&&(e.state=null),n};let T,O,I=!0;const _=e=>{if(I){T=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,T,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}),I=!1}e.lencode=T,e.lenbits=9,e.distcode=O,e.distbits=5},C=(e,t,r,n)=>{let a;const o=e.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),n>=o.wsize?(o.window.set(t.subarray(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(a=o.wsize-o.wnext,a>n&&(a=n),o.window.set(t.subarray(r-n,r-n+a),o.wnext),(n-=a)?(o.window.set(t.subarray(r-n,r),0),o.wnext=n,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=a))),0};e.exports.inflateReset=P,e.exports.inflateReset2=S,e.exports.inflateResetKeep=k,e.exports.inflateInit=e=>D(e,15),e.exports.inflateInit2=D,e.exports.inflate=(e,t)=>{let r,x,k,P,S,D,T,O,I,L,E,A,M,R,F,j,B,U,N,G,W,Z,V=0;const q=new Uint8Array(4);let z,Y;const H=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return h;r=e.state,r.mode===b&&(r.mode=13),S=e.next_out,k=e.output,T=e.avail_out,P=e.next_in,x=e.input,D=e.avail_in,O=r.hold,I=r.bits,L=D,E=T,Z=u;e:for(;;)switch(r.mode){case 1:if(0===r.wrap){r.mode=13;break}for(;I<16;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}if(2&r.wrap&&35615===O){r.check=0,q[0]=255&O,q[1]=O>>>8&255,r.check=a(r.check,q,2,0),O=0,I=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&O)<<8)+(O>>8))%31){e.msg="incorrect header check",r.mode=y;break}if((15&O)!==v){e.msg="unknown compression method",r.mode=y;break}if(O>>>=4,I-=4,W=8+(15&O),0===r.wbits)r.wbits=W;else if(W>r.wbits){e.msg="invalid window size",r.mode=y;break}r.dmax=1<<r.wbits,e.adler=r.check=1,r.mode=512&O?10:b,O=0,I=0;break;case 2:for(;I<16;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}if(r.flags=O,(255&r.flags)!==v){e.msg="unknown compression method",r.mode=y;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=y;break}r.head&&(r.head.text=O>>8&1),512&r.flags&&(q[0]=255&O,q[1]=O>>>8&255,r.check=a(r.check,q,2,0)),O=0,I=0,r.mode=3;case 3:for(;I<32;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}r.head&&(r.head.time=O),512&r.flags&&(q[0]=255&O,q[1]=O>>>8&255,q[2]=O>>>16&255,q[3]=O>>>24&255,r.check=a(r.check,q,4,0)),O=0,I=0,r.mode=4;case 4:for(;I<16;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}r.head&&(r.head.xflags=255&O,r.head.os=O>>8),512&r.flags&&(q[0]=255&O,q[1]=O>>>8&255,r.check=a(r.check,q,2,0)),O=0,I=0,r.mode=5;case 5:if(1024&r.flags){for(;I<16;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}r.length=O,r.head&&(r.head.extra_len=O),512&r.flags&&(q[0]=255&O,q[1]=O>>>8&255,r.check=a(r.check,q,2,0)),O=0,I=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(A=r.length,A>D&&(A=D),A&&(r.head&&(W=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(x.subarray(P,P+A),W)),512&r.flags&&(r.check=a(r.check,x,A,P)),D-=A,P+=A,r.length-=A),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===D)break e;A=0;do{W=x[P+A++],r.head&&W&&r.length<65536&&(r.head.name+=String.fromCharCode(W))}while(W&&A<D);if(512&r.flags&&(r.check=a(r.check,x,A,P)),D-=A,P+=A,W)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===D)break e;A=0;do{W=x[P+A++],r.head&&W&&r.length<65536&&(r.head.comment+=String.fromCharCode(W))}while(W&&A<D);if(512&r.flags&&(r.check=a(r.check,x,A,P)),D-=A,P+=A,W)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;I<16;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}if(O!==(65535&r.check)){e.msg="header crc mismatch",r.mode=y;break}O=0,I=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=b;break;case 10:for(;I<32;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}e.adler=r.check=w(O),O=0,I=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=S,e.avail_out=T,e.next_in=P,e.avail_in=D,r.hold=O,r.bits=I,d;e.adler=r.check=1,r.mode=b;case b:if(t===l||t===c)break e;case 13:if(r.last){O>>>=7&I,I-=7&I,r.mode=27;break}for(;I<3;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}switch(r.last=1&O,O>>>=1,I-=1,3&O){case 0:r.mode=14;break;case 1:if(_(r),r.mode=20,t===c){O>>>=2,I-=2;break e}break;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=y}O>>>=2,I-=2;break;case 14:for(O>>>=7&I,I-=7&I;I<32;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}if((65535&O)!=(O>>>16^65535)){e.msg="invalid stored block lengths",r.mode=y;break}if(r.length=65535&O,O=0,I=0,r.mode=15,t===c)break e;case 15:r.mode=16;case 16:if(A=r.length,A){if(A>D&&(A=D),A>T&&(A=T),0===A)break e;k.set(x.subarray(P,P+A),S),D-=A,P+=A,T-=A,S+=A,r.length-=A;break}r.mode=b;break;case 17:for(;I<14;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}if(r.nlen=257+(31&O),O>>>=5,I-=5,r.ndist=1+(31&O),O>>>=5,I-=5,r.ncode=4+(15&O),O>>>=4,I-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=y;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;I<3;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}r.lens[H[r.have++]]=7&O,O>>>=3,I-=3}for(;r.have<19;)r.lens[H[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,z={bits:r.lenbits},Z=i(0,r.lens,0,19,r.lencode,0,r.work,z),r.lenbits=z.bits,Z){e.msg="invalid code lengths set",r.mode=y;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;V=r.lencode[O&(1<<r.lenbits)-1],F=V>>>24,j=V>>>16&255,B=65535&V,!(F<=I);){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}if(B<16)O>>>=F,I-=F,r.lens[r.have++]=B;else{if(16===B){for(Y=F+2;I<Y;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}if(O>>>=F,I-=F,0===r.have){e.msg="invalid bit length repeat",r.mode=y;break}W=r.lens[r.have-1],A=3+(3&O),O>>>=2,I-=2}else if(17===B){for(Y=F+3;I<Y;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}O>>>=F,I-=F,W=0,A=3+(7&O),O>>>=3,I-=3}else{for(Y=F+7;I<Y;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}O>>>=F,I-=F,W=0,A=11+(127&O),O>>>=7,I-=7}if(r.have+A>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=y;break}for(;A--;)r.lens[r.have++]=W}}if(r.mode===y)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=y;break}if(r.lenbits=9,z={bits:r.lenbits},Z=i(1,r.lens,0,r.nlen,r.lencode,0,r.work,z),r.lenbits=z.bits,Z){e.msg="invalid literal/lengths set",r.mode=y;break}if(r.distbits=6,r.distcode=r.distdyn,z={bits:r.distbits},Z=i(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,z),r.distbits=z.bits,Z){e.msg="invalid distances set",r.mode=y;break}if(r.mode=20,t===c)break e;case 20:r.mode=21;case 21:if(D>=6&&T>=258){e.next_out=S,e.avail_out=T,e.next_in=P,e.avail_in=D,r.hold=O,r.bits=I,o(e,E),S=e.next_out,k=e.output,T=e.avail_out,P=e.next_in,x=e.input,D=e.avail_in,O=r.hold,I=r.bits,r.mode===b&&(r.back=-1);break}for(r.back=0;V=r.lencode[O&(1<<r.lenbits)-1],F=V>>>24,j=V>>>16&255,B=65535&V,!(F<=I);){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}if(j&&0==(240&j)){for(U=F,N=j,G=B;V=r.lencode[G+((O&(1<<U+N)-1)>>U)],F=V>>>24,j=V>>>16&255,B=65535&V,!(U+F<=I);){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}O>>>=U,I-=U,r.back+=U}if(O>>>=F,I-=F,r.back+=F,r.length=B,0===j){r.mode=26;break}if(32&j){r.back=-1,r.mode=b;break}if(64&j){e.msg="invalid literal/length code",r.mode=y;break}r.extra=15&j,r.mode=22;case 22:if(r.extra){for(Y=r.extra;I<Y;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}r.length+=O&(1<<r.extra)-1,O>>>=r.extra,I-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;V=r.distcode[O&(1<<r.distbits)-1],F=V>>>24,j=V>>>16&255,B=65535&V,!(F<=I);){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}if(0==(240&j)){for(U=F,N=j,G=B;V=r.distcode[G+((O&(1<<U+N)-1)>>U)],F=V>>>24,j=V>>>16&255,B=65535&V,!(U+F<=I);){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}O>>>=U,I-=U,r.back+=U}if(O>>>=F,I-=F,r.back+=F,64&j){e.msg="invalid distance code",r.mode=y;break}r.offset=B,r.extra=15&j,r.mode=24;case 24:if(r.extra){for(Y=r.extra;I<Y;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}r.offset+=O&(1<<r.extra)-1,O>>>=r.extra,I-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=y;break}r.mode=25;case 25:if(0===T)break e;if(A=E-T,r.offset>A){if(A=r.offset-A,A>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=y;break}A>r.wnext?(A-=r.wnext,M=r.wsize-A):M=r.wnext-A,A>r.length&&(A=r.length),R=r.window}else R=k,M=S-r.offset,A=r.length;A>T&&(A=T),T-=A,r.length-=A;do{k[S++]=R[M++]}while(--A);0===r.length&&(r.mode=21);break;case 26:if(0===T)break e;k[S++]=r.length,T--,r.mode=21;break;case 27:if(r.wrap){for(;I<32;){if(0===D)break e;D--,O|=x[P++]<<I,I+=8}if(E-=T,e.total_out+=E,r.total+=E,E&&(e.adler=r.check=r.flags?a(r.check,k,E,S-E):n(r.check,k,E,S-E)),E=T,(r.flags?O:w(O))!==r.check){e.msg="incorrect data check",r.mode=y;break}O=0,I=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;I<32;){if(0===D)break e;D--,O+=x[P++]<<I,I+=8}if(O!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=y;break}O=0,I=0}r.mode=29;case 29:Z=f;break e;case y:Z=m;break e;case 31:return p;default:return h}return e.next_out=S,e.avail_out=T,e.next_in=P,e.avail_in=D,r.hold=O,r.bits=I,(r.wsize||E!==e.avail_out&&r.mode<y&&(r.mode<27||t!==s))&&C(e,e.output,e.next_out,E-e.avail_out)?(r.mode=31,p):(L-=e.avail_in,E-=e.avail_out,e.total_in+=L,e.total_out+=E,r.total+=E,r.wrap&&E&&(e.adler=r.check=r.flags?a(r.check,k,E,e.next_out-E):n(r.check,k,E,e.next_out-E)),e.data_type=r.bits+(r.last?64:0)+(r.mode===b?128:0)+(20===r.mode||15===r.mode?256:0),(0===L&&0===E||t===s)&&Z===u&&(Z=g),Z)},e.exports.inflateEnd=e=>{if(!e||!e.state)return h;let t=e.state;return t.window&&(t.window=null),e.state=null,u},e.exports.inflateGetHeader=(e,t)=>{if(!e||!e.state)return h;const r=e.state;return 0==(2&r.wrap)?h:(r.head=t,t.done=!1,u)},e.exports.inflateSetDictionary=(e,t)=>{const r=t.length;let a,o,i;return e&&e.state?(a=e.state,0!==a.wrap&&11!==a.mode?h:11===a.mode&&(o=1,o=n(o,t,r,0),o!==a.check)?m:(i=C(e,t,r,r),i?(a.mode=31,p):(a.havedict=1,u))):h},e.exports.inflateInfo="pako inflate (from Nodeca project)"},446:e=>{"use strict";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]),a=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]),o=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,f,d)=>{const h=d.bits;let m,p,g,v,b,y,w=0,x=0,k=0,P=0,S=0,D=0,T=0,O=0,I=0,_=0,C=null,L=0;const E=new Uint16Array(16),A=new Uint16Array(16);let M,R,F,j=null,B=0;for(w=0;w<=t;w++)E[w]=0;for(x=0;x<l;x++)E[i[s+x]]++;for(S=h,P=t;P>=1&&0===E[P];P--);if(S>P&&(S=P),0===P)return c[u++]=20971520,c[u++]=20971520,d.bits=1,0;for(k=1;k<P&&0===E[k];k++);for(S<k&&(S=k),O=1,w=1;w<=t;w++)if(O<<=1,O-=E[w],O<0)return-1;if(O>0&&(0===e||1!==P))return-1;for(A[1]=0,w=1;w<t;w++)A[w+1]=A[w]+E[w];for(x=0;x<l;x++)0!==i[s+x]&&(f[A[i[s+x]]++]=x);if(0===e?(C=j=f,y=19):1===e?(C=r,L-=257,j=n,B-=257,y=256):(C=a,j=o,y=-1),_=0,x=0,w=k,b=u,D=S,T=0,g=-1,I=1<<S,v=I-1,1===e&&I>852||2===e&&I>592)return 1;for(;;){M=w-T,f[x]<y?(R=0,F=f[x]):f[x]>y?(R=j[B+f[x]],F=C[L+f[x]]):(R=96,F=0),m=1<<w-T,p=1<<D,k=p;do{p-=m,c[b+(_>>T)+p]=M<<24|R<<16|F|0}while(0!==p);for(m=1<<w-1;_&m;)m>>=1;if(0!==m?(_&=m-1,_+=m):_=0,x++,0==--E[w]){if(w===P)break;w=i[s+f[x]]}if(w>S&&(_&v)!==g){for(0===T&&(T=S),b+=k,D=w-T,O=1<<D;D+T<P&&(O-=E[D+T],!(O<=0));)D++,O<<=1;if(I+=1<<D,1===e&&I>852||2===e&&I>592)return 1;g=_&v,c[g]=S<<24|D<<16|b-u|0}}return 0!==_&&(c[b+_]=w-T<<24|64<<16|0),d.bits=S,0}},604:e=>{"use strict";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=>{"use strict";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}},602:e=>{var t=function(e){"use strict";var t,r=Object.prototype,n=r.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",i=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function c(e,t,r,n){var a=t&&t.prototype instanceof g?t:g,o=Object.create(a.prototype),i=new I(n||[]);return o._invoke=function(e,t,r){var n=f;return function(a,o){if(n===h)throw new Error("Generator is already running");if(n===m){if("throw"===a)throw o;return C()}for(r.method=a,r.arg=o;;){var i=r.delegate;if(i){var s=D(i,r);if(s){if(s===p)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=h;var l=u(e,t,r);if("normal"===l.type){if(n=r.done?m:d,l.arg===p)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n=m,r.method="throw",r.arg=l.arg)}}}(e,r,i),o}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var f="suspendedStart",d="suspendedYield",h="executing",m="completed",p={};function g(){}function v(){}function b(){}var y={};l(y,o,(function(){return this}));var w=Object.getPrototypeOf,x=w&&w(w(_([])));x&&x!==r&&n.call(x,o)&&(y=x);var k=b.prototype=g.prototype=Object.create(y);function P(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function r(a,o,i,s){var l=u(e[a],e,o);if("throw"!==l.type){var c=l.arg,f=c.value;return f&&"object"==typeof f&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,i,s)}),(function(e){r("throw",e,i,s)})):t.resolve(f).then((function(e){c.value=e,i(c)}),(function(e){return r("throw",e,i,s)}))}s(l.arg)}var a;this._invoke=function(e,n){function o(){return new t((function(t,a){r(e,n,t,a)}))}return a=a?a.then(o,o):o()}}function D(e,r){var n=e.iterator[r.method];if(n===t){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=t,D(e,r),"throw"===r.method))return p;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var a=u(n,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,p;var o=a.arg;return o?o.done?(r[e.resultName]=o.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function _(e){if(e){var r=e[o];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,i=function r(){for(;++a<e.length;)if(n.call(e,a))return r.value=e[a],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}return{next:C}}function C(){return{value:t,done:!0}}return v.prototype=b,l(k,"constructor",b),l(b,"constructor",v),v.displayName=l(b,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,l(e,s,"GeneratorFunction")),e.prototype=Object.create(k),e},e.awrap=function(e){return{__await:e}},P(S.prototype),l(S.prototype,i,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new S(c(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},P(k),l(k,s,"Generator"),l(k,o,(function(){return this})),l(k,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=_,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(O),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function a(n,a){return s.type="throw",s.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(l&&c){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,p):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),O(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;O(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:_(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),p}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},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");n.length&&(e=n[n.length-1].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(()=>{"use strict";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");var n=e.length/3,a=0,o=0;if(r)for(var i=0;i<n;i++)t[o++]=e[a++],t[o++]=e[a++],t[o++]=e[a++],t[o++]=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");var n=e.length/3,a=0,o=0,i=n,s=2*n;if(r)for(var l=0;l<n;l++)t[a++]=e[o++],t[a++]=e[i++],t[a++]=e[s++],t[a++]=255;else t.set(e)}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");var n=e.length/3,a=0,o=0;if(r)for(var i=0;i<n;i++){var s=e[a++],l=e[a++],c=e[a++];t[o++]=s+1.402*(c-128),t[o++]=s-.34414*(l-128)-.71414*(c-128),t[o++]=s+1.772*(l-128),t[o++]=255}else for(var u=0;u<n;u++){var f=e[a++],d=e[a++],h=e[a++];t[o++]=f+1.402*(h-128),t[o++]=f-.34414*(d-128)-.71414*(h-128),t[o++]=f+1.772*(d-128)}}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");var n=e.length/3,a=0,o=0,i=n,s=2*n;if(r)for(var l=0;l<n;l++){var c=e[o++],u=e[i++],f=e[s++];t[a++]=c+1.402*(f-128),t[a++]=c-.34414*(u-128)-.71414*(f-128),t[a++]=c+1.772*(u-128),t[a++]=255}else for(var d=0;d<n;d++){var h=e[o++],m=e[i++],p=e[s++];t[a++]=h+1.402*(p-128),t[a++]=h-.34414*(m-128)-.71414*(p-128),t[a++]=h+1.772*(m-128)}}function i(e,t){for(var r=e.length,n=new Uint8ClampedArray(r),a=0;a<r;++a)n[a]=e[a]>>t;return n}function s(e,t,r){var n=e.columns*e.rows,a=e.pixelData,o=e.redPaletteColorLookupTableData,s=e.greenPaletteColorLookupTableData,l=e.bluePaletteColorLookupTableData,c=e.redPaletteColorLookupTableData.length,u=0,f=0,d=e.redPaletteColorLookupTableDescriptor[1],h=8===e.redPaletteColorLookupTableDescriptor[2]?0:8,m=i(o,h),p=i(s,h),g=i(l,h);if(r)for(var v=0;v<n;++v){var b=a[u++];b<d?b=0:b>d+c-1?b=c-1:b-=d,t[f++]=m[b],t[f++]=p[b],t[f++]=g[b],t[f++]=255}else for(var y=0;y<n;++y){var w=a[u++];w<d?w=0:w>d+c-1?w=c-1:w-=d,t[f++]=m[w],t[f++]=p[w],t[f++]=g[w]}}function l(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 c(e,t,r){for(var n=[],a=e.elements[t],o=0;o<r[0];o++)16===r[2]?n[o]=e.uint16(t,o):n[o]=e.byteArray[o+a.dataOffset];return n}r.r(n),r.d(n,{configure:()=>Lt,convertColorSpace:()=>te,convertPALETTECOLOR:()=>s,convertRGBColorByPixel:()=>e,convertRGBColorByPlane:()=>t,convertYBRFullByPixel:()=>a,convertYBRFullByPlane:()=>o,createImage:()=>Ee,decodeImageFrame:()=>ye,decodeJPEGBaseline8BitColor:()=>ne,default:()=>Et,external:()=>Ne,getImageFrame:()=>we,getMinMax:()=>Q,getPixelData:()=>$,internal:()=>Y,isColorImage:()=>Se,isJPEGBaseline8BitColor:()=>De,wadors:()=>Fe,wadouri:()=>Ct,webWorkerManager:()=>ge});const u=function(e){var 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=l(e,"x00281101"),t.greenPaletteColorLookupTableDescriptor=l(e,"x00281102"),t.bluePaletteColorLookupTableDescriptor=l(e,"x00281103"),0===t.redPaletteColorLookupTableDescriptor[0]&&(t.redPaletteColorLookupTableDescriptor[0]=65536,t.greenPaletteColorLookupTableDescriptor[0]=65536,t.bluePaletteColorLookupTableDescriptor[0]=65536);var 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=c(e,"x00281201",t.redPaletteColorLookupTableDescriptor),t.greenPaletteColorLookupTableData=c(e,"x00281202",t.greenPaletteColorLookupTableDescriptor),t.bluePaletteColorLookupTableData=c(e,"x00281203",t.bluePaletteColorLookupTableDescriptor)}(e,t),t};function f(e,t){var r=t.uint16("x00283002",0);0===r&&(r=65535);for(var n={id:"1",firstValueMapped:0===e?t.uint16("x00283002",1):t.int16("x00283002",1),numBitsPerEntry:t.uint16("x00283002",2),lut:[]},a=0;a<r;a++)n.lut[a]=0===e?t.uint16("x00283006",a):t.int16("x00283006",a);return n}const d=function(e,t){if(t&&t.items&&t.items.length){for(var r=[],n=0;n<t.items.length;n++){var a=f(e,t.items[n].dataSet);a&&r.push(a)}return r}};const h=function(e){var 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;var r=e.floatString("x00281052"),n=e.floatString("x00281053");if(void 0!==r&&void 0!==n){var a=function(e){var t=e.uint16("x00280103"),r=e.uint16("x00280101");return 0===t?0:-1<<r-1}(e);return a*n+r<0?1:0}return e.elements.x00283000&&e.elements.x00283000.length>0?0:e.uint16("x00280103")};const m=function(e,t,r){var n=[],a=e.string(t);if(a){var o=a.split("\\");if(!(r&&o.length<r)){for(var i=0;i<o.length;i++)n.push(parseFloat(o[i]));return n}}};const p=function(e,t,r){return t=t||0,e&&e.Value?e.Value.length<=t?r:e.Value[t]:r};const g=function(e,t,r){var n=p(e,t,r);if(void 0!==n)return parseFloat(n)};const v=function(e,t){var r=p(e,t);if(void 0!==r)return parseFloat(r)};const b=function(e,t){if(e&&e.Value&&Array.isArray(e.Value)&&!(t&&e.Value.length<t)){for(var r=[],n=0;n<e.Value.length;n++)r.push(parseFloat(e.Value[n]));return r}};function y(e){var t=e.indexOf(":");return e.substring(t+1)}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function x(e,t){if(e){if("string"==typeof e)return w(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?w(e,t):void 0}}function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o=[],i=!0,s=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw a}}return o}}(e,t)||x(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(e){return function(e){if(Array.isArray(e))return w(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||x(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function T(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e&&e.Value?e.Value[0]&&t?e.Value[0]:e.Value:e}var O=["52009230","52009229","00280008"];function I(e,t,r){return{shared:(t?Object.values(t[0]):[]).map((function(e){return e[0]})).filter((function(e){return void 0!==e&&"object"===D(e)})),perFrame:(e?Object.values(e[r-1]):[]).map((function(e){return e.Value[0]})).filter((function(e){return void 0!==e&&"object"===D(e)}))}}function _(e){var t=e[52009230],r=e[52009229],n=e["00280008"],a=S(e,O);return{PerFrameFunctionalGroupsSequence:t=T(t,!1),SharedFunctionalGroupsSequence:r=T(r,!1),NumberOfFrames:n=T(n),rest:a}}function C(e){var t=e.indexOf("/frames/")+8,r=e.slice(0,t),n=parseInt(e.slice(t),10);return{metadata:E["".concat(r,"1")],frame:n}}const L={_retrieveMultiframeMetadata:C,retrieveMultiframeMetadata:function(e){return C(y(e))},isMultiframe:function(e){var t=p(e["00280008"]);return t&&t>1}};var E=[],A={};const M={add:function(e,t){var r=y(e);t.isMultiframe=L.isMultiframe(t),E[r]=t},get:function(e){var t=y(e),r=E[t];if(r&&(null==r||!r.isMultiframe))return r;var n=A[t];if(n)return n;var a=L._retrieveMultiframeMetadata(t);if(a&&a.metadata){var o=a.metadata,i=a.frame;if(o){var s=function(e,t){var r=_(t),n=r.PerFrameFunctionalGroupsSequence,a=r.SharedFunctionalGroupsSequence,o=r.NumberOfFrames,i=r.rest;if(n||o>1){var s=I(n,a,e),l=s.shared,c=s.perFrame,u=Object.assign(t,{frameNumber:e});return[].concat(P(l),P(c)).forEach((function(e){Object.entries(e).forEach((function(e){var t=k(e,2),r=t[0],n=t[1];u[r]=n}))})),Object.assign(i,{"00280008":o},u)}return t}(i,o);return A[t]=s,s}}},remove:function(e){var t=y(e);E[t]=void 0,A[t]=void 0},purge:function(){E=[],A={}}};function R(e){return"RECON TOMO"===e||"RECON GATED TOMO"===e}function F(e){return p(e["00080060"]).includes("NM")}function j(e,t){var r=T(e["00080008"],!1);if(r)return r[t]}function B(e){var t=b(e["00200037"],6);return!t&&F(e)&&(t=function(e){var t,r=j(e,2);if(r&&R(r)){var n=T(e["00540022"]);n&&(t=b(n["00200037"],6))}return t}(e)),t}function U(e){var t=b(e["00200032"],3);return!t&&F(e)&&(t=function(e){var t,r=j(e,2);if(r&&R(r)){var n=T(e["00540022"]);n&&(t=b(n["00200032"],3))}return t}(e)),t}const N=function(e,t){if("multiframeModule"===e){var r=L.retrieveMultiframeMetadata(t),n=r.metadata,a=r.frame;if(!n)return;var o=_(n),i=o.PerFrameFunctionalGroupsSequence,s=o.SharedFunctionalGroupsSequence,l=o.NumberOfFrames;if(i||l>1){var c=I(i,s,a),u=c.shared;return{NumberOfFrames:l,PerFrameFunctionalInformation:c.perFrame,SharedFunctionalInformation:u}}return{NumberOfFrames:l}}var f=Ne.dicomParser,d=M.get(t);if(d){if("generalSeriesModule"===e)return{modality:p(d["00080060"]),seriesInstanceUID:p(d["0020000E"]),seriesNumber:v(d["00200011"]),studyInstanceUID:p(d["0020000D"]),seriesDate:f.parseDA(p(d["00080021"])),seriesTime:f.parseTM(p(d["00080031"],0,"")),acquisitionDate:f.parseDA(p(d["00080022"]),""),acquisitionTime:f.parseTM(p(d["00080032"],0,""))};if("patientStudyModule"===e)return{patientAge:v(d["00101010"]),patientSize:v(d["00101020"]),patientSex:p(d["00100040"]),patientWeight:v(d["00101030"])};if("nmMultiframeGeometryModule"===e){var h=p(d["00080060"]),m=j(d,2);return{modality:h,imageType:p(d["00080008"]),imageSubType:m,imageOrientationPatient:B(d),imagePositionPatient:U(d),sliceThickness:v(d["00180050"]),pixelSpacing:b(d["00280030"],2),numberOfFrames:v(d["00280008"]),isNMReconstructable:R(m)&&h.includes("NM")}}if("imagePlaneModule"===e){var g=B(d),y=U(d),w=b(d["00280030"],2),x=null,k=null;w&&(k=w[0],x=w[1]);var P=null,S=null;return g&&(P=[parseFloat(g[0]),parseFloat(g[1]),parseFloat(g[2])],S=[parseFloat(g[3]),parseFloat(g[4]),parseFloat(g[5])]),{frameOfReferenceUID:p(d["00200052"]),rows:v(d["00280010"]),columns:v(d["00280011"]),imageOrientationPatient:g,rowCosines:P,columnCosines:S,imagePositionPatient:y,sliceThickness:v(d["00180050"]),sliceLocation:v(d["00201041"]),pixelSpacing:w,rowPixelSpacing:k,columnPixelSpacing:x}}if("imagePixelModule"===e)return{samplesPerPixel:v(d["00280002"]),photometricInterpretation:p(d["00280004"]),rows:v(d["00280010"]),columns:v(d["00280011"]),bitsAllocated:v(d["00280100"]),bitsStored:v(d["00280101"]),highBit:p(d["00280102"]),pixelRepresentation:v(d["00280103"]),planarConfiguration:v(d["00280006"]),pixelAspectRatio:p(d["00280034"]),smallestPixelValue:v(d["00280106"]),largestPixelValue:v(d["00280107"]),redPaletteColorLookupTableDescriptor:b(d["00281101"]),greenPaletteColorLookupTableDescriptor:b(d["00281102"]),bluePaletteColorLookupTableDescriptor:b(d["00281103"]),redPaletteColorLookupTableData:b(d["00281201"]),greenPaletteColorLookupTableData:b(d["00281202"]),bluePaletteColorLookupTableData:b(d["00281203"])};if("voiLutModule"===e)return{windowCenter:b(d["00281050"],1),windowWidth:b(d["00281051"],1)};if("modalityLutModule"===e)return{rescaleIntercept:v(d["00281052"]),rescaleSlope:v(d["00281053"]),rescaleType:p(d["00281054"])};if("sopCommonModule"===e)return{sopClassUID:p(d["00080016"]),sopInstanceUID:p(d["00080018"])};if("petIsotopeModule"===e){var D=p(d["00540016"]);if(void 0===D)return;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:f.parseTM(p(D["00181072"],0,"")),radiopharmaceuticalStartDateTime:p(D["00181078"],0,""),radionuclideTotalDose:v(D["00181074"]),radionuclideHalfLife:v(D["00181075"])}}}return"overlayPlaneModule"===e?function(e){for(var t=[],r=0;r<=30;r+=2){var n="x60".concat(r.toString(16));4===n.length&&(n="x600".concat(r.toString(16)));var a=p(e["".concat(n,"3000")]);if(a){for(var o=[],i=0;i<a.length;i++)for(var s=0;s<8;s++){var l=e.Value[a.dataOffset+i];o[8*i+s]=l>>s&1}t.push({rows:v(e["".concat(n,"0010")]),columns:v(e["".concat(n,"0011")]),type:p(e["".concat(n,"0040")]),x:v(e["".concat(n,"0050")],1)-1,y:v(e["".concat(n,"0050")],0)-1,pixelData:o,description:p(e["".concat(n,"0022")]),label:p(e["".concat(n,"1500")]),roiArea:p(e["".concat(n,"1301")]),roiMean:p(e["".concat(n,"1302")]),roiStandardDeviation:p(e["".concat(n,"1303")])})}}return{overlays:t}}(d):"transferSyntax"===e?{transferSyntaxUID:p(d["00020010"])}:"petSeriesModule"===e?{correctedImage:p(d["00280051"]),units:p(d["00541001"]),decayCorrection:p(d["00541102"])}:"petImageModule"===e?{frameReferenceTime:v(d["00541300"]),actualFrameDuration:v(d["00181242"])}:void 0}};function G(e,t,r){if(r+e.length>t.length)return!1;for(var n=r,a=0;a<e.length;a++)if(e[a]!==t[n++])return!1;return!0}const W=function(e,t,r){r=r||0;for(var n=function(e){for(var t=new Uint8Array(e.length),r=0,n=e.length;r<n;r++)t[r]=e.charCodeAt(r);return t}(t),a=r;a<e.length;a++)if(n[0]===e[a]&&G(n,e,a))return a;return-1};var Z={open:function(e,t){e.open("get",t,!0)},beforeSend:function(){},beforeProcessing:function(e){return Promise.resolve(e.response)},imageCreated:function(){},strict:!1,decodeConfig:{convertFloatPixelDataToInt:!0,use16BitDataType:!1}};function V(e){Z=Object.assign(Z,e)}function q(){return Z}const z=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=Ne.cornerstone,o=q(),i=function(e){if("function"==typeof o.errorInterceptor){var t=new Error("request failed");t.request=e,t.response=e.response,t.status=e.status,o.errorInterceptor(t)}},s=new XMLHttpRequest,l=new Promise((function(l,c){o.open(s,e,r,n);var u=o.beforeSend(s,t,r,n);s.responseType="arraybuffer";var f=Object.assign({},r,u);Object.keys(f).forEach((function(t){null!==f[t]&&("Accept"===t&&-1!==e.indexOf("accept=")||s.setRequestHeader(t,f[t]))})),n.deferred={resolve:l,reject:c},n.url=e,n.imageId=t,s.onloadstart=function(r){o.onloadstart&&o.onloadstart(r,n);var i={url:e,imageId:t};a.triggerEvent(a.events,"cornerstoneimageloadstart",i)},s.onloadend=function(r){o.onloadend&&o.onloadend(r,n);var i={url:e,imageId:t};a.triggerEvent(a.events,"cornerstoneimageloadend",i)},s.onreadystatechange=function(e){o.onreadystatechange?o.onreadystatechange(e,n):4===s.readyState&&(200===s.status?o.beforeProcessing(s).then(l).catch((function(){i(s),c(s)})):(i(s),c(s)))},s.onprogress=function(r){var i,s,l=r.loaded;r.lengthComputable&&(i=r.total,s=Math.round(l/i*100)),o.onprogress&&o.onprogress(r,n);var c={url:e,imageId:t,loaded:l,total:i,percentComplete:s};a.triggerEvent(a.events,a.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};var Y={xhrRequest:z,setOptions:V,getOptions:q};function H(e){for(var t=0;t<e.length;t++)if("--"===e[t].substr(0,2))return e[t]}function K(e){for(var t=0;t<e.length;t++)if("Content-Type:"===e[t].substr(0,13))return e[t].substr(13).trim()}function J(e,t,r){t=t||0,r=r||e.length-t;for(var n="",a=t;a<t+r;a++)n+=String.fromCharCode(e[a]);return n}const $=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/octet-stream",n={Accept:r};return new Promise((function(r,a){var o=z(e,t,n),i=o.xhr;o.then((function(e){var t=new Uint8Array(e),n=i.getResponseHeader("Content-Type")||"application/octet-stream";if(-1!==n.indexOf("multipart")){var o=W(t,"\r\n\r\n");-1===o&&a(new Error("invalid response - no multipart mime header"));var s=J(t,0,o).split("\r\n"),l=H(s);l||a(new Error("invalid response - no boundary marker"));var c=o+4,u=W(t,l,c);-1===u&&a(new Error("invalid response - terminating boundary not found"));var f=u-c-2;r({contentType:K(s),imageFrame:{pixelData:new Uint8Array(e,c,f)}})}else r({contentType:n,imageFrame:{pixelData:t}})}),a)}))};function X(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const Q=function(e){for(var t,r=e[0],n=e[0],a=e.length,o=1;o<a;o++)t=e[o],r=Math.min(r,t),n=Math.max(n,t);return{min:r,max:n}};function ee(r,n,a){0===r.planarConfiguration?e(r.pixelData,n,a):t(r.pixelData,n,a)}function te(e,t,r){if("RGB"===e.photometricInterpretation)ee(e,t,r);else if("YBR_RCT"===e.photometricInterpretation)ee(e,t,r);else if("YBR_ICT"===e.photometricInterpretation)ee(e,t,r);else if("PALETTE COLOR"===e.photometricInterpretation)s(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");var n=e.length/2,a=0,o=0;if(r)for(var i=0;i<n;i+=2){var s=e[a++],l=e[a++],c=e[a++],u=e[a++];t[o++]=s+1.402*(u-128),t[o++]=s-.34414*(c-128)-.71414*(u-128),t[o++]=s+1.772*(c-128),t[o++]=255,t[o++]=l+1.402*(u-128),t[o++]=l-.34414*(c-128)-.71414*(u-128),t[o++]=l+1.772*(c-128),t[o++]=255}else for(var f=0;f<n;f+=2){var d=e[a++],h=e[a++],m=e[a++],p=e[a++];t[o++]=d+1.402*(p-128),t[o++]=d-.34414*(m-128)-.71414*(p-128),t[o++]=d+1.772*(m-128),t[o++]=h+1.402*(p-128),t[o++]=h-.34414*(m-128)-.71414*(p-128),t[o++]=h+1.772*(m-128)}}(e.pixelData,t,r);else{if("YBR_FULL"!==e.photometricInterpretation)throw new Error("No color space conversion for photometric interpretation ".concat(e.photometricInterpretation));!function(e,t,r){0===e.planarConfiguration?a(e.pixelData,t,r):o(e.pixelData,t,r)}(e,t,r)}}function re(e){return function(e){var t;try{return decodeURIComponent(escape(e))}catch(r){if((t=r)instanceof URIError)return e;throw t}}(String.fromCharCode.apply(null,Array.prototype.slice.apply(new Uint8Array(e))))}const ne=function(e,t,r){var n=(new Date).getTime(),a=new Blob([t],{type:"image/jpeg"});return new Promise((function(t,o){var i=new FileReader;void 0===i.readAsBinaryString?i.readAsArrayBuffer(a):i.readAsBinaryString(a),i.onload=function(){var a=new Image;a.onload=function(){r.height=a.height,r.width=a.width,e.rows=a.height,e.columns=a.width;var o=r.getContext("2d");o.drawImage(this,0,0);var i=o.getImageData(0,0,a.width,a.height),s=(new Date).getTime();e.pixelData=new Uint8Array(i.data.buffer),e.imageData=i,e.decodeTimeInMS=s-n;var l=Q(e.pixelData);e.smallestPixelValue=l.min,e.largestPixelValue=l.max,e.pixelDataLength=e.pixelData.length,t(e)},a.onerror=function(e){o(e)},void 0===i.readAsBinaryString?a.src="data:image/jpeg;base64,".concat(window.btoa(re(i.result))):a.src="data:image/jpeg;base64,".concat(window.btoa(i.result))},i.onerror=function(e){o(e)}}))};function ae(){return new Worker(r.p+"index.worker.b7a83074fe09e221e999.worker.js")}var oe,ie=0,se=[],le=[],ce=q(),ue={maxWebWorkers:navigator.hardwareConcurrency||1,startWebWorkersOnDemand:!0,webWorkerTaskPaths:[],taskConfiguration:{decodeTask:{initializeCodecsOnStartup:!1,strict:ce.strict}}},fe={maxWebWorkers:0,numWebWorkers:0,numTasksQueued:0,numTasksExecuting:0,numTasksCompleted:0,totalTaskTimeInMS:0,totalTimeDelayedInMS:0};function de(){if(se.length){for(var e=0;e<le.length;e++)if("ready"===le[e].status){le[e].status="busy";var t=se.shift();t.start=(new Date).getTime();var r=(new Date).getTime();return fe.totalTimeDelayedInMS+=r-t.added,le[e].task=t,le[e].worker.postMessage({taskType:t.taskType,workerIndex:e,data:t.data},t.transferList),void fe.numTasksExecuting++}le.length<oe.maxWebWorkers&&me()}}function he(e){if("initialize"===e.data.taskType)le[e.data.workerIndex].status="ready",de();else{var t=le[e.data.workerIndex].task.start,r="success"===e.data.status?"resolve":"reject";try{le[e.data.workerIndex].task.deferred[r](e.data.result)}catch(e){console.warn("Caught error delivering response",e)}le[e.data.workerIndex].task=void 0,fe.numTasksExecuting--,le[e.data.workerIndex].status="ready",fe.numTasksCompleted++;var n=(new Date).getTime();fe.totalTaskTimeInMS+=n-t,de()}}function me(){if(!(le.length>=oe.maxWebWorkers)){var e=new ae;le.push({worker:e,status:"initializing"}),e.addEventListener("message",he),e.postMessage({taskType:"initialize",workerIndex:le.length-1,config:oe})}}function pe(e){if((oe=e=e||ue).maxWebWorkers=oe.maxWebWorkers||navigator.hardwareConcurrency||1,!oe.startWebWorkersOnDemand)for(var t=0;t<oe.maxWebWorkers;t++)me()}const ge={initialize:pe,loadWebWorkerTask:function(e,t){oe.webWorkerTaskPaths.push(e),t&&(oe.taskConfiguration=Object.assign(oe.taskConfiguration,t));for(var r=0;r<le.length;r++)le[r].worker.postMessage({taskType:"loadWebWorkerTask",workerIndex:le.length-1,sourcePath:e,config:oe})},addTask:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0;oe||pe();var a,o={resolve:void 0,reject:void 0},i=new Promise((function(e,t){o={resolve:e,reject:t}}));for(a=0;a<se.length&&!(se[a].priority<r);a++);var s=ie++;return se.splice(a,0,{taskId:s,taskType:e,status:"ready",added:(new Date).getTime(),data:t,deferred:o,priority:r,transferList:n}),de(),{taskId:s,promise:i}},getStatistics:function(){return fe.maxWebWorkers=oe.maxWebWorkers,fe.numWebWorkers=le.length,fe.numTasksQueued=se.length,fe},setTaskPriority:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=0;r<se.length;r++)if(se[r].taskId===e){var n=se.splice(r,1)[0];for(n.priority=t,r=0;r<se.length&&!(se[r].priority<t);r++);return se.splice(r,0,n),!0}return!1},cancelTask:function(e,t){for(var r=0;r<se.length;r++){if(se[r].taskId===e)return se.splice(r,1).deferred.reject(t),!0}return!1},webWorkers:le,terminate:function(){for(var e=0;e<le.length;e++)le[e].worker.terminate();le.length=0,oe=void 0}};var ve=r(578);function be(e,t,r,n,a){var o=n.priority||void 0,i=n.transferPixelData?[r.buffer]:void 0;return ge.addTask("decodeTask",{imageFrame:e,transferSyntax:t,pixelData:r,options:n,decodeConfig:a},o,i).promise}window.pako={inflateRaw:ve.Hq};const ye=function(e,t,r,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=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 be(e,t,r,a,o);case"1.2.840.10008.1.2.4.50":return 8!==e.bitsAllocated||3!==e.samplesPerPixel&&4!==e.samplesPerPixel?be(e,t,r,a,o):ne(e,r,n)}return Promise.reject(new Error("No decoder for transfer syntax ".concat(t)))};const we=function(e){var t=Ne.cornerstone.metaData.get("imagePixelModule",e);return{samplesPerPixel:t.samplesPerPixel,photometricInterpretation:t.photometricInterpretation,planarConfiguration:t.planarConfiguration,rows:t.rows,columns:t.columns,bitsAllocated:t.bitsAllocated,bitsStored:t.bitsStored,pixelRepresentation:t.pixelRepresentation,smallestPixelValue:t.smallestPixelValue,largestPixelValue:t.largestPixelValue,redPaletteColorLookupTableDescriptor:t.redPaletteColorLookupTableDescriptor,greenPaletteColorLookupTableDescriptor:t.greenPaletteColorLookupTableDescriptor,bluePaletteColorLookupTableDescriptor:t.bluePaletteColorLookupTableDescriptor,redPaletteColorLookupTableData:t.redPaletteColorLookupTableData,greenPaletteColorLookupTableData:t.greenPaletteColorLookupTableData,bluePaletteColorLookupTableData:t.bluePaletteColorLookupTableData,pixelData:void 0}};function xe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ke(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?xe(Object(r),!0).forEach((function(t){X(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Pe(e,t){var r=e.get("modalityLutModule",t)||{},n=(e.get("generalSeriesModule",t)||{}).modality,a={rescaleSlope:r.rescaleSlope,rescaleIntercept:r.rescaleIntercept,modality:n},o=e.get("scalingModule",t)||{};return ke(ke({},a),"PT"===n&&{suvbw:o.suvbw})}function Se(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 De=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};function Te(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Oe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Te(Object(r),!0).forEach((function(t){X(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Te(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Ie="";function _e(e){return"1.2.840.10008.5.1.4.1.1.12.1"!==e&&"1.2.840.10008.5.1.4.1.1.12.2.1"!==e}function Ce(e){var t,r,n,a=e.smallestPixelValue,o=e.largestPixelValue,i=(t=a,r=o,Number.isInteger(t)&&Number.isInteger(r)?t>=0?r<=255?n=Uint8Array:r<=65535&&(n=Uint16Array):t>=-128&&r<=127?n=Int8Array:t>=-32768&&r<=32767&&(n=Int16Array):n=Float32Array,n);if(!i)throw new Error("Could not apply a typed array to the pixel data");var s=new i(e.pixelData);e.pixelData=s}function Le(e,t){for(var r=e.length/4,n=0,a=0,o=0;o<r;o++)t[a++]=e[n++],t[a++]=e[n++],t[a++]=e[n++],n++;return t}const Ee=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=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."));var o=Ne.cornerstone,i=document.createElement("canvas"),s=we(e);if(n.preScale.enabled){var l=Pe(o.metaData,e);l&&(n.preScale=Oe(Oe({},n.preScale),{},{scalingParameters:l}))}var c=q(),u=c.decodeConfig,f=ye(s,r,t,i,n,u),d=u.use16BitDataType,h=Se(s.photometricInterpretation);return new Promise((function(t,s){f.then((function(s){if(n.skipCreateImage)return t(s);var l=!1;if(n.targetBuffer&&n.targetBuffer.type&&!h){var c=n.targetBuffer,u=c.arrayBuffer,f=c.type,m=c.offset,p=void 0===m?0:m,g=c.length,v=s.pixelDataLength,b=p,y=null!=g?g:v-b,w={Uint8Array,Uint16Array:d?Uint16Array:void 0,Int16Array:d?Int16Array:void 0,Float32Array};if(y!==s.pixelDataLength)throw new Error("target array for image does not have the same length (".concat(y,") as the decoded image length (").concat(s.pixelDataLength,")."));var x=w[f],k=u?new x(u,b,y):new x(s.pixelData);if(y!==s.pixelDataLength)throw new Error("target array for image does not have the same length as the decoded image length.");s.pixelData=k,l=!0}l||Ce(s);var P=o.metaData.get("imagePlaneModule",e)||{},S=o.metaData.get("voiLutModule",e)||{},D=o.metaData.get("modalityLutModule",e)||{},T=o.metaData.get("sopCommonModule",e)||{};if(h){if(a){if(!De(s,r)&&"RGB"!==s.photometricInterpretation){i.height=s.rows,i.width=s.columns;var O=i.getContext("2d").createImageData(s.columns,s.rows);te(s,O.data,a),s.imageData=O,s.pixelData=O.data,s.pixelDataLength=O.data.length}}else if(De(s,r)){var I=new Uint8Array(s.pixelData.length/4*3);s.pixelData=Le(s.pixelData,I),s.pixelDataLength=s.pixelData.length}else if("PALETTE COLOR"===s.photometricInterpretation){i.height=s.rows,i.width=s.columns;var _=i.getContext("2d").createImageData(s.columns,s.rows);te(s,_.data,!0);var C=new _.data.constructor(_.data.length/4*3);s.pixelData=new Uint8Array(Le(_.data,C)),s.pixelDataLength=s.pixelData.length}var L=Q(s.pixelData);s.smallestPixelValue=L.min,s.largestPixelValue=L.max}var E={imageId:e,color:h,columnPixelSpacing:P.columnPixelSpacing,columns:s.columns,height:s.rows,preScale:s.preScale,intercept:D.rescaleIntercept?D.rescaleIntercept:0,slope:D.rescaleSlope?D.rescaleSlope:1,invert:"MONOCHROME1"===s.photometricInterpretation,minPixelValue:s.smallestPixelValue,maxPixelValue:s.largestPixelValue,rowPixelSpacing:P.rowPixelSpacing,rows:s.rows,sizeInBytes:s.pixelData.byteLength,width:s.columns,windowCenter:S.windowCenter?S.windowCenter[0]:void 0,windowWidth:S.windowWidth?S.windowWidth[0]:void 0,voiLUTFunction:S.voiLUTFunction?S.voiLUTFunction:void 0,decodeTimeInMS:s.decodeTimeInMS,floatPixelData:void 0,imageFrame:s,rgba:h&&a,getPixelData:function(){return s.pixelData},getCanvas:void 0,numComps:void 0};if(window.image=E,E.color&&(E.getCanvas=function(){if(Ie===e)return i;var t=E.columns,r=E.rows;i.height=r,i.width=t;var n=i.getContext("2d"),a=n.createImageData(t,r),o=s.pixelData;if(o.length===t*r*4)for(var l=0;l<o.length;l++)a.data[l]=o[l];else if(o.length===t*r*3)for(var c=0,u=0;u<o.length;u+=3)a.data[c++]=o[u],a.data[c++]=o[u+1],a.data[c++]=o[u+2],a.data[c++]=255;return s.pixelData=a.data,s.pixelDataLength=a.data.length,s.imageData=a,n.putImageData(s.imageData,0,0),Ie=e,i}),D.modalityLUTSequence&&D.modalityLUTSequence.length>0&&_e(T.sopClassUID)&&(E.modalityLUT=D.modalityLUTSequence[0]),S.voiLUTSequence&&S.voiLUTSequence.length>0&&(E.voiLUT=S.voiLUTSequence[0]),E.color&&(E.windowWidth=255,E.windowCenter=127),void 0===E.windowCenter||void 0===E.windowWidth){var A=E.maxPixelValue*E.slope+E.intercept,M=E.minPixelValue*E.slope+E.intercept;E.windowWidth=A-M,E.windowCenter=(A+M)/2}t(E)}),s)}))};function Ae(e){var t="1.2.840.10008.1.2";if(!e)return t;var r=e.split(";"),n={};r.forEach((function(e){var t=e.split("=");if(2===t.length){var r=t[1].trim().replace(/"/g,"");n[t[0].trim()]=r}}));var a={"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&&a[e]?a[e]:n.type&&a[n.type]?a[n.type]:a[e]?a[e]:t}function Me(){return Ne.cornerstone.imageRetrievalPoolManager}const Re=function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Me(),a=(new Date).getTime(),o=new Promise((function(o,i){var s=r.requestType||"interaction",l=r.additionalDetails||{imageId:e},c=void 0===r.priority?5:r.priority,u=r.addToBeginning||!1,f=e.substring(7);n.addRequest(function(e,t,n){return $(e,t,n).then((function(e){var n=Ae(e.contentType),s=e.imageFrame.pixelData;Ee(t,s,n,r).then((function(e){var t=(new Date).getTime();e.loadTimeInMS=t-a,o(e)}),i)}),i).catch((function(e){i(e)}))}.bind(t,f,e,"multipart/related; type=application/octet-stream; transfer-syntax=*"),s,l,c,u)}));return{promise:o,cancelFn:void 0}};const Fe={metaData:{getNumberString:g,getNumberValue:v,getNumberValues:b,getValue:p,metaDataProvider:N},findIndexOfString:W,getPixelData:$,loadImage:Re,metaDataManager:M,register:function(e){e.registerImageLoader("wadors",Re),e.metaData.addProvider(N)}};const je=function(e){Fe.register(e),Ct.register(e)};var Be,Ue;const Ne={set cornerstone(e){je(Be=e)},get cornerstone(){if(!Be){if(!(Be=window&&window.cornerstone))throw new Error("cornerstoneDICOMImageLoader requires a copy of Cornerstone to work properly. Please add cornerstoneDICOMImageLoader.external.cornerstone = cornerstone; to your application.");je(Be)}return Be},set dicomParser(e){Ue=e},get dicomParser(){if(!Ue){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.");Ue=window.dicomParser}return Ue}};const Ge=function(e){var t,r=e.indexOf(":"),n=e.substring(r+1),a=n.indexOf("frame=");if(-1!==a){var o=n.substr(a+6);t=parseInt(o,10),n=n.substr(0,a-1)}return{scheme:e.substr(0,r),url:n,frame:t}};function We(e,t,r,n,a,o,i){try{var s=e[o](i),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function Ze(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function i(e){We(o,n,a,i,s,"next",e)}function s(e){We(o,n,a,i,s,"throw",e)}i(void 0)}))}}var Ve=r(945),qe=r.n(Ve);function ze(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return Ye(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ye(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){s=!0,o=e},f:function(){try{i||null==r.return||r.return()}finally{if(s)throw o}}}}function Ye(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function He(e){var t,r=Ne.dicomParser,n=r.parseDicom(e,{untilTag:"x7fe00010"});n.elements.x7fe00010||console.warn("Pixel data not found!");try{t=r.parseDicom(e)}catch(e){console.error(e),console.log("pixel data dataset:",e.dataSet),t=e.dataSet}return n.elements.x7fe00010=t.elements.x7fe00010,n=function(e){var t,r=e.elements.x7fe00010.fragments,n=e.byteArray.length,a=ze(r);try{for(a.s();!(t=a.n()).done;){var o=t.value,i=o.position;o.length>n-i&&(console.log("Truncated fragment, changing fragment length from ".concat(o.length," to ").concat(n-i)),o.length=n-i)}}catch(e){a.e(e)}finally{a.f()}return e}(n)}function Ke(e,t,r){return Je.apply(this,arguments)}function Je(){return Je=Ze(qe().mark((function e(t,r,n){var a,o,i,s;return qe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=He(t),o=n.uri,i=n.imageId,s=n.fileTotalLength,a.fetchMore=function(){var e=Ze(qe().mark((function e(l){var c,u,f,d,h,m,p;return qe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=Object.assign({uri:o,imageId:i,fetchedLength:t.length,lengthToFetch:s-t.length},l),u=c.fetchedLength,f=c.lengthToFetch,e.next=4,r(o,i,{byteRange:"".concat(u,"-").concat(u+f)});case 4:return d=e.sent,h=d.arrayBuffer,m=new Uint8Array(h),(p=new Uint8Array(a.byteArray.length+m.length)).set(a.byteArray),p.set(m,a.byteArray.length),e.abrupt("return",Ke(p,r,n));case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),e.abrupt("return",a);case 4:case"end":return e.stop()}}),e)}))),Je.apply(this,arguments)}var $e=["elements"],Xe=["x52009230","x52009229"];function Qe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function et(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Qe(Object(r),!0).forEach((function(t){X(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function tt(e,t,r){var n={};(t?Object.values(t.items[0].dataSet.elements):[]).map((function(e){return n[e.tag]=e}));var a={};return(e?Object.values(e.items[r-1].dataSet.elements):[]).map((function(e){return a[e.tag]=e})),{shared:n,perFrame:a}}function rt(e){if(e){var t=e.elements,r=S(e,$e),n=t.x52009230,a=t.x52009229,o=S(t,Xe);return{NumberOfFrames:e.intString("x00280008"),PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:a,otherElements:o,otherAttributtes:r}}}function nt(e){if(st[e])return st[e]}function at(e){if(!e)return!1;var t=e.intString("x00280008");return t&&t>1}const ot={_get:nt,generateMultiframeWADOURIs:function(e){var t=[],r=nt(e);if(at(r))for(var n=r.intString("x00280008"),a=1;a<=n;a++)t.push("".concat(e,"&frame=").concat(a));else t.push(e);return t},retrieveMultiframeDataset:function(e){var t=function(e){return e.indexOf("&frame=")}(e),r=-1===t?e:e.slice(0,t),n=parseInt(e.slice(t+7),10)||1;return{dataSet:st[r]?st[r].dataSet:void 0,frame:n}},isMultiframeDataset:function(e){return at(nt(e))}};var it=0,st={},lt={};function ct(){return{cacheSizeInBytes:it,numberOfDataSetsCached:Object.keys(st).length}}const ut={isLoaded:function(e){return void 0!==st[e]},load:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:z,r=arguments.length>2?arguments[2]:void 0,n=Ne.cornerstone,a=Ne.dicomParser;if(st[e])return new Promise((function(t){st[e].cacheCount++,t(st[e].dataSet)}));if(lt[e])return lt[e].cacheCount++,lt[e];var o=t(e,r),i=new Promise((function(s,l){o.then(function(){var o=Ze(qe().mark((function o(c){var u,f,d;return qe().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(u={isPartialContent:!1,fileTotalLength:null},c instanceof ArrayBuffer){o.next=7;break}if(c.arrayBuffer){o.next=4;break}return o.abrupt("return",l(new Error("If not returning ArrayBuffer, must return object with `arrayBuffer` parameter")));case 4:u.isPartialContent=c.flags.isPartialContent,u.fileTotalLength=c.flags.fileTotalLength,c=c.arrayBuffer;case 7:if(f=new Uint8Array(c),o.prev=8,!u.isPartialContent){o.next=15;break}return o.next=12,Ke(f,t,{uri:e,imageId:r,fileTotalLength:u.fileTotalLength});case 12:d=o.sent,o.next=16;break;case 15:d=a.parseDicom(f);case 16:o.next=21;break;case 18:return o.prev=18,o.t0=o.catch(8),o.abrupt("return",l(o.t0));case 21:st[e]={dataSet:d,cacheCount:i.cacheCount},it+=d.byteArray.length,s(d),n.triggerEvent(n.events,"datasetscachechanged",{uri:e,action:"loaded",cacheInfo:ct()});case 25:case"end":return o.stop()}}),o,null,[[8,18]])})));return function(e){return o.apply(this,arguments)}}(),l).then((function(){delete lt[e]}),(function(){delete lt[e]}))}));return i.cacheCount=1,lt[e]=i,i},unload:function(e){var t=Ne.cornerstone;st[e]&&(st[e].cacheCount--,0===st[e].cacheCount&&(it-=st[e].dataSet.byteArray.length,delete st[e],t.triggerEvent(t.events,"datasetscachechanged",{uri:e,action:"unloaded",cacheInfo:ct()})))},getInfo:ct,purge:function(){st={},lt={},it=0},get:function(e){var t;if(e.includes("&frame=")){var r=ot.retrieveMultiframeDataset(e);t=function(e,t){if(t){var r=rt(t),n=r.NumberOfFrames,a=r.PerFrameFunctionalGroupsSequence,o=r.SharedFunctionalGroupsSequence,i=r.otherElements;if(a||n>1){var s=tt(a,o,e),l=s.shared,c=s.perFrame,u={elements:et(et(et({},i),l),c)},f=Object.create(t);return Object.assign(f,u)}return t}}(r.frame,r.dataSet)}else st[e]&&(t=st[e].dataSet);return t},update:function(e,t){var r=st[e];r?(it-=r.dataSet.byteArray.length,r.dataSet=t,it+=t.byteArray.length,Ne.cornerstone.triggerEvent(Ne.cornerstone.events,"datasetscachechanged",{uri:e,action:"updated",cacheInfo:ct()})):console.error("No loaded dataSet for uri ".concat(e))}};function ft(e,t){var r=e.string("x00080008");if(r){var n=r.split("\\");if(n.length>t)return n[t]}}function dt(e){var t=m(e,"x00200037",6);return!t&&e.elements.x00209116&&(t=m(e.elements.x00209116.items[0].dataSet,"x00200037",6)),t||(t=function(e){var t;if(e.string("x00080060").includes("NM")){var r=ft(e,2);r&&R(r)&&e.elements.x00540022&&(t=m(e.elements.x00540022.items[0].dataSet,"x00200037",6))}return t}(e)),t}function ht(e){var t=m(e,"x00200032",3);return!t&&e.elements.x00209113&&(t=m(e.elements.x00209113.items[0].dataSet,"x00200032",3)),t||(t=function(e){var t;if(e.string("x00080060").includes("NM")){var r=ft(e,2);r&&R(r)&&e.elements.x00540022&&(t=m(e.elements.x00540022.items[0].dataSet,"x00200032",3))}return t}(e)),t}function mt(e){var t=m(e,"x00280030",2);return!t&&e.elements.x00289110&&(t=m(e.elements.x00289110.items[0].dataSet,"x00280030",2)),t}function pt(e){var 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 gt=function(e,t){var r=Ne.dicomParser,n=Ge(t);if("multiframeModule"===e){var a=ot.retrieveMultiframeDataset(n.url);if(!a.dataSet)return;var o=function(e,t){if(e){var r=rt(e),n=r.NumberOfFrames,a=r.PerFrameFunctionalGroupsSequence,o=r.SharedFunctionalGroupsSequence;if(a||n>1){var i=tt(a,o,t),s=i.shared;return{NumberOfFrames:n,PerFrameFunctionalInformation:i.perFrame,SharedFunctionalInformation:s}}return{NumberOfFrames:n}}}(a.dataSet,a.frame);return o}var i=n.url;n.frame&&(i="".concat(i,"&frame=").concat(n.frame));var s=ut.get(i);if(s){if("generalSeriesModule"===e)return{modality:s.string("x00080060"),seriesInstanceUID:s.string("x0020000e"),seriesNumber:s.intString("x00200011"),studyInstanceUID:s.string("x0020000d"),seriesDate:r.parseDA(s.string("x00080021")),seriesTime:r.parseTM(s.string("x00080031")||""),acquisitionDate:r.parseDA(s.string("x00080022")||""),acquisitionTime:r.parseTM(s.string("x00080032")||"")};if("patientStudyModule"===e)return{patientAge:s.intString("x00101010"),patientSize:s.floatString("x00101020"),patientWeight:s.floatString("x00101030")};if("imagePlaneModule"===e){var l,c=dt(s),f=ht(s),p=mt(s);s.elements.x00200052&&(l=s.string("x00200052"));var g,v=pt(s);s.elements.x00201041&&(g=s.floatString("x00201041"));var b=null,y=null;p&&(y=p[0],b=p[1]);var w=null,x=null;return c&&(w=[parseFloat(c[0]),parseFloat(c[1]),parseFloat(c[2])],x=[parseFloat(c[3]),parseFloat(c[4]),parseFloat(c[5])]),{frameOfReferenceUID:l,rows:s.uint16("x00280010"),columns:s.uint16("x00280011"),imageOrientationPatient:c,rowCosines:w,columnCosines:x,imagePositionPatient:f,sliceThickness:v,sliceLocation:g,pixelSpacing:p,rowPixelSpacing:y,columnPixelSpacing:b}}if("nmMultiframeGeometryModule"===e){var k=s.string("x00080060"),P=ft(s,2);return{modality:k,imageType:s.string("x00080008"),imageSubType:P,imageOrientationPatient:dt(s),imagePositionPatient:ht(s),sliceThickness:pt(s),pixelSpacing:mt(s),numberOfFrames:s.uint16("x00280008"),isNMReconstructable:R(P)&&k.includes("NM")}}if("imagePixelModule"===e)return u(s);if("modalityLutModule"===e)return{rescaleIntercept:s.floatString("x00281052"),rescaleSlope:s.floatString("x00281053"),rescaleType:s.string("x00281054"),modalityLUTSequence:d(s.uint16("x00280103"),s.elements.x00283000)};if("voiLutModule"===e){var S=h(s);return{windowCenter:m(s,"x00281050",1),windowWidth:m(s,"x00281051",1),voiLUTSequence:d(S,s.elements.x00283010)}}if("sopCommonModule"===e)return{sopClassUID:s.string("x00080016"),sopInstanceUID:s.string("x00080018")};if("petIsotopeModule"===e){var D=s.elements.x00540016;if(void 0===D)return;var T=D.items[0].dataSet;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:r.parseTM(T.string("x00181072")||""),radionuclideTotalDose:T.floatString("x00181074"),radionuclideHalfLife:T.floatString("x00181075")}}}return"overlayPlaneModule"===e?function(e){for(var t=[],r=0;r<=30;r+=2){var n="x60".concat(r.toString(16));4===n.length&&(n="x600".concat(r.toString(16)));var a=e.elements["".concat(n,"3000")];if(a){for(var o=[],i=0;i<a.length;i++)for(var s=0;s<8;s++){var l=e.byteArray[a.dataOffset+i];o[8*i+s]=l>>s&1}t.push({rows:e.uint16("".concat(n,"0010")),columns:e.uint16("".concat(n,"0011")),type:e.string("".concat(n,"0040")),x:e.int16("".concat(n,"0050"),1)-1,y:e.int16("".concat(n,"0050"),0)-1,pixelData:o,description:e.string("".concat(n,"0022")),label:e.string("".concat(n,"1500")),roiArea:e.string("".concat(n,"1301")),roiMean:e.string("".concat(n,"1302")),roiStandardDeviation:e.string("".concat(n,"1303"))})}}return{overlays:t}}(s):"transferSyntax"===e?{transferSyntaxUID:s.string("x00020010")}:"petSeriesModule"===e?{correctedImage:s.string("x00280051"),units:s.string("x00541001"),decayCorrection:s.string("x00541102")}:"petImageModule"===e?{frameReferenceTime:r.floatString(s.string("x00541300")||""),actualFrameDuration:r.intString(s.string("x00181242"))}:void 0}};var vt=[];const bt={add:function(e){var t=vt.push(e);return"dicomfile:".concat(t-1)},get:function(e){return vt[e]},remove:function(e){vt[e]=void 0},purge:function(){vt=[]}};function yt(e,t){var r=Ne.dicomParser;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)){var 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 wt(e,t){return e&1<<t}const xt=function(e,t,r){for(var n=new Uint8Array(r),a=0;a<r;a++){var o=e[Math.floor(a/8)+t],i=a%8;n[a]=wt(o,i)?1:0}return n};const kt=function(e,t){var r=e.elements.x7fe00010||e.elements.x7fe00008,n=e.uint16("x00280100"),a=e.uint16("x00280010"),o=e.uint16("x00280011"),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."));var s,l=r.dataOffset,c=a*o*i;if(8===n){if((s=l+t*c)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,s,c)}if(16===n){if((s=l+t*c*2)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,s,2*c)}if(1===n){if((s=l+t*c*.125)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return xt(e.byteArray,s,c)}if(32===n){if((s=l+t*c*4)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,s,4*c)}throw new Error("unsupported pixel format")};const Pt=function(e){var t=Ge(e),r=parseInt(t.url,10),n=bt.get(r);return new Promise((function(e,t){var r=new FileReader;r.onload=function(t){var r=t.target.result;e(r)},r.onerror=t,r.readAsArrayBuffer(n)}))};const St=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.elements.x7fe00010||e.elements.x7fe00008;return r?r.encapsulatedPixelData?yt(e,t):kt(e,t):null};function Dt(e,t){e.decache=function(){var e=Ge(t);ut.unload(e.url)}}function Tt(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0,i=(new Date).getTime(),s={cancelFn:void 0,promise:void 0};return s.promise=new Promise((function(l,c){e.then((function(e){var u=St(e,r),f=e.string("x00020010"),d=(new Date).getTime(),h=Ee(t,u,f,a);Dt(s,t),h.then((function(t){t.data=e,t.sharedCacheKey=n;var r=(new Date).getTime();t.loadTimeInMS=d-i,t.totalTimeInMS=r-i,void 0!==o&&void 0!==o.imageDoneCallback&&o.imageDoneCallback(t),l(t)}),(function(t){c({error:t,dataSet:e})}))}),(function(e){c({error:e})}))})),s}function Ot(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=(new Date).getTime(),i=new Promise((function(i,s){var l,c=(new Date).getTime();try{var u=St(e,r),f=e.string("x00020010");l=Ee(t,u,f,a)}catch(t){return void s({error:t,dataSet:e})}l.then((function(t){t.data=e,t.sharedCacheKey=n;var r=(new Date).getTime();t.loadTimeInMS=c-o,t.totalTimeInMS=r-o,i(t)}),s)}));return{promise:i,cancelFn:void 0}}function It(e){return"dicomweb"===e||"wadouri"===e?z:"dicomfile"===e?Pt:void 0}function _t(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Ge(e),n=(t=Object.assign({},t)).loader;if(void 0===n?n=It(r.scheme):delete t.loader,ut.isLoaded(r.url)){var a=ut.get(r.url,n,e);return Ot(a,e,r.frame,r.url,t)}var o=ut.load(r.url,n,e);return Tt(o,e,r.frame,r.url,t)}const Ct={metaData:{getImagePixelModule:u,getLUTs:d,getModalityLUTOutputPixelRepresentation:h,getNumberValues:m,metaDataProvider:gt},dataSetCacheManager:ut,fileManager:bt,getEncapsulatedImageFrame:yt,getUncompressedImageFrame:kt,loadFileRequest:Pt,loadImageFromPromise:Tt,getLoaderForScheme:It,loadImage:_t,parseImageId:Ge,unpackBinaryFrame:xt,register:function(e){e.registerImageLoader("dicomweb",_t),e.registerImageLoader("wadouri",_t),e.registerImageLoader("dicomfile",_t),e.metaData.addProvider(gt)}};const Lt=function(e){V(e)};const Et={convertRGBColorByPixel:e,convertRGBColorByPlane:t,convertYBRFullByPixel:a,convertYBRFullByPlane:o,convertPALETTECOLOR:s,wadouri:Ct,wadors:Fe,configure:Lt,convertColorSpace:te,createImage:Ee,decodeImageFrame:ye,decodeJPEGBaseline8BitColor:ne,getImageFrame:we,getPixelData:$,getMinMax:Q,isColorImage:Se,isJPEGBaseline8BitColor:De,webWorkerManager:ge,internal:Y,external:Ne}})(),n})()}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstoneDICOMImageLoader",[],t):"object"==typeof exports?exports.cornerstoneDICOMImageLoader=t():e.cornerstoneDICOMImageLoader=t()}(this,(()=>(()=>{"use strict";var e={578:(e,t,n)=>{const r=n(823),o=n(187),a=n(592),i=n(604),s=n(249),l=n(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}=n(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 n=r.inflateInit2(this.strm,t.windowBits);if(n!==f)throw new Error(i[n]);if(this.header=new l,r.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&&(n=r.inflateSetDictionary(this.strm,t.dictionary),n!==f)))throw new Error(i[n])}function b(e,t){const n=new w(t);if(n.push(e),n.err)throw n.msg||i[n.err];return n.result}w.prototype.push=function(e,t){const n=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)?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(0===n.avail_out&&(n.output=new Uint8Array(o),n.next_out=0,n.avail_out=o),s=r.inflate(n,l),s===g&&i&&(s=r.inflateSetDictionary(n,i),s===f?s=r.inflate(n,l):s===p&&(s=g));n.avail_in>0&&s===m&&n.state.wrap>0&&0!==e[n.next_in];)r.inflateReset(n),s=r.inflate(n,l);switch(s){case h:case p:case g:case x:return this.onEnd(s),this.ended=!0,!1}if(w=n.avail_out,n.next_out&&(0===n.avail_out||s===m))if("string"===this.options.to){let e=a.utf8border(n.output,n.next_out),t=n.next_out-e,r=a.buf2string(n.output,e);n.next_out=t,n.avail_out=o-t,t&&n.output.set(n.output.subarray(e,e+t),0),this.onData(r)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(s!==f||0!==w){if(s===m)return s=r.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===n.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)},n(684)},187:e=>{const t=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);e.exports.assign=function(e){const n=Array.prototype.slice.call(arguments,1);for(;n.length;){const r=n.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const n in r)t(r,n)&&(e[n]=r[n])}}return e},e.exports.flattenChunks=e=>{let t=0;for(let n=0,r=e.length;n<r;n++)t+=e[n].length;const n=new Uint8Array(t);for(let t=0,r=0,o=e.length;t<o;t++){let o=e[t];n.set(o,r),r+=o.length}return n}},592:e=>{let t=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){t=!1}const n=new Uint8Array(256);for(let e=0;e<256;e++)n[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;n[254]=n[254]=1,e.exports.string2buf=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,n,r,o,a,i=e.length,s=0;for(o=0;o<i;o++)n=e.charCodeAt(o),55296==(64512&n)&&o+1<i&&(r=e.charCodeAt(o+1),56320==(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),o++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(s),a=0,o=0;a<s;o++)n=e.charCodeAt(o),55296==(64512&n)&&o+1<i&&(r=e.charCodeAt(o+1),56320==(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),o++)),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|63&n):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|63&n):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|63&n);return t};e.exports.buf2string=(e,r)=>{const o=r||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,r));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 r=n[t];if(r>4)s[i++]=65533,a+=r-1;else{for(t&=2===r?31:3===r?15:7;r>1&&a<o;)t=t<<6|63&e[a++],r--;r>1?s[i++]=65533:t<65536?s[i++]=t:(t-=65536,s[i++]=55296|t>>10&1023,s[i++]=56320|1023&t)}}return((e,n)=>{if(n<65534&&e.subarray&&t)return String.fromCharCode.apply(null,e.length===n?e:e.subarray(0,n));let r="";for(let t=0;t<n;t++)r+=String.fromCharCode(e[t]);return r})(s,i)},e.exports.utf8border=(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let r=t-1;for(;r>=0&&128==(192&e[r]);)r--;return r<0||0===r?t:r+n[e[r]]>t?r:t}},693:e=>{e.exports=(e,t,n,r)=>{let o=65535&e|0,a=e>>>16&65535|0,i=0;for(;0!==n;){i=n>2e3?2e3:n,n-=i;do{o=o+t[r++]|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 n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t})());e.exports=(e,n,r,o)=>{const a=t,i=o+r;e^=-1;for(let t=o;t<i;t++)e=e>>>8^a[255&(e^n[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,n){let r,o,a,i,s,l,c,u,d,f,m,g,h,p,x,w,b,y,k,v,T,D,S,P;const I=e.state;r=e.next_in,S=e.input,o=r+(e.avail_in-5),a=e.next_out,P=e.output,i=a-(n-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[r++]<<g,g+=8,m+=S[r++]<<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[r++]<<g,g+=8),k+=m&(1<<y)-1,m>>>=y,g-=y),g<15&&(m+=S[r++]<<g,g+=8,m+=S[r++]<<g,g+=8),b=p[m&w];n: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 n}e.msg="invalid distance code",I.mode=t;break e}if(v=65535&b,y&=15,g<y&&(m+=S[r++]<<g,g+=8,g<y&&(m+=S[r++]<<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(T=0,D=f,0===d){if(T+=c-y,y<k){k-=y;do{P[a++]=f[T++]}while(--y);T=a-v,D=P}}else if(d<y){if(T+=c+d-y,y-=d,y<k){k-=y;do{P[a++]=f[T++]}while(--y);if(T=0,d<k){y=d,k-=y;do{P[a++]=f[T++]}while(--y);T=a-v,D=P}}}else if(T+=d-y,y<k){k-=y;do{P[a++]=f[T++]}while(--y);T=a-v,D=P}for(;k>2;)P[a++]=D[T++],P[a++]=D[T++],P[a++]=D[T++],k-=3;k&&(P[a++]=D[T++],k>1&&(P[a++]=D[T++]))}else{T=a-v;do{P[a++]=P[T++],P[a++]=P[T++],P[a++]=P[T++],k-=3}while(k>2);k&&(P[a++]=P[T++],k>1&&(P[a++]=P[T++]))}break}}break}}while(r<o&&a<s);k=g>>3,r-=k,g-=k<<3,m&=(1<<g)-1,e.next_in=r,e.next_out=a,e.avail_in=r<o?o-r+5:5-(r-o),e.avail_out=a<s?s-a+257:257-(a-s),I.hold=m,I.bits=g}},823:(e,t,n)=>{const r=n(693),o=n(464),a=n(365),i=n(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}=n(684),w=16180,b=16190,y=16191,k=16192,v=16194,T=16199,D=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},E=e=>{if(L(e))return m;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,A(e)},M=(e,t)=>{let n;if(L(e))return m;const r=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?m:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,E(e))},R=(e,t)=>{if(!e)return m;const n=new _;e.state=n,n.strm=e,n.window=null,n.mode=w;const r=M(e,t);return r!==u&&(e.state=null),r};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,n,r)=>{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)),r>=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(o=a.wsize-a.wnext,o>r&&(o=r),a.window.set(t.subarray(n-r,n-r+o),a.wnext),(r-=o)?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,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=E,e.exports.inflateReset2=M,e.exports.inflateResetKeep=A,e.exports.inflateInit=e=>R(e,15),e.exports.inflateInit2=R,e.exports.inflate=(e,t)=>{let n,_,A,E,M,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,ne;const re=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;n=e.state,n.mode===y&&(n.mode=k),M=e.next_out,A=e.output,F=e.avail_out,E=e.next_in,_=e.input,R=e.avail_in,O=n.hold,B=n.bits,j=R,W=F,X=u;e:for(;;)switch(n.mode){case w:if(0===n.wrap){n.mode=k;break}for(;B<16;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}if(2&n.wrap&&35615===O){0===n.wbits&&(n.wbits=15),n.check=0,ee[0]=255&O,ee[1]=O>>>8&255,n.check=o(n.check,ee,2,0),O=0,B=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&O)<<8)+(O>>8))%31){e.msg="incorrect header check",n.mode=P;break}if((15&O)!==x){e.msg="unknown compression method",n.mode=P;break}if(O>>>=4,B-=4,J=8+(15&O),0===n.wbits&&(n.wbits=J),J>15||J>n.wbits){e.msg="invalid window size",n.mode=P;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=512&O?16189:y,O=0,B=0;break;case 16181:for(;B<16;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}if(n.flags=O,(255&n.flags)!==x){e.msg="unknown compression method",n.mode=P;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=P;break}n.head&&(n.head.text=O>>8&1),512&n.flags&&4&n.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,n.check=o(n.check,ee,2,0)),O=0,B=0,n.mode=16182;case 16182:for(;B<32;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}n.head&&(n.head.time=O),512&n.flags&&4&n.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,ee[2]=O>>>16&255,ee[3]=O>>>24&255,n.check=o(n.check,ee,4,0)),O=0,B=0,n.mode=16183;case 16183:for(;B<16;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}n.head&&(n.head.xflags=255&O,n.head.os=O>>8),512&n.flags&&4&n.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,n.check=o(n.check,ee,2,0)),O=0,B=0,n.mode=16184;case 16184:if(1024&n.flags){for(;B<16;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}n.length=O,n.head&&(n.head.extra_len=O),512&n.flags&&4&n.wrap&&(ee[0]=255&O,ee[1]=O>>>8&255,n.check=o(n.check,ee,2,0)),O=0,B=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&n.flags&&(Z=n.length,Z>R&&(Z=R),Z&&(n.head&&(J=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(_.subarray(E,E+Z),J)),512&n.flags&&4&n.wrap&&(n.check=o(n.check,_,Z,E)),R-=Z,E+=Z,n.length-=Z),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&n.flags){if(0===R)break e;Z=0;do{J=_[E+Z++],n.head&&J&&n.length<65536&&(n.head.name+=String.fromCharCode(J))}while(J&&Z<R);if(512&n.flags&&4&n.wrap&&(n.check=o(n.check,_,Z,E)),R-=Z,E+=Z,J)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=16187;case 16187:if(4096&n.flags){if(0===R)break e;Z=0;do{J=_[E+Z++],n.head&&J&&n.length<65536&&(n.head.comment+=String.fromCharCode(J))}while(J&&Z<R);if(512&n.flags&&4&n.wrap&&(n.check=o(n.check,_,Z,E)),R-=Z,E+=Z,J)break e}else n.head&&(n.head.comment=null);n.mode=16188;case 16188:if(512&n.flags){for(;B<16;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}if(4&n.wrap&&O!==(65535&n.check)){e.msg="header crc mismatch",n.mode=P;break}O=0,B=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=y;break;case 16189:for(;B<32;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}e.adler=n.check=C(O),O=0,B=0,n.mode=b;case b:if(0===n.havedict)return e.next_out=M,e.avail_out=F,e.next_in=E,e.avail_in=R,n.hold=O,n.bits=B,f;e.adler=n.check=1,n.mode=y;case y:if(t===l||t===c)break e;case k:if(n.last){O>>>=7&B,B-=7&B,n.mode=S;break}for(;B<3;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}switch(n.last=1&O,O>>>=1,B-=1,3&O){case 0:n.mode=16193;break;case 1:if(U(n),n.mode=T,t===c){O>>>=2,B-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.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+=_[E++]<<B,B+=8}if((65535&O)!=(O>>>16^65535)){e.msg="invalid stored block lengths",n.mode=P;break}if(n.length=65535&O,O=0,B=0,n.mode=v,t===c)break e;case v:n.mode=16195;case 16195:if(Z=n.length,Z){if(Z>R&&(Z=R),Z>F&&(Z=F),0===Z)break e;A.set(_.subarray(E,E+Z),M),R-=Z,E+=Z,F-=Z,M+=Z,n.length-=Z;break}n.mode=y;break;case 16196:for(;B<14;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}if(n.nlen=257+(31&O),O>>>=5,B-=5,n.ndist=1+(31&O),O>>>=5,B-=5,n.ncode=4+(15&O),O>>>=4,B-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=P;break}n.have=0,n.mode=16197;case 16197:for(;n.have<n.ncode;){for(;B<3;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}n.lens[re[n.have++]]=7&O,O>>>=3,B-=3}for(;n.have<19;)n.lens[re[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,te={bits:n.lenbits},X=i(0,n.lens,0,19,n.lencode,0,n.work,te),n.lenbits=te.bits,X){e.msg="invalid code lengths set",n.mode=P;break}n.have=0,n.mode=16198;case 16198:for(;n.have<n.nlen+n.ndist;){for(;Q=n.lencode[O&(1<<n.lenbits)-1],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(V<=B);){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}if(z<16)O>>>=V,B-=V,n.lens[n.have++]=z;else{if(16===z){for(ne=V+2;B<ne;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}if(O>>>=V,B-=V,0===n.have){e.msg="invalid bit length repeat",n.mode=P;break}J=n.lens[n.have-1],Z=3+(3&O),O>>>=2,B-=2}else if(17===z){for(ne=V+3;B<ne;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}O>>>=V,B-=V,J=0,Z=3+(7&O),O>>>=3,B-=3}else{for(ne=V+7;B<ne;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}O>>>=V,B-=V,J=0,Z=11+(127&O),O>>>=7,B-=7}if(n.have+Z>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=P;break}for(;Z--;)n.lens[n.have++]=J}}if(n.mode===P)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=P;break}if(n.lenbits=9,te={bits:n.lenbits},X=i(1,n.lens,0,n.nlen,n.lencode,0,n.work,te),n.lenbits=te.bits,X){e.msg="invalid literal/lengths set",n.mode=P;break}if(n.distbits=6,n.distcode=n.distdyn,te={bits:n.distbits},X=i(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,te),n.distbits=te.bits,X){e.msg="invalid distances set",n.mode=P;break}if(n.mode=T,t===c)break e;case T:n.mode=D;case D:if(R>=6&&F>=258){e.next_out=M,e.avail_out=F,e.next_in=E,e.avail_in=R,n.hold=O,n.bits=B,a(e,W),M=e.next_out,A=e.output,F=e.avail_out,E=e.next_in,_=e.input,R=e.avail_in,O=n.hold,B=n.bits,n.mode===y&&(n.back=-1);break}for(n.back=0;Q=n.lencode[O&(1<<n.lenbits)-1],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(V<=B);){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}if(q&&0==(240&q)){for(Y=V,H=q,K=z;Q=n.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+=_[E++]<<B,B+=8}O>>>=Y,B-=Y,n.back+=Y}if(O>>>=V,B-=V,n.back+=V,n.length=z,0===q){n.mode=16205;break}if(32&q){n.back=-1,n.mode=y;break}if(64&q){e.msg="invalid literal/length code",n.mode=P;break}n.extra=15&q,n.mode=16201;case 16201:if(n.extra){for(ne=n.extra;B<ne;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}n.length+=O&(1<<n.extra)-1,O>>>=n.extra,B-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;Q=n.distcode[O&(1<<n.distbits)-1],V=Q>>>24,q=Q>>>16&255,z=65535&Q,!(V<=B);){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}if(0==(240&q)){for(Y=V,H=q,K=z;Q=n.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+=_[E++]<<B,B+=8}O>>>=Y,B-=Y,n.back+=Y}if(O>>>=V,B-=V,n.back+=V,64&q){e.msg="invalid distance code",n.mode=P;break}n.offset=z,n.extra=15&q,n.mode=16203;case 16203:if(n.extra){for(ne=n.extra;B<ne;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}n.offset+=O&(1<<n.extra)-1,O>>>=n.extra,B-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=P;break}n.mode=16204;case 16204:if(0===F)break e;if(Z=W-F,n.offset>Z){if(Z=n.offset-Z,Z>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=P;break}Z>n.wnext?(Z-=n.wnext,$=n.wsize-Z):$=n.wnext-Z,Z>n.length&&(Z=n.length),G=n.window}else G=A,$=M-n.offset,Z=n.length;Z>F&&(Z=F),F-=Z,n.length-=Z;do{A[M++]=G[$++]}while(--Z);0===n.length&&(n.mode=D);break;case 16205:if(0===F)break e;A[M++]=n.length,F--,n.mode=D;break;case S:if(n.wrap){for(;B<32;){if(0===R)break e;R--,O|=_[E++]<<B,B+=8}if(W-=F,e.total_out+=W,n.total+=W,4&n.wrap&&W&&(e.adler=n.check=n.flags?o(n.check,A,W,M-W):r(n.check,A,W,M-W)),W=F,4&n.wrap&&(n.flags?O:C(O))!==n.check){e.msg="incorrect data check",n.mode=P;break}O=0,B=0}n.mode=16207;case 16207:if(n.wrap&&n.flags){for(;B<32;){if(0===R)break e;R--,O+=_[E++]<<B,B+=8}if(4&n.wrap&&O!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=P;break}O=0,B=0}n.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=M,e.avail_out=F,e.next_in=E,e.avail_in=R,n.hold=O,n.bits=B,(n.wsize||W!==e.avail_out&&n.mode<P&&(n.mode<S||t!==s))&&N(e,e.output,e.next_out,W-e.avail_out)?(n.mode=I,h):(j-=e.avail_in,W-=e.avail_out,e.total_in+=j,e.total_out+=W,n.total+=W,4&n.wrap&&W&&(e.adler=n.check=n.flags?o(n.check,A,W,e.next_out-W):r(n.check,A,W,e.next_out-W)),e.data_type=n.bits+(n.last?64:0)+(n.mode===y?128:0)+(n.mode===T||n.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 n=e.state;return 0==(2&n.wrap)?m:(n.head=t,t.done=!1,u)},e.exports.inflateSetDictionary=(e,t)=>{const n=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=r(a,t,n,0),a!==o.check)?g:(i=N(e,t,n,n),i?(o.mode=I,h):(o.havedict=1,u)))},e.exports.inflateInfo="pako inflate (from Nodeca project)"},446:e=>{const t=15,n=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]),r=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,T=0,D=0,S=0,P=0,I=0,C=0,_=0,L=null;const A=new Uint16Array(16),E=new Uint16Array(16);let M,R,F,O=null;for(y=0;y<=t;y++)A[y]=0;for(k=0;k<l;k++)A[i[s+k]]++;for(D=m,T=t;T>=1&&0===A[T];T--);if(D>T&&(D=T),0===T)return c[u++]=20971520,c[u++]=20971520,f.bits=1,0;for(v=1;v<T&&0===A[v];v++);for(D<v&&(D=v),I=1,y=1;y<=t;y++)if(I<<=1,I-=A[y],I<0)return-1;if(I>0&&(0===e||1!==T))return-1;for(E[1]=0,y=1;y<t;y++)E[y+1]=E[y]+A[y];for(k=0;k<l;k++)0!==i[s+k]&&(d[E[i[s+k]]++]=k);if(0===e?(L=O=d,b=20):1===e?(L=n,O=r,b=257):(L=o,O=a,b=0),_=0,k=0,y=v,w=u,S=D,P=0,p=-1,C=1<<D,x=C-1,1===e&&C>852||2===e&&C>592)return 1;for(;;){M=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]=M<<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===T)break;y=i[s+d[k]]}if(y>D&&(_&x)!==p){for(0===P&&(P=D),w+=v,S=y-P,I=1<<S;S+P<T&&(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]=D<<24|S<<16|w-u|0}}return 0!==_&&(c[w+_]=y-P<<24|64<<16|0),f.bits=D,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 n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&!e;)e=r[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})();var r={};return(()=>{function e(e,t,n){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 r=e.length/3;let o=0,a=0;if(n)for(let n=0;n<r;n++)t[a++]=e[o++],t[a++]=e[o++],t[a++]=e[o++],t[a++]=255;else t.set(e)}function t(e,t,n){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 r=e.length/3;let o=0,a=0,i=r,s=2*r;if(n)for(let n=0;n<r;n++)t[o++]=e[a++],t[o++]=e[i++],t[o++]=e[s++],t[o++]=255;else t.set(e)}function o(e,t,n){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 r=e.length/3;let o=0,a=0;if(n)for(let n=0;n<r;n++){const n=e[o++],r=e[o++],i=e[o++];t[a++]=n+1.402*(i-128),t[a++]=n-.34414*(r-128)-.71414*(i-128),t[a++]=n+1.772*(r-128),t[a++]=255}else for(let n=0;n<r;n++){const n=e[o++],r=e[o++],i=e[o++];t[a++]=n+1.402*(i-128),t[a++]=n-.34414*(r-128)-.71414*(i-128),t[a++]=n+1.772*(r-128)}}function a(e,t,n){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 r=e.length/3;let o=0,a=0,i=r,s=2*r;if(n)for(let n=0;n<r;n++){const n=e[a++],r=e[i++],l=e[s++];t[o++]=n+1.402*(l-128),t[o++]=n-.34414*(r-128)-.71414*(l-128),t[o++]=n+1.772*(r-128),t[o++]=255}else for(let n=0;n<r;n++){const n=e[a++],r=e[i++],l=e[s++];t[o++]=n+1.402*(l-128),t[o++]=n-.34414*(r-128)-.71414*(l-128),t[o++]=n+1.772*(r-128)}}function i(e,t){const n=e.length,r=new Uint8ClampedArray(n);for(let o=0;o<n;++o)r[o]=e[o]>>t;return r}function s(e,t,n){const r=e.columns*e.rows,o=e.pixelData,a=e.redPaletteColorLookupTableData,s=e.greenPaletteColorLookupTableData,l=e.bluePaletteColorLookupTableData,c=e.redPaletteColorLookupTableData.length;let u=0,d=0;const f=e.redPaletteColorLookupTableDescriptor[1],m=8===e.redPaletteColorLookupTableDescriptor[2]?0:8,g=i(a,m),h=i(s,m),p=i(l,m);if(n)for(let e=0;e<r;++e){let e=o[u++];e<f?e=0:e>f+c-1?e=c-1:e-=f,t[d++]=g[e],t[d++]=h[e],t[d++]=p[e],t[d++]=255}else for(let e=0;e<r;++e){let e=o[u++];e<f?e=0:e>f+c-1?e=c-1:e-=f,t[d++]=g[e],t[d++]=h[e],t[d++]=p[e]}}function l(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 c(e,t,n){const r=[],o=e.elements[t];for(let a=0;a<n[0];a++)16===n[2]?r[a]=e.uint16(t,a):r[a]=e.byteArray[a+o.dataOffset];return r}n.r(r),n.d(r,{configure:()=>tt,convertColorSpace:()=>V,convertPALETTECOLOR:()=>s,convertRGBColorByPixel:()=>e,convertRGBColorByPlane:()=>t,convertYBRFullByPixel:()=>o,convertYBRFullByPlane:()=>a,createImage:()=>pe,decodeImageFrame:()=>ce,decodeJPEGBaseline8BitColor:()=>z,default:()=>nt,external:()=>Te,getImageFrame:()=>ue,getMinMax:()=>$,getPixelData:()=>Z,internal:()=>j,isColorImage:()=>de,isJPEGBaseline8BitColor:()=>fe,wadors:()=>we,wadouri:()=>et,webWorkerManager:()=>ie});const u=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=l(e,"x00281101"),t.greenPaletteColorLookupTableDescriptor=l(e,"x00281102"),t.bluePaletteColorLookupTableDescriptor=l(e,"x00281103"),0===t.redPaletteColorLookupTableDescriptor[0]&&(t.redPaletteColorLookupTableDescriptor[0]=65536,t.greenPaletteColorLookupTableDescriptor[0]=65536,t.bluePaletteColorLookupTableDescriptor[0]=65536);const n=t.redPaletteColorLookupTableDescriptor[0],r=e.elements.x00281201.length===n?8:16;t.redPaletteColorLookupTableDescriptor[2]!==r&&(t.redPaletteColorLookupTableDescriptor[2]=r,t.greenPaletteColorLookupTableDescriptor[2]=r,t.bluePaletteColorLookupTableDescriptor[2]=r),t.redPaletteColorLookupTableData=c(e,"x00281201",t.redPaletteColorLookupTableDescriptor),t.greenPaletteColorLookupTableData=c(e,"x00281202",t.greenPaletteColorLookupTableDescriptor),t.bluePaletteColorLookupTableData=c(e,"x00281203",t.bluePaletteColorLookupTableDescriptor)}(e,t),t};function d(e,t){let n=t.uint16("x00283002",0);0===n&&(n=65535);let r=0;r=0===e?t.uint16("x00283002",1):t.int16("x00283002",1);const o={id:"1",firstValueMapped:r,numBitsPerEntry:t.uint16("x00283002",2),lut:[]};for(let r=0;r<n;r++)o.lut[r]=0===e?t.uint16("x00283006",r):t.int16("x00283006",r);return o}const f=function(e,t){if(!t||!t.items||!t.items.length)return;const n=[];for(let r=0;r<t.items.length;r++){const o=d(e,t.items[r].dataSet);o&&n.push(o)}return n};const m=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 n=e.floatString("x00281052"),r=e.floatString("x00281053");if(void 0!==n&&void 0!==r){const t=function(e){const t=e.uint16("x00280103"),n=e.uint16("x00280101");return 0===t?0:-1<<n-1}(e);return t*r+n<0?1:0}return e.elements.x00283000&&e.elements.x00283000.length>0?0:e.uint16("x00280103")};const g=function(e,t,n){const r=[],o=e.string(t);if(!o)return;const a=o.split("\\");if(!(n&&a.length<n)){for(let e=0;e<a.length;e++)r.push(parseFloat(a[e]));return r}};const h=function(e,t,n){return t=t||0,e&&e.Value?e.Value.length<=t?n:e.Value[t]:n};const p=function(e,t,n){const r=h(e,t,n);if(void 0!==r)return parseFloat(r)};const x=function(e,t){const n=h(e,t);if(void 0!==n)return parseFloat(n)};const w=function(e,t){if(!e)return;if(!e.Value)return;if(!Array.isArray(e.Value))return;if(t&&e.Value.length<t)return;const n=[];for(let t=0;t<e.Value.length;t++)n.push(parseFloat(e.Value[t]));return n};function b(e){const t=e.indexOf(":");return e.substring(t+1)}function y(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 k(e,t,n){return{shared:(t?Object.values(t[0]):[]).map((e=>e[0])).filter((e=>void 0!==e&&"object"==typeof e)),perFrame:(e?Object.values(e[n-1]):[]).map((e=>e.Value[0])).filter((e=>void 0!==e&&"object"==typeof e))}}function v(e){let{52009230:t,52009229:n,"00280008":r,...o}=e;return t=y(t,!1),n=y(n,!1),r=y(r),{PerFrameFunctionalGroupsSequence:t,SharedFunctionalGroupsSequence:n,NumberOfFrames:r,rest:o}}function T(e){const t=e.indexOf("/frames/")+8,n=e.slice(0,t),r=parseInt(e.slice(t),10);return{metadata:S[`${n}1`],frame:r}}const D={_retrieveMultiframeMetadata:T,retrieveMultiframeMetadata:function(e){return T(b(e))},isMultiframe:function(e){const t=h(e["00280008"]);return t&&t>1}};let S=[],P={};const I={add:function(e,t){const n=b(e);t.isMultiframe=D.isMultiframe(t),S[n]=t},get:function(e){const t=b(e),n=S[t];if(n&&!n?.isMultiframe)return n;const r=P[t];if(r)return r;const o=D._retrieveMultiframeMetadata(t);if(!o||!o.metadata)return;const{metadata:a,frame:i}=o;if(a){const e=function(e,t){const{PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:r,NumberOfFrames:o,rest:a}=v(t);if(n||o>1){const{shared:i,perFrame:s}=k(n,r,e),l=Object.assign(t,{frameNumber:e});return[...i,...s].forEach((e=>{Object.entries(e).forEach((e=>{let[t,n]=e;l[t]=n}))})),Object.assign(a,{"00280008":o},l)}return t}(i,a);return P[t]=e,e}},remove:function(e){const t=b(e);S[t]=void 0,P[t]=void 0},purge:function(){S=[],P={}}};function C(e){return"RECON TOMO"===e||"RECON GATED TOMO"===e}function _(e){return h(e["00080060"]).includes("NM")}function L(e,t){const n=y(e["00080008"],!1);if(n)return n[t]}function A(e){let t=w(e["00200037"],6);return!t&&_(e)&&(t=function(e){let t;const n=L(e,2);if(n&&C(n)){const n=y(e["00540022"]);n&&(t=w(n["00200037"],6))}return t}(e)),t}function E(e){let t=w(e["00200032"],3);return!t&&_(e)&&(t=function(e){let t;const n=L(e,2);if(n&&C(n)){const n=y(e["00540022"]);n&&(t=w(n["00200032"],3))}return t}(e)),t}const M=function(e,t){if("multiframeModule"===e){const{metadata:e,frame:n}=D.retrieveMultiframeMetadata(t);if(!e)return;const{PerFrameFunctionalGroupsSequence:r,SharedFunctionalGroupsSequence:o,NumberOfFrames:a}=v(e);if(r||a>1){const{shared:e,perFrame:t}=k(r,o,n);return{NumberOfFrames:a,PerFrameFunctionalInformation:t,SharedFunctionalInformation:e}}return{NumberOfFrames:a}}const{dicomParser:n}=Te,r=I.get(t);if(r){if("generalSeriesModule"===e)return{modality:h(r["00080060"]),seriesInstanceUID:h(r["0020000E"]),seriesNumber:x(r["00200011"]),studyInstanceUID:h(r["0020000D"]),seriesDate:n.parseDA(h(r["00080021"])),seriesTime:n.parseTM(h(r["00080031"],0,"")),acquisitionDate:n.parseDA(h(r["00080022"]),""),acquisitionTime:n.parseTM(h(r["00080032"],0,""))};if("patientStudyModule"===e)return{patientAge:x(r["00101010"]),patientSize:x(r["00101020"]),patientSex:h(r["00100040"]),patientWeight:x(r["00101030"])};if("nmMultiframeGeometryModule"===e){const e=h(r["00080060"]),t=L(r,2);return{modality:e,imageType:h(r["00080008"]),imageSubType:t,imageOrientationPatient:A(r),imagePositionPatient:E(r),sliceThickness:x(r["00180050"]),pixelSpacing:w(r["00280030"],2),numberOfFrames:x(r["00280008"]),isNMReconstructable:C(t)&&e.includes("NM")}}if("imagePlaneModule"===e){const e=A(r),t=E(r),n=w(r["00280030"],2);let o=null,a=null;n&&(a=n[0],o=n[1]);let i=null,s=null;return e&&(i=[parseFloat(e[0]),parseFloat(e[1]),parseFloat(e[2])],s=[parseFloat(e[3]),parseFloat(e[4]),parseFloat(e[5])]),{frameOfReferenceUID:h(r["00200052"]),rows:x(r["00280010"]),columns:x(r["00280011"]),imageOrientationPatient:e,rowCosines:i,columnCosines:s,imagePositionPatient:t,sliceThickness:x(r["00180050"]),sliceLocation:x(r["00201041"]),pixelSpacing:n,rowPixelSpacing:a,columnPixelSpacing:o}}if("imagePixelModule"===e)return{samplesPerPixel:x(r["00280002"]),photometricInterpretation:h(r["00280004"]),rows:x(r["00280010"]),columns:x(r["00280011"]),bitsAllocated:x(r["00280100"]),bitsStored:x(r["00280101"]),highBit:h(r["00280102"]),pixelRepresentation:x(r["00280103"]),planarConfiguration:x(r["00280006"]),pixelAspectRatio:h(r["00280034"]),smallestPixelValue:x(r["00280106"]),largestPixelValue:x(r["00280107"]),redPaletteColorLookupTableDescriptor:w(r["00281101"]),greenPaletteColorLookupTableDescriptor:w(r["00281102"]),bluePaletteColorLookupTableDescriptor:w(r["00281103"]),redPaletteColorLookupTableData:w(r["00281201"]),greenPaletteColorLookupTableData:w(r["00281202"]),bluePaletteColorLookupTableData:w(r["00281203"])};if("voiLutModule"===e)return{windowCenter:w(r["00281050"],1),windowWidth:w(r["00281051"],1)};if("modalityLutModule"===e)return{rescaleIntercept:x(r["00281052"]),rescaleSlope:x(r["00281053"]),rescaleType:h(r["00281054"])};if("sopCommonModule"===e)return{sopClassUID:h(r["00080016"]),sopInstanceUID:h(r["00080018"])};if("petIsotopeModule"===e){const e=h(r["00540016"]);if(void 0===e)return;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:n.parseTM(h(e["00181072"],0,"")),radiopharmaceuticalStartDateTime:h(e["00181078"],0,""),radionuclideTotalDose:x(e["00181074"]),radionuclideHalfLife:x(e["00181075"])}}}return"overlayPlaneModule"===e?function(e){const t=[];for(let n=0;n<=30;n+=2){let r=`x60${n.toString(16)}`;4===r.length&&(r=`x600${n.toString(16)}`);const o=h(e[`${r}3000`]);if(!o)continue;const a=[];for(let t=0;t<o.length;t++)for(let n=0;n<8;n++){const r=e.Value[o.dataOffset+t];a[8*t+n]=r>>n&1}t.push({rows:x(e[`${r}0010`]),columns:x(e[`${r}0011`]),type:h(e[`${r}0040`]),x:x(e[`${r}0050`],1)-1,y:x(e[`${r}0050`],0)-1,pixelData:a,description:h(e[`${r}0022`]),label:h(e[`${r}1500`]),roiArea:h(e[`${r}1301`]),roiMean:h(e[`${r}1302`]),roiStandardDeviation:h(e[`${r}1303`])})}return{overlays:t}}(r):"transferSyntax"===e?{transferSyntaxUID:h(r["00020010"])}:"petSeriesModule"===e?{correctedImage:h(r["00280051"]),units:h(r["00541001"]),decayCorrection:h(r["00541102"])}:"petImageModule"===e?{frameReferenceTime:x(r["00541300"]),actualFrameDuration:x(r["00181242"])}:void 0}};function R(e,t,n){if(n+e.length>t.length)return!1;let r=n;for(let n=0;n<e.length;n++)if(e[n]!==t[r++])return!1;return!0}const F=function(e,t,n){n=n||0;const r=function(e){const t=new Uint8Array(e.length);for(let n=0,r=e.length;n<r;n++)t[n]=e.charCodeAt(n);return t}(t);for(let t=n;t<e.length;t++)if(r[0]===e[t]&&R(r,e,t))return t;return-1};let O={open(e,t){e.open("get",t,!0)},beforeSend(){},beforeProcessing:e=>Promise.resolve(e.response),imageCreated(){},strict:!1,decodeConfig:{convertFloatPixelDataToInt:!0,use16BitDataType:!1}};function B(e){O=Object.assign(O,e)}function U(){return O}const N=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const{cornerstone:o}=Te,a=U(),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,n,r);const u=a.beforeSend(s,t,n,r);s.responseType="arraybuffer";const d=Object.assign({},n,u);Object.keys(d).forEach((function(t){null!==d[t]&&("Accept"===t&&-1!==e.indexOf("accept=")||s.setRequestHeader(t,d[t]))})),r.deferred={resolve:l,reject:c},r.url=e,r.imageId=t,s.onloadstart=function(n){a.onloadstart&&a.onloadstart(n,r);const i={url:e,imageId:t};o.triggerEvent(o.events,"cornerstoneimageloadstart",i)},s.onloadend=function(n){a.onloadend&&a.onloadend(n,r);const i={url:e,imageId:t};o.triggerEvent(o.events,"cornerstoneimageloadend",i)},s.onreadystatechange=function(e){a.onreadystatechange?a.onreadystatechange(e,r):4===s.readyState&&(200===s.status?a.beforeProcessing(s).then(l).catch((()=>{i(s),c(s)})):(i(s),c(s)))},s.onprogress=function(n){const i=n.loaded;let s,l;n.lengthComputable&&(s=n.total,l=Math.round(i/s*100)),a.onprogress&&a.onprogress(n,r);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},j={xhrRequest:N,setOptions:B,getOptions:U};function W(e){for(let t=0;t<e.length;t++)if("Content-Type:"===e[t].substr(0,13))return e[t].substr(13).trim()}const Z=function(e,t){const n={Accept:arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/octet-stream"};return new Promise(((r,o)=>{const a=N(e,t,n),{xhr:i}=a;a.then((function(e){const t=new Uint8Array(e),n=i.getResponseHeader("Content-Type")||"application/octet-stream";if(-1===n.indexOf("multipart"))return void r({contentType:n,imageFrame:{pixelData:t}});const a=F(t,"\r\n\r\n");-1===a&&o(new Error("invalid response - no multipart mime header"));const s=function(e,t,n){t=t||0,n=n||e.length-t;let r="";for(let o=t;o<t+n;o++)r+=String.fromCharCode(e[o]);return r}(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=F(t,c,u);-1===d&&o(new Error("invalid response - terminating boundary not found"));const f=d-u-2;r({contentType:W(l),imageFrame:{pixelData:new Uint8Array(e,u,f)}})}),o)}))};const $=function(e){let t,n=e[0],r=e[0];const o=e.length;for(let a=1;a<o;a++)t=e[a],n=Math.min(n,t),r=Math.max(r,t);return{min:n,max:r}};function G(n,r,o){0===n.planarConfiguration?e(n.pixelData,r,o):t(n.pixelData,r,o)}function V(e,t,n){if("RGB"===e.photometricInterpretation)G(e,t,n);else if("YBR_RCT"===e.photometricInterpretation)G(e,t,n);else if("YBR_ICT"===e.photometricInterpretation)G(e,t,n);else if("PALETTE COLOR"===e.photometricInterpretation)s(e,t,n);else if("YBR_FULL_422"===e.photometricInterpretation)!function(e,t,n){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 r=e.length/2;let o=0,a=0;if(n)for(let n=0;n<r;n+=2){const n=e[o++],r=e[o++],i=e[o++],s=e[o++];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,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}else for(let n=0;n<r;n+=2){const n=e[o++],r=e[o++],i=e[o++],s=e[o++];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++]=r+1.402*(s-128),t[a++]=r-.34414*(i-128)-.71414*(s-128),t[a++]=r+1.772*(i-128)}}(e.pixelData,t,n);else{if("YBR_FULL"!==e.photometricInterpretation)throw new Error(`No color space conversion for photometric interpretation ${e.photometricInterpretation}`);!function(e,t,n){0===e.planarConfiguration?o(e.pixelData,t,n):a(e.pixelData,t,n)}(e,t,n)}}function q(e){return function(e){let t;try{return decodeURIComponent(escape(e))}catch(n){if(t=n,t instanceof URIError)return e;throw t}}(String.fromCharCode.apply(null,Array.prototype.slice.apply(new Uint8Array(e))))}const z=function(e,t,n){const r=(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(){n.height=o.height,n.width=o.width,e.rows=o.height,e.columns=o.width;const a=n.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-r;const l=$(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(q(i.result))}`:o.src=`data:image/jpeg;base64,${window.btoa(i.result)}`},i.onerror=e=>{a(e)}}))};function Y(){return new Worker(n.p+"index.worker.ea71efba2ce63c499055.worker.js")}let H=0;const K=[],J=[],X=U(),Q={maxWebWorkers:navigator.hardwareConcurrency||1,startWebWorkersOnDemand:!0,webWorkerTaskPaths:[],taskConfiguration:{decodeTask:{initializeCodecsOnStartup:!1,strict:X.strict}}};let ee;const te={maxWebWorkers:0,numWebWorkers:0,numTasksQueued:0,numTasksExecuting:0,numTasksCompleted:0,totalTaskTimeInMS:0,totalTimeDelayedInMS:0};function ne(){if(K.length){for(let e=0;e<J.length;e++)if("ready"===J[e].status){J[e].status="busy";const t=K.shift();t.start=(new Date).getTime();const n=(new Date).getTime();return te.totalTimeDelayedInMS+=n-t.added,J[e].task=t,J[e].worker.postMessage({taskType:t.taskType,workerIndex:e,data:t.data},t.transferList),void te.numTasksExecuting++}J.length<ee.maxWebWorkers&&oe()}}function re(e){if("initialize"===e.data.taskType)J[e.data.workerIndex].status="ready",ne();else{const t=J[e.data.workerIndex].task.start,n="success"===e.data.status?"resolve":"reject";try{J[e.data.workerIndex].task.deferred[n](e.data.result)}catch(e){console.warn("Caught error delivering response",e)}J[e.data.workerIndex].task=void 0,te.numTasksExecuting--,J[e.data.workerIndex].status="ready",te.numTasksCompleted++;const r=(new Date).getTime();te.totalTaskTimeInMS+=r-t,ne()}}function oe(){if(J.length>=ee.maxWebWorkers)return;const e=new Y;J.push({worker:e,status:"initializing"}),e.addEventListener("message",re),e.postMessage({taskType:"initialize",workerIndex:J.length-1,config:ee})}function ae(e){if(ee=e=e||Q,ee.maxWebWorkers=ee.maxWebWorkers||navigator.hardwareConcurrency||1,!ee.startWebWorkersOnDemand)for(let e=0;e<ee.maxWebWorkers;e++)oe()}const ie={initialize:ae,loadWebWorkerTask:function(e,t){ee.webWorkerTaskPaths.push(e),t&&(ee.taskConfiguration=Object.assign(ee.taskConfiguration,t));for(let t=0;t<J.length;t++)J[t].worker.postMessage({taskType:"loadWebWorkerTask",workerIndex:J.length-1,sourcePath:e,config:ee})},addTask:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0;ee||ae();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<K.length&&!(K[i].priority<n);i++);const s=H++;return K.splice(i,0,{taskId:s,taskType:e,status:"ready",added:(new Date).getTime(),data:t,deferred:o,priority:n,transferList:r}),ne(),{taskId:s,promise:a}},getStatistics:function(){return te.maxWebWorkers=ee.maxWebWorkers,te.numWebWorkers=J.length,te.numTasksQueued=K.length,te},setTaskPriority:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(let n=0;n<K.length;n++)if(K[n].taskId===e){const e=K.splice(n,1)[0];for(e.priority=t,n=0;n<K.length&&!(K[n].priority<t);n++);return K.splice(n,0,e),!0}return!1},cancelTask:function(e,t){for(let n=0;n<K.length;n++)if(K[n].taskId===e){return K.splice(n,1).deferred.reject(t),!0}return!1},webWorkers:J,terminate:function(){for(let e=0;e<J.length;e++)J[e].worker.terminate();J.length=0,ee=void 0}};var se=n(578);function le(e,t,n,r,o){const a=r.priority||void 0,i=r.transferPixelData?[n.buffer]:void 0;return ie.addTask("decodeTask",{imageFrame:e,transferSyntax:t,pixelData:n,options:r,decodeConfig:o},a,i).promise}window.pako={inflateRaw:se.Hq};const ce=function(e,t,n,r){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 le(e,t,n,o,a);case"1.2.840.10008.1.2.4.50":return 8!==e.bitsAllocated||3!==e.samplesPerPixel&&4!==e.samplesPerPixel?le(e,t,n,o,a):z(e,n,r)}return Promise.reject(new Error(`No decoder for transfer syntax ${t}`))};const ue=function(e){const{cornerstone:t}=Te,n=t.metaData.get("imagePixelModule",e);return{samplesPerPixel:n.samplesPerPixel,photometricInterpretation:n.photometricInterpretation,planarConfiguration:n.planarConfiguration,rows:n.rows,columns:n.columns,bitsAllocated:n.bitsAllocated,bitsStored:n.bitsStored,pixelRepresentation:n.pixelRepresentation,smallestPixelValue:n.smallestPixelValue,largestPixelValue:n.largestPixelValue,redPaletteColorLookupTableDescriptor:n.redPaletteColorLookupTableDescriptor,greenPaletteColorLookupTableDescriptor:n.greenPaletteColorLookupTableDescriptor,bluePaletteColorLookupTableDescriptor:n.bluePaletteColorLookupTableDescriptor,redPaletteColorLookupTableData:n.redPaletteColorLookupTableData,greenPaletteColorLookupTableData:n.greenPaletteColorLookupTableData,bluePaletteColorLookupTableData:n.bluePaletteColorLookupTableData,pixelData:void 0}};function de(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 fe=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};let me="";function ge(e){const t=function(e,t){let n;return Number.isInteger(e)&&Number.isInteger(t)?e>=0?t<=255?n=Uint8Array:t<=65535&&(n=Uint16Array):e>=-128&&t<=127?n=Int8Array:e>=-32768&&t<=32767&&(n=Int16Array):n=Float32Array,n}(e.smallestPixelValue,e.largestPixelValue);if(!t)throw new Error("Could not apply a typed array to the pixel data");{const n=new t(e.pixelData);e.pixelData=n}}function he(e,t){const n=e.length/4;let r=0,o=0;for(let a=0;a<n;a++)t[o++]=e[r++],t[o++]=e[r++],t[o++]=e[r++],r++;return t}const pe=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=r.useRGBA;if(r.preScale={enabled:!(!r.preScale||void 0===r.preScale.enabled)&&r.preScale.enabled},!t||!t.length)return Promise.reject(new Error("The file does not contain image data."));const{cornerstone:a}=Te,i=document.createElement("canvas"),s=ue(e);if(r.preScale.enabled){const t=function(e,t){const n=e.get("modalityLutModule",t)||{},r=e.get("generalSeriesModule",t)||{},{modality:o}=r,a={rescaleSlope:n.rescaleSlope,rescaleIntercept:n.rescaleIntercept,modality:o},i=e.get("scalingModule",t)||{};return{...a,..."PT"===o&&{suvbw:i.suvbw}}}(a.metaData,e);t&&(r.preScale={...r.preScale,scalingParameters:t})}const{decodeConfig:l}=U(),c=ce(s,n,t,i,r,l),{use16BitDataType:u}=l,d=de(s.photometricInterpretation);return new Promise(((t,s)=>{c.then((function(s){if(r.skipCreateImage)return t(s);let l=!1;if(r.targetBuffer&&r.targetBuffer.type&&!d){const{arrayBuffer:e,type:t,offset:n=0,length:o}=r.targetBuffer,a=s.pixelDataLength,i=n,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||ge(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){if(o){if(!fe(s,n)&&"RGB"!==s.photometricInterpretation){i.height=s.rows,i.width=s.columns;const e=i.getContext("2d").createImageData(s.columns,s.rows);V(s,e.data,o),s.imageData=e,s.pixelData=e.data,s.pixelDataLength=e.data.length}}else if(fe(s,n)){const e=new Uint8Array(s.pixelData.length/4*3);s.pixelData=he(s.pixelData,e),s.pixelDataLength=s.pixelData.length}else if("PALETTE COLOR"===s.photometricInterpretation){i.height=s.rows,i.width=s.columns;const e=i.getContext("2d").createImageData(s.columns,s.rows);V(s,e.data,!0);const t=new e.data.constructor(e.data.length/4*3);s.pixelData=new Uint8Array(he(e.data,t)),s.pixelDataLength=s.pixelData.length}const e=$(s.pixelData);s.smallestPixelValue=e.min,s.largestPixelValue=e.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(me===e)return i;const t=h.columns,n=h.rows;i.height=n,i.width=t;const r=i.getContext("2d"),o=r.createImageData(t,n),a=s.pixelData;if(a.length===t*n*4)for(let e=0;e<a.length;e++)o.data[e]=a[e];else if(a.length===t*n*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,r.putImageData(s.imageData,0,0),me=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=255,h.windowCenter=127),void 0===h.windowCenter||void 0===h.windowWidth){const e=h.maxPixelValue*h.slope+h.intercept,t=h.minPixelValue*h.slope+h.intercept;h.windowWidth=e-t,h.windowCenter=(e+t)/2}t(h)}),s)}))};const xe=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=Te.cornerstone.imageRetrievalPoolManager,r=(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);n.addRequest(function(e,n,i){return Z(e,n,i).then((e=>{const i=function(e){const t="1.2.840.10008.1.2";if(!e)return t;const n=e.split(";"),r={};n.forEach((e=>{const t=e.split("=");if(2!==t.length)return;const n=t[1].trim().replace(/"/g,"");r[t[0].trim()]=n}));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 r["transfer-syntax"]?r["transfer-syntax"]:e&&!Object.keys(r).length&&o[e]?o[e]:r.type&&o[r.type]?o[r.type]:o[e]?o[e]:t}(e.contentType),s=e.imageFrame.pixelData;pe(n,s,i,t).then((e=>{const t=(new Date).getTime();e.loadTimeInMS=t-r,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 we={metaData:{getNumberString:p,getNumberValue:x,getNumberValues:w,getValue:h,metaDataProvider:M},findIndexOfString:F,getPixelData:Z,loadImage:xe,metaDataManager:I,register:function(e){e.registerImageLoader("wadors",xe),e.metaData.addProvider(M)}};const be=function(e){we.register(e),et.register(e)};let ye,ke;const ve={set cornerstone(e){ye=e,be(ye)},get cornerstone(){if(!ye){if(ye=window&&window.cornerstone,!ye)throw new Error("cornerstoneDICOMImageLoader requires a copy of Cornerstone to work properly. Please add cornerstoneDICOMImageLoader.external.cornerstone = cornerstone; to your application.");be(ye)}return ye},set dicomParser(e){ke=e},get dicomParser(){if(!ke){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.");ke=window.dicomParser}return ke}},Te=ve;const De=function(e){const t=e.indexOf(":");let n=e.substring(t+1);const r=n.indexOf("frame=");let o;if(-1!==r){const e=n.substr(r+6);o=parseInt(e,10),n=n.substr(0,r-1)}return{scheme:e.substr(0,t),url:n,frame:o}};function Se(e){const{dicomParser:t}=Te;let n,r=t.parseDicom(e,{untilTag:"x7fe00010"});r.elements.x7fe00010||console.warn("Pixel data not found!");try{n=t.parseDicom(e)}catch(e){console.error(e),console.log("pixel data dataset:",e.dataSet),n=e.dataSet}return r.elements.x7fe00010=n.elements.x7fe00010,r=function(e){const t=e.elements.x7fe00010.fragments,n=e.byteArray.length;for(const e of t){const{position:t,length:r}=e;r>n-t&&(console.log(`Truncated fragment, changing fragment length from ${e.length} to ${n-t}`),e.length=n-t)}return e}(r),r}async function Pe(e,t,n){const r=Se(e),{uri:o,imageId:a,fileTotalLength:i}=n;return r.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(r.byteArray.length+f.length);return m.set(r.byteArray),m.set(f,r.byteArray.length),Pe(m,t,n)},r}function Ie(e,t,n){const r={};(t?Object.values(t.items[0].dataSet.elements):[]).map((e=>r[e.tag]=e));const o={};return(e?Object.values(e.items[n-1].dataSet.elements):[]).map((e=>o[e.tag]=e)),{shared:r,perFrame:o}}function Ce(e){if(!e)return;const{elements:t,...n}=e,{x52009230:r,x52009229:o,...a}=t;return{NumberOfFrames:e.intString("x00280008"),PerFrameFunctionalGroupsSequence:r,SharedFunctionalGroupsSequence:o,otherElements:a,otherAttributtes:n}}function _e(e){if(Me[e])return Me[e]}function Le(e){if(!e)return!1;const t=e.intString("x00280008");return t&&t>1}const Ae={_get:_e,generateMultiframeWADOURIs:function(e){const t=[],n=_e(e);if(Le(n)){const r=n.intString("x00280008");for(let n=1;n<=r;n++)t.push(`${e}&frame=${n}`)}else t.push(e);return t},retrieveMultiframeDataset:function(e){const t=function(e){return e.indexOf("&frame=")}(e),n=-1===t?e:e.slice(0,t),r=parseInt(e.slice(t+7),10)||1;let o;return o=Me[n]?Me[n].dataSet:void 0,{dataSet:o,frame:r}},isMultiframeDataset:function(e){return Le(_e(e))}};let Ee=0,Me={},Re={};function Fe(){return{cacheSizeInBytes:Ee,numberOfDataSetsCached:Object.keys(Me).length}}const Oe={isLoaded:function(e){return void 0!==Me[e]},load:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N,n=arguments.length>2?arguments[2]:void 0;const{cornerstone:r,dicomParser:o}=Te;if(Me[e])return new Promise((t=>{Me[e].cacheCount++,t(Me[e].dataSet)}));if(Re[e])return Re[e].cacheCount++,Re[e];const a=t(e,n),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 Pe(u,t,{uri:e,imageId:n,fileTotalLength:c.fileTotalLength}):o.parseDicom(u)}catch(e){return l(e)}Me[e]={dataSet:d,cacheCount:i.cacheCount},Ee+=d.byteArray.length,s(d),r.triggerEvent(r.events,"datasetscachechanged",{uri:e,action:"loaded",cacheInfo:Fe()})}),l).then((()=>{delete Re[e]}),(()=>{delete Re[e]}))}));return i.cacheCount=1,Re[e]=i,i},unload:function(e){const{cornerstone:t}=Te;Me[e]&&(Me[e].cacheCount--,0===Me[e].cacheCount&&(Ee-=Me[e].dataSet.byteArray.length,delete Me[e],t.triggerEvent(t.events,"datasetscachechanged",{uri:e,action:"unloaded",cacheInfo:Fe()})))},getInfo:Fe,purge:function(){Me={},Re={},Ee=0},get:function(e){let t;if(e.includes("&frame=")){const{frame:n,dataSet:r}=Ae.retrieveMultiframeDataset(e);t=function(e,t){if(!t)return;const{NumberOfFrames:n,PerFrameFunctionalGroupsSequence:r,SharedFunctionalGroupsSequence:o,otherElements:a}=Ce(t);if(r||n>1){const{shared:n,perFrame:i}=Ie(r,o,e),s={elements:{...a,...n,...i}},l=Object.create(t);return Object.assign(l,s)}return t}(n,r)}else Me[e]&&(t=Me[e].dataSet);return t},update:function(e,t){const n=Me[e];n?(Ee-=n.dataSet.byteArray.length,n.dataSet=t,Ee+=t.byteArray.length,Te.cornerstone.triggerEvent(Te.cornerstone.events,"datasetscachechanged",{uri:e,action:"updated",cacheInfo:Fe()})):console.error(`No loaded dataSet for uri ${e}`)}};function Be(e,t){const n=e.string("x00080008");if(n){const e=n.split("\\");if(e.length>t)return e[t]}}function Ue(e){let t=g(e,"x00200037",6);return!t&&e.elements.x00209116&&(t=g(e.elements.x00209116.items[0].dataSet,"x00200037",6)),t||(t=function(e){let t;if(e.string("x00080060").includes("NM")){const n=Be(e,2);n&&C(n)&&e.elements.x00540022&&(t=g(e.elements.x00540022.items[0].dataSet,"x00200037",6))}return t}(e)),t}function Ne(e){let t=g(e,"x00200032",3);return!t&&e.elements.x00209113&&(t=g(e.elements.x00209113.items[0].dataSet,"x00200032",3)),t||(t=function(e){let t;if(e.string("x00080060").includes("NM")){const n=Be(e,2);n&&C(n)&&e.elements.x00540022&&(t=g(e.elements.x00540022.items[0].dataSet,"x00200032",3))}return t}(e)),t}function je(e){let t=g(e,"x00280030",2);return!t&&e.elements.x00289110&&(t=g(e.elements.x00289110.items[0].dataSet,"x00280030",2)),t}function We(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 Ze=function(e,t){const{dicomParser:n}=Te,r=De(t);if("multiframeModule"===e){const e=Ae.retrieveMultiframeDataset(r.url);if(!e.dataSet)return;const t=function(e,t){if(!e)return;const{NumberOfFrames:n,PerFrameFunctionalGroupsSequence:r,SharedFunctionalGroupsSequence:o}=Ce(e);if(r||n>1){const{shared:e,perFrame:a}=Ie(r,o,t);return{NumberOfFrames:n,PerFrameFunctionalInformation:a,SharedFunctionalInformation:e}}return{NumberOfFrames:n}}(e.dataSet,e.frame);return t}let o=r.url;r.frame&&(o=`${o}&frame=${r.frame}`);const a=Oe.get(o);if(a){if("generalSeriesModule"===e)return{modality:a.string("x00080060"),seriesInstanceUID:a.string("x0020000e"),seriesNumber:a.intString("x00200011"),studyInstanceUID:a.string("x0020000d"),seriesDate:n.parseDA(a.string("x00080021")),seriesTime:n.parseTM(a.string("x00080031")||""),acquisitionDate:n.parseDA(a.string("x00080022")||""),acquisitionTime:n.parseTM(a.string("x00080032")||"")};if("patientStudyModule"===e)return{patientAge:a.intString("x00101010"),patientSize:a.floatString("x00101020"),patientWeight:a.floatString("x00101030")};if("imagePlaneModule"===e){const e=Ue(a),t=Ne(a),n=je(a);let r;a.elements.x00200052&&(r=a.string("x00200052"));const o=We(a);let i;a.elements.x00201041&&(i=a.floatString("x00201041"));let s=null,l=null;n&&(l=n[0],s=n[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:r,rows:a.uint16("x00280010"),columns:a.uint16("x00280011"),imageOrientationPatient:e,rowCosines:c,columnCosines:u,imagePositionPatient:t,sliceThickness:o,sliceLocation:i,pixelSpacing:n,rowPixelSpacing:l,columnPixelSpacing:s}}if("nmMultiframeGeometryModule"===e){const e=a.string("x00080060"),t=Be(a,2);return{modality:e,imageType:a.string("x00080008"),imageSubType:t,imageOrientationPatient:Ue(a),imagePositionPatient:Ne(a),sliceThickness:We(a),pixelSpacing:je(a),numberOfFrames:a.uint16("x00280008"),isNMReconstructable:C(t)&&e.includes("NM")}}if("imagePixelModule"===e)return u(a);if("modalityLutModule"===e)return{rescaleIntercept:a.floatString("x00281052"),rescaleSlope:a.floatString("x00281053"),rescaleType:a.string("x00281054"),modalityLUTSequence:f(a.uint16("x00280103"),a.elements.x00283000)};if("voiLutModule"===e){const e=m(a);return{windowCenter:g(a,"x00281050",1),windowWidth:g(a,"x00281051",1),voiLUTSequence:f(e,a.elements.x00283010)}}if("sopCommonModule"===e)return{sopClassUID:a.string("x00080016"),sopInstanceUID:a.string("x00080018")};if("petIsotopeModule"===e){const e=a.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"===e?function(e){const t=[];for(let n=0;n<=30;n+=2){let r=`x60${n.toString(16)}`;4===r.length&&(r=`x600${n.toString(16)}`);const o=e.elements[`${r}3000`];if(!o)continue;const a=[];for(let t=0;t<o.length;t++)for(let n=0;n<8;n++){const r=e.byteArray[o.dataOffset+t];a[8*t+n]=r>>n&1}t.push({rows:e.uint16(`${r}0010`),columns:e.uint16(`${r}0011`),type:e.string(`${r}0040`),x:e.int16(`${r}0050`,1)-1,y:e.int16(`${r}0050`,0)-1,pixelData:a,description:e.string(`${r}0022`),label:e.string(`${r}1500`),roiArea:e.string(`${r}1301`),roiMean:e.string(`${r}1302`),roiStandardDeviation:e.string(`${r}1303`)})}return{overlays:t}}(a):"transferSyntax"===e?{transferSyntaxUID:a.string("x00020010")}:"petSeriesModule"===e?{correctedImage:a.string("x00280051"),units:a.string("x00541001"),decayCorrection:a.string("x00541102")}:"petImageModule"===e?{frameReferenceTime:n.floatString(a.string("x00541300")||""),actualFrameDuration:n.intString(a.string("x00181242"))}:void 0}};let $e=[];const Ge={add:function(e){return"dicomfile:"+($e.push(e)-1)},get:function(e){return $e[e]},remove:function(e){$e[e]=void 0},purge:function(){$e=[]}};function Ve(e,t){const{dicomParser:n}=Te;if(e.elements.x7fe00010&&e.elements.x7fe00010.basicOffsetTable.length)return n.readEncapsulatedImageFrame(e,e.elements.x7fe00010,t);if(function(e){return e.intString("x00280008")!==e.elements.x7fe00010.fragments.length}(e)){const r=n.createJPEGBasicOffsetTable(e,e.elements.x7fe00010);return n.readEncapsulatedImageFrame(e,e.elements.x7fe00010,t,r)}return n.readEncapsulatedPixelDataFromFragments(e,e.elements.x7fe00010,t)}function qe(e,t){return e&1<<t}const ze=function(e,t,n){const r=new Uint8Array(n);for(let o=0;o<n;o++){const n=e[Math.floor(o/8)+t],a=o%8;r[o]=qe(n,a)?1:0}return r};const Ye=function(e,t){const n=e.elements.x7fe00010||e.elements.x7fe00008,r=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=n.dataOffset,l=o*a*i;let c;if(8===r){if(c=s+t*l,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,c,l)}if(16===r){if(c=s+t*l*2,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,c,2*l)}if(1===r){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===r){if(c=s+t*l*4,c>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,c,4*l)}throw new Error("unsupported pixel format")};const He=function(e){const t=De(e),n=parseInt(t.url,10),r=Ge.get(n);return new Promise(((e,t)=>{const n=new FileReader;n.onload=t=>{const n=t.target.result;e(n)},n.onerror=t,n.readAsArrayBuffer(r)}))};const Ke=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=e.elements.x7fe00010||e.elements.x7fe00008;return n?n.encapsulatedPixelData?Ve(e,t):Ye(e,t):null};function Je(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=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=Ke(e,n),d=e.string("x00020010"),f=(new Date).getTime(),m=pe(t,u,d,o);!function(e,t){e.decache=function(){const e=De(t);Oe.unload(e.url)}}(s,t),m.then((t=>{t.data=e,t.sharedCacheKey=r;const n=(new Date).getTime();t.loadTimeInMS=f-i,t.totalTimeInMS=n-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 Xe(e){return"dicomweb"===e||"wadouri"===e?N:"dicomfile"===e?He:void 0}function Qe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=De(e);t=Object.assign({},t);let r=t.loader;if(void 0===r?r=Xe(n.scheme):delete t.loader,Oe.isLoaded(n.url)){return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=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 r=Ke(e,n),a=e.string("x00020010");c=pe(t,r,a,o)}catch(t){return void s({error:t,dataSet:e})}c.then((t=>{t.data=e,t.sharedCacheKey=r;const n=(new Date).getTime();t.loadTimeInMS=l-a,t.totalTimeInMS=n-a,i(t)}),s)})),cancelFn:void 0}}(Oe.get(n.url,r,e),e,n.frame,n.url,t)}return Je(Oe.load(n.url,r,e),e,n.frame,n.url,t)}const et={metaData:{getImagePixelModule:u,getLUTs:f,getModalityLUTOutputPixelRepresentation:m,getNumberValues:g,metaDataProvider:Ze},dataSetCacheManager:Oe,fileManager:Ge,getEncapsulatedImageFrame:Ve,getUncompressedImageFrame:Ye,loadFileRequest:He,loadImageFromPromise:Je,getLoaderForScheme:Xe,loadImage:Qe,parseImageId:De,unpackBinaryFrame:ze,register:function(e){e.registerImageLoader("dicomweb",Qe),e.registerImageLoader("wadouri",Qe),e.registerImageLoader("dicomfile",Qe),e.metaData.addProvider(Ze)}};const tt=function(e){B(e)},nt={convertRGBColorByPixel:e,convertRGBColorByPlane:t,convertYBRFullByPixel:o,convertYBRFullByPlane:a,convertPALETTECOLOR:s,wadouri:et,wadors:we,configure:tt,convertColorSpace:V,createImage:pe,decodeImageFrame:ce,decodeJPEGBaseline8BitColor:z,getImageFrame:ue,getPixelData:Z,getMinMax:$,isColorImage:de,isJPEGBaseline8BitColor:fe,webWorkerManager:ie,internal:j,external:ve}})(),r})()));
2
2
  //# sourceMappingURL=cornerstoneDICOMImageLoader.min.js.map