@ohif/ui-next 3.14.0-beta.52 → 3.14.0-beta.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ohif-ui-next.umd.js +1 -1
- package/package.json +1 -1
package/dist/ohif-ui-next.umd.js
CHANGED
|
@@ -1834,7 +1834,7 @@ fn main(
|
|
|
1834
1834
|
flex-direction:column;
|
|
1835
1835
|
flex:0 1 auto;
|
|
1836
1836
|
min-width:0;
|
|
1837
|
-
`,this.dom.appendChild(this.metricsColumn),this.dom.appendChild(this.bindingsColumn)}isMemoryAvailable(){return void 0!==performance.memory}addPanel(e,t){((e===eCW.RENDER_MODES?this.bindingsColumn:this.metricsColumn)??this.dom).appendChild(t.dom),this.panels.set(e,t)}startLoop(){let e=()=>{this.update(),this.animationFrameId=requestAnimationFrame(e)};this.animationFrameId=requestAnimationFrame(e)}stopLoop(){null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null)}updateStats(){this.frameCount++;let e=performance.now(),t=e-this.startTime,r=this.panels.get(eCW.MS);if(r&&r.update(t,200),e>=this.lastUpdateTime+1e3){let t=1e3*this.frameCount/(e-this.lastUpdateTime),r=this.panels.get(eCW.FPS);r&&r.update(t,300),this.lastUpdateTime=e,this.frameCount=0,this.updateMemoryPanel(),this.updateRenderModesPanel()}return e}updateRenderModesPanel(){let e=this.panels.get(eCW.RENDER_MODES);if(!(e instanceof ehJ))return;let t=[];for(let e of VB())if(e&&!e.hasBeenDestroyed)for(let r of e.getViewports()){let n=r._debug?.renderModes;t.push({renderingEngineId:e.id,viewportId:r.id,viewportType:r.type,bindings:this.getViewportBindingDebugEntries(r,n??{})})}e.setContent(t)}getViewportBindingDebugEntries(e,t){let r=e.getActors?.()??[],n=e.getSourceDataId?.(),a=Object.entries(t);return a.length?a.map(([t,a])=>{var i,o;let s=eh6(e,t,n),l="source"===s?e.getDefaultActor?.():(i=r,o=t,i.find(e=>e.uid===o||e.representationUID===o||e.referencedId===o));return{actorUID:l?.uid,dataId:t,referencedId:l?.referencedId,renderMode:a,role:s,...eh9(l)}}):r.map(t=>{let r=t.representationUID??t.uid??"";return{actorUID:t.uid,dataId:r,referencedId:t.referencedId,renderMode:"-",role:eh6(e,r,n),...eh9(t)}})}updateMemoryPanel(){let e=this.panels.get(eCW.MEMORY);if(!e)return;let t=performance;if(t.memory){let r=t.memory.usedJSHeapSize/1048576,n=t.memory.jsHeapSizeLimit/1048576;e.update(r,n)}}attachDragHandlers(){this.dom?.addEventListener("pointerdown",this.handlePointerDown)}detachDragHandlers(){this.dom?.removeEventListener("pointerdown",this.handlePointerDown),window.removeEventListener("pointermove",this.handlePointerMove),window.removeEventListener("pointerup",this.handlePointerUp),window.removeEventListener("pointercancel",this.handlePointerUp)}onPointerDown(e){if(!this.dom||0!==e.button)return;this.dragPointerId=e.pointerId;let t=this.dom.getBoundingClientRect();this.dragOffsetX=e.clientX-t.left,this.dragOffsetY=e.clientY-t.top,this.setPosition(t.left,t.top),window.addEventListener("pointermove",this.handlePointerMove),window.addEventListener("pointerup",this.handlePointerUp),window.addEventListener("pointercancel",this.handlePointerUp),e.preventDefault()}onPointerMove(e){this.dragPointerId===e.pointerId&&this.dom&&this.setPosition(e.clientX-this.dragOffsetX,e.clientY-this.dragOffsetY)}onPointerUp(e){if(this.dragPointerId!==e.pointerId||!this.dom)return;this.dragPointerId=null,window.removeEventListener("pointermove",this.handlePointerMove),window.removeEventListener("pointerup",this.handlePointerUp),window.removeEventListener("pointercancel",this.handlePointerUp);let t=this.dom.getBoundingClientRect();this.savePosition(t.left,t.top)}setPosition(e,t){if(!this.dom)return;let r=this.clampToViewport(e,t);this.dom.style.left=`${r.left}px`,this.dom.style.top=`${r.top}px`,this.dom.style.right="auto",this.dom.style.bottom="auto"}clampToViewport(e,t){if(!this.dom)return{left:e,top:t};let r=this.dom.offsetWidth,n=this.dom.offsetHeight;return{left:Math.min(Math.max(0,e),Math.max(0,window.innerWidth-r)),top:Math.min(Math.max(0,t),Math.max(0,window.innerHeight-n))}}restorePosition(){let e=this.readSavedPosition();e&&this.setPosition(e.left,e.top)}readSavedPosition(){try{let e=window.localStorage.getItem(ehX);if(!e)return null;let t=JSON.parse(e);if("number"!=typeof t?.left||"number"!=typeof t?.top||!Number.isFinite(t.left)||!Number.isFinite(t.top))return null;return{left:t.left,top:t.top}}catch{return null}}savePosition(e,t){try{window.localStorage.setItem(ehX,JSON.stringify({left:e,top:t}))}catch{}}}function eh6(e,t,r){let n=e.getDisplaySetRole?.(t);return"source"===n||"overlay"===n?n:r&&t===r?"source":"data"}function eh9(e){let t=e?.actor?.getMapper?.()?.getInputData?.();if(!t)return{};try{let e=t.getPointData?.()?.getScalars?.();if(e?.getDataType){let t=e.getNumberOfComponents?.()??1,r=t>1?e.getRange?.(0):e.getRange?.();return{scalarType:e.getDataType(),scalarRange:eh7(r),numberOfComponents:t}}let r=t.getScalarData?.();if(r?.constructor?.name){let e=Number.isFinite(t.minPixelValue)&&Number.isFinite(t.maxPixelValue)?[t.minPixelValue,t.maxPixelValue]:void 0;return{scalarType:r.constructor.name,scalarRange:eh7(e)}}}catch{}return{}}function eh7(e){if(e&&!(e.length<2)&&Number.isFinite(e[0])&&Number.isFinite(e[1]))return[e[0],e[1]]}eh8.instance=null;let epe=eh8.getInstance(),ept=Fr.getLogger("RenderingEngine","BaseRenderingEngine");class epr{constructor(e){throw this._needsRender=new Set,this._animationFrameSet=!1,this._animationFrameHandle=null,this.renderFrameOfReference=e=>{let t=this._getViewportsAsArray().map(t=>{if(t.getFrameOfReferenceUID()===e)return t.id});this.renderViewports(t)},this.id=e||V9(),this.useCPURendering=FU(),(e=>{VV[e.id]=e})(this),Error("@cornerstonejs/core is not initialized, run init() first")}enableElement(e){let t=this._normalizeViewportInputEntry(e);this._throwIfDestroyed();let{element:r,viewportId:n}=t;if(!r)throw Error("No element provided");this.getViewport(n)&&this.disableElement(n);let{type:a}=t;ehq(a)?this.addCustomViewport(t):this.enableVTKjsDrivenViewport(t);let i=G7(r),{background:o}=t.defaultOptions;this.fillCanvasWithBackgroundColor(i,o)}disableElement(e){this._throwIfDestroyed();let t=this.getViewport(e);t?(this._resetViewport(t),!ehq(t.type)&&this.offscreenMultiRenderWindow&&this.offscreenMultiRenderWindow.removeRenderer(e),this._removeViewport(e),t.isDisabled=!0,this._needsRender.delete(e),this.getViewports().length||this._clearAnimationFrame()):ept.warn(`viewport ${e} does not exist`)}disableViewport(e){this.disableElement(e)}setViewports(e){let t=this._normalizeViewportInputEntries(e);this._throwIfDestroyed(),this._reset();let r=[],n=[];t.forEach(e=>{ehq(e.type)?n.push(e):r.push(e)}),this.setVtkjsDrivenViewports(r),this.setCustomViewports(n),t.forEach(e=>{let t=G7(e.element),{background:r}=e.defaultOptions;this.fillCanvasWithBackgroundColor(t,r)})}resize(e=!0,t=!0){this._throwIfDestroyed();let r=this._getViewportsAsArray(),n=[],a=[];r.forEach(e=>{eh$(e)?a.push(e):n.push(e)}),n.length&&this._resizeVTKViewports(n,t,e),a.length&&this._resizeUsingCustomResizeHandler(a,t,e)}getViewport(e){return this._viewports?.get(e)}getViewports(){return this._throwIfDestroyed(),this._getViewportsAsArray()}render(){let e=this.getViewports().map(e=>e.id);this._setViewportsToBeRenderedNextFrame(e)}renderViewports(e){this._setViewportsToBeRenderedNextFrame(e)}renderViewport(e){this._setViewportsToBeRenderedNextFrame([e])}destroy(){let e;if(this.hasBeenDestroyed)return;epe.cleanup();let t=this._getViewportsAsArray();this._reset(),this.offscreenMultiRenderWindow&&(t.forEach(e=>{this.offscreenMultiRenderWindow&&!eh$(e)&&this.offscreenMultiRenderWindow.getRenderer(e.id)&&this.offscreenMultiRenderWindow.removeRenderer(e.id)}),this.offscreenMultiRenderWindow.delete(),delete this.offscreenMultiRenderWindow),e=this.id,delete VV[e],this.hasBeenDestroyed=!0}fillCanvasWithBackgroundColor(e,t){let r=e.getContext("2d");r.fillStyle=t?Array.isArray(t)?`rgb(${t.map(e=>Math.round(255*e)).join(",")})`:t:"black",r.fillRect(0,0,e.width,e.height)}_normalizeViewportInputEntry(e){let t=e.type,{type:r}=e,{defaultOptions:n}=e;if(Fz()){let e=epr.NEXT_TYPE_REMAP[r];e&&(r=e)}let a=n;return a&&0!==Object.keys(a).length||(a={background:[0,0,0],orientation:null,displayArea:null},t===LF.ORTHOGRAPHIC&&(a={...a,orientation:Lq.AXIAL})),{...e,requestedType:t!==r||Fz()?t:void 0,type:r,defaultOptions:a}}_normalizeViewportInputEntries(e){let t=[];return e.forEach(e=>{t.push(this._normalizeViewportInputEntry(e))}),t}_resizeUsingCustomResizeHandler(e,t=!0,r=!0){e.forEach(e=>{e.resizeForRenderingEngine({keepCamera:t})}),r&&this.render()}_removeViewport(e){this.getViewport(e)?this._viewports.delete(e):ept.warn(`viewport ${e} does not exist`)}addCustomViewport(e){let{element:t,viewportId:r,type:n,defaultOptions:a}=e;t.tabIndex=-1,ehK.forEach(({name:e,attribute:r})=>{t.hasAttribute(r)||t.setAttribute(r,t.style.getPropertyValue(e)),t.style.setProperty(e,"none")});let i=G7(t),{clientWidth:o,clientHeight:s}=i;(i.width!==o||i.height!==s)&&(i.width=o,i.height=s);let l={id:r,renderingEngineId:this.id,element:t,type:n,canvas:i,sx:0,sy:0,sWidth:o,sHeight:s,defaultOptions:a||{}},d=new(ehG(e))(l);d.requestedType=n,this._viewports.set(r,d);let u={element:t,viewportId:r,renderingEngineId:this.id};FS(FM,Lj.ELEMENT_ENABLED,u)}getRenderer(e){return this.offscreenMultiRenderWindow.getRenderer(e)}getOffscreenMultiRenderWindow(e){if(!this.offscreenMultiRenderWindow)throw Error("Offscreen multi render window is not available.");return this.offscreenMultiRenderWindow}setCustomViewports(e){e.forEach(e=>{this.addCustomViewport(e)})}_getViewportsAsArray(){return Array.from(this._viewports.values())}_setViewportsToBeRenderedNextFrame(e){e.forEach(e=>{this._needsRender.add(e);let t=this._viewports.get(e);t&&(t.viewportStatus=VS.NEEDS_RENDER)}),this._render()}_render(){this._needsRender.size>0&&!this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedViewports),this._animationFrameSet=!0)}_resetViewport(e){let t=this.id,{element:r,canvas:n,id:a}=e;e.removeWidgets(),FS(FM,Lj.ELEMENT_DISABLED,{element:r,viewportId:a,renderingEngineId:t}),e.destroy?.(),r.removeAttribute("data-viewport-uid"),r.removeAttribute("data-rendering-engine-uid"),ehK.forEach(({name:e,attribute:t})=>{if(!r.hasAttribute(t))return;let n=r.getAttribute(t);n?r.style.setProperty(e,n):r.style.removeProperty(e),r.removeAttribute(t)}),n.getContext("2d").clearRect(0,0,n.width,n.height)}_clearAnimationFrame(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null}_reset(){this._getViewportsAsArray().forEach(e=>{this._resetViewport(e)}),this._clearAnimationFrame(),this._viewports=new Map}_throwIfDestroyed(){if(this.hasBeenDestroyed)throw Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}}epr.NEXT_TYPE_REMAP={[LF.STACK]:LF.PLANAR_NEXT,[LF.ORTHOGRAPHIC]:LF.PLANAR_NEXT,[LF.VIDEO]:LF.VIDEO_NEXT,[LF.WHOLE_SLIDE]:LF.WHOLE_SLIDE_NEXT,[LF.ECG]:LF.ECG_NEXT,[LF.VOLUME_3D]:LF.VOLUME_3D_NEXT},Fr.getLogger("RenderingEngine","attachWebGLContextEvents"),Fr.getLogger("RenderingEngine","TiledRenderingEngine"),Fr.getLogger("RenderingEngine","ContextPoolRenderingEngine"),Fr.getLogger("RenderingEngine"),Fr.getLogger("utilities","TargetEventListeners"),(ew0=eCU||(eCU={}))[ew0.None=0]="None",ew0[ew0.Capture=1]="Capture",ew0[ew0.Bubble=2]="Bubble",Symbol("LastRuntimeId");let epn=jH;function epa(e){return Array.isArray(e)?e:[e]}Fr.getLogger("utilities","loadImageToCanvas");new class{constructor(e="Tools",t=50){this.position=-1,this.redoAvailable=0,this.undoAvailable=0,this.ring=[],this.isRecordingGrouped=!1,this.label=e,this._size=t}get size(){return this._size}set size(e){this.ring=Array(e),this._size=e,this.position=-1,this.redoAvailable=0,this.undoAvailable=0}get canUndo(){return this.undoAvailable>0}get canRedo(){return this.redoAvailable>0}undo(e=1){for(;e>0&&this.undoAvailable>0;){for(let e of epa(this.ring[this.position]).reverse())e.restoreMemo(!0),this.dispatchHistoryEvent({item:e,isUndo:!0});e--,this.redoAvailable++,this.undoAvailable--,this.position=(this.position-1+this.size)%this.size}}undoIf(e){return!!(this.undoAvailable>0&&e(this.ring[this.position]))&&(this.undo(),!0)}dispatchHistoryEvent({item:e,isUndo:t}){e.id&&FM.dispatchEvent(new CustomEvent(t?"CORNERSTONE_TOOLS_HISTORY_UNDO":"CORNERSTONE_TOOLS_HISTORY_REDO",{detail:{isUndo:t,id:e.id,operationType:e.operationType||"annotation",memo:e}}))}redo(e=1){for(;e>0&&this.redoAvailable>0;){let t=(this.position+1)%this.size;for(let e of epa(this.ring[t]).reverse())e.restoreMemo(!1),this.dispatchHistoryEvent({item:e,isUndo:!1});e--,this.position=t,this.undoAvailable++,this.redoAvailable--}}initializeGroupItem(){this.redoAvailable=0,this.undoAvailable<this._size&&this.undoAvailable++,this.position=(this.position+1)%this._size,this.ring[this.position]=[]}startGroupRecording(){this.isRecordingGrouped=!0,this.initializeGroupItem()}rollbackUnusedGroupItem(){this.ring[this.position]=void 0,this.position=(this.position-1)%this._size,this.undoAvailable--}endGroupRecording(){this.isRecordingGrouped=!1;let e=this.ring[this.position];Array.isArray(e)&&0===e.length&&this.rollbackUnusedGroupItem()}pushGrouped(e){let t=this.ring[this.position];if(Array.isArray(t))return t.push(e),e;throw Error("Last item should be an array for grouped memos.")}push(e){if(!e)return;let t=e.restoreMemo?e:e.createMemo?.();if(t)return this.isRecordingGrouped?this.pushGrouped(t):(this.redoAvailable=0,this.undoAvailable<this._size&&this.undoAvailable++,this.position=(this.position+1)%this._size,this.ring[this.position]=t,t)}replaceCurrentMemo(e,t){if(!e||0===this.undoAvailable)return!1;let r=this.ring[this.position],n=epa(r).findIndex(t);if(-1===n)return!1;let a=e.restoreMemo?e:e.createMemo?.();return!!a&&(Array.isArray(r)?r[n]=a:this.ring[this.position]=a,!0)}};let epi={},epo={add:(e,t)=>{let[r,n]=e,a=`${r}_${n}`;epi[a]||(epi[a]={}),epi[a]=t},get:(e,t,r)=>{if("spatialRegistrationModule"!==e)return;let n=`${t}_${r}`;if(epi[n])return epi[n];let a=`${r}_${t}`;if(epi[a])return N7.mat4.invert(N7.mat4.create(),epi[a])}};HK(epo.get.bind(epo)),Fr.getLogger("utilities","calculateViewportsSpatialRegistration"),Fr.getLogger("utilities","deepEqual");let{Cc:eps,VD:epl,lJ:epd}=W,epu=new Fg("imageRetrievalPool");epu.setMaxSimultaneousRequests(LV.Interaction,200),epu.setMaxSimultaneousRequests(LV.Thumbnail,200),epu.setMaxSimultaneousRequests(LV.Prefetch,200),epu.grabDelay=0;let epc=Symbol("DefaultSettings"),eph=Symbol("RuntimeSettings"),epp=Symbol("ObjectSettingsMap"),epm=Symbol("Dictionary");class epf{constructor(e){const t=Object.create(e instanceof epf&&epm in e?e[epm]:null);Object.seal(Object.defineProperty(this,epm,{value:t}))}set(e,t){return epy(this[epm],e,t,null)}get(e){var t;return t=this[epm],t[e]}unset(e){return function(e,t){if(t.endsWith(".")){let r=0,n=t.slice(0,-1),a=0===n.length;for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&(a||i.startsWith(t)||i===n)&&(delete e[i],++r);return r>0}return delete e[t]}(this[epm],e+"")}forEach(e){epg(this[epm],e)}extend(){return new epf(this)}import(e){epv(e)&&Object.keys(e).forEach(t=>{epy(this[epm],t,e[t],null)})}dump(){let e={};return epg(this[epm],(t,r)=>{void 0!==r&&function e(t,r,n){let a=r.indexOf(".");if(a>=0){let i=r.slice(0,a),o=t[i];if("object"!=typeof o||null===o){let e=o;o={},void 0!==e&&(o[""]=e),t[i]=o}e(o,r.slice(a+1,r.length),n)}else t[r]=n}(e,t,r)}),e}static assert(e){return e instanceof epf?e:epf.getRuntimeSettings()}static getDefaultSettings(e=null){let t=epf[epc];if(t instanceof epf||(t=new epf,epf[epc]=t),e){let r={};return t.forEach(n=>{n.startsWith(e)&&(r[n.split(`${e}.`)[1]]=t.get(n))}),r}return t}static getRuntimeSettings(){let e=epf[eph];return e instanceof epf||(e=new epf(epf.getDefaultSettings()),epf[eph]=e),e}static getObjectSettings(e,t){let r=null;if(e instanceof epf)r=e;else if("object"==typeof e&&null!==e){let n=epf[epp];n instanceof WeakMap||(n=new WeakMap,epf[epp]=n),(r=n.get(e))instanceof epf||(r=new epf(epf.assert(epf.getObjectSettings(t))),n.set(e,r))}return r}static extendRuntimeSettings(){return epf.getRuntimeSettings().extend()}}function epg(e,t){for(let r in e)t(r,e[r])}function epy(e,t,r,n){if(function(e){let t,r,n;if("string"!=typeof e||(t=e.length-1)<0)return!1;for(n=-1;(r=e.indexOf(".",n+1))>=0;){if(r-n<2||r===t)return!1;n=r}return!0}(t)){if(epv(r)){let i;var a=n instanceof WeakSet?n:new WeakSet;if(a.has(r))return epy(e,t,null,a);for(let n in a.add(r),i=0,r)Object.prototype.hasOwnProperty.call(r,n)&&!epy(e,0===n.length?t:`${t}.${n}`,r[n],a)&&++i;return a.delete(r),0===i}return e[t]=r,!0}return!1}function epv(e){if("object"==typeof e&&null!==e){let t=Object.getPrototypeOf(e);if(t===Object.prototype||null===t)return!0}return!1}function epb(e,t,r){let{PaletteColorLookupTableUID:n}=e;if(void 0!==e[t]||void 0!==n)return function(e,t){let r=t[0]||65536,n=t[2];if(!e)return;let a=e=>{let t=e.buffer||e,a=t.byteLength===2*r||n>8?new Uint16Array(t):new Uint8Array(t),i=[];for(let e=0;e<r;e++)i[e]=a[e];return i};if(e.palette)return e.palette;if(e.InlineBinary)try{let t=Uint8Array.from(atob(e.InlineBinary),e=>e.charCodeAt(0));return e.palette=a(t)}catch(t){console.log("Couldn't decode",e.InlineBinary,t);return}let i=Array.isArray(e)?e[0]:e;return i instanceof ArrayBuffer?e.palette=a(i):e.retrieveBulkData?e.retrieveBulkData().then(t=>e.palette=a(t)):void console.error(`No data found for ${e} palette`)}(e[t],e[r])}function epx(e,t,r){if(e[r])return e[r];let n=Object.create(e);return Object.defineProperty(e,r,{value:n,writable:!1,enumerable:!1}),t&&[...t?Object.values(t).filter(Boolean).map(e=>e[0]).filter(e=>"object"==typeof e):[]].forEach(e=>{e.SOPInstanceUID||Object.entries(e).forEach(([e,t])=>{n[e]=t})}),n}epf.getDefaultSettings().set("useCursors",!0);let{ZX:epw,Cc:epC}=q,{nw:epk}=W,epM=new class{constructor(){this.imageURIToUIDs=new Map,this.customMetadata=new Map}addImageIdToUIDs(e,t){if(!e)throw Error("MetadataProvider::Empty imageId");let r=Rt(e);this.imageURIToUIDs.set(r,t)}addCustomMetadata(e,t,r){let n=Rt(e);this.customMetadata.has(t)||this.customMetadata.set(t,{}),this.customMetadata.get(t)[n]=r}_getInstance(e){if(!e)throw Error("MetadataProvider::Empty imageId");let t=this.getUIDsFromImageID(e);if(!t)return;let{StudyInstanceUID:r,SeriesInstanceUID:n,SOPInstanceUID:a,frameNumber:i}=t,o=Nv.getInstance(r,n,a);if(!o)return;let s=i&&((e,t)=>{let{PerFrameFunctionalGroupsSequence:r,SharedFunctionalGroupsSequence:n,NumberOfFrames:a,ImageType:i}=t;if(a<2)return t;t.ImageType=Array.isArray(i)&&i||"string"==typeof i&&i.split("\\")||i;let o=Number.parseInt(e||1),s=t.DetectorInformationSequence&&(!t.ImagePositionPatient||!t.ImageOrientationPatient);if(r&&n||s||a>1){!t.ImageOrientationPatient&&t.DetectorInformationSequence&&(t.ImageOrientationPatient=t.DetectorInformationSequence[0].ImageOrientationPatient);let e=t.ImagePositionPatient;if(!t.ImagePositionPatient&&t.DetectorInformationSequence){let r=t.DetectorInformationSequence[0].ImagePositionPatient,n=t.ImageOrientationPatient;r=r?.map(e=>Number(e)),n=n?.map(e=>Number(e));let a=Number(t.SpacingBetweenSlices);if(n&&a){let t=N7.vec3.fromValues(n[0],n[1],n[2]),i=N7.vec3.fromValues(n[3],n[4],n[5]),s=N7.vec3.cross(N7.vec3.create(),t,i),l=N7.vec3.scaleAndAdd(N7.vec3.create(),r,s,a*(o-1));e=[l[0],l[1],l[2]]}}t._parentInstance||Object.defineProperty(t,"_parentInstance",{value:{...t},enumerable:!1,writable:!1,configurable:!1});let a=epx(t._parentInstance,n?.[0],"_shared"),i=epx(a,r?.[o-1],o);return i.ImagePositionPatient=e??i.ImagePositionPatient??[0,0,o],Object.defineProperty(i,"frameNumber",{value:o,writable:!0,enumerable:!1,configurable:!0}),i}if(t.GridFrameOffsetVector){t._parentInstance||Object.defineProperty(t,"_parentInstance",{value:{...t},enumerable:!1,writable:!1,configurable:!1});let e=epx(t._parentInstance,n?.[0],"_shared"),a=epx(e,r?.[o-1],o),i=a.ImagePositionPatient?.map(Number),s=a.ImageOrientationPatient?.map(Number),l=Number(t.GridFrameOffsetVector[o-1]);if(i&&s&&!Number.isNaN(l)){let e=N7.vec3.fromValues(s[0],s[1],s[2]),t=N7.vec3.fromValues(s[3],s[4],s[5]),r=N7.vec3.cross(N7.vec3.create(),e,t),n=N7.vec3.scaleAndAdd(N7.vec3.create(),N7.vec3.fromValues(...i),r,l);a.ImagePositionPatient=[n[0],n[1],n[2]]}return Object.defineProperty(a,"frameNumber",{value:o,writable:!0,enumerable:!1,configurable:!0}),a}return t})(i,o)||o;return s&&Object.defineProperty(s,"imageId",{value:e,writable:!0,enumerable:!1,configurable:!0}),s}get(e,t,r={fallback:!1}){if(Array.isArray(t))return;let n=this._getInstance(t);if(e===epI)return n;if(this.customMetadata.has(e)){let r=this.customMetadata.get(e),n=Rt(t);if(r[n])return r[n]}return this.getTagFromInstance(e,n,r)}getTag(e,t,r){return this.get(e,t,r)}getInstance(e){return this.get(epI,e)}getTagFromInstance(e,t,r={fallback:!1}){if(t)return t[e]?t[e]:this._getCornerstoneDICOMImageLoaderTag(e,t)}addHandler(e,t){epT[e]=t}_getCornerstoneDICOMImageLoaderTag(e,t){let r=epT[e]?.(t);if(r)return r;switch(e){case epS.GENERAL_SERIES_MODULE:r={modality:t.Modality,seriesInstanceUID:t.SeriesInstanceUID,seriesNumber:N9(t.SeriesNumber),studyInstanceUID:t.StudyInstanceUID,seriesDescription:t.SeriesDescription,seriesDate:t.SeriesDate,seriesTime:t.SeriesTime};break;case epS.PATIENT_STUDY_MODULE:r={patientAge:t.PatientAge,patientSize:t.PatientSize,patientWeight:t.PatientWeight};break;case epS.PATIENT_DEMOGRAPHIC_MODULE:r={patientSex:t.PatientSex};break;case epS.IMAGE_PIXEL_MODULE:r={samplesPerPixel:N9(t.SamplesPerPixel),photometricInterpretation:t.PhotometricInterpretation,rows:N9(t.Rows),columns:N9(t.Columns),bitsAllocated:N9(t.BitsAllocated),bitsStored:N9(t.BitsStored),highBit:N9(t.HighBit),pixelRepresentation:N9(t.PixelRepresentation),planarConfiguration:N9(t.PlanarConfiguration),pixelAspectRatio:N9(t.PixelAspectRatio),smallestPixelValue:N9(t.SmallestPixelValue),largestPixelValue:N9(t.LargestPixelValue),redPaletteColorLookupTableDescriptor:N9(t.RedPaletteColorLookupTableDescriptor),greenPaletteColorLookupTableDescriptor:N9(t.GreenPaletteColorLookupTableDescriptor),bluePaletteColorLookupTableDescriptor:N9(t.BluePaletteColorLookupTableDescriptor),redPaletteColorLookupTableData:epb(t,"RedPaletteColorLookupTableData","RedPaletteColorLookupTableDescriptor"),greenPaletteColorLookupTableData:epb(t,"GreenPaletteColorLookupTableData","GreenPaletteColorLookupTableDescriptor"),bluePaletteColorLookupTableData:epb(t,"BluePaletteColorLookupTableData","BluePaletteColorLookupTableDescriptor")};break;case epS.VOI_LUT_MODULE:let{WindowCenter:n,WindowWidth:a,VOILUTFunction:i}=t;if(null==n||null==a)return;let o=Array.isArray(n)?n:[n],s=Array.isArray(a)?a:[a];r={windowCenter:N9(o),windowWidth:N9(s),voiLUTFunction:i};break;case epS.MODALITY_LUT_MODULE:let{RescaleIntercept:l,RescaleSlope:d}=t;if(null==l||null==d)return;r={rescaleIntercept:N9(t.RescaleIntercept),rescaleSlope:N9(t.RescaleSlope),rescaleType:t.RescaleType};break;case epS.SOP_COMMON_MODULE:r={sopClassUID:t.SOPClassUID,sopInstanceUID:t.SOPInstanceUID};break;case epS.PET_IMAGE_MODULE:r={frameReferenceTime:t.FrameReferenceTime,actualFrameDuration:t.ActualFrameDuration};break;case epS.PET_ISOTOPE_MODULE:let{RadiopharmaceuticalInformationSequence:u}=t;if(u){let{RadiopharmaceuticalStartTime:e,RadionuclideTotalDose:t,RadionuclideHalfLife:n}=Array.isArray(u)?u[0]:u;r={radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:LL().parseTM(e),radionuclideTotalDose:t,radionuclideHalfLife:n}}}break;case epS.OVERLAY_PLANE_MODULE:let c=[];for(let e=0;e<=30;e+=2){let r=`60${e.toString(16)}`;3===r.length&&(r=`600${e.toString(16)}`);let n=t[`${r}3000`];if(!n)continue;let a=`${r}0010`,i=`${r}0011`,o=`${r}0040`,s=`${r}0050`,l=`${r}0022`,d=`${r}1500`,u=`${r}1301`,h=`${r}1302`,p=`${r}1303`,m=t[s],f=0;f=t[a]instanceof Array?new Uint16Array(t[a][0])[0]:t[a];let g=0;g=t[i]instanceof Array?new Uint16Array(t[i][0])[0]:t[i];let y=0,v=0;if(1===m.length){let e=new Int16Array(m[0]);y=e[0],v=e[1]}else y=m[0],v=m[1];let b={rows:f,columns:g,type:t[o],x:y,y:v,pixelData:n,description:t[l],label:t[d],roiArea:t[u],roiMean:t[h],roiStandardDeviation:t[p]};c.push(b)}r={overlays:c};break;case epS.PATIENT_MODULE:r={patientName:t.PatientName,patientId:t.PatientID,patientSex:t.PatientSex,patientBirthDate:t.PatientBirthDate,issuerOfPatientId:t.IssuerOfPatientID,otherPatientIDsSequence:t.OtherPatientIDsSequence};break;case epS.GENERAL_IMAGE_MODULE:r={sopInstanceUID:t.SOPInstanceUID,instanceNumber:N9(t.InstanceNumber),instanceCreationDate:t.InstanceCreationDate,instanceCreationTime:t.InstanceCreationTime,contentDate:t.ContentDate,contentTime:t.ContentTime,lossyImageCompression:t.LossyImageCompression,lossyImageCompressionRatio:t.LossyImageCompressionRatio,lossyImageCompressionMethod:t.LossyImageCompressionMethod};break;case epS.GENERAL_STUDY_MODULE:r={studyDescription:t.StudyDescription,studyInstanceUID:t.StudyInstanceUID,studyDate:t.StudyDate,studyTime:t.StudyTime,accessionNumber:t.AccessionNumber,studyId:t.StudyID};break;case epS.CINE_MODULE:r={frameTime:t.FrameTime,numberOfFrames:t.NumberOfFrames?Number(t.NumberOfFrames):1};break;case epS.PET_SERIES_MODULE:r={correctedImage:t.CorrectedImage,units:t.Units,decayCorrection:t.DecayCorrection};break;case epS.CALIBRATION_MODULE:r={sequenceOfUltrasoundRegions:t.SequenceOfUltrasoundRegions?.map(e=>({regionSpatialFormat:e.RegionSpatialFormat,regionDataType:e.RegionDataType,regionFlags:e.RegionFlags,regionLocationMinX0:e.RegionLocationMinX0,regionLocationMinY0:e.RegionLocationMinY0,regionLocationMaxX1:e.RegionLocationMaxX1,regionLocationMaxY1:e.RegionLocationMaxY1,referencePixelX0:e.ReferencePixelX0,referencePixelY0:e.ReferencePixelY0,referencePixelPhysicalValueX:e.ReferencePixelPhysicalValueX,referencePixelPhysicalValueY:e.ReferencePixelPhysicalValueY,physicalUnitsXDirection:e.PhysicalUnitsXDirection,physicalUnitsYDirection:e.PhysicalUnitsYDirection,physicalDeltaX:e.PhysicalDeltaX,physicalDeltaY:e.PhysicalDeltaY}))};break;case"temporalPositionIdentifier":r={temporalPositionIdentifier:t.TemporalPositionIdentifier};break;default:return}return r}getUIDsFromImageID(e){if(e.startsWith("wadors:")){let t=e.split("/studies/")[1].split("/");return{StudyInstanceUID:t[0],SeriesInstanceUID:t[2],SOPInstanceUID:t[4],frameNumber:t[6]}}if(e.includes("?requestType=WADO")){let t=N0.parse(e),r=t.frameNumber||t.frame;return{StudyInstanceUID:t.studyUID,SeriesInstanceUID:t.seriesUID,SOPInstanceUID:t.objectUID,frameNumber:r}}let t=Rt(e),r=this.imageURIToUIDs.get(t);if(!r)return;let n=epk(e)?.framesString||r.frameNumber||"1";return{...r,frameNumber:n}}};Nv.setMetaDataProvider(epM);let epS={GENERAL_SERIES_MODULE:"generalSeriesModule",PATIENT_STUDY_MODULE:"patientStudyModule",IMAGE_PIXEL_MODULE:"imagePixelModule",VOI_LUT_MODULE:"voiLutModule",MODALITY_LUT_MODULE:"modalityLutModule",SOP_COMMON_MODULE:"sopCommonModule",PET_IMAGE_MODULE:"petImageModule",PET_ISOTOPE_MODULE:"petIsotopeModule",PET_SERIES_MODULE:"petSeriesModule",OVERLAY_PLANE_MODULE:"overlayPlaneModule",PATIENT_DEMOGRAPHIC_MODULE:"patientDemographicModule",PATIENT_MODULE:"patientModule",GENERAL_IMAGE_MODULE:"generalImageModule",GENERAL_STUDY_MODULE:"generalStudyModule",CINE_MODULE:"cineModule",CALIBRATION_MODULE:"calibrationModule"},epT={frameModule:e=>{let{frameNumber:t=1,numberOfFrames:r=1,SOPClassUID:n,SOPInstanceUID:a,SeriesInstanceUID:i,StudyInstanceUID:o}=e;return{frameNumber:t,numberOfFrames:r,sopClassUID:n,sopInstanceUID:a,seriesInstanceUID:i,studyInstanceUID:o}},imagePlaneModule:e=>{let t,r,n,a,i,{ImageOrientationPatient:o,ImagePositionPatient:s}=e,{PixelSpacing:l,type:d}=epC(e)||{},u=!1,c=!1,h=!1;l?([t,r]=l,epn.get("calibratedPixelSpacing",e.imageId)||epw.add(e.imageId,{rowPixelSpacing:parseFloat(l[0]),columnPixelSpacing:parseFloat(l[1]),type:d})):(t=r=1,u=!0),o?(n=N9(o.slice(0,3)),a=N9(o.slice(3,6)),i=N9(o)):(n=[1,0,0],a=[0,1,0],i=[1,0,0,0,1,0],u=!0,c=!0,h=!0);let p=N9(s)||[0,0,0];return s||(u=!0),{frameOfReferenceUID:e.FrameOfReferenceUID,rows:N9(e.Rows),columns:N9(e.Columns),spacingBetweenSlices:N9(e.SpacingBetweenSlices),imageOrientationPatient:i,rowCosines:n,isDefaultValueSetForRowCosine:c,columnCosines:a,isDefaultValueSetForColumnCosine:h,imagePositionPatient:p,sliceThickness:N9(e.SliceThickness),sliceLocation:N9(e.SliceLocation),pixelSpacing:N9(l||1),rowPixelSpacing:t?N9(t):null,columnPixelSpacing:r?N9(r):null,usingDefaultValues:u}}},epI="instance";d(6642),{...N5,defaults:{hotkeyBindings:LA}};let ep_={activeViewportId:null,layout:{numRows:0,numCols:0,layoutType:"grid"},isHangingProtocolLayout:!1,viewports:new Map(Object.entries({default:{viewportId:"default",displaySetInstanceUIDs:[],isReady:!1,viewportOptions:{viewportId:"default"},displaySetSelectors:[],displaySetOptions:[{}],x:0,y:0,width:100,height:100,viewportLabel:null}}))},epP=(0,tx.createContext)([ep_,{}]);function epE(e){let t,r,n,a,i,o,s,l,d,u,c,h,p,m,f,g,y,v,b,x,w,C,k,M,S,T,I,_,P,E=(0,tb.c)(62),{children:D,service:A}=e;E[0]!==A?(t=(e,t)=>{switch(t.type){case"SET_ACTIVE_VIEWPORT_ID":return{...e,...{activeViewportId:t.payload}};case"SET_DISPLAYSETS_FOR_VIEWPORTS":{let{payload:r}=t,n=new Map(e.viewports);return r.forEach(t=>{let{viewportId:r,displaySetInstanceUIDs:a}=t;if(!r)throw Error("ViewportId is required to set display sets for viewport");let i=n.get(r);if(i?.viewportOptions?.initialImageOptions){let{useOnce:e}=i.viewportOptions.initialImageOptions;e&&(i.viewportOptions.initialImageOptions=null)}let o=O4()({},i?.viewportOptions,t?.viewportOptions),s=t?.displaySetOptions||[];!s.length&&(e.isHangingProtocolLayout&&s.push(...i.displaySetOptions||[]),s.length||s.push({})),t.viewportOptions||e.isHangingProtocolLayout||(o={viewportId:o.viewportId});let l={...i,displaySetInstanceUIDs:a,viewportOptions:o,displaySetOptions:s};o.presentationIds=A.getPresentationIds({viewport:l,viewports:n}),n.set(r,{...n.get(r),...l})}),{...e,viewports:n}}case"SET_LAYOUT":{let{numCols:r,numRows:n,layoutOptions:a,layoutType:i,activeViewportId:o,findOrCreateViewport:s,isHangingProtocolLayout:l}=t.payload,d=a?.length,u=new Map,c={},h=o;for(let e=0;e<n;e++)for(let t=0;t<r;t++){let i,o,l,h,p=t+e*r,m=a[p];a&&a[p]?{x:i,y:o,width:l,height:h}=a[p]:(l=1/r,h=1/n,i=t*l,o=e*h);let f=Math.round(i*r),g=Math.round(o*n),y=m?.positionId||`${f}-${g}`;if(d&&p>=a.length)continue;let v=s(p,y,c);if(v){if(v.positionId=y,!v.viewportOptions?.viewportId){let e=NQ().substring(0,8);v.viewportOptions=v.viewportOptions||{},v.viewportOptions.viewportId=`viewport-${e}`}if(v.viewportId=v.viewportOptions.viewportId,u.set(v.viewportId,v),Object.assign(v,{width:l,height:h,x:i,y:o}),v.isReady=!1,!v.viewportOptions.presentationIds){let e=A.getPresentationIds({viewport:v,viewports:u});v.viewportOptions.presentationIds=e}}}return h=h??((e,t)=>{let{activeViewportId:r}=e,n=e.viewports.get(r);if(!n)return t.values().next().value.viewportOptions.viewportId;let a=n.displaySetInstanceUIDs,i=n.viewportOptions.orientation,o=Array.from(Array.from(t.values()).filter(e=>e.displaySetInstanceUIDs?.length>0).values()).sort((e,t)=>{let r=e.viewportOptions.orientation===i,n=t.viewportOptions.orientation===i;if(r!==n)return n-r;let o=e.displaySetInstanceUIDs.some(e=>a.includes(e)),s=t.displaySetInstanceUIDs.some(e=>a.includes(e));return o!==s?s-o:0});return o?.length?o[0].viewportId:null})(e,u),{...e,activeViewportId:h,layout:{...e.layout,numCols:r,numRows:n,layoutType:void 0===i?"grid":i},viewports:u,isHangingProtocolLayout:l}}case"RESET":return ep_;case"SET":return{...e,...t.payload};case"VIEWPORT_IS_READY":{let{viewportId:r,isReady:n}=t.payload,a=new Map(e.viewports),i=a.get(r);if(!i)return;return a.set(r,{...i,isReady:n}),{...e,viewports:a}}default:return t.payload}},E[0]=A,E[1]=t):t=E[1];let O=t,[N,R]=(0,tx.useReducer)(O,ep_);E[2]!==N?(r=()=>N,E[2]=N,E[3]=r):r=E[3];let L=r;E[4]!==N?(n=e=>{let{viewports:t,activeViewportId:r}=N;return t.get(r)?.viewportOptions?.[e]},E[4]=N,E[5]=n):n=E[5];let j=n;E[6]===Symbol.for("react.memo_cache_sentinel")?(a=e=>R({type:"SET_ACTIVE_VIEWPORT_ID",payload:e}),E[6]=a):a=E[6];let V=a;E[7]===Symbol.for("react.memo_cache_sentinel")?(i=e=>R({type:"SET_DISPLAYSETS_FOR_VIEWPORTS",payload:e}),E[7]=i):i=E[7];let F=i;E[8]===Symbol.for("react.memo_cache_sentinel")?(o=(e,t)=>{R({type:"VIEWPORT_IS_READY",payload:{viewportId:e,isReady:t}})},E[8]=o):o=E[8];let B=o;E[9]!==N?(s=()=>{let{viewports:e}=N,t=Array.from(e.values()).filter(epO);return 0!==t.length&&t.filter(epA).length===t.length},E[9]=N,E[10]=s):s=E[10];let W=s;E[11]===Symbol.for("react.memo_cache_sentinel")?(l=e=>{let{layoutType:t,numRows:r,numCols:n,layoutOptions:a,activeViewportId:i,findOrCreateViewport:o,isHangingProtocolLayout:s}=e;return R({type:"SET_LAYOUT",payload:{layoutType:t,numRows:r,numCols:n,layoutOptions:void 0===a?[]:a,activeViewportId:i,findOrCreateViewport:o,isHangingProtocolLayout:s}})},E[11]=l):l=E[11];let U=l;E[12]===Symbol.for("react.memo_cache_sentinel")?(d=()=>R({type:"RESET",payload:{}}),E[12]=d):d=E[12];let z=d;E[13]===Symbol.for("react.memo_cache_sentinel")?(u=e=>R({type:"SET",payload:e}),E[13]=u):u=E[13];let H=u;E[14]!==N?(c=e=>{let{viewports:t}=N;return t.get(e)},E[14]=N,E[15]=c):c=E[15];let G=c;E[16]!==N?(h=()=>{let{layout:e,viewports:t}=N,{numRows:r,numCols:n}=e;return Math.min(t.size,n*r)},E[16]=N,E[17]=h):h=E[17];let q=h;E[18]!==W||E[19]!==q||E[20]!==L||E[21]!==G||E[22]!==A?(p=()=>{A&&A.setServiceImplementation({getState:L,setActiveViewportId:V,setDisplaySetsForViewports:F,isReferenceViewable:epD,setLayout:U,reset:z,onModeExit:z,set:H,getNumViewportPanes:q,setViewportIsReady:B,getViewportState:G,getGridViewportsReady:W})},m=[L,A,V,F,U,z,H,q,B,W,G],E[18]=W,E[19]=q,E[20]=L,E[21]=G,E[22]=A,E[23]=p,E[24]=m):(p=E[23],m=E[24]),(0,tx.useEffect)(p,m),E[25]!==A?(f=e=>A.setActiveViewportId(e),g=e=>A.setDisplaySetsForViewports([e]),y=e=>A.setDisplaySetsForViewports(e),v=(e,t,r)=>A.isReferenceViewable(e,t,r),b=e=>A.setLayout(e),x=e=>A.getViewportState(e),w=()=>A.reset(),C=e=>A.setState(e),E[25]=A,E[26]=f,E[27]=g,E[28]=y,E[29]=v,E[30]=b,E[31]=x,E[32]=w,E[33]=C):(f=E[26],g=E[27],y=E[28],v=E[29],b=E[30],x=E[31],w=E[32],C=E[33]),E[34]!==A?(k=e=>A.setViewportGridSizeChanged(e),M=()=>A.publishViewportsReady(),S=e=>A.getLayoutOptionsFromState(e),T=e=>A.getDisplaySetsUIDsForViewport(e),E[34]=A,E[35]=k,E[36]=M,E[37]=S,E[38]=T):(k=E[35],M=E[36],S=E[37],T=E[38]),E[39]!==j||E[40]!==W||E[41]!==q||E[42]!==L||E[43]!==f||E[44]!==g||E[45]!==y||E[46]!==v||E[47]!==b||E[48]!==x||E[49]!==w||E[50]!==C||E[51]!==k||E[52]!==M||E[53]!==S||E[54]!==T?(I={getState:L,setActiveViewportId:f,setDisplaySetsForViewport:g,setDisplaySetsForViewports:y,isReferenceViewable:v,setLayout:b,getViewportState:x,reset:w,set:C,getNumViewportPanes:q,setViewportIsReady:B,getGridViewportsReady:W,getActiveViewportOptionByKey:j,setViewportGridSizeChanged:k,publishViewportsReady:M,getLayoutOptionsFromState:S,getDisplaySetsUIDsForViewport:T},E[39]=j,E[40]=W,E[41]=q,E[42]=L,E[43]=f,E[44]=g,E[45]=y,E[46]=v,E[47]=b,E[48]=x,E[49]=w,E[50]=C,E[51]=k,E[52]=M,E[53]=S,E[54]=T,E[55]=I):I=E[55];let $=I;return E[56]!==$||E[57]!==N?(_=[N,$],E[56]=$,E[57]=N,E[58]=_):_=E[58],E[59]!==D||E[60]!==_?(P=(0,tS.jsx)(epP.Provider,{value:_,children:D}),E[59]=D,E[60]=_,E[61]=P):P=E[61],P}function epD(){return!1}function epA(e){return e.isReady}function epO(e){return e.displaySetInstanceUIDs?.length>0}let epN=()=>(0,tx.useContext)(epP),epR=(0,tx.createContext)(null),epL=()=>{let e=(0,tx.useContext)(epR);if(!e)throw Error("useModal must be used within a ModalProvider");return e},epj={title:"",shouldCloseOnEsc:!0},epV=e=>{let t,r,n,a,i,o,s,l,d=(0,tb.c)(17),{children:u,modal:c,service:h}=e,p=void 0===h?null:h,{t:m}=g0("Modals"),[f,g]=(0,tx.useState)(epj),y=f.content;d[0]===Symbol.for("react.memo_cache_sentinel")?(t=e=>{g(t=>({...t,...e}))},d[0]=t):t=d[0];let v=t;d[1]===Symbol.for("react.memo_cache_sentinel")?(r=()=>{g(epj)},d[1]=r):r=d[1];let b=r;d[2]!==p?(n=()=>{p&&p.setServiceImplementation({show:v,hide:b})},a=[b,p,v],d[2]=p,d[3]=n,d[4]=a):(n=d[3],a=d[4]),(0,tx.useEffect)(n,a);let{title:x}=f;d[5]!==p?(i=p?.getCustomComponent(),d[5]=p,d[6]=i):i=d[6];let w=i||c;return d[7]===Symbol.for("react.memo_cache_sentinel")?(o={show:v,hide:b},d[7]=o):o=d[7],d[8]!==y||d[9]!==w||d[10]!==f||d[11]!==m||d[12]!==x?(s=y&&(0,tS.jsx)(w,{isOpen:!0,onClose:b,title:m(x),...f,children:(0,tS.jsx)(y,{...f.contentProps,show:v,hide:b})}),d[8]=y,d[9]=w,d[10]=f,d[11]=m,d[12]=x,d[13]=s):s=d[13],d[14]!==u||d[15]!==s?(l=(0,tS.jsxs)(epR.Provider,{value:o,children:[s,u]}),d[14]=u,d[15]=s,d[16]=l):l=d[16],l};epR.Consumer;let epF=(e,t,r)=>{if(!e||!t)return;let n=e.getBoundingClientRect(),{x:a,y:i}=t;n.bottom>window.innerHeight&&(i-=n.height),n.right>window.innerWidth&&(a-=n.width),r(e=>e&&e.x===a&&e.y===i?e:{x:a,y:i})},epB=e=>{let t,r,n,a,i,o,s,l,d,u,c,h,p,m=(0,tb.c)(40),{id:f,isOpen:g,title:y,content:v,contentProps:b,isDraggable:x,shouldCloseOnEsc:w,shouldCloseOnOverlayClick:C,showOverlay:k,defaultPosition:M,onClose:S,unstyled:T,containerClassName:I,ref:_}=e,P=void 0!==w&&w,E=void 0!==C&&C,D=void 0===k||k,[A,O]=(0,tx.useState)(M),[N,R]=(0,tx.useState)(null),L=(0,tx.useRef)(null);m[0]===Symbol.for("react.memo_cache_sentinel")?(t=()=>({updatePosition:e=>{epF(L.current,e,O)}}),r=[],m[0]=t,m[1]=r):(t=m[0],r=m[1]),(0,tx.useImperativeHandle)(_,t,r);let[j,V]=(0,tx.useState)(M?"invisible":"visible");m[2]===Symbol.for("react.memo_cache_sentinel")?(n=e=>{e&&(L.current=e,R(t=>t===e?t:e))},m[2]=n):n=m[2];let F=n;m[3]!==N||m[4]!==M?(a=()=>{N&&(epF(N,M,O),V("visible"))},i=[N,M],m[3]=N,m[4]=M,m[5]=a,m[6]=i):(a=m[5],i=m[6]),(0,tx.useLayoutEffect)(a,i),m[7]!==f||m[8]!==S?(o=e=>{e||S(f)},m[7]=f,m[8]=S,m[9]=o):o=m[9];let B=T?"p-0":"";return m[10]!==I||m[11]!==j||m[12]!==B?(s=eV(B,I,j),m[10]=I,m[11]=j,m[12]=B,m[13]=s):s=m[13],m[14]!==A?(l={...A?{position:"fixed",left:`${A.x}px`,top:`${A.y}px`,transform:"translate(0, 0)",margin:0,animation:"none",transition:"none"}:{}},m[14]=A,m[15]=l):l=m[15],m[16]!==y||m[17]!==T?(d=!T&&(0,tS.jsx)(aN,{children:y&&(0,tS.jsx)(aL,{children:y})}),m[16]=y,m[17]=T,m[18]=d):d=m[18],m[19]!==f||m[20]!==S?(u=()=>S(f),m[19]=f,m[20]=S,m[21]=u):u=m[21],m[22]!==v||m[23]!==b||m[24]!==u?(c=(0,tS.jsx)(v,{...b,hide:u}),m[22]=v,m[23]=b,m[24]=u,m[25]=c):c=m[25],m[26]!==s||m[27]!==l||m[28]!==d||m[29]!==c||m[30]!==T?(h=(0,tS.jsxs)(aO,{ref:F,className:s,unstyled:T,style:l,children:[d,c]}),m[26]=s,m[27]=l,m[28]=d,m[29]=c,m[30]=T,m[31]=h):h=m[31],m[32]!==x||m[33]!==g||m[34]!==P||m[35]!==E||m[36]!==D||m[37]!==h||m[38]!==o?(p=(0,tS.jsx)(a_,{open:g,modal:!1,onOpenChange:o,isDraggable:x,shouldCloseOnEsc:P,shouldCloseOnOverlayClick:E,showOverlay:D,children:h}),m[32]=x,m[33]=g,m[34]=P,m[35]=E,m[36]=D,m[37]=h,m[38]=o,m[39]=p):p=m[39],p};epB.displayName="ManagedDialog";let epW=epB,epU=(0,tx.createContext)(null),epz=()=>{let e=(0,tx.useContext)(epU);if(!e)throw Error("useDialog must be used within a DialogProvider");return e},epH=e=>{let t,r,n,a,i=(0,tb.c)(6),{children:o,dialog:s,service:l}=e,d=void 0===l?null:l;i[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],i[0]=t):t=i[0];let[u,c]=(0,tx.useState)(t),h=(0,tx.useRef)(new Map);i[1]===Symbol.for("react.memo_cache_sentinel")?(r=e=>{let t=e.id;return c(r=>[...r,{...e,id:t}]),t},i[1]=r):r=i[1];let p=r,m=e=>{c(t=>t.filter(t=>t.id!==e)),h.current.delete(e)};i[2]!==u.length?(n=()=>0===u.length,i[2]=u.length,i[3]=n):n=i[3];let f={show:p,hide:m,hideAll:()=>{c([]),h.current.clear()},isEmpty:n,updatePosition:(e,t)=>{let r=h.current.get(e);r&&r.updatePosition(t)}};(0,tx.useEffect)(()=>{d&&d.setServiceImplementation(f)},[d,f]),i[4]!==d?(a=d?.getCustomComponent?.(),i[4]=d,i[5]=a):a=i[5];let g=a||(void 0===s?epW:s);return(0,tS.jsxs)(epU.Provider,{value:f,children:[u.map(e=>(0,tS.jsx)(g,{ref:t=>{t&&h.current.set(e.id,t)},onClose:m,isOpen:!0,...e},e.id)),o]})},epG={message:void 0,type:"info",actions:void 0,onSubmit:()=>{console.log("btn value?")},onOutsideClick:()=>{console.warn("default: onOutsideClick")},onDismiss:()=>{console.log("dismiss? -1")},onKeyPress:()=>{console.log("key pressed?")}},epq=(0,tx.createContext)(null),{Provider:ep$}=epq,epK=()=>(0,tx.useContext)(epq),epY=e=>{let t,r,n,a,i,o,s,l=(0,tb.c)(15),{children:d,service:u}=e,[c,h]=(0,tx.useState)(epG);l[0]!==c?(t=e=>h({...c,...e}),l[0]=c,l[1]=t):t=l[1];let p=t;l[2]===Symbol.for("react.memo_cache_sentinel")?(r=()=>h(epG),l[2]=r):r=l[2];let m=r;return l[3]!==u||l[4]!==p?(n=()=>{u&&u.setServiceImplementation({hide:m,show:p})},a=[m,u,p],l[3]=u,l[4]=p,l[5]=n,l[6]=a):(n=l[5],a=l[6]),(0,tx.useEffect)(n,a),l[7]!==p?(i={show:p,hide:m},l[7]=p,l[8]=i):i=l[8],l[9]!==i||l[10]!==c?(o=[c,i],l[9]=i,l[10]=c,l[11]=o):o=l[11],l[12]!==d||l[13]!==o?(s=(0,tS.jsx)(ep$,{value:o,children:d}),l[12]=d,l[13]=o,l[14]=s):s=l[14],s},epX={user:null,enabled:!1},epZ=(0,tx.createContext)(epX);function epJ(e){let t,r,n,a,i,o,s,l,d,u,c=(0,tb.c)(23),{children:h,service:p}=e,[m,f]=(0,tx.useReducer)(epQ,epX);c[0]!==m?(t=()=>m,c[0]=m,c[1]=t):t=c[1];let g=t;c[2]===Symbol.for("react.memo_cache_sentinel")?(r=e=>f({type:"SET_USER",payload:{user:e}}),c[2]=r):r=c[2];let y=r;c[3]!==m?(n=()=>m.user,c[3]=m,c[4]=n):n=c[4];let v=n;c[5]===Symbol.for("react.memo_cache_sentinel")?(a=()=>f({type:"RESET",payload:{}}),c[5]=a):a=c[5];let b=a;c[6]===Symbol.for("react.memo_cache_sentinel")?(i=e=>f({type:"SET",payload:e}),c[6]=i):i=c[6];let x=i;c[7]!==g||c[8]!==v||c[9]!==p?(o=()=>{p&&p.setServiceImplementation({getState:g,setUser:y,getUser:v,reset:b,set:x})},s=[g,p,y,v,b,x],c[7]=g,c[8]=v,c[9]=p,c[10]=o,c[11]=s):(o=c[10],s=c[11]),(0,tx.useEffect)(o,s),p&&p.setServiceImplementation({getState:g,setUser:y,getUser:v,reset:b,set:x}),c[12]!==g||c[13]!==v||c[14]!==p.getAuthorizationHeader||c[15]!==p.handleUnauthenticated?(l={getState:g,setUser:y,getUser:v,getAuthorizationHeader:p.getAuthorizationHeader,handleUnauthenticated:p.handleUnauthenticated,reset:b,set:x},c[12]=g,c[13]=v,c[14]=p.getAuthorizationHeader,c[15]=p.handleUnauthenticated,c[16]=l):l=c[16];let w=l;return c[17]!==w||c[18]!==m?(d=[m,w],c[17]=w,c[18]=m,c[19]=d):d=c[19],c[20]!==h||c[21]!==d?(u=(0,tS.jsx)(epZ.Provider,{value:d,children:h}),c[20]=h,c[21]=d,c[22]=u):u=c[22],u}function epQ(e,t){switch(t.type){case"SET_USER":return{...e,...{user:t.payload.user}};case"RESET":return{user:null};case"SET":return{...e,...t.payload};default:return t.payload}}epZ.Consumer;let ep0=()=>(0,tx.useContext)(epZ),ep1=(0,tx.createContext)(null),ep2=()=>(0,tx.useContext)(ep1);function ep5(e){let t,r,n=(0,tb.c)(5),{StudyInstanceUIDs:a,children:i}=e;n[0]!==a?(t={StudyInstanceUIDs:a},n[0]=a,n[1]=t):t=n[1];let o=t;return n[2]!==i||n[3]!==o?(r=(0,tS.jsx)(ep1.Provider,{value:o,children:i}),n[2]=i,n[3]=o,n[4]=r):r=n[4],r}function ep3(e){var t=null;return function(){return null==t&&(t=e()),t}}var ep4=function(){var e;function t(e){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.entered=[],this.isNodeInDocument=e}return e=[{key:"enter",value:function(e){var t,r,n,a,i,o=this,s=this.entered.length;return this.entered=(t=this.entered.filter(function(t){return o.isNodeInDocument(t)&&(!t.contains||t.contains(e))}),r=[e],n=new Set,a=function(e){return n.add(e)},t.forEach(a),r.forEach(a),i=[],n.forEach(function(e){return i.push(e)}),i),0===s&&this.entered.length>0}},{key:"leave",value:function(e){var t,r=this.entered.length;return this.entered=(t=this.entered.filter(this.isNodeInDocument),t.filter(function(t){return t!==e})),r>0&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}(),ep8=ep3(function(){return/firefox/i.test(navigator.userAgent)}),ep6=ep3(function(){return!!window.safari}),ep9=function(){var e;function t(e,r){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");for(var n,a,i,o=e.length,s=[],l=0;l<o;l++)s.push(l);s.sort(function(t,r){return e[t]<e[r]?-1:1});for(var d=[],u=[],c=[],h=0;h<o-1;h++)n=e[h+1]-e[h],a=r[h+1]-r[h],u.push(n),d.push(a),c.push(a/n);for(var p=[c[0]],m=0;m<u.length-1;m++){var f=c[m],g=c[m+1];if(f*g<=0)p.push(0);else{n=u[m];var y=u[m+1],v=n+y;p.push(3*v/((v+y)/f+(v+n)/g))}}p.push(c[c.length-1]);for(var b=[],x=[],w=0;w<p.length-1;w++){i=c[w];var C=p[w],k=1/u[w],M=C+p[w+1]-i-i;b.push((i-C-M)*k),x.push(M*k*k)}this.xs=e,this.ys=r,this.c1s=p,this.c2s=b,this.c3s=x}return e=[{key:"interpolate",value:function(e){var t,r=this.xs,n=this.ys,a=this.c1s,i=this.c2s,o=this.c3s,s=r.length-1;if(e===r[s])return n[s];for(var l=0,d=o.length-1;l<=d;){var u=r[t=Math.floor(.5*(l+d))];if(u<e)l=t+1;else{if(!(u>e))return n[t];d=t-1}}var c=e-r[s=Math.max(0,d)],h=c*c;return n[s]+a[s]*c+i[s]*h+o[s]*c*h}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}();function ep7(e){var t=1===e.nodeType?e:e.parentElement;if(!t)return null;var r=t.getBoundingClientRect(),n=r.top;return{x:r.left,y:n}}function eme(e){return{x:e.clientX,y:e.clientY}}var emt="__NATIVE_FILE__",emr="__NATIVE_URL__",emn="__NATIVE_TEXT__",ema="__NATIVE_HTML__";function emi(e,t,r){var n=t.reduce(function(t,r){return t||e.getData(r)},"");return null!=n?n:r}function emo(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ems=(emo(eCz={},emt,{exposeProperties:{files:function(e){return Array.prototype.slice.call(e.files)},items:function(e){return e.items}},matchesTypes:["Files"]}),emo(eCz,ema,{exposeProperties:{html:function(e,t){return emi(e,t,"")}},matchesTypes:["Html","text/html"]}),emo(eCz,emr,{exposeProperties:{urls:function(e,t){return emi(e,t,"").split("\n")}},matchesTypes:["Url","text/uri-list"]}),emo(eCz,emn,{exposeProperties:{text:function(e,t){return emi(e,t,"")}},matchesTypes:["Text","text/plain"]}),eCz),eml=function(){var e;function t(e){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.config=e,this.item={},this.initializeExposedProperties()}return e=[{key:"initializeExposedProperties",value:function(){var e=this;Object.keys(this.config.exposeProperties).forEach(function(t){Object.defineProperty(e.item,t,{configurable:!0,enumerable:!0,get:function(){return console.warn("Browser doesn't allow reading \"".concat(t,'" until the drop event.')),null}})})}},{key:"loadDataTransfer",value:function(e){var t=this;if(e){var r={};Object.keys(this.config.exposeProperties).forEach(function(n){r[n]={value:t.config.exposeProperties[n](e,t.config.matchesTypes),configurable:!0,enumerable:!0}}),Object.defineProperties(this.item,r)}}},{key:"canDrag",value:function(){return!0}},{key:"beginDrag",value:function(){return this.item}},{key:"isDragging",value:function(e,t){return t===e.getSourceId()}},{key:"endDrag",value:function(){}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}();function emd(e){if(!e)return null;var t=Array.prototype.slice.call(e.types||[]);return Object.keys(ems).filter(function(e){return ems[e].matchesTypes.some(function(e){return t.indexOf(e)>-1})})[0]||null}var emu=function(){var e;function t(e,r){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.ownerDocument=null,this.globalContext=e,this.optionsArgs=r}return e=[{key:"window",get:function(){return this.globalContext?this.globalContext:"u">typeof window?window:void 0}},{key:"document",get:function(){var e;return null!=(e=this.globalContext)&&e.document?this.globalContext.document:this.window?this.window.document:void 0}},{key:"rootElement",get:function(){var e;return(null==(e=this.optionsArgs)?void 0:e.rootElement)||this.window}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}();function emc(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 emh(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?emc(Object(r),!0).forEach(function(t){var n,a,i;n=e,a=t,i=r[t],a in n?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):emc(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var emp=function(){var e;function t(e,r,n){var a=this;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.getSourceClientOffset=function(e){var t=a.sourceNodes.get(e);return t&&ep7(t)||null},this.endDragNativeItem=function(){a.isDraggingNativeItem()&&(a.actions.endDrag(),a.currentNativeHandle&&a.registry.removeSource(a.currentNativeHandle),a.currentNativeHandle=null,a.currentNativeSource=null)},this.isNodeInDocument=function(e){return!!(e&&a.document&&a.document.body&&document.body.contains(e))},this.endDragIfSourceWasRemovedFromDOM=function(){var e=a.currentDragSourceNode;!(null==e||a.isNodeInDocument(e))&&a.clearCurrentDragSourceNode()&&a.monitor.isDragging()&&a.actions.endDrag()},this.handleTopDragStartCapture=function(){a.clearCurrentDragSourceNode(),a.dragStartSourceIds=[]},this.handleTopDragStart=function(e){if(!e.defaultPrevented){var t=a.dragStartSourceIds;a.dragStartSourceIds=null;var r=eme(e);a.monitor.isDragging()&&a.actions.endDrag(),a.actions.beginDrag(t||[],{publishSource:!1,getSourceClientOffset:a.getSourceClientOffset,clientOffset:r});var n=e.dataTransfer,i=emd(n);if(a.monitor.isDragging()){if(n&&"function"==typeof n.setDragImage){var o=a.monitor.getSourceId(),s=a.sourceNodes.get(o),l=a.sourcePreviewNodes.get(o)||s;if(l){var d,u,c,h,p,m,f,g,y,v,b,x,w,C,k,M,S,T,I=a.getCurrentSourcePreviewNodeOptions(),_=I.anchorX,P=I.anchorY,E=I.offsetX,D=I.offsetY,A=(d={anchorX:_,anchorY:P},u={offsetX:E,offsetY:D},p=ep7((h="IMG"===l.nodeName&&(ep8()||!(null!=(c=document.documentElement)&&c.contains(l))))?s:l),m={x:r.x-p.x,y:r.y-p.y},f=s.offsetWidth,g=s.offsetHeight,y=d.anchorX,v=d.anchorY,C=(b=h?l.width:f,x=h?l.height:g,ep6()&&h&&(x/=window.devicePixelRatio,b/=window.devicePixelRatio),w={dragPreviewWidth:b,dragPreviewHeight:x}).dragPreviewWidth,k=w.dragPreviewHeight,M=u.offsetX,S=u.offsetY,{x:0===M||M?M:new ep9([0,.5,1],[m.x,m.x/f*C,m.x+C-f]).interpolate(y),y:0===S||S?S:(T=new ep9([0,.5,1],[m.y,m.y/g*k,m.y+k-g]).interpolate(v),ep6()&&h&&(T+=(window.devicePixelRatio-1)*k),T)});n.setDragImage(l,A.x,A.y)}}try{null==n||n.setData("application/json",{})}catch(e){}a.setCurrentDragSourceNode(e.target),a.getCurrentSourcePreviewNodeOptions().captureDraggingState?a.actions.publishDragSource():setTimeout(function(){return a.actions.publishDragSource()},0)}else if(i)a.beginDragNativeItem(i);else{if(n&&!n.types&&(e.target&&!e.target.hasAttribute||!e.target.hasAttribute("draggable")))return;e.preventDefault()}}},this.handleTopDragEndCapture=function(){a.clearCurrentDragSourceNode()&&a.monitor.isDragging()&&a.actions.endDrag()},this.handleTopDragEnterCapture=function(e){if(a.dragEnterTargetIds=[],!(!a.enterLeaveCounter.enter(e.target)||a.monitor.isDragging())){var t=e.dataTransfer,r=emd(t);r&&a.beginDragNativeItem(r,t)}},this.handleTopDragEnter=function(e){var t=a.dragEnterTargetIds;a.dragEnterTargetIds=[],a.monitor.isDragging()&&(a.altKeyPressed=e.altKey,t.length>0&&a.actions.hover(t,{clientOffset:eme(e)}),t.some(function(e){return a.monitor.canDropOnTarget(e)})&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=a.getCurrentDropEffect())))},this.handleTopDragOverCapture=function(){a.dragOverTargetIds=[]},this.handleTopDragOver=function(e){var t=a.dragOverTargetIds;if(a.dragOverTargetIds=[],!a.monitor.isDragging()){e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none");return}a.altKeyPressed=e.altKey,a.actions.hover(t||[],{clientOffset:eme(e)}),(t||[]).some(function(e){return a.monitor.canDropOnTarget(e)})?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=a.getCurrentDropEffect())):a.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=function(e){a.isDraggingNativeItem()&&e.preventDefault(),a.enterLeaveCounter.leave(e.target)&&a.isDraggingNativeItem()&&setTimeout(function(){return a.endDragNativeItem()},0)},this.handleTopDropCapture=function(e){if(a.dropTargetIds=[],a.isDraggingNativeItem()){var t;e.preventDefault(),null==(t=a.currentNativeSource)||t.loadDataTransfer(e.dataTransfer)}a.enterLeaveCounter.reset()},this.handleTopDrop=function(e){var t=a.dropTargetIds;a.dropTargetIds=[],a.actions.hover(t,{clientOffset:eme(e)}),a.actions.drop({dropEffect:a.getCurrentDropEffect()}),a.isDraggingNativeItem()?a.endDragNativeItem():a.monitor.isDragging()&&a.actions.endDrag()},this.handleSelectStart=function(e){var t=e.target;"function"!=typeof t.dragDrop||"INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop())},this.options=new emu(r,n),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new ep4(this.isNodeInDocument)}return e=[{key:"profile",value:function(){var e,t;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null==(e=this.dragStartSourceIds)?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null==(t=this.dragOverTargetIds)?void 0:t.length)||0}}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}},{key:"rootElement",get:function(){return this.options.rootElement}},{key:"setup",value:function(){var e=this.rootElement;if(void 0!==e){if(e.__isReactDndBackendSetUp)throw Error("Cannot have two HTML5 backends at the same time.");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}},{key:"teardown",value:function(){var e,t=this.rootElement;void 0!==t&&(t.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&(null==(e=this.window)||e.cancelAnimationFrame(this.asyncEndDragFrameId)))}},{key:"connectDragPreview",value:function(e,t,r){var n=this;return this.sourcePreviewNodeOptions.set(e,r),this.sourcePreviewNodes.set(e,t),function(){n.sourcePreviewNodes.delete(e),n.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDragSource",value:function(e,t,r){var n=this;this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,r);var a=function(t){return n.handleDragStart(t,e)},i=function(e){return n.handleSelectStart(e)};return t.setAttribute("draggable","true"),t.addEventListener("dragstart",a),t.addEventListener("selectstart",i),function(){n.sourceNodes.delete(e),n.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",a),t.removeEventListener("selectstart",i),t.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(e,t){var r=this,n=function(t){return r.handleDragEnter(t,e)},a=function(t){return r.handleDragOver(t,e)},i=function(t){return r.handleDrop(t,e)};return t.addEventListener("dragenter",n),t.addEventListener("dragover",a),t.addEventListener("drop",i),function(){t.removeEventListener("dragenter",n),t.removeEventListener("dragover",a),t.removeEventListener("drop",i)}}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return emh({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId();return emh({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys($).some(function(t){return $[t]===e})}},{key:"beginDragNativeItem",value:function(e,t){var r;this.clearCurrentDragSourceNode(),this.currentNativeSource=((r=new eml(ems[e])).loadDataTransfer(t),r),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout(function(){var e;return null==(e=t.rootElement)?void 0:e.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)},1e3)}},{key:"clearCurrentDragSourceNode",value:function(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var e;null==(e=this.window)||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}},{key:"handleDragStart",value:function(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleDragOver",value:function(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}(),emm=function(e,t,r){return new emp(e,t,r)};let emf="u">typeof window&&!!("ontouchstart"in window||navigator.maxTouchPoints),emg=function(e){let t,r,n=(0,tb.c)(3),{children:a}=e;n[0]===Symbol.for("react.memo_cache_sentinel")?(t={},n[0]=t):t=n[0];let i=t;return console.log("using... touch backend?",emf),n[1]!==a?(r=(0,tS.jsx)(IF,{backend:emm,opts:i,children:a}),n[1]=a,n[2]=r):r=n[2],r},emy={isCineEnabled:!1,cines:{}},emv={isPlaying:!1,frameRate:24},emb=(0,tx.createContext)(null);function emx(e){let t,r,n,a,i,o,s,l,d,u,c,h,p,m,f,g=(0,tb.c)(31),{children:y,service:v}=e;g[0]!==v?(t=(e,t)=>{switch(t.type){case"SET_CINE":{let{id:r,frameRate:n,isPlaying:a}=t.payload,i=void 0===a?void 0:a,o=e.cines,s=v.getSyncedViewports(r).map(emw);return[r,...s].filter(e=>{let t=o[e]??{},r=t.frameRate!==(n??t.frameRate),a=t.isPlaying!==(i??t.isPlaying);return r||a}).forEach(e=>{let t=o[e];t||(t={id:r,...emv},o[e]=t),t.frameRate=n??t.frameRate,t.isPlaying=i??t.isPlaying}),{...e,...o}}case"SET_IS_CINE_ENABLED":return{...e,...{isCineEnabled:t.payload}};default:return t.payload}},g[0]=v,g[1]=t):t=g[1];let b=t,[x,w]=(0,tx.useReducer)(b,emy);g[2]!==x?(r=()=>x,g[2]=x,g[3]=r):r=g[3];let C=r;g[4]===Symbol.for("react.memo_cache_sentinel")?(n=e=>w({type:"SET_IS_CINE_ENABLED",payload:e}),g[4]=n):n=g[4];let k=n;g[5]===Symbol.for("react.memo_cache_sentinel")?(a=e=>{let{id:t,frameRate:r,isPlaying:n}=e;return w({type:"SET_CINE",payload:{id:t,frameRate:r,isPlaying:n}})},g[5]=a):a=g[5];let M=a;g[6]!==C||g[7]!==v?(i=()=>{v&&v.setServiceImplementation({getState:C,setIsCineEnabled:k,setCine:M})},o=[C,v,M,k],g[6]=C,g[7]=v,g[8]=i,g[9]=o):(i=g[8],o=g[9]),(0,tx.useEffect)(i,o),g[10]!==v?(u=e=>v.setIsCineEnabled(e),c=(e,t)=>v.playClip(e,t),h=(e,t)=>v.stopClip(e,t),s=e=>v.setViewportCineClosed(e),l=e=>v.clearViewportCineClosed(e),d=e=>v.isViewportCineClosed(e),g[10]=v,g[11]=s,g[12]=l,g[13]=d,g[14]=u,g[15]=c,g[16]=h):(s=g[11],l=g[12],d=g[13],u=g[14],c=g[15],h=g[16]),g[17]!==C||g[18]!==s||g[19]!==l||g[20]!==d||g[21]!==u||g[22]!==c||g[23]!==h?(p={getState:C,setCine:M,setIsCineEnabled:u,playClip:c,stopClip:h,setViewportCineClosed:s,clearViewportCineClosed:l,isViewportCineClosed:d},g[17]=C,g[18]=s,g[19]=l,g[20]=d,g[21]=u,g[22]=c,g[23]=h,g[24]=p):p=g[24];let S=p;return g[25]!==S||g[26]!==x?(m=[x,S],g[25]=S,g[26]=x,g[27]=m):m=g[27],g[28]!==y||g[29]!==m?(f=(0,tS.jsx)(emb.Provider,{value:m,children:y}),g[28]=y,g[29]=m,g[30]=f):f=g[30],f}function emw(e){let{viewportId:t}=e;return t}let emC=()=>(0,tx.useContext)(emb),emk={tiny:16,small:20,medium:24,large:28},emM=(e="medium")=>"number"==typeof e?e:emk[e]||emk.medium,emS=(e="medium",t="")=>{let r=emM(e);return eV(`h-[${r}px] w-[${r}px]`,t)},emT=(0,tx.createContext)({size:"medium",getSizeValue:emM,getSizeClassName:emS,IconContainer:tL,containerProps:{variant:"ghost",size:"icon"},className:""}),emI=e=>{let t,r,n,a,i,o=(0,tb.c)(14),{size:s,children:l,IconContainer:d,containerProps:u}=e,c=void 0===d?tL:d;o[0]!==u?(t=void 0===u?{}:u,o[0]=u,o[1]=t):t=o[1];let h=t;o[2]!==s?(r=emS(s),o[2]=s,o[3]=r):r=o[3];let p=r;o[4]!==h?(n={variant:"ghost",size:"icon",...h},o[4]=h,o[5]=n):n=o[5];let m=n;o[6]!==c||o[7]!==p||o[8]!==m||o[9]!==s?(a={size:s,getSizeValue:emM,getSizeClassName:emS,IconContainer:c,containerProps:m,className:p},o[6]=c,o[7]=p,o[8]=m,o[9]=s,o[10]=a):a=o[10];let f=a;return o[11]!==l||o[12]!==f?(i=(0,tS.jsx)(emT.Provider,{value:f,children:l}),o[11]=l,o[12]=f,o[13]=i):i=o[13],i},em_=()=>(0,tx.useContext)(emT),emP=[JSON.parse('{"name":"orchid","label":"Tonal: Orchid","cssVars":{"dark":{"highlight":"292 75% 62%","neutral":"270 18% 55%","neutral-light":"275 35% 75%","neutral-dark":"268 20% 24%","background":"270 45% 6%","foreground":"280 15% 96%","card":"268 40% 10%","card-foreground":"280 15% 96%","popover":"264 48% 13%","popover-foreground":"280 15% 96%","primary":"270 85% 65%","primary-foreground":"0 0% 98%","secondary":"268 45% 32%","secondary-foreground":"275 45% 88%","muted":"268 40% 10%","muted-foreground":"272 30% 60%","accent":"268 50% 20%","accent-foreground":"280 15% 96%","destructive":"0 65% 40%","destructive-foreground":"0 0% 98%","border":"268 30% 18%","input":"268 40% 25%","ring":"270 80% 60%"}}}'),JSON.parse('{"name":"arctic","label":"Tonal: Arctic","cssVars":{"dark":{"highlight":"173 81% 52%","neutral":"185 20% 55%","neutral-light":"180 40% 78%","neutral-dark":"190 18% 22%","background":"0 0% 0%","foreground":"180 10% 97%","card":"203 39% 9%","card-foreground":"180 10% 97%","popover":"202 54% 11%","popover-foreground":"180 10% 97%","primary":"175 85% 42%","primary-foreground":"185 50% 8%","secondary":"180 45% 28%","secondary-foreground":"175 50% 88%","muted":"203 39% 9%","muted-foreground":"185 30% 60%","accent":"185 55% 18%","accent-foreground":"180 10% 97%","destructive":"0 65% 35%","destructive-foreground":"0 0% 98%","border":"190 25% 17%","input":"223 40% 24%","ring":"175 85% 42%"}}}'),JSON.parse('{"name":"verdant","label":"Tonal: Verdant","cssVars":{"dark":{"highlight":"152 79% 52%","neutral":"150 15% 52%","neutral-light":"145 30% 72%","neutral-dark":"155 18% 24%","background":"155 40% 5%","foreground":"140 15% 95%","card":"152 35% 9%","card-foreground":"140 15% 95%","popover":"167 65% 10%","popover-foreground":"140 15% 95%","primary":"152 75% 40%","primary-foreground":"155 50% 8%","secondary":"150 40% 26%","secondary-foreground":"145 40% 85%","muted":"152 35% 9%","muted-foreground":"148 25% 55%","accent":"150 45% 16%","accent-foreground":"140 15% 95%","destructive":"0 65% 38%","destructive-foreground":"0 0% 98%","border":"150 25% 16%","input":"150 35% 22%","ring":"152 75% 40%"}}}'),JSON.parse('{"name":"midnight","label":"Neutral: Midnight","cssVars":{"dark":{"highlight":"188 90% 58%","neutral":"213 22% 59%","neutral-light":"214 69% 81%","neutral-dark":"214 16% 21%","background":"240 15% 3%","foreground":"0 0% 99%","card":"240 12% 8%","card-foreground":"0 0% 99%","popover":"225 45% 13%","popover-foreground":"0 0% 99%","primary":"210 100% 62%","primary-foreground":"0 0% 99%","secondary":"215 55% 32%","secondary-foreground":"200 60% 88%","muted":"240 12% 8%","muted-foreground":"210 40% 70%","accent":"220 65% 20%","accent-foreground":"0 0% 99%","destructive":"0 70% 35%","destructive-foreground":"0 0% 99%","border":"240 10% 18%","input":"225 35% 24%","ring":"210 100% 62%"}}}'),JSON.parse('{"name":"slate","label":"Neutral: Slate","cssVars":{"dark":{"highlight":"217 97% 52%","neutral":"0 0% 55%","neutral-light":"0 0% 75%","neutral-dark":"0 0% 25%","background":"0 0% 0%","foreground":"0 0% 96%","card":"0 0% 7%","card-foreground":"0 0% 96%","popover":"0 0% 9%","popover-foreground":"0 0% 96%","primary":"230 75% 55%","primary-foreground":"0 0% 98%","secondary":"0 0% 25%","secondary-foreground":"0 0% 85%","muted":"0 0% 7%","muted-foreground":"0 0% 60%","accent":"0 0% 18%","accent-foreground":"0 0% 96%","destructive":"0 65% 40%","destructive-foreground":"0 0% 98%","border":"0 0% 18%","input":"0 0% 22%","ring":"215 75% 55%"}}}'),JSON.parse('{"name":"deep","label":"Neutral: Deep","cssVars":{"dark":{"highlight":"184 53% 54%","neutral":"215 15% 50%","neutral-light":"210 20% 68%","neutral-dark":"220 18% 22%","background":"0 0% 0%","foreground":"215 15% 82%","card":"218 25% 5%","card-foreground":"215 15% 82%","popover":"215 30% 8%","popover-foreground":"215 15% 82%","primary":"200 43% 48%","primary-foreground":"210 20% 92%","secondary":"218 30% 18%","secondary-foreground":"215 25% 75%","muted":"214 28% 5%","muted-foreground":"215 18% 48%","accent":"216 32% 12%","accent-foreground":"215 15% 82%","destructive":"0 50% 35%","destructive-foreground":"0 15% 90%","border":"218 22% 10%","input":"216 28% 15%","ring":"215 45% 42%"}}}')],emE="ohif:theme",emD="ohif:custom-theme-css",emA="ohif-custom-theme",emO=new Set(["default","custom",...emP.map(e=>e.name)]);function emN(e){return!!e&&"custom"!==e&&emO.has(e)}let emR=tx.createContext(void 0);function emL(){let e=document.body.classList,t=[];e.forEach(e=>{e.startsWith("theme-")&&t.push(e)}),t.forEach(t=>e.remove(t))}function emj(){let e=document.getElementById(emA);e&&e.remove()}function emV(e){let t,r,n,a,i,o,s,l,d=(0,tb.c)(14),{children:u}=e,[c,h]=tx.useState(emU),[p,m]=tx.useState(emW);d[0]===Symbol.for("react.memo_cache_sentinel")?(t=e=>{emO.has(e)&&(h(e),emL(),"default"!==e&&"custom"!==e&&document.body.classList.add(`theme-${e}`),"custom"!==e&&emj(),"default"===e?localStorage.removeItem(emE):localStorage.setItem(emE,e))},d[0]=t):t=d[0];let f=t;d[1]===Symbol.for("react.memo_cache_sentinel")?(r=e=>{let t,r,n,a=function(e){let t=[];for(let r of e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\/\*[\s\S]*$/,"").split(/[\n;]/)){let e=r.trim(),n=e.lastIndexOf("{");-1!==n&&(e=e.slice(n+1).trim());let a=e.indexOf(":");if(-1===a)continue;let i=e.slice(0,a).trim();if(!/^--[a-zA-Z0-9-]+$/.test(i))continue;let o=e.slice(a+1).replace(/[{}]/g,"").trim();o&&(o.includes("(")||o.includes(")")||t.push(` ${i}: ${o};`))}return t}(e);return 0!==a.length&&(t=a.join("\n"),r=`:root {
|
|
1837
|
+
`,this.dom.appendChild(this.metricsColumn),this.dom.appendChild(this.bindingsColumn)}isMemoryAvailable(){return void 0!==performance.memory}addPanel(e,t){((e===eCW.RENDER_MODES?this.bindingsColumn:this.metricsColumn)??this.dom).appendChild(t.dom),this.panels.set(e,t)}startLoop(){let e=()=>{this.update(),this.animationFrameId=requestAnimationFrame(e)};this.animationFrameId=requestAnimationFrame(e)}stopLoop(){null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null)}updateStats(){this.frameCount++;let e=performance.now(),t=e-this.startTime,r=this.panels.get(eCW.MS);if(r&&r.update(t,200),e>=this.lastUpdateTime+1e3){let t=1e3*this.frameCount/(e-this.lastUpdateTime),r=this.panels.get(eCW.FPS);r&&r.update(t,300),this.lastUpdateTime=e,this.frameCount=0,this.updateMemoryPanel(),this.updateRenderModesPanel()}return e}updateRenderModesPanel(){let e=this.panels.get(eCW.RENDER_MODES);if(!(e instanceof ehJ))return;let t=[];for(let e of VB())if(e&&!e.hasBeenDestroyed)for(let r of e.getViewports()){let n=r._debug?.renderModes;t.push({renderingEngineId:e.id,viewportId:r.id,viewportType:r.type,bindings:this.getViewportBindingDebugEntries(r,n??{})})}e.setContent(t)}getViewportBindingDebugEntries(e,t){let r=e.getActors?.()??[],n=e.getSourceDataId?.(),a=Object.entries(t);return a.length?a.map(([t,a])=>{var i,o;let s=eh6(e,t,n),l="source"===s?e.getDefaultActor?.():(i=r,o=t,i.find(e=>e.uid===o||e.representationUID===o||e.referencedId===o));return{actorUID:l?.uid,dataId:t,referencedId:l?.referencedId,renderMode:a,role:s,...eh9(l)}}):r.map(t=>{let r=t.representationUID??t.uid??"";return{actorUID:t.uid,dataId:r,referencedId:t.referencedId,renderMode:"-",role:eh6(e,r,n),...eh9(t)}})}updateMemoryPanel(){let e=this.panels.get(eCW.MEMORY);if(!e)return;let t=performance;if(t.memory){let r=t.memory.usedJSHeapSize/1048576,n=t.memory.jsHeapSizeLimit/1048576;e.update(r,n)}}attachDragHandlers(){this.dom?.addEventListener("pointerdown",this.handlePointerDown)}detachDragHandlers(){this.dom?.removeEventListener("pointerdown",this.handlePointerDown),window.removeEventListener("pointermove",this.handlePointerMove),window.removeEventListener("pointerup",this.handlePointerUp),window.removeEventListener("pointercancel",this.handlePointerUp)}onPointerDown(e){if(!this.dom||0!==e.button)return;this.dragPointerId=e.pointerId;let t=this.dom.getBoundingClientRect();this.dragOffsetX=e.clientX-t.left,this.dragOffsetY=e.clientY-t.top,this.setPosition(t.left,t.top),window.addEventListener("pointermove",this.handlePointerMove),window.addEventListener("pointerup",this.handlePointerUp),window.addEventListener("pointercancel",this.handlePointerUp),e.preventDefault()}onPointerMove(e){this.dragPointerId===e.pointerId&&this.dom&&this.setPosition(e.clientX-this.dragOffsetX,e.clientY-this.dragOffsetY)}onPointerUp(e){if(this.dragPointerId!==e.pointerId||!this.dom)return;this.dragPointerId=null,window.removeEventListener("pointermove",this.handlePointerMove),window.removeEventListener("pointerup",this.handlePointerUp),window.removeEventListener("pointercancel",this.handlePointerUp);let t=this.dom.getBoundingClientRect();this.savePosition(t.left,t.top)}setPosition(e,t){if(!this.dom)return;let r=this.clampToViewport(e,t);this.dom.style.left=`${r.left}px`,this.dom.style.top=`${r.top}px`,this.dom.style.right="auto",this.dom.style.bottom="auto"}clampToViewport(e,t){if(!this.dom)return{left:e,top:t};let r=this.dom.offsetWidth,n=this.dom.offsetHeight;return{left:Math.min(Math.max(0,e),Math.max(0,window.innerWidth-r)),top:Math.min(Math.max(0,t),Math.max(0,window.innerHeight-n))}}restorePosition(){let e=this.readSavedPosition();e&&this.setPosition(e.left,e.top)}readSavedPosition(){try{let e=window.localStorage.getItem(ehX);if(!e)return null;let t=JSON.parse(e);if("number"!=typeof t?.left||"number"!=typeof t?.top||!Number.isFinite(t.left)||!Number.isFinite(t.top))return null;return{left:t.left,top:t.top}}catch{return null}}savePosition(e,t){try{window.localStorage.setItem(ehX,JSON.stringify({left:e,top:t}))}catch{}}}function eh6(e,t,r){let n=e.getDisplaySetRole?.(t);return"source"===n||"overlay"===n?n:r&&t===r?"source":"data"}function eh9(e){let t=e?.actor?.getMapper?.()?.getInputData?.();if(!t)return{};try{let e=t.getPointData?.()?.getScalars?.();if(e?.getDataType){let t=e.getNumberOfComponents?.()??1,r=t>1?e.getRange?.(0):e.getRange?.();return{scalarType:e.getDataType(),scalarRange:eh7(r),numberOfComponents:t}}let r=t.getScalarData?.();if(r?.constructor?.name){let e=Number.isFinite(t.minPixelValue)&&Number.isFinite(t.maxPixelValue)?[t.minPixelValue,t.maxPixelValue]:void 0;return{scalarType:r.constructor.name,scalarRange:eh7(e)}}}catch{}return{}}function eh7(e){if(e&&!(e.length<2)&&Number.isFinite(e[0])&&Number.isFinite(e[1]))return[e[0],e[1]]}eh8.instance=null;let epe=eh8.getInstance(),ept=Fr.getLogger("RenderingEngine","BaseRenderingEngine");class epr{constructor(e){throw this._needsRender=new Set,this._animationFrameSet=!1,this._animationFrameHandle=null,this.renderFrameOfReference=e=>{let t=this._getViewportsAsArray().map(t=>{if(t.getFrameOfReferenceUID()===e)return t.id});this.renderViewports(t)},this.id=e||V9(),this.useCPURendering=FU(),(e=>{VV[e.id]=e})(this),Error("@cornerstonejs/core is not initialized, run init() first")}enableElement(e){let t=this._normalizeViewportInputEntry(e);this._throwIfDestroyed();let{element:r,viewportId:n}=t;if(!r)throw Error("No element provided");this.getViewport(n)&&this.disableElement(n);let{type:a}=t;ehq(a)?this.addCustomViewport(t):this.enableVTKjsDrivenViewport(t);let i=G7(r),{background:o}=t.defaultOptions;this.fillCanvasWithBackgroundColor(i,o)}disableElement(e){this._throwIfDestroyed();let t=this.getViewport(e);t?(this._resetViewport(t),!ehq(t.type)&&this.offscreenMultiRenderWindow&&this.offscreenMultiRenderWindow.removeRenderer(e),this._removeViewport(e),t.isDisabled=!0,this._needsRender.delete(e),this.getViewports().length||this._clearAnimationFrame()):ept.warn(`viewport ${e} does not exist`)}disableViewport(e){this.disableElement(e)}setViewports(e){let t=this._normalizeViewportInputEntries(e);this._throwIfDestroyed(),this._reset();let r=[],n=[];t.forEach(e=>{ehq(e.type)?n.push(e):r.push(e)}),this.setVtkjsDrivenViewports(r),this.setCustomViewports(n),t.forEach(e=>{let t=G7(e.element),{background:r}=e.defaultOptions;this.fillCanvasWithBackgroundColor(t,r)})}resize(e=!0,t=!0){this._throwIfDestroyed();let r=this._getViewportsAsArray(),n=[],a=[];r.forEach(e=>{eh$(e)?a.push(e):n.push(e)}),n.length&&this._resizeVTKViewports(n,t,e),a.length&&this._resizeUsingCustomResizeHandler(a,t,e)}getViewport(e){return this._viewports?.get(e)}getViewports(){return this._throwIfDestroyed(),this._getViewportsAsArray()}render(){let e=this.getViewports().map(e=>e.id);this._setViewportsToBeRenderedNextFrame(e)}renderViewports(e){this._setViewportsToBeRenderedNextFrame(e)}renderViewport(e){this._setViewportsToBeRenderedNextFrame([e])}destroy(){let e;if(this.hasBeenDestroyed)return;epe.cleanup();let t=this._getViewportsAsArray();this._reset(),this.offscreenMultiRenderWindow&&(t.forEach(e=>{this.offscreenMultiRenderWindow&&!eh$(e)&&this.offscreenMultiRenderWindow.getRenderer(e.id)&&this.offscreenMultiRenderWindow.removeRenderer(e.id)}),this.offscreenMultiRenderWindow.delete(),delete this.offscreenMultiRenderWindow),e=this.id,delete VV[e],this.hasBeenDestroyed=!0}fillCanvasWithBackgroundColor(e,t){let r=e.getContext("2d");r.fillStyle=t?Array.isArray(t)?`rgb(${t.map(e=>Math.round(255*e)).join(",")})`:t:"black",r.fillRect(0,0,e.width,e.height)}_normalizeViewportInputEntry(e){let t=e.type,{type:r}=e,{defaultOptions:n}=e;if(Fz()){let e=epr.NEXT_TYPE_REMAP[r];e&&(r=e)}let a=n;return a&&0!==Object.keys(a).length||(a={background:[0,0,0],orientation:null,displayArea:null},t===LF.ORTHOGRAPHIC&&(a={...a,orientation:Lq.AXIAL})),{...e,requestedType:t!==r||Fz()?t:void 0,type:r,defaultOptions:a}}_normalizeViewportInputEntries(e){let t=[];return e.forEach(e=>{t.push(this._normalizeViewportInputEntry(e))}),t}_resizeUsingCustomResizeHandler(e,t=!0,r=!0){e.forEach(e=>{e.resizeForRenderingEngine({keepCamera:t})}),r&&this.render()}_removeViewport(e){this.getViewport(e)?this._viewports.delete(e):ept.warn(`viewport ${e} does not exist`)}addCustomViewport(e){let{element:t,viewportId:r,type:n,defaultOptions:a}=e;t.tabIndex=-1,ehK.forEach(({name:e,attribute:r})=>{t.hasAttribute(r)||t.setAttribute(r,t.style.getPropertyValue(e)),t.style.setProperty(e,"none")});let i=G7(t),{clientWidth:o,clientHeight:s}=i;(i.width!==o||i.height!==s)&&(i.width=o,i.height=s);let l={id:r,renderingEngineId:this.id,element:t,type:n,canvas:i,sx:0,sy:0,sWidth:o,sHeight:s,defaultOptions:a||{}},d=new(ehG(e))(l);d.requestedType=n,this._viewports.set(r,d);let u={element:t,viewportId:r,renderingEngineId:this.id};FS(FM,Lj.ELEMENT_ENABLED,u)}getRenderer(e){return this.offscreenMultiRenderWindow.getRenderer(e)}getOffscreenMultiRenderWindow(e){if(!this.offscreenMultiRenderWindow)throw Error("Offscreen multi render window is not available.");return this.offscreenMultiRenderWindow}setCustomViewports(e){e.forEach(e=>{this.addCustomViewport(e)})}_getViewportsAsArray(){return Array.from(this._viewports.values())}_setViewportsToBeRenderedNextFrame(e){e.forEach(e=>{this._needsRender.add(e);let t=this._viewports.get(e);t&&(t.viewportStatus=VS.NEEDS_RENDER)}),this._render()}_render(){this._needsRender.size>0&&!this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedViewports),this._animationFrameSet=!0)}_resetViewport(e){let t=this.id,{element:r,canvas:n,id:a}=e;e.removeWidgets(),FS(FM,Lj.ELEMENT_DISABLED,{element:r,viewportId:a,renderingEngineId:t}),e.destroy?.(),r.removeAttribute("data-viewport-uid"),r.removeAttribute("data-rendering-engine-uid"),ehK.forEach(({name:e,attribute:t})=>{if(!r.hasAttribute(t))return;let n=r.getAttribute(t);n?r.style.setProperty(e,n):r.style.removeProperty(e),r.removeAttribute(t)}),n.getContext("2d").clearRect(0,0,n.width,n.height)}_clearAnimationFrame(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null}_reset(){this._getViewportsAsArray().forEach(e=>{this._resetViewport(e)}),this._clearAnimationFrame(),this._viewports=new Map}_throwIfDestroyed(){if(this.hasBeenDestroyed)throw Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}}epr.NEXT_TYPE_REMAP={[LF.STACK]:LF.PLANAR_NEXT,[LF.ORTHOGRAPHIC]:LF.PLANAR_NEXT,[LF.VIDEO]:LF.VIDEO_NEXT,[LF.WHOLE_SLIDE]:LF.WHOLE_SLIDE_NEXT,[LF.ECG]:LF.ECG_NEXT,[LF.VOLUME_3D]:LF.VOLUME_3D_NEXT},Fr.getLogger("RenderingEngine","attachWebGLContextEvents"),Fr.getLogger("RenderingEngine","TiledRenderingEngine"),Fr.getLogger("RenderingEngine","ContextPoolRenderingEngine"),Fr.getLogger("RenderingEngine"),Fr.getLogger("utilities","TargetEventListeners"),(ew0=eCU||(eCU={}))[ew0.None=0]="None",ew0[ew0.Capture=1]="Capture",ew0[ew0.Bubble=2]="Bubble",Symbol("LastRuntimeId");let epn=jH;function epa(e){return Array.isArray(e)?e:[e]}Fr.getLogger("utilities","loadImageToCanvas");new class{constructor(e="Tools",t=50){this.position=-1,this.redoAvailable=0,this.undoAvailable=0,this.ring=[],this.isRecordingGrouped=!1,this.label=e,this._size=t}get size(){return this._size}set size(e){this.ring=Array(e),this._size=e,this.position=-1,this.redoAvailable=0,this.undoAvailable=0}get canUndo(){return this.undoAvailable>0}get canRedo(){return this.redoAvailable>0}undo(e=1){for(;e>0&&this.undoAvailable>0;){for(let e of epa(this.ring[this.position]).reverse())e.restoreMemo(!0),this.dispatchHistoryEvent({item:e,isUndo:!0});e--,this.redoAvailable++,this.undoAvailable--,this.position=(this.position-1+this.size)%this.size}}undoIf(e){return!!(this.undoAvailable>0&&e(this.ring[this.position]))&&(this.undo(),!0)}dispatchHistoryEvent({item:e,isUndo:t}){e.id&&FM.dispatchEvent(new CustomEvent(t?"CORNERSTONE_TOOLS_HISTORY_UNDO":"CORNERSTONE_TOOLS_HISTORY_REDO",{detail:{isUndo:t,id:e.id,operationType:e.operationType||"annotation",memo:e}}))}redo(e=1){for(;e>0&&this.redoAvailable>0;){let t=(this.position+1)%this.size;for(let e of epa(this.ring[t]).reverse())e.restoreMemo(!1),this.dispatchHistoryEvent({item:e,isUndo:!1});e--,this.position=t,this.undoAvailable++,this.redoAvailable--}}initializeGroupItem(){this.redoAvailable=0,this.undoAvailable<this._size&&this.undoAvailable++,this.position=(this.position+1)%this._size,this.ring[this.position]=[]}startGroupRecording(){this.isRecordingGrouped=!0,this.initializeGroupItem()}rollbackUnusedGroupItem(){this.ring[this.position]=void 0,this.position=(this.position-1)%this._size,this.undoAvailable--}endGroupRecording(){this.isRecordingGrouped=!1;let e=this.ring[this.position];Array.isArray(e)&&0===e.length&&this.rollbackUnusedGroupItem()}pushGrouped(e){let t=this.ring[this.position];if(Array.isArray(t))return t.push(e),e;throw Error("Last item should be an array for grouped memos.")}push(e){if(!e)return;let t=e.restoreMemo?e:e.createMemo?.();if(t)return this.isRecordingGrouped?this.pushGrouped(t):(this.redoAvailable=0,this.undoAvailable<this._size&&this.undoAvailable++,this.position=(this.position+1)%this._size,this.ring[this.position]=t,t)}replaceCurrentMemo(e,t){if(!e||0===this.undoAvailable)return!1;let r=this.ring[this.position],n=epa(r).findIndex(t);if(-1===n)return!1;let a=e.restoreMemo?e:e.createMemo?.();return!!a&&(Array.isArray(r)?r[n]=a:this.ring[this.position]=a,!0)}};let epi={},epo={add:(e,t)=>{let[r,n]=e,a=`${r}_${n}`;epi[a]||(epi[a]={}),epi[a]=t},get:(e,t,r)=>{if("spatialRegistrationModule"!==e)return;let n=`${t}_${r}`;if(epi[n])return epi[n];let a=`${r}_${t}`;if(epi[a])return N7.mat4.invert(N7.mat4.create(),epi[a])}};HK(epo.get.bind(epo)),Fr.getLogger("utilities","calculateViewportsSpatialRegistration"),Fr.getLogger("utilities","deepEqual");let{Cc:eps,VD:epl,lJ:epd}=W,epu=new Fg("imageRetrievalPool");epu.setMaxSimultaneousRequests(LV.Interaction,200),epu.setMaxSimultaneousRequests(LV.Thumbnail,200),epu.setMaxSimultaneousRequests(LV.Prefetch,200),epu.grabDelay=0;let epc=Symbol("DefaultSettings"),eph=Symbol("RuntimeSettings"),epp=Symbol("ObjectSettingsMap"),epm=Symbol("Dictionary");class epf{constructor(e){const t=Object.create(e instanceof epf&&epm in e?e[epm]:null);Object.seal(Object.defineProperty(this,epm,{value:t}))}set(e,t){return epy(this[epm],e,t,null)}get(e){var t;return t=this[epm],t[e]}unset(e){return function(e,t){if(t.endsWith(".")){let r=0,n=t.slice(0,-1),a=0===n.length;for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&(a||i.startsWith(t)||i===n)&&(delete e[i],++r);return r>0}return delete e[t]}(this[epm],e+"")}forEach(e){epg(this[epm],e)}extend(){return new epf(this)}import(e){epv(e)&&Object.keys(e).forEach(t=>{epy(this[epm],t,e[t],null)})}dump(){let e={};return epg(this[epm],(t,r)=>{void 0!==r&&function e(t,r,n){let a=r.indexOf(".");if(a>=0){let i=r.slice(0,a),o=t[i];if("object"!=typeof o||null===o){let e=o;o={},void 0!==e&&(o[""]=e),t[i]=o}e(o,r.slice(a+1,r.length),n)}else t[r]=n}(e,t,r)}),e}static assert(e){return e instanceof epf?e:epf.getRuntimeSettings()}static getDefaultSettings(e=null){let t=epf[epc];if(t instanceof epf||(t=new epf,epf[epc]=t),e){let r={};return t.forEach(n=>{n.startsWith(e)&&(r[n.split(`${e}.`)[1]]=t.get(n))}),r}return t}static getRuntimeSettings(){let e=epf[eph];return e instanceof epf||(e=new epf(epf.getDefaultSettings()),epf[eph]=e),e}static getObjectSettings(e,t){let r=null;if(e instanceof epf)r=e;else if("object"==typeof e&&null!==e){let n=epf[epp];n instanceof WeakMap||(n=new WeakMap,epf[epp]=n),(r=n.get(e))instanceof epf||(r=new epf(epf.assert(epf.getObjectSettings(t))),n.set(e,r))}return r}static extendRuntimeSettings(){return epf.getRuntimeSettings().extend()}}function epg(e,t){for(let r in e)t(r,e[r])}function epy(e,t,r,n){if(function(e){let t,r,n;if("string"!=typeof e||(t=e.length-1)<0)return!1;for(n=-1;(r=e.indexOf(".",n+1))>=0;){if(r-n<2||r===t)return!1;n=r}return!0}(t)){if(epv(r)){let i;var a=n instanceof WeakSet?n:new WeakSet;if(a.has(r))return epy(e,t,null,a);for(let n in a.add(r),i=0,r)Object.prototype.hasOwnProperty.call(r,n)&&!epy(e,0===n.length?t:`${t}.${n}`,r[n],a)&&++i;return a.delete(r),0===i}return e[t]=r,!0}return!1}function epv(e){if("object"==typeof e&&null!==e){let t=Object.getPrototypeOf(e);if(t===Object.prototype||null===t)return!0}return!1}function epb(e,t,r){let{PaletteColorLookupTableUID:n}=e;if(void 0!==e[t]||void 0!==n)return function(e,t){let r=t[0]||65536,n=t[2];if(!e)return;let a=e=>{let t=e.buffer||e,a=t.byteLength===2*r||n>8?new Uint16Array(t):new Uint8Array(t),i=[];for(let e=0;e<r;e++)i[e]=a[e];return i};if(e.palette)return e.palette;if(e.InlineBinary)try{let t=Uint8Array.from(atob(e.InlineBinary),e=>e.charCodeAt(0));return e.palette=a(t)}catch(t){console.log("Couldn't decode",e.InlineBinary,t);return}let i=Array.isArray(e)?e[0]:e;return i instanceof ArrayBuffer?e.palette=a(i):e.retrieveBulkData?e.retrieveBulkData().then(t=>e.palette=a(t)):void console.error(`No data found for ${e} palette`)}(e[t],e[r])}function epx(e,t,r){if(e[r])return e[r];let n=Object.create(e);return Object.defineProperty(e,r,{value:n,writable:!1,enumerable:!1}),t&&[...t?Object.values(t).filter(Boolean).map(e=>e[0]).filter(e=>"object"==typeof e):[]].forEach(e=>{e.SOPInstanceUID||Object.entries(e).forEach(([e,t])=>{n[e]=t})}),n}epf.getDefaultSettings().set("useCursors",!0);let{ZX:epw,Cc:epC}=q,{nw:epk}=W,epM=new class{constructor(){this.imageURIToUIDs=new Map,this.customMetadata=new Map}addImageIdToUIDs(e,t){if(!e)throw Error("MetadataProvider::Empty imageId");let r=Rt(e);this.imageURIToUIDs.set(r,t)}addCustomMetadata(e,t,r){let n=Rt(e);this.customMetadata.has(t)||this.customMetadata.set(t,{}),this.customMetadata.get(t)[n]=r}_getInstance(e){if(!e)throw Error("MetadataProvider::Empty imageId");let t=this.getUIDsFromImageID(e);if(!t)return;let{StudyInstanceUID:r,SeriesInstanceUID:n,SOPInstanceUID:a,frameNumber:i}=t,o=Nv.getInstance(r,n,a);if(!o)return;let s=i&&((e,t)=>{let{PerFrameFunctionalGroupsSequence:r,SharedFunctionalGroupsSequence:n,NumberOfFrames:a,ImageType:i}=t;if(a<2)return t;t.ImageType=Array.isArray(i)&&i||"string"==typeof i&&i.split("\\")||i;let o=Number.parseInt(e||1),s=t.DetectorInformationSequence&&(!t.ImagePositionPatient||!t.ImageOrientationPatient);if(r&&n||s||a>1){!t.ImageOrientationPatient&&t.DetectorInformationSequence&&(t.ImageOrientationPatient=t.DetectorInformationSequence[0].ImageOrientationPatient);let e=t.ImagePositionPatient;if(!t.ImagePositionPatient&&t.DetectorInformationSequence){let r=t.DetectorInformationSequence[0].ImagePositionPatient,n=t.ImageOrientationPatient;r=r?.map(e=>Number(e)),n=n?.map(e=>Number(e));let a=Number(t.SpacingBetweenSlices);if(n&&a){let t=N7.vec3.fromValues(n[0],n[1],n[2]),i=N7.vec3.fromValues(n[3],n[4],n[5]),s=N7.vec3.cross(N7.vec3.create(),t,i),l=N7.vec3.scaleAndAdd(N7.vec3.create(),r,s,a*(o-1));e=[l[0],l[1],l[2]]}}t._parentInstance||Object.defineProperty(t,"_parentInstance",{value:{...t},enumerable:!1,writable:!1,configurable:!1});let a=epx(t._parentInstance,n?.[0],"_shared"),i=epx(a,r?.[o-1],o);return i.ImagePositionPatient=e??i.ImagePositionPatient??[0,0,o],Object.defineProperty(i,"frameNumber",{value:o,writable:!0,enumerable:!1,configurable:!0}),i}if(t.GridFrameOffsetVector){t._parentInstance||Object.defineProperty(t,"_parentInstance",{value:{...t},enumerable:!1,writable:!1,configurable:!1});let e=epx(t._parentInstance,n?.[0],"_shared"),a=epx(e,r?.[o-1],o),i=a.ImagePositionPatient?.map(Number),s=a.ImageOrientationPatient?.map(Number),l=Number(t.GridFrameOffsetVector[o-1]);if(i&&s&&!Number.isNaN(l)){let e=N7.vec3.fromValues(s[0],s[1],s[2]),t=N7.vec3.fromValues(s[3],s[4],s[5]),r=N7.vec3.cross(N7.vec3.create(),e,t),n=N7.vec3.scaleAndAdd(N7.vec3.create(),N7.vec3.fromValues(...i),r,l);a.ImagePositionPatient=[n[0],n[1],n[2]]}return Object.defineProperty(a,"frameNumber",{value:o,writable:!0,enumerable:!1,configurable:!0}),a}return t})(i,o)||o;return s&&Object.defineProperty(s,"imageId",{value:e,writable:!0,enumerable:!1,configurable:!0}),s}get(e,t,r={fallback:!1}){if(Array.isArray(t))return;let n=this._getInstance(t);if(e===epI)return n;if(this.customMetadata.has(e)){let r=this.customMetadata.get(e),n=Rt(t);if(r[n])return r[n]}return this.getTagFromInstance(e,n,r)}getTag(e,t,r){return this.get(e,t,r)}getInstance(e){return this.get(epI,e)}getTagFromInstance(e,t,r={fallback:!1}){if(t)return t[e]?t[e]:this._getCornerstoneDICOMImageLoaderTag(e,t)}addHandler(e,t){epT[e]=t}_getCornerstoneDICOMImageLoaderTag(e,t){let r=epT[e]?.(t);if(r)return r;switch(e){case epS.GENERAL_SERIES_MODULE:r={modality:t.Modality,seriesInstanceUID:t.SeriesInstanceUID,seriesNumber:N9(t.SeriesNumber),studyInstanceUID:t.StudyInstanceUID,seriesDescription:t.SeriesDescription,seriesDate:t.SeriesDate,seriesTime:t.SeriesTime};break;case epS.PATIENT_STUDY_MODULE:r={patientAge:t.PatientAge,patientSize:t.PatientSize,patientWeight:t.PatientWeight};break;case epS.PATIENT_DEMOGRAPHIC_MODULE:r={patientSex:t.PatientSex};break;case epS.IMAGE_PIXEL_MODULE:r={samplesPerPixel:N9(t.SamplesPerPixel),photometricInterpretation:t.PhotometricInterpretation,rows:N9(t.Rows),columns:N9(t.Columns),bitsAllocated:N9(t.BitsAllocated),bitsStored:N9(t.BitsStored),highBit:N9(t.HighBit),pixelRepresentation:N9(t.PixelRepresentation),planarConfiguration:N9(t.PlanarConfiguration),pixelAspectRatio:N9(t.PixelAspectRatio),smallestPixelValue:N9(t.SmallestPixelValue),largestPixelValue:N9(t.LargestPixelValue),redPaletteColorLookupTableDescriptor:N9(t.RedPaletteColorLookupTableDescriptor),greenPaletteColorLookupTableDescriptor:N9(t.GreenPaletteColorLookupTableDescriptor),bluePaletteColorLookupTableDescriptor:N9(t.BluePaletteColorLookupTableDescriptor),redPaletteColorLookupTableData:epb(t,"RedPaletteColorLookupTableData","RedPaletteColorLookupTableDescriptor"),greenPaletteColorLookupTableData:epb(t,"GreenPaletteColorLookupTableData","GreenPaletteColorLookupTableDescriptor"),bluePaletteColorLookupTableData:epb(t,"BluePaletteColorLookupTableData","BluePaletteColorLookupTableDescriptor")};break;case epS.VOI_LUT_MODULE:let{WindowCenter:n,WindowWidth:a,VOILUTFunction:i}=t;if(null==n||null==a)return;let o=Array.isArray(n)?n:[n],s=Array.isArray(a)?a:[a];r={windowCenter:N9(o),windowWidth:N9(s),voiLUTFunction:i};break;case epS.MODALITY_LUT_MODULE:let{RescaleIntercept:l,RescaleSlope:d}=t;if(null==l||null==d)return;r={rescaleIntercept:N9(t.RescaleIntercept),rescaleSlope:N9(t.RescaleSlope),rescaleType:t.RescaleType};break;case epS.SOP_COMMON_MODULE:r={sopClassUID:t.SOPClassUID,sopInstanceUID:t.SOPInstanceUID};break;case epS.PET_IMAGE_MODULE:r={frameReferenceTime:t.FrameReferenceTime,actualFrameDuration:t.ActualFrameDuration};break;case epS.PET_ISOTOPE_MODULE:let{RadiopharmaceuticalInformationSequence:u}=t;if(u){let{RadiopharmaceuticalStartTime:e,RadionuclideTotalDose:t,RadionuclideHalfLife:n}=Array.isArray(u)?u[0]:u;r={radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:LL().parseTM(e),radionuclideTotalDose:t,radionuclideHalfLife:n}}}break;case epS.OVERLAY_PLANE_MODULE:let c=[];for(let e=0;e<=30;e+=2){let r=`60${e.toString(16)}`;3===r.length&&(r=`600${e.toString(16)}`);let n=t[`${r}3000`];if(!n)continue;let a=`${r}0010`,i=`${r}0011`,o=`${r}0040`,s=`${r}0050`,l=`${r}0022`,d=`${r}1500`,u=`${r}1301`,h=`${r}1302`,p=`${r}1303`,m=t[s],f=0;f=t[a]instanceof Array?new Uint16Array(t[a][0])[0]:t[a];let g=0;g=t[i]instanceof Array?new Uint16Array(t[i][0])[0]:t[i];let y=0,v=0;if(1===m.length){let e=new Int16Array(m[0]);y=e[0],v=e[1]}else y=m[0],v=m[1];let b={rows:f,columns:g,type:t[o],x:y,y:v,pixelData:n,description:t[l],label:t[d],roiArea:t[u],roiMean:t[h],roiStandardDeviation:t[p]};c.push(b)}r={overlays:c};break;case epS.PATIENT_MODULE:r={patientName:t.PatientName,patientId:t.PatientID,patientSex:t.PatientSex,patientBirthDate:t.PatientBirthDate,issuerOfPatientId:t.IssuerOfPatientID,otherPatientIDsSequence:t.OtherPatientIDsSequence};break;case epS.GENERAL_IMAGE_MODULE:r={sopInstanceUID:t.SOPInstanceUID,instanceNumber:N9(t.InstanceNumber),instanceCreationDate:t.InstanceCreationDate,instanceCreationTime:t.InstanceCreationTime,contentDate:t.ContentDate,contentTime:t.ContentTime,lossyImageCompression:t.LossyImageCompression,lossyImageCompressionRatio:t.LossyImageCompressionRatio,lossyImageCompressionMethod:t.LossyImageCompressionMethod};break;case epS.GENERAL_STUDY_MODULE:r={studyDescription:t.StudyDescription,studyInstanceUID:t.StudyInstanceUID,studyDate:t.StudyDate,studyTime:t.StudyTime,accessionNumber:t.AccessionNumber,studyId:t.StudyID};break;case epS.CINE_MODULE:r={frameTime:t.FrameTime,numberOfFrames:t.NumberOfFrames?Number(t.NumberOfFrames):1};break;case epS.PET_SERIES_MODULE:r={correctedImage:t.CorrectedImage,units:t.Units,decayCorrection:t.DecayCorrection};break;case epS.CALIBRATION_MODULE:r={sequenceOfUltrasoundRegions:t.SequenceOfUltrasoundRegions?.map(e=>({regionSpatialFormat:e.RegionSpatialFormat,regionDataType:e.RegionDataType,regionFlags:e.RegionFlags,regionLocationMinX0:e.RegionLocationMinX0,regionLocationMinY0:e.RegionLocationMinY0,regionLocationMaxX1:e.RegionLocationMaxX1,regionLocationMaxY1:e.RegionLocationMaxY1,referencePixelX0:e.ReferencePixelX0,referencePixelY0:e.ReferencePixelY0,referencePixelPhysicalValueX:e.ReferencePixelPhysicalValueX,referencePixelPhysicalValueY:e.ReferencePixelPhysicalValueY,physicalUnitsXDirection:e.PhysicalUnitsXDirection,physicalUnitsYDirection:e.PhysicalUnitsYDirection,physicalDeltaX:e.PhysicalDeltaX,physicalDeltaY:e.PhysicalDeltaY}))};break;case"temporalPositionIdentifier":r={temporalPositionIdentifier:t.TemporalPositionIdentifier};break;default:return}return r}getUIDsFromImageID(e){if(e.startsWith("wadors:")){let t=e.split("/studies/")[1].split("/");return{StudyInstanceUID:t[0],SeriesInstanceUID:t[2],SOPInstanceUID:t[4],frameNumber:t[6]}}if(e.includes("?requestType=WADO")){let t=N0.parse(e),r=t.frameNumber||t.frame;return{StudyInstanceUID:t.studyUID,SeriesInstanceUID:t.seriesUID,SOPInstanceUID:t.objectUID,frameNumber:r}}let t=Rt(e),r=this.imageURIToUIDs.get(t);if(!r)return;let n=epk(e)?.framesString||r.frameNumber||"1";return{...r,frameNumber:n}}};Nv.setMetaDataProvider(epM);let epS={GENERAL_SERIES_MODULE:"generalSeriesModule",PATIENT_STUDY_MODULE:"patientStudyModule",IMAGE_PIXEL_MODULE:"imagePixelModule",VOI_LUT_MODULE:"voiLutModule",MODALITY_LUT_MODULE:"modalityLutModule",SOP_COMMON_MODULE:"sopCommonModule",PET_IMAGE_MODULE:"petImageModule",PET_ISOTOPE_MODULE:"petIsotopeModule",PET_SERIES_MODULE:"petSeriesModule",OVERLAY_PLANE_MODULE:"overlayPlaneModule",PATIENT_DEMOGRAPHIC_MODULE:"patientDemographicModule",PATIENT_MODULE:"patientModule",GENERAL_IMAGE_MODULE:"generalImageModule",GENERAL_STUDY_MODULE:"generalStudyModule",CINE_MODULE:"cineModule",CALIBRATION_MODULE:"calibrationModule"},epT={frameModule:e=>{let{frameNumber:t=1,numberOfFrames:r=1,SOPClassUID:n,SOPInstanceUID:a,SeriesInstanceUID:i,StudyInstanceUID:o}=e;return{frameNumber:t,numberOfFrames:r,sopClassUID:n,sopInstanceUID:a,seriesInstanceUID:i,studyInstanceUID:o}},imagePlaneModule:e=>{let t,r,n,a,i,{ImageOrientationPatient:o,ImagePositionPatient:s}=e,{PixelSpacing:l,type:d}=epC(e)||{},u=!1,c=!1,h=!1;l?([t,r]=l,epn.get("calibratedPixelSpacing",e.imageId)||epw.add(e.imageId,{rowPixelSpacing:parseFloat(l[0]),columnPixelSpacing:parseFloat(l[1]),type:d})):(t=r=1,u=!0),o&&Array.isArray(o)&&6===o.length&&o.some(e=>0!==parseFloat(e))?(n=N9(o.slice(0,3)),a=N9(o.slice(3,6)),i=N9(o)):(n=[1,0,0],a=[0,1,0],i=[1,0,0,0,1,0],u=!0,c=!0,h=!0);let p=N9(s)||[0,0,0];return s||(u=!0),{frameOfReferenceUID:e.FrameOfReferenceUID,rows:N9(e.Rows),columns:N9(e.Columns),spacingBetweenSlices:N9(e.SpacingBetweenSlices),imageOrientationPatient:i,rowCosines:n,isDefaultValueSetForRowCosine:c,columnCosines:a,isDefaultValueSetForColumnCosine:h,imagePositionPatient:p,sliceThickness:N9(e.SliceThickness),sliceLocation:N9(e.SliceLocation),pixelSpacing:N9(l||1),rowPixelSpacing:t?N9(t):null,columnPixelSpacing:r?N9(r):null,usingDefaultValues:u}}},epI="instance";d(6642),{...N5,defaults:{hotkeyBindings:LA}};let ep_={activeViewportId:null,layout:{numRows:0,numCols:0,layoutType:"grid"},isHangingProtocolLayout:!1,viewports:new Map(Object.entries({default:{viewportId:"default",displaySetInstanceUIDs:[],isReady:!1,viewportOptions:{viewportId:"default"},displaySetSelectors:[],displaySetOptions:[{}],x:0,y:0,width:100,height:100,viewportLabel:null}}))},epP=(0,tx.createContext)([ep_,{}]);function epE(e){let t,r,n,a,i,o,s,l,d,u,c,h,p,m,f,g,y,v,b,x,w,C,k,M,S,T,I,_,P,E=(0,tb.c)(62),{children:D,service:A}=e;E[0]!==A?(t=(e,t)=>{switch(t.type){case"SET_ACTIVE_VIEWPORT_ID":return{...e,...{activeViewportId:t.payload}};case"SET_DISPLAYSETS_FOR_VIEWPORTS":{let{payload:r}=t,n=new Map(e.viewports);return r.forEach(t=>{let{viewportId:r,displaySetInstanceUIDs:a}=t;if(!r)throw Error("ViewportId is required to set display sets for viewport");let i=n.get(r);if(i?.viewportOptions?.initialImageOptions){let{useOnce:e}=i.viewportOptions.initialImageOptions;e&&(i.viewportOptions.initialImageOptions=null)}let o=O4()({},i?.viewportOptions,t?.viewportOptions),s=t?.displaySetOptions||[];!s.length&&(e.isHangingProtocolLayout&&s.push(...i.displaySetOptions||[]),s.length||s.push({})),t.viewportOptions||e.isHangingProtocolLayout||(o={viewportId:o.viewportId});let l={...i,displaySetInstanceUIDs:a,viewportOptions:o,displaySetOptions:s};o.presentationIds=A.getPresentationIds({viewport:l,viewports:n}),n.set(r,{...n.get(r),...l})}),{...e,viewports:n}}case"SET_LAYOUT":{let{numCols:r,numRows:n,layoutOptions:a,layoutType:i,activeViewportId:o,findOrCreateViewport:s,isHangingProtocolLayout:l}=t.payload,d=a?.length,u=new Map,c={},h=o;for(let e=0;e<n;e++)for(let t=0;t<r;t++){let i,o,l,h,p=t+e*r,m=a[p];a&&a[p]?{x:i,y:o,width:l,height:h}=a[p]:(l=1/r,h=1/n,i=t*l,o=e*h);let f=Math.round(i*r),g=Math.round(o*n),y=m?.positionId||`${f}-${g}`;if(d&&p>=a.length)continue;let v=s(p,y,c);if(v){if(v.positionId=y,!v.viewportOptions?.viewportId){let e=NQ().substring(0,8);v.viewportOptions=v.viewportOptions||{},v.viewportOptions.viewportId=`viewport-${e}`}if(v.viewportId=v.viewportOptions.viewportId,u.set(v.viewportId,v),Object.assign(v,{width:l,height:h,x:i,y:o}),v.isReady=!1,!v.viewportOptions.presentationIds){let e=A.getPresentationIds({viewport:v,viewports:u});v.viewportOptions.presentationIds=e}}}return h=h??((e,t)=>{let{activeViewportId:r}=e,n=e.viewports.get(r);if(!n)return t.values().next().value.viewportOptions.viewportId;let a=n.displaySetInstanceUIDs,i=n.viewportOptions.orientation,o=Array.from(Array.from(t.values()).filter(e=>e.displaySetInstanceUIDs?.length>0).values()).sort((e,t)=>{let r=e.viewportOptions.orientation===i,n=t.viewportOptions.orientation===i;if(r!==n)return n-r;let o=e.displaySetInstanceUIDs.some(e=>a.includes(e)),s=t.displaySetInstanceUIDs.some(e=>a.includes(e));return o!==s?s-o:0});return o?.length?o[0].viewportId:null})(e,u),{...e,activeViewportId:h,layout:{...e.layout,numCols:r,numRows:n,layoutType:void 0===i?"grid":i},viewports:u,isHangingProtocolLayout:l}}case"RESET":return ep_;case"SET":return{...e,...t.payload};case"VIEWPORT_IS_READY":{let{viewportId:r,isReady:n}=t.payload,a=new Map(e.viewports),i=a.get(r);if(!i)return;return a.set(r,{...i,isReady:n}),{...e,viewports:a}}default:return t.payload}},E[0]=A,E[1]=t):t=E[1];let O=t,[N,R]=(0,tx.useReducer)(O,ep_);E[2]!==N?(r=()=>N,E[2]=N,E[3]=r):r=E[3];let L=r;E[4]!==N?(n=e=>{let{viewports:t,activeViewportId:r}=N;return t.get(r)?.viewportOptions?.[e]},E[4]=N,E[5]=n):n=E[5];let j=n;E[6]===Symbol.for("react.memo_cache_sentinel")?(a=e=>R({type:"SET_ACTIVE_VIEWPORT_ID",payload:e}),E[6]=a):a=E[6];let V=a;E[7]===Symbol.for("react.memo_cache_sentinel")?(i=e=>R({type:"SET_DISPLAYSETS_FOR_VIEWPORTS",payload:e}),E[7]=i):i=E[7];let F=i;E[8]===Symbol.for("react.memo_cache_sentinel")?(o=(e,t)=>{R({type:"VIEWPORT_IS_READY",payload:{viewportId:e,isReady:t}})},E[8]=o):o=E[8];let B=o;E[9]!==N?(s=()=>{let{viewports:e}=N,t=Array.from(e.values()).filter(epO);return 0!==t.length&&t.filter(epA).length===t.length},E[9]=N,E[10]=s):s=E[10];let W=s;E[11]===Symbol.for("react.memo_cache_sentinel")?(l=e=>{let{layoutType:t,numRows:r,numCols:n,layoutOptions:a,activeViewportId:i,findOrCreateViewport:o,isHangingProtocolLayout:s}=e;return R({type:"SET_LAYOUT",payload:{layoutType:t,numRows:r,numCols:n,layoutOptions:void 0===a?[]:a,activeViewportId:i,findOrCreateViewport:o,isHangingProtocolLayout:s}})},E[11]=l):l=E[11];let U=l;E[12]===Symbol.for("react.memo_cache_sentinel")?(d=()=>R({type:"RESET",payload:{}}),E[12]=d):d=E[12];let z=d;E[13]===Symbol.for("react.memo_cache_sentinel")?(u=e=>R({type:"SET",payload:e}),E[13]=u):u=E[13];let H=u;E[14]!==N?(c=e=>{let{viewports:t}=N;return t.get(e)},E[14]=N,E[15]=c):c=E[15];let G=c;E[16]!==N?(h=()=>{let{layout:e,viewports:t}=N,{numRows:r,numCols:n}=e;return Math.min(t.size,n*r)},E[16]=N,E[17]=h):h=E[17];let q=h;E[18]!==W||E[19]!==q||E[20]!==L||E[21]!==G||E[22]!==A?(p=()=>{A&&A.setServiceImplementation({getState:L,setActiveViewportId:V,setDisplaySetsForViewports:F,isReferenceViewable:epD,setLayout:U,reset:z,onModeExit:z,set:H,getNumViewportPanes:q,setViewportIsReady:B,getViewportState:G,getGridViewportsReady:W})},m=[L,A,V,F,U,z,H,q,B,W,G],E[18]=W,E[19]=q,E[20]=L,E[21]=G,E[22]=A,E[23]=p,E[24]=m):(p=E[23],m=E[24]),(0,tx.useEffect)(p,m),E[25]!==A?(f=e=>A.setActiveViewportId(e),g=e=>A.setDisplaySetsForViewports([e]),y=e=>A.setDisplaySetsForViewports(e),v=(e,t,r)=>A.isReferenceViewable(e,t,r),b=e=>A.setLayout(e),x=e=>A.getViewportState(e),w=()=>A.reset(),C=e=>A.setState(e),E[25]=A,E[26]=f,E[27]=g,E[28]=y,E[29]=v,E[30]=b,E[31]=x,E[32]=w,E[33]=C):(f=E[26],g=E[27],y=E[28],v=E[29],b=E[30],x=E[31],w=E[32],C=E[33]),E[34]!==A?(k=e=>A.setViewportGridSizeChanged(e),M=()=>A.publishViewportsReady(),S=e=>A.getLayoutOptionsFromState(e),T=e=>A.getDisplaySetsUIDsForViewport(e),E[34]=A,E[35]=k,E[36]=M,E[37]=S,E[38]=T):(k=E[35],M=E[36],S=E[37],T=E[38]),E[39]!==j||E[40]!==W||E[41]!==q||E[42]!==L||E[43]!==f||E[44]!==g||E[45]!==y||E[46]!==v||E[47]!==b||E[48]!==x||E[49]!==w||E[50]!==C||E[51]!==k||E[52]!==M||E[53]!==S||E[54]!==T?(I={getState:L,setActiveViewportId:f,setDisplaySetsForViewport:g,setDisplaySetsForViewports:y,isReferenceViewable:v,setLayout:b,getViewportState:x,reset:w,set:C,getNumViewportPanes:q,setViewportIsReady:B,getGridViewportsReady:W,getActiveViewportOptionByKey:j,setViewportGridSizeChanged:k,publishViewportsReady:M,getLayoutOptionsFromState:S,getDisplaySetsUIDsForViewport:T},E[39]=j,E[40]=W,E[41]=q,E[42]=L,E[43]=f,E[44]=g,E[45]=y,E[46]=v,E[47]=b,E[48]=x,E[49]=w,E[50]=C,E[51]=k,E[52]=M,E[53]=S,E[54]=T,E[55]=I):I=E[55];let $=I;return E[56]!==$||E[57]!==N?(_=[N,$],E[56]=$,E[57]=N,E[58]=_):_=E[58],E[59]!==D||E[60]!==_?(P=(0,tS.jsx)(epP.Provider,{value:_,children:D}),E[59]=D,E[60]=_,E[61]=P):P=E[61],P}function epD(){return!1}function epA(e){return e.isReady}function epO(e){return e.displaySetInstanceUIDs?.length>0}let epN=()=>(0,tx.useContext)(epP),epR=(0,tx.createContext)(null),epL=()=>{let e=(0,tx.useContext)(epR);if(!e)throw Error("useModal must be used within a ModalProvider");return e},epj={title:"",shouldCloseOnEsc:!0},epV=e=>{let t,r,n,a,i,o,s,l,d=(0,tb.c)(17),{children:u,modal:c,service:h}=e,p=void 0===h?null:h,{t:m}=g0("Modals"),[f,g]=(0,tx.useState)(epj),y=f.content;d[0]===Symbol.for("react.memo_cache_sentinel")?(t=e=>{g(t=>({...t,...e}))},d[0]=t):t=d[0];let v=t;d[1]===Symbol.for("react.memo_cache_sentinel")?(r=()=>{g(epj)},d[1]=r):r=d[1];let b=r;d[2]!==p?(n=()=>{p&&p.setServiceImplementation({show:v,hide:b})},a=[b,p,v],d[2]=p,d[3]=n,d[4]=a):(n=d[3],a=d[4]),(0,tx.useEffect)(n,a);let{title:x}=f;d[5]!==p?(i=p?.getCustomComponent(),d[5]=p,d[6]=i):i=d[6];let w=i||c;return d[7]===Symbol.for("react.memo_cache_sentinel")?(o={show:v,hide:b},d[7]=o):o=d[7],d[8]!==y||d[9]!==w||d[10]!==f||d[11]!==m||d[12]!==x?(s=y&&(0,tS.jsx)(w,{isOpen:!0,onClose:b,title:m(x),...f,children:(0,tS.jsx)(y,{...f.contentProps,show:v,hide:b})}),d[8]=y,d[9]=w,d[10]=f,d[11]=m,d[12]=x,d[13]=s):s=d[13],d[14]!==u||d[15]!==s?(l=(0,tS.jsxs)(epR.Provider,{value:o,children:[s,u]}),d[14]=u,d[15]=s,d[16]=l):l=d[16],l};epR.Consumer;let epF=(e,t,r)=>{if(!e||!t)return;let n=e.getBoundingClientRect(),{x:a,y:i}=t;n.bottom>window.innerHeight&&(i-=n.height),n.right>window.innerWidth&&(a-=n.width),r(e=>e&&e.x===a&&e.y===i?e:{x:a,y:i})},epB=e=>{let t,r,n,a,i,o,s,l,d,u,c,h,p,m=(0,tb.c)(40),{id:f,isOpen:g,title:y,content:v,contentProps:b,isDraggable:x,shouldCloseOnEsc:w,shouldCloseOnOverlayClick:C,showOverlay:k,defaultPosition:M,onClose:S,unstyled:T,containerClassName:I,ref:_}=e,P=void 0!==w&&w,E=void 0!==C&&C,D=void 0===k||k,[A,O]=(0,tx.useState)(M),[N,R]=(0,tx.useState)(null),L=(0,tx.useRef)(null);m[0]===Symbol.for("react.memo_cache_sentinel")?(t=()=>({updatePosition:e=>{epF(L.current,e,O)}}),r=[],m[0]=t,m[1]=r):(t=m[0],r=m[1]),(0,tx.useImperativeHandle)(_,t,r);let[j,V]=(0,tx.useState)(M?"invisible":"visible");m[2]===Symbol.for("react.memo_cache_sentinel")?(n=e=>{e&&(L.current=e,R(t=>t===e?t:e))},m[2]=n):n=m[2];let F=n;m[3]!==N||m[4]!==M?(a=()=>{N&&(epF(N,M,O),V("visible"))},i=[N,M],m[3]=N,m[4]=M,m[5]=a,m[6]=i):(a=m[5],i=m[6]),(0,tx.useLayoutEffect)(a,i),m[7]!==f||m[8]!==S?(o=e=>{e||S(f)},m[7]=f,m[8]=S,m[9]=o):o=m[9];let B=T?"p-0":"";return m[10]!==I||m[11]!==j||m[12]!==B?(s=eV(B,I,j),m[10]=I,m[11]=j,m[12]=B,m[13]=s):s=m[13],m[14]!==A?(l={...A?{position:"fixed",left:`${A.x}px`,top:`${A.y}px`,transform:"translate(0, 0)",margin:0,animation:"none",transition:"none"}:{}},m[14]=A,m[15]=l):l=m[15],m[16]!==y||m[17]!==T?(d=!T&&(0,tS.jsx)(aN,{children:y&&(0,tS.jsx)(aL,{children:y})}),m[16]=y,m[17]=T,m[18]=d):d=m[18],m[19]!==f||m[20]!==S?(u=()=>S(f),m[19]=f,m[20]=S,m[21]=u):u=m[21],m[22]!==v||m[23]!==b||m[24]!==u?(c=(0,tS.jsx)(v,{...b,hide:u}),m[22]=v,m[23]=b,m[24]=u,m[25]=c):c=m[25],m[26]!==s||m[27]!==l||m[28]!==d||m[29]!==c||m[30]!==T?(h=(0,tS.jsxs)(aO,{ref:F,className:s,unstyled:T,style:l,children:[d,c]}),m[26]=s,m[27]=l,m[28]=d,m[29]=c,m[30]=T,m[31]=h):h=m[31],m[32]!==x||m[33]!==g||m[34]!==P||m[35]!==E||m[36]!==D||m[37]!==h||m[38]!==o?(p=(0,tS.jsx)(a_,{open:g,modal:!1,onOpenChange:o,isDraggable:x,shouldCloseOnEsc:P,shouldCloseOnOverlayClick:E,showOverlay:D,children:h}),m[32]=x,m[33]=g,m[34]=P,m[35]=E,m[36]=D,m[37]=h,m[38]=o,m[39]=p):p=m[39],p};epB.displayName="ManagedDialog";let epW=epB,epU=(0,tx.createContext)(null),epz=()=>{let e=(0,tx.useContext)(epU);if(!e)throw Error("useDialog must be used within a DialogProvider");return e},epH=e=>{let t,r,n,a,i=(0,tb.c)(6),{children:o,dialog:s,service:l}=e,d=void 0===l?null:l;i[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],i[0]=t):t=i[0];let[u,c]=(0,tx.useState)(t),h=(0,tx.useRef)(new Map);i[1]===Symbol.for("react.memo_cache_sentinel")?(r=e=>{let t=e.id;return c(r=>[...r,{...e,id:t}]),t},i[1]=r):r=i[1];let p=r,m=e=>{c(t=>t.filter(t=>t.id!==e)),h.current.delete(e)};i[2]!==u.length?(n=()=>0===u.length,i[2]=u.length,i[3]=n):n=i[3];let f={show:p,hide:m,hideAll:()=>{c([]),h.current.clear()},isEmpty:n,updatePosition:(e,t)=>{let r=h.current.get(e);r&&r.updatePosition(t)}};(0,tx.useEffect)(()=>{d&&d.setServiceImplementation(f)},[d,f]),i[4]!==d?(a=d?.getCustomComponent?.(),i[4]=d,i[5]=a):a=i[5];let g=a||(void 0===s?epW:s);return(0,tS.jsxs)(epU.Provider,{value:f,children:[u.map(e=>(0,tS.jsx)(g,{ref:t=>{t&&h.current.set(e.id,t)},onClose:m,isOpen:!0,...e},e.id)),o]})},epG={message:void 0,type:"info",actions:void 0,onSubmit:()=>{console.log("btn value?")},onOutsideClick:()=>{console.warn("default: onOutsideClick")},onDismiss:()=>{console.log("dismiss? -1")},onKeyPress:()=>{console.log("key pressed?")}},epq=(0,tx.createContext)(null),{Provider:ep$}=epq,epK=()=>(0,tx.useContext)(epq),epY=e=>{let t,r,n,a,i,o,s,l=(0,tb.c)(15),{children:d,service:u}=e,[c,h]=(0,tx.useState)(epG);l[0]!==c?(t=e=>h({...c,...e}),l[0]=c,l[1]=t):t=l[1];let p=t;l[2]===Symbol.for("react.memo_cache_sentinel")?(r=()=>h(epG),l[2]=r):r=l[2];let m=r;return l[3]!==u||l[4]!==p?(n=()=>{u&&u.setServiceImplementation({hide:m,show:p})},a=[m,u,p],l[3]=u,l[4]=p,l[5]=n,l[6]=a):(n=l[5],a=l[6]),(0,tx.useEffect)(n,a),l[7]!==p?(i={show:p,hide:m},l[7]=p,l[8]=i):i=l[8],l[9]!==i||l[10]!==c?(o=[c,i],l[9]=i,l[10]=c,l[11]=o):o=l[11],l[12]!==d||l[13]!==o?(s=(0,tS.jsx)(ep$,{value:o,children:d}),l[12]=d,l[13]=o,l[14]=s):s=l[14],s},epX={user:null,enabled:!1},epZ=(0,tx.createContext)(epX);function epJ(e){let t,r,n,a,i,o,s,l,d,u,c=(0,tb.c)(23),{children:h,service:p}=e,[m,f]=(0,tx.useReducer)(epQ,epX);c[0]!==m?(t=()=>m,c[0]=m,c[1]=t):t=c[1];let g=t;c[2]===Symbol.for("react.memo_cache_sentinel")?(r=e=>f({type:"SET_USER",payload:{user:e}}),c[2]=r):r=c[2];let y=r;c[3]!==m?(n=()=>m.user,c[3]=m,c[4]=n):n=c[4];let v=n;c[5]===Symbol.for("react.memo_cache_sentinel")?(a=()=>f({type:"RESET",payload:{}}),c[5]=a):a=c[5];let b=a;c[6]===Symbol.for("react.memo_cache_sentinel")?(i=e=>f({type:"SET",payload:e}),c[6]=i):i=c[6];let x=i;c[7]!==g||c[8]!==v||c[9]!==p?(o=()=>{p&&p.setServiceImplementation({getState:g,setUser:y,getUser:v,reset:b,set:x})},s=[g,p,y,v,b,x],c[7]=g,c[8]=v,c[9]=p,c[10]=o,c[11]=s):(o=c[10],s=c[11]),(0,tx.useEffect)(o,s),p&&p.setServiceImplementation({getState:g,setUser:y,getUser:v,reset:b,set:x}),c[12]!==g||c[13]!==v||c[14]!==p.getAuthorizationHeader||c[15]!==p.handleUnauthenticated?(l={getState:g,setUser:y,getUser:v,getAuthorizationHeader:p.getAuthorizationHeader,handleUnauthenticated:p.handleUnauthenticated,reset:b,set:x},c[12]=g,c[13]=v,c[14]=p.getAuthorizationHeader,c[15]=p.handleUnauthenticated,c[16]=l):l=c[16];let w=l;return c[17]!==w||c[18]!==m?(d=[m,w],c[17]=w,c[18]=m,c[19]=d):d=c[19],c[20]!==h||c[21]!==d?(u=(0,tS.jsx)(epZ.Provider,{value:d,children:h}),c[20]=h,c[21]=d,c[22]=u):u=c[22],u}function epQ(e,t){switch(t.type){case"SET_USER":return{...e,...{user:t.payload.user}};case"RESET":return{user:null};case"SET":return{...e,...t.payload};default:return t.payload}}epZ.Consumer;let ep0=()=>(0,tx.useContext)(epZ),ep1=(0,tx.createContext)(null),ep2=()=>(0,tx.useContext)(ep1);function ep5(e){let t,r,n=(0,tb.c)(5),{StudyInstanceUIDs:a,children:i}=e;n[0]!==a?(t={StudyInstanceUIDs:a},n[0]=a,n[1]=t):t=n[1];let o=t;return n[2]!==i||n[3]!==o?(r=(0,tS.jsx)(ep1.Provider,{value:o,children:i}),n[2]=i,n[3]=o,n[4]=r):r=n[4],r}function ep3(e){var t=null;return function(){return null==t&&(t=e()),t}}var ep4=function(){var e;function t(e){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.entered=[],this.isNodeInDocument=e}return e=[{key:"enter",value:function(e){var t,r,n,a,i,o=this,s=this.entered.length;return this.entered=(t=this.entered.filter(function(t){return o.isNodeInDocument(t)&&(!t.contains||t.contains(e))}),r=[e],n=new Set,a=function(e){return n.add(e)},t.forEach(a),r.forEach(a),i=[],n.forEach(function(e){return i.push(e)}),i),0===s&&this.entered.length>0}},{key:"leave",value:function(e){var t,r=this.entered.length;return this.entered=(t=this.entered.filter(this.isNodeInDocument),t.filter(function(t){return t!==e})),r>0&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}(),ep8=ep3(function(){return/firefox/i.test(navigator.userAgent)}),ep6=ep3(function(){return!!window.safari}),ep9=function(){var e;function t(e,r){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");for(var n,a,i,o=e.length,s=[],l=0;l<o;l++)s.push(l);s.sort(function(t,r){return e[t]<e[r]?-1:1});for(var d=[],u=[],c=[],h=0;h<o-1;h++)n=e[h+1]-e[h],a=r[h+1]-r[h],u.push(n),d.push(a),c.push(a/n);for(var p=[c[0]],m=0;m<u.length-1;m++){var f=c[m],g=c[m+1];if(f*g<=0)p.push(0);else{n=u[m];var y=u[m+1],v=n+y;p.push(3*v/((v+y)/f+(v+n)/g))}}p.push(c[c.length-1]);for(var b=[],x=[],w=0;w<p.length-1;w++){i=c[w];var C=p[w],k=1/u[w],M=C+p[w+1]-i-i;b.push((i-C-M)*k),x.push(M*k*k)}this.xs=e,this.ys=r,this.c1s=p,this.c2s=b,this.c3s=x}return e=[{key:"interpolate",value:function(e){var t,r=this.xs,n=this.ys,a=this.c1s,i=this.c2s,o=this.c3s,s=r.length-1;if(e===r[s])return n[s];for(var l=0,d=o.length-1;l<=d;){var u=r[t=Math.floor(.5*(l+d))];if(u<e)l=t+1;else{if(!(u>e))return n[t];d=t-1}}var c=e-r[s=Math.max(0,d)],h=c*c;return n[s]+a[s]*c+i[s]*h+o[s]*c*h}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}();function ep7(e){var t=1===e.nodeType?e:e.parentElement;if(!t)return null;var r=t.getBoundingClientRect(),n=r.top;return{x:r.left,y:n}}function eme(e){return{x:e.clientX,y:e.clientY}}var emt="__NATIVE_FILE__",emr="__NATIVE_URL__",emn="__NATIVE_TEXT__",ema="__NATIVE_HTML__";function emi(e,t,r){var n=t.reduce(function(t,r){return t||e.getData(r)},"");return null!=n?n:r}function emo(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ems=(emo(eCz={},emt,{exposeProperties:{files:function(e){return Array.prototype.slice.call(e.files)},items:function(e){return e.items}},matchesTypes:["Files"]}),emo(eCz,ema,{exposeProperties:{html:function(e,t){return emi(e,t,"")}},matchesTypes:["Html","text/html"]}),emo(eCz,emr,{exposeProperties:{urls:function(e,t){return emi(e,t,"").split("\n")}},matchesTypes:["Url","text/uri-list"]}),emo(eCz,emn,{exposeProperties:{text:function(e,t){return emi(e,t,"")}},matchesTypes:["Text","text/plain"]}),eCz),eml=function(){var e;function t(e){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.config=e,this.item={},this.initializeExposedProperties()}return e=[{key:"initializeExposedProperties",value:function(){var e=this;Object.keys(this.config.exposeProperties).forEach(function(t){Object.defineProperty(e.item,t,{configurable:!0,enumerable:!0,get:function(){return console.warn("Browser doesn't allow reading \"".concat(t,'" until the drop event.')),null}})})}},{key:"loadDataTransfer",value:function(e){var t=this;if(e){var r={};Object.keys(this.config.exposeProperties).forEach(function(n){r[n]={value:t.config.exposeProperties[n](e,t.config.matchesTypes),configurable:!0,enumerable:!0}}),Object.defineProperties(this.item,r)}}},{key:"canDrag",value:function(){return!0}},{key:"beginDrag",value:function(){return this.item}},{key:"isDragging",value:function(e,t){return t===e.getSourceId()}},{key:"endDrag",value:function(){}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}();function emd(e){if(!e)return null;var t=Array.prototype.slice.call(e.types||[]);return Object.keys(ems).filter(function(e){return ems[e].matchesTypes.some(function(e){return t.indexOf(e)>-1})})[0]||null}var emu=function(){var e;function t(e,r){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.ownerDocument=null,this.globalContext=e,this.optionsArgs=r}return e=[{key:"window",get:function(){return this.globalContext?this.globalContext:"u">typeof window?window:void 0}},{key:"document",get:function(){var e;return null!=(e=this.globalContext)&&e.document?this.globalContext.document:this.window?this.window.document:void 0}},{key:"rootElement",get:function(){var e;return(null==(e=this.optionsArgs)?void 0:e.rootElement)||this.window}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}();function emc(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 emh(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?emc(Object(r),!0).forEach(function(t){var n,a,i;n=e,a=t,i=r[t],a in n?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):emc(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var emp=function(){var e;function t(e,r,n){var a=this;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.getSourceClientOffset=function(e){var t=a.sourceNodes.get(e);return t&&ep7(t)||null},this.endDragNativeItem=function(){a.isDraggingNativeItem()&&(a.actions.endDrag(),a.currentNativeHandle&&a.registry.removeSource(a.currentNativeHandle),a.currentNativeHandle=null,a.currentNativeSource=null)},this.isNodeInDocument=function(e){return!!(e&&a.document&&a.document.body&&document.body.contains(e))},this.endDragIfSourceWasRemovedFromDOM=function(){var e=a.currentDragSourceNode;!(null==e||a.isNodeInDocument(e))&&a.clearCurrentDragSourceNode()&&a.monitor.isDragging()&&a.actions.endDrag()},this.handleTopDragStartCapture=function(){a.clearCurrentDragSourceNode(),a.dragStartSourceIds=[]},this.handleTopDragStart=function(e){if(!e.defaultPrevented){var t=a.dragStartSourceIds;a.dragStartSourceIds=null;var r=eme(e);a.monitor.isDragging()&&a.actions.endDrag(),a.actions.beginDrag(t||[],{publishSource:!1,getSourceClientOffset:a.getSourceClientOffset,clientOffset:r});var n=e.dataTransfer,i=emd(n);if(a.monitor.isDragging()){if(n&&"function"==typeof n.setDragImage){var o=a.monitor.getSourceId(),s=a.sourceNodes.get(o),l=a.sourcePreviewNodes.get(o)||s;if(l){var d,u,c,h,p,m,f,g,y,v,b,x,w,C,k,M,S,T,I=a.getCurrentSourcePreviewNodeOptions(),_=I.anchorX,P=I.anchorY,E=I.offsetX,D=I.offsetY,A=(d={anchorX:_,anchorY:P},u={offsetX:E,offsetY:D},p=ep7((h="IMG"===l.nodeName&&(ep8()||!(null!=(c=document.documentElement)&&c.contains(l))))?s:l),m={x:r.x-p.x,y:r.y-p.y},f=s.offsetWidth,g=s.offsetHeight,y=d.anchorX,v=d.anchorY,C=(b=h?l.width:f,x=h?l.height:g,ep6()&&h&&(x/=window.devicePixelRatio,b/=window.devicePixelRatio),w={dragPreviewWidth:b,dragPreviewHeight:x}).dragPreviewWidth,k=w.dragPreviewHeight,M=u.offsetX,S=u.offsetY,{x:0===M||M?M:new ep9([0,.5,1],[m.x,m.x/f*C,m.x+C-f]).interpolate(y),y:0===S||S?S:(T=new ep9([0,.5,1],[m.y,m.y/g*k,m.y+k-g]).interpolate(v),ep6()&&h&&(T+=(window.devicePixelRatio-1)*k),T)});n.setDragImage(l,A.x,A.y)}}try{null==n||n.setData("application/json",{})}catch(e){}a.setCurrentDragSourceNode(e.target),a.getCurrentSourcePreviewNodeOptions().captureDraggingState?a.actions.publishDragSource():setTimeout(function(){return a.actions.publishDragSource()},0)}else if(i)a.beginDragNativeItem(i);else{if(n&&!n.types&&(e.target&&!e.target.hasAttribute||!e.target.hasAttribute("draggable")))return;e.preventDefault()}}},this.handleTopDragEndCapture=function(){a.clearCurrentDragSourceNode()&&a.monitor.isDragging()&&a.actions.endDrag()},this.handleTopDragEnterCapture=function(e){if(a.dragEnterTargetIds=[],!(!a.enterLeaveCounter.enter(e.target)||a.monitor.isDragging())){var t=e.dataTransfer,r=emd(t);r&&a.beginDragNativeItem(r,t)}},this.handleTopDragEnter=function(e){var t=a.dragEnterTargetIds;a.dragEnterTargetIds=[],a.monitor.isDragging()&&(a.altKeyPressed=e.altKey,t.length>0&&a.actions.hover(t,{clientOffset:eme(e)}),t.some(function(e){return a.monitor.canDropOnTarget(e)})&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=a.getCurrentDropEffect())))},this.handleTopDragOverCapture=function(){a.dragOverTargetIds=[]},this.handleTopDragOver=function(e){var t=a.dragOverTargetIds;if(a.dragOverTargetIds=[],!a.monitor.isDragging()){e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none");return}a.altKeyPressed=e.altKey,a.actions.hover(t||[],{clientOffset:eme(e)}),(t||[]).some(function(e){return a.monitor.canDropOnTarget(e)})?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=a.getCurrentDropEffect())):a.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=function(e){a.isDraggingNativeItem()&&e.preventDefault(),a.enterLeaveCounter.leave(e.target)&&a.isDraggingNativeItem()&&setTimeout(function(){return a.endDragNativeItem()},0)},this.handleTopDropCapture=function(e){if(a.dropTargetIds=[],a.isDraggingNativeItem()){var t;e.preventDefault(),null==(t=a.currentNativeSource)||t.loadDataTransfer(e.dataTransfer)}a.enterLeaveCounter.reset()},this.handleTopDrop=function(e){var t=a.dropTargetIds;a.dropTargetIds=[],a.actions.hover(t,{clientOffset:eme(e)}),a.actions.drop({dropEffect:a.getCurrentDropEffect()}),a.isDraggingNativeItem()?a.endDragNativeItem():a.monitor.isDragging()&&a.actions.endDrag()},this.handleSelectStart=function(e){var t=e.target;"function"!=typeof t.dragDrop||"INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop())},this.options=new emu(r,n),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new ep4(this.isNodeInDocument)}return e=[{key:"profile",value:function(){var e,t;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null==(e=this.dragStartSourceIds)?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null==(t=this.dragOverTargetIds)?void 0:t.length)||0}}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}},{key:"rootElement",get:function(){return this.options.rootElement}},{key:"setup",value:function(){var e=this.rootElement;if(void 0!==e){if(e.__isReactDndBackendSetUp)throw Error("Cannot have two HTML5 backends at the same time.");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}},{key:"teardown",value:function(){var e,t=this.rootElement;void 0!==t&&(t.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&(null==(e=this.window)||e.cancelAnimationFrame(this.asyncEndDragFrameId)))}},{key:"connectDragPreview",value:function(e,t,r){var n=this;return this.sourcePreviewNodeOptions.set(e,r),this.sourcePreviewNodes.set(e,t),function(){n.sourcePreviewNodes.delete(e),n.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDragSource",value:function(e,t,r){var n=this;this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,r);var a=function(t){return n.handleDragStart(t,e)},i=function(e){return n.handleSelectStart(e)};return t.setAttribute("draggable","true"),t.addEventListener("dragstart",a),t.addEventListener("selectstart",i),function(){n.sourceNodes.delete(e),n.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",a),t.removeEventListener("selectstart",i),t.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(e,t){var r=this,n=function(t){return r.handleDragEnter(t,e)},a=function(t){return r.handleDragOver(t,e)},i=function(t){return r.handleDrop(t,e)};return t.addEventListener("dragenter",n),t.addEventListener("dragover",a),t.addEventListener("drop",i),function(){t.removeEventListener("dragenter",n),t.removeEventListener("dragover",a),t.removeEventListener("drop",i)}}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return emh({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId();return emh({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys($).some(function(t){return $[t]===e})}},{key:"beginDragNativeItem",value:function(e,t){var r;this.clearCurrentDragSourceNode(),this.currentNativeSource=((r=new eml(ems[e])).loadDataTransfer(t),r),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout(function(){var e;return null==(e=t.rootElement)?void 0:e.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)},1e3)}},{key:"clearCurrentDragSourceNode",value:function(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var e;null==(e=this.window)||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}},{key:"handleDragStart",value:function(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleDragOver",value:function(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}(),emm=function(e,t,r){return new emp(e,t,r)};let emf="u">typeof window&&!!("ontouchstart"in window||navigator.maxTouchPoints),emg=function(e){let t,r,n=(0,tb.c)(3),{children:a}=e;n[0]===Symbol.for("react.memo_cache_sentinel")?(t={},n[0]=t):t=n[0];let i=t;return console.log("using... touch backend?",emf),n[1]!==a?(r=(0,tS.jsx)(IF,{backend:emm,opts:i,children:a}),n[1]=a,n[2]=r):r=n[2],r},emy={isCineEnabled:!1,cines:{}},emv={isPlaying:!1,frameRate:24},emb=(0,tx.createContext)(null);function emx(e){let t,r,n,a,i,o,s,l,d,u,c,h,p,m,f,g=(0,tb.c)(31),{children:y,service:v}=e;g[0]!==v?(t=(e,t)=>{switch(t.type){case"SET_CINE":{let{id:r,frameRate:n,isPlaying:a}=t.payload,i=void 0===a?void 0:a,o=e.cines,s=v.getSyncedViewports(r).map(emw);return[r,...s].filter(e=>{let t=o[e]??{},r=t.frameRate!==(n??t.frameRate),a=t.isPlaying!==(i??t.isPlaying);return r||a}).forEach(e=>{let t=o[e];t||(t={id:r,...emv},o[e]=t),t.frameRate=n??t.frameRate,t.isPlaying=i??t.isPlaying}),{...e,...o}}case"SET_IS_CINE_ENABLED":return{...e,...{isCineEnabled:t.payload}};default:return t.payload}},g[0]=v,g[1]=t):t=g[1];let b=t,[x,w]=(0,tx.useReducer)(b,emy);g[2]!==x?(r=()=>x,g[2]=x,g[3]=r):r=g[3];let C=r;g[4]===Symbol.for("react.memo_cache_sentinel")?(n=e=>w({type:"SET_IS_CINE_ENABLED",payload:e}),g[4]=n):n=g[4];let k=n;g[5]===Symbol.for("react.memo_cache_sentinel")?(a=e=>{let{id:t,frameRate:r,isPlaying:n}=e;return w({type:"SET_CINE",payload:{id:t,frameRate:r,isPlaying:n}})},g[5]=a):a=g[5];let M=a;g[6]!==C||g[7]!==v?(i=()=>{v&&v.setServiceImplementation({getState:C,setIsCineEnabled:k,setCine:M})},o=[C,v,M,k],g[6]=C,g[7]=v,g[8]=i,g[9]=o):(i=g[8],o=g[9]),(0,tx.useEffect)(i,o),g[10]!==v?(u=e=>v.setIsCineEnabled(e),c=(e,t)=>v.playClip(e,t),h=(e,t)=>v.stopClip(e,t),s=e=>v.setViewportCineClosed(e),l=e=>v.clearViewportCineClosed(e),d=e=>v.isViewportCineClosed(e),g[10]=v,g[11]=s,g[12]=l,g[13]=d,g[14]=u,g[15]=c,g[16]=h):(s=g[11],l=g[12],d=g[13],u=g[14],c=g[15],h=g[16]),g[17]!==C||g[18]!==s||g[19]!==l||g[20]!==d||g[21]!==u||g[22]!==c||g[23]!==h?(p={getState:C,setCine:M,setIsCineEnabled:u,playClip:c,stopClip:h,setViewportCineClosed:s,clearViewportCineClosed:l,isViewportCineClosed:d},g[17]=C,g[18]=s,g[19]=l,g[20]=d,g[21]=u,g[22]=c,g[23]=h,g[24]=p):p=g[24];let S=p;return g[25]!==S||g[26]!==x?(m=[x,S],g[25]=S,g[26]=x,g[27]=m):m=g[27],g[28]!==y||g[29]!==m?(f=(0,tS.jsx)(emb.Provider,{value:m,children:y}),g[28]=y,g[29]=m,g[30]=f):f=g[30],f}function emw(e){let{viewportId:t}=e;return t}let emC=()=>(0,tx.useContext)(emb),emk={tiny:16,small:20,medium:24,large:28},emM=(e="medium")=>"number"==typeof e?e:emk[e]||emk.medium,emS=(e="medium",t="")=>{let r=emM(e);return eV(`h-[${r}px] w-[${r}px]`,t)},emT=(0,tx.createContext)({size:"medium",getSizeValue:emM,getSizeClassName:emS,IconContainer:tL,containerProps:{variant:"ghost",size:"icon"},className:""}),emI=e=>{let t,r,n,a,i,o=(0,tb.c)(14),{size:s,children:l,IconContainer:d,containerProps:u}=e,c=void 0===d?tL:d;o[0]!==u?(t=void 0===u?{}:u,o[0]=u,o[1]=t):t=o[1];let h=t;o[2]!==s?(r=emS(s),o[2]=s,o[3]=r):r=o[3];let p=r;o[4]!==h?(n={variant:"ghost",size:"icon",...h},o[4]=h,o[5]=n):n=o[5];let m=n;o[6]!==c||o[7]!==p||o[8]!==m||o[9]!==s?(a={size:s,getSizeValue:emM,getSizeClassName:emS,IconContainer:c,containerProps:m,className:p},o[6]=c,o[7]=p,o[8]=m,o[9]=s,o[10]=a):a=o[10];let f=a;return o[11]!==l||o[12]!==f?(i=(0,tS.jsx)(emT.Provider,{value:f,children:l}),o[11]=l,o[12]=f,o[13]=i):i=o[13],i},em_=()=>(0,tx.useContext)(emT),emP=[JSON.parse('{"name":"orchid","label":"Tonal: Orchid","cssVars":{"dark":{"highlight":"292 75% 62%","neutral":"270 18% 55%","neutral-light":"275 35% 75%","neutral-dark":"268 20% 24%","background":"270 45% 6%","foreground":"280 15% 96%","card":"268 40% 10%","card-foreground":"280 15% 96%","popover":"264 48% 13%","popover-foreground":"280 15% 96%","primary":"270 85% 65%","primary-foreground":"0 0% 98%","secondary":"268 45% 32%","secondary-foreground":"275 45% 88%","muted":"268 40% 10%","muted-foreground":"272 30% 60%","accent":"268 50% 20%","accent-foreground":"280 15% 96%","destructive":"0 65% 40%","destructive-foreground":"0 0% 98%","border":"268 30% 18%","input":"268 40% 25%","ring":"270 80% 60%"}}}'),JSON.parse('{"name":"arctic","label":"Tonal: Arctic","cssVars":{"dark":{"highlight":"173 81% 52%","neutral":"185 20% 55%","neutral-light":"180 40% 78%","neutral-dark":"190 18% 22%","background":"0 0% 0%","foreground":"180 10% 97%","card":"203 39% 9%","card-foreground":"180 10% 97%","popover":"202 54% 11%","popover-foreground":"180 10% 97%","primary":"175 85% 42%","primary-foreground":"185 50% 8%","secondary":"180 45% 28%","secondary-foreground":"175 50% 88%","muted":"203 39% 9%","muted-foreground":"185 30% 60%","accent":"185 55% 18%","accent-foreground":"180 10% 97%","destructive":"0 65% 35%","destructive-foreground":"0 0% 98%","border":"190 25% 17%","input":"223 40% 24%","ring":"175 85% 42%"}}}'),JSON.parse('{"name":"verdant","label":"Tonal: Verdant","cssVars":{"dark":{"highlight":"152 79% 52%","neutral":"150 15% 52%","neutral-light":"145 30% 72%","neutral-dark":"155 18% 24%","background":"155 40% 5%","foreground":"140 15% 95%","card":"152 35% 9%","card-foreground":"140 15% 95%","popover":"167 65% 10%","popover-foreground":"140 15% 95%","primary":"152 75% 40%","primary-foreground":"155 50% 8%","secondary":"150 40% 26%","secondary-foreground":"145 40% 85%","muted":"152 35% 9%","muted-foreground":"148 25% 55%","accent":"150 45% 16%","accent-foreground":"140 15% 95%","destructive":"0 65% 38%","destructive-foreground":"0 0% 98%","border":"150 25% 16%","input":"150 35% 22%","ring":"152 75% 40%"}}}'),JSON.parse('{"name":"midnight","label":"Neutral: Midnight","cssVars":{"dark":{"highlight":"188 90% 58%","neutral":"213 22% 59%","neutral-light":"214 69% 81%","neutral-dark":"214 16% 21%","background":"240 15% 3%","foreground":"0 0% 99%","card":"240 12% 8%","card-foreground":"0 0% 99%","popover":"225 45% 13%","popover-foreground":"0 0% 99%","primary":"210 100% 62%","primary-foreground":"0 0% 99%","secondary":"215 55% 32%","secondary-foreground":"200 60% 88%","muted":"240 12% 8%","muted-foreground":"210 40% 70%","accent":"220 65% 20%","accent-foreground":"0 0% 99%","destructive":"0 70% 35%","destructive-foreground":"0 0% 99%","border":"240 10% 18%","input":"225 35% 24%","ring":"210 100% 62%"}}}'),JSON.parse('{"name":"slate","label":"Neutral: Slate","cssVars":{"dark":{"highlight":"217 97% 52%","neutral":"0 0% 55%","neutral-light":"0 0% 75%","neutral-dark":"0 0% 25%","background":"0 0% 0%","foreground":"0 0% 96%","card":"0 0% 7%","card-foreground":"0 0% 96%","popover":"0 0% 9%","popover-foreground":"0 0% 96%","primary":"230 75% 55%","primary-foreground":"0 0% 98%","secondary":"0 0% 25%","secondary-foreground":"0 0% 85%","muted":"0 0% 7%","muted-foreground":"0 0% 60%","accent":"0 0% 18%","accent-foreground":"0 0% 96%","destructive":"0 65% 40%","destructive-foreground":"0 0% 98%","border":"0 0% 18%","input":"0 0% 22%","ring":"215 75% 55%"}}}'),JSON.parse('{"name":"deep","label":"Neutral: Deep","cssVars":{"dark":{"highlight":"184 53% 54%","neutral":"215 15% 50%","neutral-light":"210 20% 68%","neutral-dark":"220 18% 22%","background":"0 0% 0%","foreground":"215 15% 82%","card":"218 25% 5%","card-foreground":"215 15% 82%","popover":"215 30% 8%","popover-foreground":"215 15% 82%","primary":"200 43% 48%","primary-foreground":"210 20% 92%","secondary":"218 30% 18%","secondary-foreground":"215 25% 75%","muted":"214 28% 5%","muted-foreground":"215 18% 48%","accent":"216 32% 12%","accent-foreground":"215 15% 82%","destructive":"0 50% 35%","destructive-foreground":"0 15% 90%","border":"218 22% 10%","input":"216 28% 15%","ring":"215 45% 42%"}}}')],emE="ohif:theme",emD="ohif:custom-theme-css",emA="ohif-custom-theme",emO=new Set(["default","custom",...emP.map(e=>e.name)]);function emN(e){return!!e&&"custom"!==e&&emO.has(e)}let emR=tx.createContext(void 0);function emL(){let e=document.body.classList,t=[];e.forEach(e=>{e.startsWith("theme-")&&t.push(e)}),t.forEach(t=>e.remove(t))}function emj(){let e=document.getElementById(emA);e&&e.remove()}function emV(e){let t,r,n,a,i,o,s,l,d=(0,tb.c)(14),{children:u}=e,[c,h]=tx.useState(emU),[p,m]=tx.useState(emW);d[0]===Symbol.for("react.memo_cache_sentinel")?(t=e=>{emO.has(e)&&(h(e),emL(),"default"!==e&&"custom"!==e&&document.body.classList.add(`theme-${e}`),"custom"!==e&&emj(),"default"===e?localStorage.removeItem(emE):localStorage.setItem(emE,e))},d[0]=t):t=d[0];let f=t;d[1]===Symbol.for("react.memo_cache_sentinel")?(r=e=>{let t,r,n,a=function(e){let t=[];for(let r of e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\/\*[\s\S]*$/,"").split(/[\n;]/)){let e=r.trim(),n=e.lastIndexOf("{");-1!==n&&(e=e.slice(n+1).trim());let a=e.indexOf(":");if(-1===a)continue;let i=e.slice(0,a).trim();if(!/^--[a-zA-Z0-9-]+$/.test(i))continue;let o=e.slice(a+1).replace(/[{}]/g,"").trim();o&&(o.includes("(")||o.includes(")")||t.push(` ${i}: ${o};`))}return t}(e);return 0!==a.length&&(t=a.join("\n"),r=`:root {
|
|
1838
1838
|
${t}
|
|
1839
1839
|
}
|
|
1840
1840
|
.dark {
|