@ohif/extension-cornerstone 3.14.0-beta.42 → 3.14.0-beta.43

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.
@@ -2,4 +2,4 @@
2
2
  [zustand devtools middleware] Unsupported __setState action format.
3
3
  When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
4
4
  and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
5
- `);let t=e.state[u];return void(null==t||JSON.stringify(s.getState())!==JSON.stringify(t)&&h(t))}s.dispatchFromDevtools&&"function"==typeof s.dispatch&&s.dispatch(e)});case"DISPATCH":switch(e.payload.type){case"RESET":if(h(f),void 0===u)return null==p?void 0:p.init(s.getState());return null==p?void 0:p.init(r(d.name));case"COMMIT":if(void 0===u){null==p||p.init(s.getState());break}return null==p?void 0:p.init(r(d.name));case"ROLLBACK":return i(e.state,e=>{if(void 0===u){h(e),null==p||p.init(s.getState());return}h(e[u]),null==p||p.init(r(d.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return i(e.state,e=>{void 0===u?h(e):JSON.stringify(s.getState())!==JSON.stringify(e[u])&&h(e[u])});case"IMPORT_STATE":{let{nextLiftedState:A}=e.payload,n=null==(t=A.computedStates.slice(-1)[0])?void 0:t.state;if(!n)return;void 0===u?h(n):h(n[u]),null==p||p.send(null,A);break}case"PAUSE_RECORDING":return m=!m}return}}),f},i=(e,t)=>{let A;try{A=JSON.parse(e)}catch(e){console.error("[zustand devtools middleware] Could not parse the received json",e)}void 0!==A&&t(A)}}},D={};function x(e){var t=D[e];if(void 0!==t)return t.exports;var A=D[e]={exports:{}};return T[e].call(A.exports,A,A.exports,x),A.exports}x.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return x.d(t,{a:t}),t},x.d=(e,t)=>{for(var A in t)x.o(t,A)&&!x.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},x.u=e=>"dist/"+e+".ohif-extension-cornerstone.umd.js",x.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),x.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),x.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},x.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),F=[],x.O=(e,t,A,n)=>{if(t){n=n||0;for(var r=F.length;r>0&&F[r-1][2]>n;r--)F[r]=F[r-1];F[r]=[t,A,n];return}for(var o=1/0,r=0;r<F.length;r++){for(var[t,A,n]=F[r],i=!0,s=0;s<t.length;s++)(!1&n||o>=n)&&Object.keys(x.O).every(e=>x.O[e](t[s]))?t.splice(s--,1):(i=!1,n<o&&(o=n));if(i){F.splice(r--,1);var a=A();void 0!==a&&(e=a)}}return e},x.F={},x.E=e=>{Object.keys(x.F).map(t=>{x.F[t](e)})},x.p="/",x.b=document.baseURI||self.location.href,Q={509:0},x.F.j=e=>{if(!x.o(Q,e)||void 0===Q[e]){Q[e]=null;var t=document.createElement("link");x.nc&&t.setAttribute("nonce",x.nc),t.rel="prefetch",t.as="script",t.href=x.p+x.u(e),document.head.appendChild(t)}},x.O.j=e=>0===Q[e],x.O(0,[509],()=>{[509].map(x.E)},5);var O={};return(()=>{"use strict";x.r(O),x.d(O,{AccordionGroup:()=>pF,CloneChildren:()=>pU,Colorbar:()=>c5,Colormap:()=>c9,CornerstoneViewportDownloadForm:()=>l1,DYNAMIC_VOLUME_LOADER_SCHEME:()=>u2,DicomUpload:()=>nS,Enums:()=>_,ImageOverlayViewerTool:()=>el,MeasumentsMenu:()=>p4,MeasurementOrAdditionalFindingSets:()=>pV,MeasurementsOrAdditionalFindings:()=>pH,NEXT_FUSION_PT_OPACITY:()=>nD,NEXT_OVERLAY_OPACITY:()=>nx,OHIFCornerstoneViewport:()=>gi,PanelMeasurement:()=>pY,PanelSegmentation:()=>pl,PlanarFreehandROI:()=>eE,RectangleROI:()=>eF,SeriesMeasurementTrigger:()=>gA,SeriesMeasurements:()=>gn,StudyMeasurements:()=>pW,StudyMeasurementsActions:()=>pP,StudySummaryFromMetadata:()=>pk,Types:()=>T,VOLUME_LOADER_SCHEME:()=>u3,VolumeLighting:()=>ui,VolumeRenderingOptions:()=>ul,VolumeRenderingPresets:()=>uA,VolumeRenderingQuality:()=>un,VolumeShade:()=>us,VolumeShift:()=>uo,WindowLevel:()=>c7,WindowLevelActionMenu:()=>uc,WindowLevelActionMenuContent:()=>uu,WindowLevelActionMenuWrapper:()=>ud,default:()=>gl,dicomLoaderService:()=>d4,findNearbyToolData:()=>e7,getActiveViewportEnabledElement:()=>ee,getEnabledElement:()=>$.kJ,getHydrationViewportTypeForModality:()=>nO,getSOPInstanceAttributes:()=>ep,getViewportAdapter:()=>nL.qU,getViewportFocalPoint:()=>nL.sH,groupByDisplaySet:()=>gt,groupByNamedSets:()=>pN,groupByStudy:()=>pK,isNextViewport:()=>nL.Is,isNextViewportsEnabled:()=>eG,isVolumeRenderingViewport:()=>nL.rK,measurementMappingUtils:()=>Q,setEnabledElement:()=>$.ye,toolNames:()=>ec,useActiveViewportSegmentationRepresentations:()=>po.c,useLutPresentationStore:()=>tl.I,useMeasurementTracking:()=>uI.R,useMeasurements:()=>pi.d,usePositionPresentationStore:()=>tc.q,useSegmentationPresentationStore:()=>tu.v,useSegmentations:()=>pz.j,useSelectedSegmentationsForViewportStore:()=>nG,useSynchronizersStore:()=>nP.U,utils:()=>pZ});var e,t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F={};x.r(F),x.d(F,{rM:()=>N,yK:()=>H,Ay:()=>_});var Q={};x.r(Q),x.d(Q,{getDisplayUnit:()=>eB,getFirstAnnotationSelected:()=>ew,getHandlesFromPoints:()=>em,getSOPInstanceAttributes:()=>ep,isAnnotationSelected:()=>eh,setAnnotationSelected:()=>ef});var T={};x.r(T);var D=x(2184),M=x(6326),L=x(6557),R=x(4713),V=x(1223);let N="Cornerstone3DTools",H="0.1",_={CORNERSTONE_3D_TOOLS_SOURCE_NAME:N,CORNERSTONE_3D_TOOLS_SOURCE_VERSION:H};var k=x(1002),P=x.n(k),j=x(8082),G=x(642),K=x.n(G),W=x(2302),Y=x.n(W);let{registerVolumeLoader:z}=L.volumeLoader;var X=x(7268),J=x(6023),q=x(7438),$=x(6499);function Z(e){let{element:t}=(0,$.kJ)(e)||{};return(0,L.getEnabledElement)(t)}function ee(e){let{activeViewportId:t}=e.getState();return Z(t)}let{calibrateImageSpacing:et}=R.utilities;class eA extends R.LengthTool{constructor(...e){super(...e),this._renderingViewport=void 0,this._lengthToolRenderAnnotation=this.renderAnnotation,this.renderAnnotation=(e,t)=>{let{viewport:A}=e;return this._renderingViewport=A,this._lengthToolRenderAnnotation(e,t)}}_getTextLines(e,t){var A,n;let r,o,[i,s]=e.handles.points.map(e=>this._renderingViewport.worldToCanvas(e)),a=Math.round(100*(A=i,n=s,r=A[0]-n[0],Math.sqrt(r*r+(o=A[1]-n[1])*o)))/100;return[`${a}px`]}}eA.toolName="CalibrationLine";var en=x(7141);let er=new Map,eo=(e,t)=>{er.get(e)!==t&&er.set(e,t)},ei=(e,t)=>{if(!Array.isArray(t)&&"overlayPlaneModule"===e)return er.get(t)};L.metaData.addProvider(ei,1e4);var es=x(3117);class ea extends R.AnnotationDisplayTool{constructor(e={},t={supportedInteractionTypes:[],configuration:{fillColor:[255,127,127,255]}}){super(e,t),this.onSetToolDisabled=()=>{},this.renderAnnotation=(e,t)=>{let{viewport:A}=e,n=this.getReferencedImageId(A);if(!n)return;let r=L.metaData.get("overlayPlaneModule",n),o=r?.overlays;if(o?.length)return o.forEach(e=>{e.x||=0,e.y||=0}),ea.addOverlayPlaneModule(n,r),this._getCachedStat(n,r,this.configuration.fillColor).then(A=>{A.overlays.forEach(A=>{this._renderOverlay(e,t,A)})}),!0}}getReferencedImageId(e){if((0,es.tO)(e)||!e.getViewReferenceId?.())return;let t=this.getTargetId(e);return t?.split("imageId:")[1]}_renderOverlay(e,t,A){let{viewport:n}=e,r=this.getReferencedImageId(n);if(!r)return;let{_id:o,columns:i,rows:s,x:a,y:l}=A,c=L.utilities.imageToWorldCoords(r,[a-1,l-1]),u=n.worldToCanvas(c),d=L.utilities.imageToWorldCoords(r,[i,s]),p=n.worldToCanvas(d),g=`image-overlay-${o}`,m=t.getSvgNode(g),h={"data-id":g,width:p[0]-u[0],height:p[1]-u[1],x:u[0],y:u[1],href:A.dataUrl};if(isNaN(h.x)||isNaN(h.y)||isNaN(h.width)||isNaN(h.height))return console.warn("Invalid rendering attribute for image overlay",h["data-id"]),!1;if(m)R.drawing.setAttributesIfNecessary(h,m),t.setNodeTouched(g);else{let e=document.createElementNS("http://www.w3.org/2000/svg","image");R.drawing.setNewAttributesIfValid(h,e),t.appendNode(e,g)}return!0}async _getCachedStat(e,t,A){if(0===t.overlays.filter(e=>e.pixelData&&!e.dataUrl).length)return t;let n=await Promise.all(t.overlays.filter(e=>e.pixelData).map(async(e,t)=>{let n=null;if(e.pixelData.Value)n=e.pixelData.Value;else if(e.pixelData instanceof Array)n=e.pixelData[0];else if(e.pixelData.retrieveBulkData)n=await e.pixelData.retrieveBulkData();else if(e.pixelData.InlineBinary){let t=(0,en.b64toBlob)(e.pixelData.InlineBinary);n=await t.arrayBuffer()}if(!n)return;let r=this._renderOverlayToDataUrl({width:e.columns,height:e.rows},e.color||A,n);return{...e,_id:(0,en.guid)(),dataUrl:r,color:A}}));return t.overlays=n,t}_isSameColor(e,t){return e&&t&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}_renderOverlayToDataUrl({width:e,height:t},A,n){let r=new DataView(n),o=e*t,i=document.createElement("canvas");i.width=e,i.height=t;let s=i.getContext("2d");s.clearRect(0,0,e,t),s.globalCompositeOperation="copy";let a=s.getImageData(0,0,e,t),l=a.data;for(let e=0,t=0,n=0;e<o;e++)r.getUint8(n)&1<<t&&(l[4*e]=A[0],l[4*e+1]=A[1],l[4*e+2]=A[2],l[4*e+3]=A[3]),t>=7?(t=0,n++):t++;return s.putImageData(a,0,0),i.toDataURL()}}ea.toolName="ImageOverlayViewer",ea.addOverlayPlaneModule=eo;let el=ea,ec={Pan:R.PanTool.toolName,ArrowAnnotate:R.ArrowAnnotateTool.toolName,WindowLevel:R.WindowLevelTool.toolName,StackScroll:R.StackScrollTool.toolName,Zoom:R.ZoomTool.toolName,PlanarRotate:R.PlanarRotateTool.toolName,VolumeRotate:R.VolumeRotateTool.toolName,MipJumpToClick:R.MIPJumpToClickTool.toolName,Length:R.LengthTool.toolName,DragProbe:R.DragProbeTool.toolName,Probe:R.ProbeTool.toolName,RectangleROI:R.RectangleROITool.toolName,RectangleROIThreshold:R.RectangleROIThresholdTool.toolName,EllipticalROI:R.EllipticalROITool.toolName,CircleROI:R.CircleROITool.toolName,Bidirectional:R.BidirectionalTool.toolName,Angle:R.AngleTool.toolName,CobbAngle:R.CobbAngleTool.toolName,Magnify:R.MagnifyTool.toolName,Crosshairs:R.CrosshairsTool.toolName,Brush:R.BrushTool.toolName,PaintFill:R.PaintFillTool.toolName,ReferenceLines:R.ReferenceLinesTool.toolName,CalibrationLine:eA.toolName,TrackballRotateTool:R.TrackballRotateTool.toolName,CircleScissors:R.CircleScissorsTool.toolName,RectangleScissors:R.RectangleScissorsTool.toolName,SphereScissors:R.SphereScissorsTool.toolName,ImageOverlayViewer:el.toolName,AdvancedMagnify:R.AdvancedMagnifyTool.toolName,UltrasoundDirectional:R.UltrasoundDirectionalTool.toolName,UltrasoundAnnotation:R.UltrasoundPleuraBLineTool.toolName,SplineROI:R.SplineROITool.toolName,LivewireContour:R.LivewireContourTool.toolName,PlanarFreehandROI:R.PlanarFreehandROITool.toolName,OrientationMarker:R.OrientationMarkerTool.toolName,WindowLevelRegion:R.WindowLevelRegionTool.toolName,PlanarFreehandContourSegmentation:R.PlanarFreehandContourSegmentationTool.toolName,SegmentBidirectional:R.SegmentBidirectionalTool.toolName,SegmentSelect:R.SegmentSelectTool.toolName,SegmentLabel:R.SegmentLabelTool.toolName,LabelmapSlicePropagation:X.LabelmapSlicePropagationTool.toolName,MarkerLabelmap:X.MarkerLabelmapTool.toolName,ClickSegment:R.ClickSegmentTool.toolName,LivewireContourSegmentation:R.LivewireContourSegmentationTool.toolName,SculptorTool:R.SculptorTool.toolName,SplineContourSegmentation:R.SplineContourSegmentationTool.toolName,LabelMapEditWithContourTool:R.LabelMapEditWithContourTool.toolName},eu=["Length","EllipticalROI","CircleROI","Bidirectional","ArrowAnnotate","Angle","CobbAngle","Probe","RectangleROI","PlanarFreehandROI","SplineROI","LivewireContour","UltrasoundDirectionalTool","UltrasoundPleuraBLineTool","SegmentBidirectional"];var ed=x(9195);function ep(e,t,A){if(e){var n;let t;return n=e,{SOPInstanceUID:(t=L.metaData.get("instance",n)).SOPInstanceUID,SeriesInstanceUID:t.SeriesInstanceUID,StudyInstanceUID:t.StudyInstanceUID,frameNumber:t.frameNumber||1}}let{metadata:r}=A,{StudyInstanceUID:o,SeriesInstanceUID:i}=function({metadata:e,displaySetService:t}){let{volumeId:A}=e;if(A){let n=t.getDisplaySetsBy(e=>A.includes(e.uid))[0];if(n)return n;console.warn("Unable to find volumeId",A),e.volumeId=null}if(!e.FrameOfReferenceUID)throw Error("No volumeId and no FrameOfReferenceUID provided. Could not find matching displaySet.");let n=Array.from(t.getDisplaySetCache().values()).find(t=>t.instance?.FrameOfReferenceUID===e.FrameOfReferenceUID);if(!n)throw Error("Could not find matching displaySet for the provided FrameOfReferenceUID.");return n}({metadata:r,displaySetService:t});return{SOPInstanceUID:void 0,SeriesInstanceUID:i,StudyInstanceUID:o}}let eg=e=>{};function em(e){if(e.longAxis&&e.shortAxis){let t={};return t.start=e.longAxis[0],t.end=e.longAxis[1],t.perpendicularStart=e.longAxis[0],t.perpendicularEnd=e.longAxis[1],t}return e.map((e,t)=>t%10==0?{start:e}:{end:e}).reduce((e,t)=>Object.assign(e,{...t}),{})}function eh(e){return R.annotation.selection.isAnnotationSelected(e)}function ef(e,t){eh(e)!==t&&R.annotation.selection.setAnnotationSelected(e,t)}function ew(e){let[t]=R.annotation.selection.getAnnotationsSelected()||[];if(t)return R.annotation.state.getAnnotation(t)}let eB=e=>null==e?"":e,ey=e=>{},ev=(e,t,A)=>{if(Array.isArray(e)&&e.length>0){let n=e.map(e=>k.utils.roundNumber(e,2));return`${A.charAt(0).toUpperCase()+A.slice(1)}: ${n.join(", ")} ${eB(t)}`}let n=k.utils.roundNumber(e,2);return`${A.charAt(0).toUpperCase()+A.slice(1)}: ${n} ${eB(t)}`},eS=e=>{},eC=e=>{},eI=e=>{},eb=e=>{},eU=e=>{},eE={toAnnotation:e=>{},toMeasurement:(e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.debug("PlanarFreehandROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:h,frameNumber:f,StudyInstanceUID:w}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let B=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===o);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"",u=k.utils.roundNumber(r||0,2);return n.primary.push(`${u} ${eB(s)}`),e.forEach(e=>{let{unit:t,max:A,SeriesNumber:r}=e,o=ev(A,t,"max");n.primary.push(o),n.secondary.push(`S: ${r}${l}${c}`)}),n}(function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!r)return;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{mean:u,stdDev:d,max:p,area:g,Modality:m,areaUnit:h,modalityUnit:f}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,Modality:m,unit:f,mean:u,stdDev:d,max:p,area:g,areaUnit:h})}),i}(i,t),o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:a.contour.polyline,textBox:a.handles.textBox,metadata:s,frameNumber:f,referenceSeriesUID:h,referenceStudyUID:w,referencedImageId:p,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:B,data:a.cachedStats,type:n(d),getReport:()=>(function(e,t){let{PlanarFreehandROI:A}=t.getCustomization("cornerstone.measurements"),{report:n}=A,r=[],o=[];r.push("AnnotationType"),o.push("Cornerstone:PlanarFreehandROI");let{metadata:i,data:s}=e,a=s.cachedStats[`imageId:${i.referencedImageId}`];return n.forEach(({displayName:e,value:t})=>{r.push(e),a[t]?o.push(a[t]):o.push("not available")}),i.FrameOfReferenceUID&&(r.push("FrameOfReferenceUID"),o.push(i.FrameOfReferenceUID)),s.contour.polyline&&(r.push("points"),o.push(s.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:r,values:o}})(i,r),isLocked:c,isVisible:u}}},eF={toAnnotation:e=>{},toMeasurement:(e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Rectangle ROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[],s=new Set;return Object.keys(r).forEach(n=>{let a=r[n],{SOPInstanceUID:l,SeriesInstanceUID:c,frameNumber:u}=ep(o,t,e),{SeriesNumber:d}=t.getDisplaySetsForSeries(c)[0],{mean:p,stdDev:g,max:m,area:h,Modality:f,modalityUnit:w,areaUnit:B}=a;f&&s.has(f)||(f&&s.add(f),i.push({SeriesInstanceUID:c,SOPInstanceUID:l,SeriesNumber:d,frameNumber:u,Modality:f,unit:w,mean:p,stdDev:g,metadata:A,max:m,area:h,areaUnit:B}))}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===o);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"",u=k.utils.roundNumber(r||0,2);return n.primary.push(`${u} ${eB(s)}`),e.forEach(e=>{let{unit:t,max:A,SeriesNumber:r}=e;if(Number.isFinite(A)){let e=ev(A,t,"max");n.primary.push(e)}n.secondary.push(`S: ${r}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:RectangleROI"),e.forEach(e=>{let{mean:t,stdDev:A,max:o,area:i,unit:s,areaUnit:a}=e;t&&s&&o&&i&&(n.push("Maximum","Mean","Std Dev","Pixel Unit","Area","Unit"),r.push(o,t,A,s,i,a))}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}}},eQ=e=>{},eT=e=>{},eD=e=>{},ex=e=>{},eO=e=>{},eM=e=>{};var eL=x(3154);let{rM:eR,yK:eV}=F,{removeAnnotation:eN}=R.annotation.state,eH=R.Enums.Events,{DefaultHistoryMemo:e_}=L.utilities.HistoryMemo,ek=function(e){let{cineService:t}=e.services;t.setServiceImplementation({getSyncedViewports:t=>(function(e,t){let{viewportGridService:A,cornerstoneViewportService:n}=e.services,{viewports:r}=A.getState(),o=r.get(t);if(o?.viewportOptions?.viewportType!=="volume")return[];let i=n.getCornerstoneViewport(t),s=i?function(e){if(!e?.getAllVolumeIds)return null;let t=e.getAllVolumeIds().map(e=>L.cache.getVolume(e));return t.find(e=>e.isDynamicVolume())??t[0]}(i):null;if(!s?.isDynamicVolume())return[];let{volumeId:a}=s;return Array.from(r.values()).filter(({viewportId:e})=>{let A=n.getCornerstoneViewport(e);return e!==t&&A?.hasVolumeId?.(a)}).map(({viewportId:e})=>({viewportId:e}))})(e,t),playClip:(e,t)=>R.utilities.cine.playClip(e,t),stopClip:(e,t)=>R.utilities.cine.stopClip(e,t)})},eP=function(e){let{studyPrefetcherService:t}=e.services;t.requestType=L.Enums.RequestType.Prefetch,t.imageLoadPoolManager=L.imageLoadPoolManager,t.imageLoader=L.imageLoader,t.cache={isImageCached:e=>!!L.cache.getImageLoadObject(e)},t.imageLoadEventsManager={addEventListeners:(e,t)=>(L.eventTarget.addEventListener(L.EVENTS.IMAGE_LOADED,e),L.eventTarget.addEventListener(L.EVENTS.IMAGE_LOAD_FAILED,t),[{unsubscribe:()=>L.eventTarget.removeEventListener(L.EVENTS.IMAGE_LOADED,e)},{unsubscribe:()=>L.eventTarget.removeEventListener(L.EVENTS.IMAGE_LOAD_FAILED,t)}])}},ej=!1;function eG(){return ej}let eK={webgl:"gpu",gpu:"gpu",cpu:"cpu",auto:"auto"};function eW(e){if("string"!=typeof e)return;let t=e.trim();if(t)return eK[t.toLowerCase()]??t}let eY={};var ez=x(9863),eX=x.n(ez),eJ=x(5257),eq=x.n(eJ),e$=x(6446),eZ=x.n(e$);let e0=new Map,e1=new Map;function e3({data:{viewportId:e,volumeInputArray:t},displaySetsMatchDetails:A,viewportMatchDetails:n}){for(let A of(e1.set(e,t),t)){let{volumeId:e}=A,t=L.cache.getVolume(e);if(!t)return;if(!e0.has(e)){let{metadata:A}=t;e0.set(e,A.SeriesInstanceUID)}}let r=new Set;e1.forEach((e,t)=>{e.forEach(e=>{let{volumeId:t}=e;r.add(t)})});let o=new Set;if(n.forEach(e=>{let{displaySetsInfo:t}=e;t.forEach(({displaySetInstanceUID:e})=>{o.add(e)})}),r.size!==o.size)return;let i=Array.from(e0.keys()).slice().map(e=>L.cache.getVolume(e)),s=[];i.forEach(e=>{let t=e.getImageLoadRequests?.()??[];if(!t.length||!t[0]||!t[0].imageId)return;let A=(function(e){if(0===e.length)return[];if(1===e.length)return[{imageId:e[0],imageIdIndex:0}];let t=e.length-1,A=Math.floor(e.length/2),n=A,r=A,o=[{imageId:e[A],imageIdIndex:A}],i={currentPositionDownToMinimum:!1,currentPositionUpToMaximum:!1};for(0===A?i.currentPositionDownToMinimum=!0:A===t&&(i.currentPositionUpToMaximum=!0);!i.currentPositionDownToMinimum||!i.currentPositionUpToMaximum;)i.currentPositionDownToMinimum||(o.push({imageId:e[--n],imageIdIndex:n}),0===n&&(i.currentPositionDownToMinimum=!0)),i.currentPositionUpToMaximum||(o.push({imageId:e[++r],imageIdIndex:r}),r===t&&(i.currentPositionUpToMaximum=!0));return o})(t.map(e=>e.imageId)).map(({imageId:e})=>t.find(t=>t.imageId===e));s.push(A)});let a=eq()(eZ()(eX()(...s))),l=[];a.forEach(e=>{let{imageId:t}=e;s.forEach(e=>{let A=e.find(e=>e.imageId===t);A&&l.push(A)})});let c=L.Enums.RequestType.Prefetch;l.forEach(({callLoadImage:e,additionalDetails:t,imageId:A,imageIdIndex:n,options:r})=>{let o=e.bind(null,A,n,r);L.imageLoadPoolManager.addRequest(o,c,t,0)}),e0.clear();let u=new Map(e1);return e1.clear(),u}let e2=new Map,e4=new Map;function e6({data:{viewportId:e,volumeInputArray:t},displaySetsMatchDetails:A}){for(let A of(e4.set(e,t),t)){let{volumeId:e}=A,t=L.cache.getVolume(e);if(!t)return void console.log("interleaveNthLoader::No volume, can't load it");if(!e2.has(e)){let{metadata:A}=t;e2.set(e,A.SeriesInstanceUID)}}let n=function(e){if(!e||!e.length)return[];if(1===e.length)return e[0];let t=[...e],A=[];for(let e=0;t.length>0;e++)for(let n=0;n<t.length;n++){let r=t[n];if(e>=r.length){t.splice(n,1),n--;continue}A.push(r[e])}return A}(Array.from(e2.keys()).slice().map(e=>L.cache.getVolume(e)).map(e=>e.getImageLoadRequests?.()??[]).filter(e=>e?.[0]?.imageId).map(e=>(function(e){let t=[[],[],[],[],[]],A=e.length/2-3,n=A+6;for(let r=0;r<e.length;r++)r<2||r>e.length-4||r>A&&r<n?t[0].push(e[r]):r%7==2?t[1].push(e[r]):r%7==5?t[2].push(e[r]):t[r%2+3].push(e[r]);return[...t[0],...t[1],...t[2],...t[3],...t[4]]})(e))),r=L.Enums.RequestType.Prefetch;n.forEach(({callLoadImage:e,additionalDetails:t,imageId:A,imageIdIndex:n,options:o})=>{let i=e.bind(null,A,n,o);L.imageLoadPoolManager.addRequest(i,r,t,0)}),e2.clear();let o=new Map(e4);return e4.clear(),o}let e9=new Map,e8=new Map;function e5({data:{viewportId:e,volumeInputArray:t},displaySetsMatchDetails:A,viewportMatchDetails:n}){for(let A of(e8.set(e,t),t)){let{volumeId:e}=A,t=L.cache.getVolume(e);if(!t)return;if(!e9.has(e)){let{metadata:A}=t;e9.set(e,A.SeriesInstanceUID)}}let r=new Set;e8.forEach((e,t)=>{e.forEach(e=>{let{volumeId:t}=e;r.add(t)})});let o=new Set;if(n.forEach(e=>{let{displaySetsInfo:t}=e;t.forEach(({displaySetInstanceUID:e})=>{o.add(e)})}),r.size!==o.size)return;let i=Array.from(e9.keys()).slice().map(e=>L.cache.getVolume(e)),s=[];i.forEach(e=>{let t=e.getImageLoadRequests?.()??[];t?.[0]?.imageId&&s.push(t.reverse())});let a=eq()(eZ()(eX()(...s))),l=[];a.forEach(e=>{let{imageId:t}=e;s.forEach(e=>{let A=e.find(e=>e.imageId===t);A&&l.push(A)})});let c=L.Enums.RequestType.Prefetch;l.forEach(({callLoadImage:e,additionalDetails:t,imageId:A,imageIdIndex:n,options:r})=>{let o=e.bind(null,A,n,r);L.imageLoadPoolManager.addRequest(o,c,t,0)}),e9.clear();let u=new Map(e8);return e8.clear(),u}let e7=(e,t)=>{if(!t?.detail)return;let{element:A,currentPoints:n}=t.detail;return e.runCommand("getNearbyAnnotation",{element:A,canvasCoordinates:n?.canvas},"CORNERSTONE")},te=R.Enums.Events,tt=function({cornerstoneViewportService:e,customizationService:t,commandsManager:A}){let n=e=>{let n,r;((e,n)=>{let r=t.getCustomization("cornerstoneViewportClickCommands")[e];if(!r)return;let o=null;r.some(e=>e.commandOptions?.requireNearbyToolData)&&(o=e7(A,n));let i={nearbyToolData:o,event:n};A.run(r,i)})((n=e.detail.event.which,r=[],e.detail.event.altKey&&r.push("alt"),e.detail.event.ctrlKey&&r.push("ctrl"),e.detail.event.shiftKey&&r.push("shift"),r.push("button"),r.push(n),r.join("")),e)};L.eventTarget.addEventListener(L.EVENTS.ELEMENT_ENABLED,(function(t){let{viewportId:A,element:r}=t.detail;e.getViewportInfo(A)&&((0,$.ye)(A,r),r.addEventListener(te.MOUSE_CLICK,n))}).bind(null)),L.eventTarget.addEventListener(L.EVENTS.ELEMENT_DISABLED,(function(e){let{element:t}=e.detail;t.removeEventListener(te.MOUSE_CLICK,n)}).bind(null))},tA=R.Enums.Events,tn=function({customizationService:e,commandsManager:t}){let A=A=>{let n;if(e7(t,A))return;let r=(n=[],A.detail.event.altKey&&n.push("alt"),A.detail.event.ctrlKey&&n.push("ctrl"),A.detail.event.shiftKey&&n.push("shift"),n.push("doubleClick"),n.join("")),o=e.getCustomization("cornerstoneViewportClickCommands")[r];o&&t.run(o)};L.eventTarget.addEventListener(L.EVENTS.ELEMENT_ENABLED,(function(e){let{element:t}=e.detail;t.addEventListener(tA.MOUSE_DOUBLE_CLICK,A)}).bind(null)),L.eventTarget.addEventListener(L.EVENTS.ELEMENT_DISABLED,(function(e){let{element:t}=e.detail;t.removeEventListener(tA.MOUSE_DOUBLE_CLICK,A)}).bind(null))},tr=[],to={viewportsWaiting:0};function ti(e){if("preRender"===e.detail.viewportStatus)return;let{TimingEnum:t}=k.Enums;k.log.timeEnd(t.DISPLAY_SETS_TO_FIRST_IMAGE),k.log.timeEnd(t.STUDY_TO_FIRST_IMAGE),k.log.timeEnd(t.SCRIPT_TO_VIEW),to.viewportsWaiting-=1,e.detail.element.removeEventListener(L.EVENTS.IMAGE_RENDERED,ti),to.viewportsWaiting||k.log.timeEnd(t.DISPLAY_SETS_TO_ALL_IMAGES)}let ts=[{ColorSpace:"RGB",Name:"Grayscale",NanColor:[1,0,0],RGBPoints:[0,0,0,0,1,1,1,1],description:"Grayscale"},{ColorSpace:"RGB",Name:"X Ray",NanColor:[1,0,0],RGBPoints:[0,1,1,1,1,0,0,0],description:"X Ray"},{ColorSpace:"RGB",Name:"Isodose",NanColor:[1,0,0],RGBPoints:[0,0,1,0,.1,.5,1,0,.2,1,1,0,.3,1,.66,0,.4,1,.33,0,.5,1,0,0],description:"Isodose"},{ColorSpace:"RGB",Name:"hsv",RGBPoints:[-1,1,0,0,-.666666,1,0,1,-.333333,0,0,1,0,0,1,1,.33333,0,1,0,.66666,1,1,0,1,1,0,0],description:"HSV"},{ColorSpace:"RGB",Name:"hot_iron",RGBPoints:[0,.0039215686,.0039215686,.0156862745,.00392156862745098,.0039215686,.0039215686,.0156862745,.00784313725490196,.0039215686,.0039215686,.031372549,.011764705882352941,.0039215686,.0039215686,.0470588235,.01568627450980392,.0039215686,.0039215686,.062745098,.0196078431372549,.0039215686,.0039215686,.0784313725,.023529411764705882,.0039215686,.0039215686,.0941176471,.027450980392156862,.0039215686,.0039215686,.1098039216,.03137254901960784,.0039215686,.0039215686,.1254901961,.03529411764705882,.0039215686,.0039215686,.1411764706,.0392156862745098,.0039215686,.0039215686,.1568627451,.043137254901960784,.0039215686,.0039215686,.1725490196,.047058823529411764,.0039215686,.0039215686,.1882352941,.050980392156862744,.0039215686,.0039215686,.2039215686,.054901960784313725,.0039215686,.0039215686,.2196078431,.05882352941176471,.0039215686,.0039215686,.2352941176,.06274509803921569,.0039215686,.0039215686,.2509803922,.06666666666666667,.0039215686,.0039215686,.262745098,.07058823529411765,.0039215686,.0039215686,.2784313725,.07450980392156863,.0039215686,.0039215686,.2941176471,.0784313725490196,.0039215686,.0039215686,.3098039216,.08235294117647059,.0039215686,.0039215686,.3254901961,.08627450980392157,.0039215686,.0039215686,.3411764706,.09019607843137255,.0039215686,.0039215686,.3568627451,.09411764705882353,.0039215686,.0039215686,.3725490196,.09803921568627451,.0039215686,.0039215686,.3882352941,.10196078431372549,.0039215686,.0039215686,.4039215686,.10588235294117647,.0039215686,.0039215686,.4196078431,.10980392156862745,.0039215686,.0039215686,.4352941176,.11372549019607843,.0039215686,.0039215686,.4509803922,.11764705882352942,.0039215686,.0039215686,.4666666667,.12156862745098039,.0039215686,.0039215686,.4823529412,.12549019607843137,.0039215686,.0039215686,.4980392157,.12941176470588237,.0039215686,.0039215686,.5137254902,.13333333333333333,.0039215686,.0039215686,.5294117647,.13725490196078433,.0039215686,.0039215686,.5450980392,.1411764705882353,.0039215686,.0039215686,.5607843137,.1450980392156863,.0039215686,.0039215686,.5764705882,.14901960784313725,.0039215686,.0039215686,.5921568627,.15294117647058825,.0039215686,.0039215686,.6078431373,.1568627450980392,.0039215686,.0039215686,.6235294118,.1607843137254902,.0039215686,.0039215686,.6392156863,.16470588235294117,.0039215686,.0039215686,.6549019608,.16862745098039217,.0039215686,.0039215686,.6705882353,.17254901960784313,.0039215686,.0039215686,.6862745098,.17647058823529413,.0039215686,.0039215686,.7019607843,.1803921568627451,.0039215686,.0039215686,.7176470588,.1843137254901961,.0039215686,.0039215686,.7333333333,.18823529411764706,.0039215686,.0039215686,.7490196078,.19215686274509805,.0039215686,.0039215686,.7607843137,.19607843137254902,.0039215686,.0039215686,.7764705882,.2,.0039215686,.0039215686,.7921568627,.20392156862745098,.0039215686,.0039215686,.8078431373,.20784313725490197,.0039215686,.0039215686,.8235294118,.21176470588235294,.0039215686,.0039215686,.8392156863,.21568627450980393,.0039215686,.0039215686,.8549019608,.2196078431372549,.0039215686,.0039215686,.8705882353,.2235294117647059,.0039215686,.0039215686,.8862745098,.22745098039215686,.0039215686,.0039215686,.9019607843,.23137254901960785,.0039215686,.0039215686,.9176470588,.23529411764705885,.0039215686,.0039215686,.9333333333,.23921568627450984,.0039215686,.0039215686,.9490196078,.24313725490196078,.0039215686,.0039215686,.9647058824,.24705882352941178,.0039215686,.0039215686,.9803921569,.25098039215686274,.0039215686,.0039215686,.9960784314,.2549019607843137,.0039215686,.0039215686,.9960784314,.25882352941176473,.0156862745,.0039215686,.9803921569,.2627450980392157,.031372549,.0039215686,.9647058824,.26666666666666666,.0470588235,.0039215686,.9490196078,.27058823529411763,.062745098,.0039215686,.9333333333,.27450980392156865,.0784313725,.0039215686,.9176470588,.2784313725490196,.0941176471,.0039215686,.9019607843,.2823529411764706,.1098039216,.0039215686,.8862745098,.28627450980392155,.1254901961,.0039215686,.8705882353,.2901960784313726,.1411764706,.0039215686,.8549019608,.29411764705882354,.1568627451,.0039215686,.8392156863,.2980392156862745,.1725490196,.0039215686,.8235294118,.30196078431372547,.1882352941,.0039215686,.8078431373,.3058823529411765,.2039215686,.0039215686,.7921568627,.30980392156862746,.2196078431,.0039215686,.7764705882,.3137254901960784,.2352941176,.0039215686,.7607843137,.3176470588235294,.2509803922,.0039215686,.7490196078,.3215686274509804,.262745098,.0039215686,.7333333333,.3254901960784314,.2784313725,.0039215686,.7176470588,.32941176470588235,.2941176471,.0039215686,.7019607843,.3333333333333333,.3098039216,.0039215686,.6862745098,.33725490196078434,.3254901961,.0039215686,.6705882353,.3411764705882353,.3411764706,.0039215686,.6549019608,.34509803921568627,.3568627451,.0039215686,.6392156863,.34901960784313724,.3725490196,.0039215686,.6235294118,.35294117647058826,.3882352941,.0039215686,.6078431373,.3568627450980392,.4039215686,.0039215686,.5921568627,.3607843137254902,.4196078431,.0039215686,.5764705882,.36470588235294116,.4352941176,.0039215686,.5607843137,.3686274509803922,.4509803922,.0039215686,.5450980392,.37254901960784315,.4666666667,.0039215686,.5294117647,.3764705882352941,.4823529412,.0039215686,.5137254902,.3803921568627451,.4980392157,.0039215686,.4980392157,.3843137254901961,.5137254902,.0039215686,.4823529412,.38823529411764707,.5294117647,.0039215686,.4666666667,.39215686274509803,.5450980392,.0039215686,.4509803922,.396078431372549,.5607843137,.0039215686,.4352941176,.4,.5764705882,.0039215686,.4196078431,.403921568627451,.5921568627,.0039215686,.4039215686,.40784313725490196,.6078431373,.0039215686,.3882352941,.4117647058823529,.6235294118,.0039215686,.3725490196,.41568627450980394,.6392156863,.0039215686,.3568627451,.4196078431372549,.6549019608,.0039215686,.3411764706,.4235294117647059,.6705882353,.0039215686,.3254901961,.42745098039215684,.6862745098,.0039215686,.3098039216,.43137254901960786,.7019607843,.0039215686,.2941176471,.43529411764705883,.7176470588,.0039215686,.2784313725,.4392156862745098,.7333333333,.0039215686,.262745098,.44313725490196076,.7490196078,.0039215686,.2509803922,.4470588235294118,.7607843137,.0039215686,.2352941176,.45098039215686275,.7764705882,.0039215686,.2196078431,.4549019607843137,.7921568627,.0039215686,.2039215686,.4588235294117647,.8078431373,.0039215686,.1882352941,.4627450980392157,.8235294118,.0039215686,.1725490196,.4666666666666667,.8392156863,.0039215686,.1568627451,.4705882352941177,.8549019608,.0039215686,.1411764706,.4745098039215686,.8705882353,.0039215686,.1254901961,.4784313725490197,.8862745098,.0039215686,.1098039216,.48235294117647065,.9019607843,.0039215686,.0941176471,.48627450980392156,.9176470588,.0039215686,.0784313725,.49019607843137253,.9333333333,.0039215686,.062745098,.49411764705882355,.9490196078,.0039215686,.0470588235,.4980392156862745,.9647058824,.0039215686,.031372549,.5019607843137255,.9803921569,.0039215686,.0156862745,.5058823529411764,.9960784314,.0039215686,.0039215686,.5098039215686274,.9960784314,.0156862745,.0039215686,.5137254901960784,.9960784314,.031372549,.0039215686,.5176470588235295,.9960784314,.0470588235,.0039215686,.5215686274509804,.9960784314,.062745098,.0039215686,.5254901960784314,.9960784314,.0784313725,.0039215686,.5294117647058824,.9960784314,.0941176471,.0039215686,.5333333333333333,.9960784314,.1098039216,.0039215686,.5372549019607843,.9960784314,.1254901961,.0039215686,.5411764705882353,.9960784314,.1411764706,.0039215686,.5450980392156862,.9960784314,.1568627451,.0039215686,.5490196078431373,.9960784314,.1725490196,.0039215686,.5529411764705883,.9960784314,.1882352941,.0039215686,.5568627450980392,.9960784314,.2039215686,.0039215686,.5607843137254902,.9960784314,.2196078431,.0039215686,.5647058823529412,.9960784314,.2352941176,.0039215686,.5686274509803921,.9960784314,.2509803922,.0039215686,.5725490196078431,.9960784314,.262745098,.0039215686,.5764705882352941,.9960784314,.2784313725,.0039215686,.5803921568627451,.9960784314,.2941176471,.0039215686,.5843137254901961,.9960784314,.3098039216,.0039215686,.5882352941176471,.9960784314,.3254901961,.0039215686,.592156862745098,.9960784314,.3411764706,.0039215686,.596078431372549,.9960784314,.3568627451,.0039215686,.6,.9960784314,.3725490196,.0039215686,.6039215686274509,.9960784314,.3882352941,.0039215686,.6078431372549019,.9960784314,.4039215686,.0039215686,.611764705882353,.9960784314,.4196078431,.0039215686,.615686274509804,.9960784314,.4352941176,.0039215686,.6196078431372549,.9960784314,.4509803922,.0039215686,.6235294117647059,.9960784314,.4666666667,.0039215686,.6274509803921569,.9960784314,.4823529412,.0039215686,.6313725490196078,.9960784314,.4980392157,.0039215686,.6352941176470588,.9960784314,.5137254902,.0039215686,.6392156862745098,.9960784314,.5294117647,.0039215686,.6431372549019608,.9960784314,.5450980392,.0039215686,.6470588235294118,.9960784314,.5607843137,.0039215686,.6509803921568628,.9960784314,.5764705882,.0039215686,.6549019607843137,.9960784314,.5921568627,.0039215686,.6588235294117647,.9960784314,.6078431373,.0039215686,.6627450980392157,.9960784314,.6235294118,.0039215686,.6666666666666666,.9960784314,.6392156863,.0039215686,.6705882352941176,.9960784314,.6549019608,.0039215686,.6745098039215687,.9960784314,.6705882353,.0039215686,.6784313725490196,.9960784314,.6862745098,.0039215686,.6823529411764706,.9960784314,.7019607843,.0039215686,.6862745098039216,.9960784314,.7176470588,.0039215686,.6901960784313725,.9960784314,.7333333333,.0039215686,.6941176470588235,.9960784314,.7490196078,.0039215686,.6980392156862745,.9960784314,.7607843137,.0039215686,.7019607843137254,.9960784314,.7764705882,.0039215686,.7058823529411765,.9960784314,.7921568627,.0039215686,.7098039215686275,.9960784314,.8078431373,.0039215686,.7137254901960784,.9960784314,.8235294118,.0039215686,.7176470588235294,.9960784314,.8392156863,.0039215686,.7215686274509804,.9960784314,.8549019608,.0039215686,.7254901960784313,.9960784314,.8705882353,.0039215686,.7294117647058823,.9960784314,.8862745098,.0039215686,.7333333333333333,.9960784314,.9019607843,.0039215686,.7372549019607844,.9960784314,.9176470588,.0039215686,.7411764705882353,.9960784314,.9333333333,.0039215686,.7450980392156863,.9960784314,.9490196078,.0039215686,.7490196078431373,.9960784314,.9647058824,.0039215686,.7529411764705882,.9960784314,.9803921569,.0039215686,.7568627450980392,.9960784314,.9960784314,.0039215686,.7607843137254902,.9960784314,.9960784314,.0196078431,.7647058823529411,.9960784314,.9960784314,.0352941176,.7686274509803922,.9960784314,.9960784314,.0509803922,.7725490196078432,.9960784314,.9960784314,.0666666667,.7764705882352941,.9960784314,.9960784314,.0823529412,.7803921568627451,.9960784314,.9960784314,.0980392157,.7843137254901961,.9960784314,.9960784314,.1137254902,.788235294117647,.9960784314,.9960784314,.1294117647,.792156862745098,.9960784314,.9960784314,.1450980392,.796078431372549,.9960784314,.9960784314,.1607843137,.8,.9960784314,.9960784314,.1764705882,.803921568627451,.9960784314,.9960784314,.1921568627,.807843137254902,.9960784314,.9960784314,.2078431373,.8117647058823529,.9960784314,.9960784314,.2235294118,.8156862745098039,.9960784314,.9960784314,.2392156863,.8196078431372549,.9960784314,.9960784314,.2509803922,.8235294117647058,.9960784314,.9960784314,.2666666667,.8274509803921568,.9960784314,.9960784314,.2823529412,.8313725490196079,.9960784314,.9960784314,.2980392157,.8352941176470589,.9960784314,.9960784314,.3137254902,.8392156862745098,.9960784314,.9960784314,.3333333333,.8431372549019608,.9960784314,.9960784314,.3490196078,.8470588235294118,.9960784314,.9960784314,.3647058824,.8509803921568627,.9960784314,.9960784314,.3803921569,.8549019607843137,.9960784314,.9960784314,.3960784314,.8588235294117647,.9960784314,.9960784314,.4117647059,.8627450980392157,.9960784314,.9960784314,.4274509804,.8666666666666667,.9960784314,.9960784314,.4431372549,.8705882352941177,.9960784314,.9960784314,.4588235294,.8745098039215686,.9960784314,.9960784314,.4745098039,.8784313725490196,.9960784314,.9960784314,.4901960784,.8823529411764706,.9960784314,.9960784314,.5058823529,.8862745098039215,.9960784314,.9960784314,.5215686275,.8901960784313725,.9960784314,.9960784314,.537254902,.8941176470588236,.9960784314,.9960784314,.5529411765,.8980392156862745,.9960784314,.9960784314,.568627451,.9019607843137255,.9960784314,.9960784314,.5843137255,.9058823529411765,.9960784314,.9960784314,.6,.9098039215686274,.9960784314,.9960784314,.6156862745,.9137254901960784,.9960784314,.9960784314,.631372549,.9176470588235294,.9960784314,.9960784314,.6470588235,.9215686274509803,.9960784314,.9960784314,.6666666667,.9254901960784314,.9960784314,.9960784314,.6823529412,.9294117647058824,.9960784314,.9960784314,.6980392157,.9333333333333333,.9960784314,.9960784314,.7137254902,.9372549019607843,.9960784314,.9960784314,.7294117647,.9411764705882354,.9960784314,.9960784314,.7450980392,.9450980392156864,.9960784314,.9960784314,.7568627451,.9490196078431372,.9960784314,.9960784314,.7725490196,.9529411764705882,.9960784314,.9960784314,.7882352941,.9568627450980394,.9960784314,.9960784314,.8039215686,.9607843137254903,.9960784314,.9960784314,.8196078431,.9647058823529413,.9960784314,.9960784314,.8352941176,.9686274509803922,.9960784314,.9960784314,.8509803922,.9725490196078431,.9960784314,.9960784314,.8666666667,.9764705882352941,.9960784314,.9960784314,.8823529412,.9803921568627451,.9960784314,.9960784314,.8980392157,.984313725490196,.9960784314,.9960784314,.9137254902,.9882352941176471,.9960784314,.9960784314,.9294117647,.9921568627450981,.9960784314,.9960784314,.9450980392,.996078431372549,.9960784314,.9960784314,.9607843137,1,.9960784314,.9960784314,.9607843137],description:"Hot Iron"},{ColorSpace:"RGB",Name:"red_hot",RGBPoints:[0,0,0,0,.00392156862745098,0,0,0,.00784313725490196,0,0,0,.011764705882352941,0,0,0,.01568627450980392,.0039215686,.0039215686,.0039215686,.0196078431372549,.0039215686,.0039215686,.0039215686,.023529411764705882,.0039215686,.0039215686,.0039215686,.027450980392156862,.0039215686,.0039215686,.0039215686,.03137254901960784,.0039215686,.0039215686,.0039215686,.03529411764705882,.0156862745,0,0,.0392156862745098,.0274509804,0,0,.043137254901960784,.0392156863,0,0,.047058823529411764,.0509803922,0,0,.050980392156862744,.062745098,0,0,.054901960784313725,.0784313725,0,0,.05882352941176471,.0901960784,0,0,.06274509803921569,.1058823529,0,0,.06666666666666667,.1176470588,0,0,.07058823529411765,.1294117647,0,0,.07450980392156863,.1411764706,0,0,.0784313725490196,.1529411765,0,0,.08235294117647059,.1647058824,0,0,.08627450980392157,.1764705882,0,0,.09019607843137255,.1882352941,0,0,.09411764705882353,.2039215686,0,0,.09803921568627451,.2156862745,0,0,.10196078431372549,.2274509804,0,0,.10588235294117647,.2392156863,0,0,.10980392156862745,.2549019608,0,0,.11372549019607843,.2666666667,0,0,.11764705882352942,.2784313725,0,0,.12156862745098039,.2901960784,0,0,.12549019607843137,.3058823529,0,0,.12941176470588237,.3176470588,0,0,.13333333333333333,.3294117647,0,0,.13725490196078433,.3411764706,0,0,.1411764705882353,.3529411765,0,0,.1450980392156863,.3647058824,0,0,.14901960784313725,.3764705882,0,0,.15294117647058825,.3882352941,0,0,.1568627450980392,.4039215686,0,0,.1607843137254902,.4156862745,0,0,.16470588235294117,.431372549,0,0,.16862745098039217,.4431372549,0,0,.17254901960784313,.4588235294,0,0,.17647058823529413,.4705882353,0,0,.1803921568627451,.4823529412,0,0,.1843137254901961,.4941176471,0,0,.18823529411764706,.5098039216,0,0,.19215686274509805,.5215686275,0,0,.19607843137254902,.5333333333,0,0,.2,.5450980392,0,0,.20392156862745098,.5568627451,0,0,.20784313725490197,.568627451,0,0,.21176470588235294,.5803921569,0,0,.21568627450980393,.5921568627,0,0,.2196078431372549,.6078431373,0,0,.2235294117647059,.6196078431,0,0,.22745098039215686,.631372549,0,0,.23137254901960785,.6431372549,0,0,.23529411764705885,.6588235294,0,0,.23921568627450984,.6705882353,0,0,.24313725490196078,.6823529412,0,0,.24705882352941178,.6941176471,0,0,.25098039215686274,.7098039216,0,0,.2549019607843137,.7215686275,0,0,.25882352941176473,.7333333333,0,0,.2627450980392157,.7450980392,0,0,.26666666666666666,.7568627451,0,0,.27058823529411763,.768627451,0,0,.27450980392156865,.7843137255,0,0,.2784313725490196,.7960784314,0,0,.2823529411764706,.8117647059,0,0,.28627450980392155,.8235294118,0,0,.2901960784313726,.8352941176,0,0,.29411764705882354,.8470588235,0,0,.2980392156862745,.862745098,0,0,.30196078431372547,.8745098039,0,0,.3058823529411765,.8862745098,0,0,.30980392156862746,.8980392157,0,0,.3137254901960784,.9137254902,0,0,.3176470588235294,.9254901961,0,0,.3215686274509804,.937254902,0,0,.3254901960784314,.9490196078,0,0,.32941176470588235,.9607843137,0,0,.3333333333333333,.968627451,0,0,.33725490196078434,.9803921569,.0039215686,0,.3411764705882353,.9882352941,.0078431373,0,.34509803921568627,1,.0117647059,0,.34901960784313724,1,.0235294118,0,.35294117647058826,1,.0352941176,0,.3568627450980392,1,.0470588235,0,.3607843137254902,1,.062745098,0,.36470588235294116,1,.0745098039,0,.3686274509803922,1,.0862745098,0,.37254901960784315,1,.0980392157,0,.3764705882352941,1,.1137254902,0,.3803921568627451,1,.1254901961,0,.3843137254901961,1,.137254902,0,.38823529411764707,1,.1490196078,0,.39215686274509803,1,.1647058824,0,.396078431372549,1,.1764705882,0,.4,1,.1882352941,0,.403921568627451,1,.2,0,.40784313725490196,1,.2156862745,0,.4117647058823529,1,.2274509804,0,.41568627450980394,1,.2392156863,0,.4196078431372549,1,.2509803922,0,.4235294117647059,1,.2666666667,0,.42745098039215684,1,.2784313725,0,.43137254901960786,1,.2901960784,0,.43529411764705883,1,.3019607843,0,.4392156862745098,1,.3176470588,0,.44313725490196076,1,.3294117647,0,.4470588235294118,1,.3411764706,0,.45098039215686275,1,.3529411765,0,.4549019607843137,1,.368627451,0,.4588235294117647,1,.3803921569,0,.4627450980392157,1,.3921568627,0,.4666666666666667,1,.4039215686,0,.4705882352941177,1,.4156862745,0,.4745098039215686,1,.4274509804,0,.4784313725490197,1,.4392156863,0,.48235294117647065,1,.4509803922,0,.48627450980392156,1,.4666666667,0,.49019607843137253,1,.4784313725,0,.49411764705882355,1,.4941176471,0,.4980392156862745,1,.5058823529,0,.5019607843137255,1,.5215686275,0,.5058823529411764,1,.5333333333,0,.5098039215686274,1,.5450980392,0,.5137254901960784,1,.5568627451,0,.5176470588235295,1,.568627451,0,.5215686274509804,1,.5803921569,0,.5254901960784314,1,.5921568627,0,.5294117647058824,1,.6039215686,0,.5333333333333333,1,.6196078431,0,.5372549019607843,1,.631372549,0,.5411764705882353,1,.6431372549,0,.5450980392156862,1,.6549019608,0,.5490196078431373,1,.6705882353,0,.5529411764705883,1,.6823529412,0,.5568627450980392,1,.6941176471,0,.5607843137254902,1,.7058823529,0,.5647058823529412,1,.7215686275,0,.5686274509803921,1,.7333333333,0,.5725490196078431,1,.7450980392,0,.5764705882352941,1,.7568627451,0,.5803921568627451,1,.7725490196,0,.5843137254901961,1,.7843137255,0,.5882352941176471,1,.7960784314,0,.592156862745098,1,.8078431373,0,.596078431372549,1,.8196078431,0,.6,1,.831372549,0,.6039215686274509,1,.8470588235,0,.6078431372549019,1,.8588235294,0,.611764705882353,1,.8745098039,0,.615686274509804,1,.8862745098,0,.6196078431372549,1,.8980392157,0,.6235294117647059,1,.9098039216,0,.6274509803921569,1,.9254901961,0,.6313725490196078,1,.937254902,0,.6352941176470588,1,.9490196078,0,.6392156862745098,1,.9607843137,0,.6431372549019608,1,.9764705882,0,.6470588235294118,1,.9803921569,.0039215686,.6509803921568628,1,.9882352941,.0117647059,.6549019607843137,1,.9921568627,.0156862745,.6588235294117647,1,1,.0235294118,.6627450980392157,1,1,.0352941176,.6666666666666666,1,1,.0470588235,.6705882352941176,1,1,.0588235294,.6745098039215687,1,1,.0745098039,.6784313725490196,1,1,.0862745098,.6823529411764706,1,1,.0980392157,.6862745098039216,1,1,.1098039216,.6901960784313725,1,1,.1254901961,.6941176470588235,1,1,.137254902,.6980392156862745,1,1,.1490196078,.7019607843137254,1,1,.1607843137,.7058823529411765,1,1,.1764705882,.7098039215686275,1,1,.1882352941,.7137254901960784,1,1,.2,.7176470588235294,1,1,.2117647059,.7215686274509804,1,1,.2274509804,.7254901960784313,1,1,.2392156863,.7294117647058823,1,1,.2509803922,.7333333333333333,1,1,.262745098,.7372549019607844,1,1,.2784313725,.7411764705882353,1,1,.2901960784,.7450980392156863,1,1,.3019607843,.7490196078431373,1,1,.3137254902,.7529411764705882,1,1,.3294117647,.7568627450980392,1,1,.3411764706,.7607843137254902,1,1,.3529411765,.7647058823529411,1,1,.3647058824,.7686274509803922,1,1,.3803921569,.7725490196078432,1,1,.3921568627,.7764705882352941,1,1,.4039215686,.7803921568627451,1,1,.4156862745,.7843137254901961,1,1,.431372549,.788235294117647,1,1,.4431372549,.792156862745098,1,1,.4549019608,.796078431372549,1,1,.4666666667,.8,1,1,.4784313725,.803921568627451,1,1,.4901960784,.807843137254902,1,1,.5019607843,.8117647058823529,1,1,.5137254902,.8156862745098039,1,1,.5294117647,.8196078431372549,1,1,.5411764706,.8235294117647058,1,1,.5568627451,.8274509803921568,1,1,.568627451,.8313725490196079,1,1,.5843137255,.8352941176470589,1,1,.5960784314,.8392156862745098,1,1,.6078431373,.8431372549019608,1,1,.6196078431,.8470588235294118,1,1,.631372549,.8509803921568627,1,1,.6431372549,.8549019607843137,1,1,.6549019608,.8588235294117647,1,1,.6666666667,.8627450980392157,1,1,.6823529412,.8666666666666667,1,1,.6941176471,.8705882352941177,1,1,.7058823529,.8745098039215686,1,1,.7176470588,.8784313725490196,1,1,.7333333333,.8823529411764706,1,1,.7450980392,.8862745098039215,1,1,.7568627451,.8901960784313725,1,1,.768627451,.8941176470588236,1,1,.7843137255,.8980392156862745,1,1,.7960784314,.9019607843137255,1,1,.8078431373,.9058823529411765,1,1,.8196078431,.9098039215686274,1,1,.8352941176,.9137254901960784,1,1,.8470588235,.9176470588235294,1,1,.8588235294,.9215686274509803,1,1,.8705882353,.9254901960784314,1,1,.8823529412,.9294117647058824,1,1,.8941176471,.9333333333333333,1,1,.9098039216,.9372549019607843,1,1,.9215686275,.9411764705882354,1,1,.937254902,.9450980392156864,1,1,.9490196078,.9490196078431372,1,1,.9607843137,.9529411764705882,1,1,.9725490196,.9568627450980394,1,1,.9882352941,.9607843137254903,1,1,.9882352941,.9647058823529413,1,1,.9921568627,.9686274509803922,1,1,.9960784314,.9725490196078431,1,1,1,.9764705882352941,1,1,1,.9803921568627451,1,1,1,.984313725490196,1,1,1,.9882352941176471,1,1,1,.9921568627450981,1,1,1,.996078431372549,1,1,1,1,1,1,1],description:"Red Hot"},{ColorSpace:"RGB",Name:"s_pet",RGBPoints:[0,.0156862745,.0039215686,.0156862745,.00392156862745098,.0156862745,.0039215686,.0156862745,.00784313725490196,.0274509804,.0039215686,.031372549,.011764705882352941,.0352941176,.0039215686,.0509803922,.01568627450980392,.0392156863,.0039215686,.0666666667,.0196078431372549,.0509803922,.0039215686,.0823529412,.023529411764705882,.062745098,.0039215686,.0980392157,.027450980392156862,.0705882353,.0039215686,.1176470588,.03137254901960784,.0745098039,.0039215686,.1333333333,.03529411764705882,.0862745098,.0039215686,.1490196078,.0392156862745098,.0980392157,.0039215686,.1647058824,.043137254901960784,.1058823529,.0039215686,.1843137255,.047058823529411764,.1098039216,.0039215686,.2,.050980392156862744,.1215686275,.0039215686,.2156862745,.054901960784313725,.1333333333,.0039215686,.231372549,.05882352941176471,.137254902,.0039215686,.2509803922,.06274509803921569,.1490196078,.0039215686,.262745098,.06666666666666667,.1607843137,.0039215686,.2784313725,.07058823529411765,.168627451,.0039215686,.2941176471,.07450980392156863,.1725490196,.0039215686,.3137254902,.0784313725490196,.1843137255,.0039215686,.3294117647,.08235294117647059,.1960784314,.0039215686,.3450980392,.08627450980392157,.2039215686,.0039215686,.3607843137,.09019607843137255,.2078431373,.0039215686,.3803921569,.09411764705882353,.2196078431,.0039215686,.3960784314,.09803921568627451,.231372549,.0039215686,.4117647059,.10196078431372549,.2392156863,.0039215686,.4274509804,.10588235294117647,.2431372549,.0039215686,.4470588235,.10980392156862745,.2509803922,.0039215686,.462745098,.11372549019607843,.262745098,.0039215686,.4784313725,.11764705882352942,.2666666667,.0039215686,.4980392157,.12156862745098039,.2666666667,.0039215686,.4980392157,.12549019607843137,.262745098,.0039215686,.5137254902,.12941176470588237,.2509803922,.0039215686,.5294117647,.13333333333333333,.2431372549,.0039215686,.5450980392,.13725490196078433,.2392156863,.0039215686,.5607843137,.1411764705882353,.231372549,.0039215686,.5764705882,.1450980392156863,.2196078431,.0039215686,.5921568627,.14901960784313725,.2078431373,.0039215686,.6078431373,.15294117647058825,.2039215686,.0039215686,.6235294118,.1568627450980392,.1960784314,.0039215686,.6392156863,.1607843137254902,.1843137255,.0039215686,.6549019608,.16470588235294117,.1725490196,.0039215686,.6705882353,.16862745098039217,.168627451,.0039215686,.6862745098,.17254901960784313,.1607843137,.0039215686,.7019607843,.17647058823529413,.1490196078,.0039215686,.7176470588,.1803921568627451,.137254902,.0039215686,.7333333333,.1843137254901961,.1333333333,.0039215686,.7490196078,.18823529411764706,.1215686275,.0039215686,.7607843137,.19215686274509805,.1098039216,.0039215686,.7764705882,.19607843137254902,.1058823529,.0039215686,.7921568627,.2,.0980392157,.0039215686,.8078431373,.20392156862745098,.0862745098,.0039215686,.8235294118,.20784313725490197,.0745098039,.0039215686,.8392156863,.21176470588235294,.0705882353,.0039215686,.8549019608,.21568627450980393,.062745098,.0039215686,.8705882353,.2196078431372549,.0509803922,.0039215686,.8862745098,.2235294117647059,.0392156863,.0039215686,.9019607843,.22745098039215686,.0352941176,.0039215686,.9176470588,.23137254901960785,.0274509804,.0039215686,.9333333333,.23529411764705885,.0156862745,.0039215686,.9490196078,.23921568627450984,.0078431373,.0039215686,.9647058824,.24313725490196078,.0039215686,.0039215686,.9960784314,.24705882352941178,.0039215686,.0039215686,.9960784314,.25098039215686274,.0039215686,.0196078431,.9647058824,.2549019607843137,.0039215686,.0392156863,.9490196078,.25882352941176473,.0039215686,.0549019608,.9333333333,.2627450980392157,.0039215686,.0745098039,.9176470588,.26666666666666666,.0039215686,.0901960784,.9019607843,.27058823529411763,.0039215686,.1098039216,.8862745098,.27450980392156865,.0039215686,.1254901961,.8705882353,.2784313725490196,.0039215686,.1450980392,.8549019608,.2823529411764706,.0039215686,.1607843137,.8392156863,.28627450980392155,.0039215686,.1803921569,.8235294118,.2901960784313726,.0039215686,.1960784314,.8078431373,.29411764705882354,.0039215686,.2156862745,.7921568627,.2980392156862745,.0039215686,.231372549,.7764705882,.30196078431372547,.0039215686,.2509803922,.7607843137,.3058823529411765,.0039215686,.262745098,.7490196078,.30980392156862746,.0039215686,.2823529412,.7333333333,.3137254901960784,.0039215686,.2980392157,.7176470588,.3176470588235294,.0039215686,.3176470588,.7019607843,.3215686274509804,.0039215686,.3333333333,.6862745098,.3254901960784314,.0039215686,.3529411765,.6705882353,.32941176470588235,.0039215686,.368627451,.6549019608,.3333333333333333,.0039215686,.3882352941,.6392156863,.33725490196078434,.0039215686,.4039215686,.6235294118,.3411764705882353,.0039215686,.4235294118,.6078431373,.34509803921568627,.0039215686,.4392156863,.5921568627,.34901960784313724,.0039215686,.4588235294,.5764705882,.35294117647058826,.0039215686,.4745098039,.5607843137,.3568627450980392,.0039215686,.4941176471,.5450980392,.3607843137254902,.0039215686,.5098039216,.5294117647,.36470588235294116,.0039215686,.5294117647,.5137254902,.3686274509803922,.0039215686,.5450980392,.4980392157,.37254901960784315,.0039215686,.5647058824,.4784313725,.3764705882352941,.0039215686,.5803921569,.462745098,.3803921568627451,.0039215686,.6,.4470588235,.3843137254901961,.0039215686,.6156862745,.4274509804,.38823529411764707,.0039215686,.6352941176,.4117647059,.39215686274509803,.0039215686,.6509803922,.3960784314,.396078431372549,.0039215686,.6705882353,.3803921569,.4,.0039215686,.6862745098,.3607843137,.403921568627451,.0039215686,.7058823529,.3450980392,.40784313725490196,.0039215686,.7215686275,.3294117647,.4117647058823529,.0039215686,.7411764706,.3137254902,.41568627450980394,.0039215686,.7529411765,.2941176471,.4196078431372549,.0039215686,.7960784314,.2784313725,.4235294117647059,.0039215686,.7960784314,.262745098,.42745098039215684,.0392156863,.8039215686,.2509803922,.43137254901960786,.0745098039,.8117647059,.231372549,.43529411764705883,.1098039216,.8196078431,.2156862745,.4392156862745098,.1450980392,.8274509804,.2,.44313725490196076,.1803921569,.8352941176,.1843137255,.4470588235294118,.2156862745,.8431372549,.1647058824,.45098039215686275,.2509803922,.8509803922,.1490196078,.4549019607843137,.2823529412,.8588235294,.1333333333,.4588235294117647,.3176470588,.8666666667,.1176470588,.4627450980392157,.3529411765,.8745098039,.0980392157,.4666666666666667,.3882352941,.8823529412,.0823529412,.4705882352941177,.4235294118,.8901960784,.0666666667,.4745098039215686,.4588235294,.8980392157,.0509803922,.4784313725490197,.4941176471,.9058823529,.0431372549,.48235294117647065,.5294117647,.9137254902,.031372549,.48627450980392156,.5647058824,.9215686275,.0196078431,.49019607843137253,.6,.9294117647,.0078431373,.49411764705882355,.6352941176,.937254902,.0039215686,.4980392156862745,.6705882353,.9450980392,.0039215686,.5019607843137255,.7058823529,.9490196078,.0039215686,.5058823529411764,.7411764706,.9568627451,.0039215686,.5098039215686274,.7725490196,.9607843137,.0039215686,.5137254901960784,.8078431373,.968627451,.0039215686,.5176470588235295,.8431372549,.9725490196,.0039215686,.5215686274509804,.8784313725,.9803921569,.0039215686,.5254901960784314,.9137254902,.9843137255,.0039215686,.5294117647058824,.9490196078,.9921568627,.0039215686,.5333333333333333,.9960784314,.9960784314,.0039215686,.5372549019607843,.9960784314,.9960784314,.0039215686,.5411764705882353,.9960784314,.9921568627,.0039215686,.5450980392156862,.9960784314,.9843137255,.0039215686,.5490196078431373,.9960784314,.9764705882,.0039215686,.5529411764705883,.9960784314,.968627451,.0039215686,.5568627450980392,.9960784314,.9607843137,.0039215686,.5607843137254902,.9960784314,.9529411765,.0039215686,.5647058823529412,.9960784314,.9450980392,.0039215686,.5686274509803921,.9960784314,.937254902,.0039215686,.5725490196078431,.9960784314,.9294117647,.0039215686,.5764705882352941,.9960784314,.9215686275,.0039215686,.5803921568627451,.9960784314,.9137254902,.0039215686,.5843137254901961,.9960784314,.9058823529,.0039215686,.5882352941176471,.9960784314,.8980392157,.0039215686,.592156862745098,.9960784314,.8901960784,.0039215686,.596078431372549,.9960784314,.8823529412,.0039215686,.6,.9960784314,.8745098039,.0039215686,.6039215686274509,.9960784314,.8666666667,.0039215686,.6078431372549019,.9960784314,.8588235294,.0039215686,.611764705882353,.9960784314,.8509803922,.0039215686,.615686274509804,.9960784314,.8431372549,.0039215686,.6196078431372549,.9960784314,.8352941176,.0039215686,.6235294117647059,.9960784314,.8274509804,.0039215686,.6274509803921569,.9960784314,.8196078431,.0039215686,.6313725490196078,.9960784314,.8117647059,.0039215686,.6352941176470588,.9960784314,.8039215686,.0039215686,.6392156862745098,.9960784314,.7960784314,.0039215686,.6431372549019608,.9960784314,.7882352941,.0039215686,.6470588235294118,.9960784314,.7803921569,.0039215686,.6509803921568628,.9960784314,.7725490196,.0039215686,.6549019607843137,.9960784314,.7647058824,.0039215686,.6588235294117647,.9960784314,.7568627451,.0039215686,.6627450980392157,.9960784314,.7490196078,.0039215686,.6666666666666666,.9960784314,.7450980392,.0039215686,.6705882352941176,.9960784314,.737254902,.0039215686,.6745098039215687,.9960784314,.7294117647,.0039215686,.6784313725490196,.9960784314,.7215686275,.0039215686,.6823529411764706,.9960784314,.7137254902,.0039215686,.6862745098039216,.9960784314,.7058823529,.0039215686,.6901960784313725,.9960784314,.6980392157,.0039215686,.6941176470588235,.9960784314,.6901960784,.0039215686,.6980392156862745,.9960784314,.6823529412,.0039215686,.7019607843137254,.9960784314,.6745098039,.0039215686,.7058823529411765,.9960784314,.6666666667,.0039215686,.7098039215686275,.9960784314,.6588235294,.0039215686,.7137254901960784,.9960784314,.6509803922,.0039215686,.7176470588235294,.9960784314,.6431372549,.0039215686,.7215686274509804,.9960784314,.6352941176,.0039215686,.7254901960784313,.9960784314,.6274509804,.0039215686,.7294117647058823,.9960784314,.6196078431,.0039215686,.7333333333333333,.9960784314,.6117647059,.0039215686,.7372549019607844,.9960784314,.6039215686,.0039215686,.7411764705882353,.9960784314,.5960784314,.0039215686,.7450980392156863,.9960784314,.5882352941,.0039215686,.7490196078431373,.9960784314,.5803921569,.0039215686,.7529411764705882,.9960784314,.5725490196,.0039215686,.7568627450980392,.9960784314,.5647058824,.0039215686,.7607843137254902,.9960784314,.5568627451,.0039215686,.7647058823529411,.9960784314,.5490196078,.0039215686,.7686274509803922,.9960784314,.5411764706,.0039215686,.7725490196078432,.9960784314,.5333333333,.0039215686,.7764705882352941,.9960784314,.5254901961,.0039215686,.7803921568627451,.9960784314,.5176470588,.0039215686,.7843137254901961,.9960784314,.5098039216,.0039215686,.788235294117647,.9960784314,.5019607843,.0039215686,.792156862745098,.9960784314,.4941176471,.0039215686,.796078431372549,.9960784314,.4862745098,.0039215686,.8,.9960784314,.4784313725,.0039215686,.803921568627451,.9960784314,.4705882353,.0039215686,.807843137254902,.9960784314,.462745098,.0039215686,.8117647058823529,.9960784314,.4549019608,.0039215686,.8156862745098039,.9960784314,.4470588235,.0039215686,.8196078431372549,.9960784314,.4392156863,.0039215686,.8235294117647058,.9960784314,.431372549,.0039215686,.8274509803921568,.9960784314,.4235294118,.0039215686,.8313725490196079,.9960784314,.4156862745,.0039215686,.8352941176470589,.9960784314,.4078431373,.0039215686,.8392156862745098,.9960784314,.4,.0039215686,.8431372549019608,.9960784314,.3921568627,.0039215686,.8470588235294118,.9960784314,.3843137255,.0039215686,.8509803921568627,.9960784314,.3764705882,.0039215686,.8549019607843137,.9960784314,.368627451,.0039215686,.8588235294117647,.9960784314,.3607843137,.0039215686,.8627450980392157,.9960784314,.3529411765,.0039215686,.8666666666666667,.9960784314,.3450980392,.0039215686,.8705882352941177,.9960784314,.337254902,.0039215686,.8745098039215686,.9960784314,.3294117647,.0039215686,.8784313725490196,.9960784314,.3215686275,.0039215686,.8823529411764706,.9960784314,.3137254902,.0039215686,.8862745098039215,.9960784314,.3058823529,.0039215686,.8901960784313725,.9960784314,.2980392157,.0039215686,.8941176470588236,.9960784314,.2901960784,.0039215686,.8980392156862745,.9960784314,.2823529412,.0039215686,.9019607843137255,.9960784314,.2705882353,.0039215686,.9058823529411765,.9960784314,.2588235294,.0039215686,.9098039215686274,.9960784314,.2509803922,.0039215686,.9137254901960784,.9960784314,.2431372549,.0039215686,.9176470588235294,.9960784314,.231372549,.0039215686,.9215686274509803,.9960784314,.2196078431,.0039215686,.9254901960784314,.9960784314,.2117647059,.0039215686,.9294117647058824,.9960784314,.2,.0039215686,.9333333333333333,.9960784314,.1882352941,.0039215686,.9372549019607843,.9960784314,.1764705882,.0039215686,.9411764705882354,.9960784314,.168627451,.0039215686,.9450980392156864,.9960784314,.1568627451,.0039215686,.9490196078431372,.9960784314,.1450980392,.0039215686,.9529411764705882,.9960784314,.1333333333,.0039215686,.9568627450980394,.9960784314,.1254901961,.0039215686,.9607843137254903,.9960784314,.1137254902,.0039215686,.9647058823529413,.9960784314,.1019607843,.0039215686,.9686274509803922,.9960784314,.0901960784,.0039215686,.9725490196078431,.9960784314,.0823529412,.0039215686,.9764705882352941,.9960784314,.0705882353,.0039215686,.9803921568627451,.9960784314,.0588235294,.0039215686,.984313725490196,.9960784314,.0470588235,.0039215686,.9882352941176471,.9960784314,.0392156863,.0039215686,.9921568627450981,.9960784314,.0274509804,.0039215686,.996078431372549,.9960784314,.0156862745,.0039215686,1,.9960784314,.0156862745,.0039215686],description:"S PET"},{ColorSpace:"RGB",Name:"perfusion",RGBPoints:[0,0,0,0,.00392156862745098,.0078431373,.0235294118,.0235294118,.00784313725490196,.0078431373,.031372549,.0470588235,.011764705882352941,.0078431373,.0392156863,.062745098,.01568627450980392,.0078431373,.0470588235,.0862745098,.0196078431372549,.0078431373,.0549019608,.1019607843,.023529411764705882,.0078431373,.0549019608,.1254901961,.027450980392156862,.0078431373,.062745098,.1411764706,.03137254901960784,.0078431373,.0705882353,.1647058824,.03529411764705882,.0078431373,.0784313725,.1803921569,.0392156862745098,.0078431373,.0862745098,.2039215686,.043137254901960784,.0078431373,.0862745098,.2196078431,.047058823529411764,.0078431373,.0941176471,.2431372549,.050980392156862744,.0078431373,.1019607843,.2666666667,.054901960784313725,.0078431373,.1098039216,.2823529412,.05882352941176471,.0078431373,.1176470588,.3058823529,.06274509803921569,.0078431373,.1176470588,.3215686275,.06666666666666667,.0078431373,.1254901961,.3450980392,.07058823529411765,.0078431373,.1333333333,.3607843137,.07450980392156863,.0078431373,.1411764706,.3843137255,.0784313725490196,.0078431373,.1490196078,.4,.08235294117647059,.0078431373,.1490196078,.4235294118,.08627450980392157,.0078431373,.1568627451,.4392156863,.09019607843137255,.0078431373,.1647058824,.462745098,.09411764705882353,.0078431373,.1725490196,.4784313725,.09803921568627451,.0078431373,.1803921569,.5019607843,.10196078431372549,.0078431373,.1803921569,.5254901961,.10588235294117647,.0078431373,.1882352941,.5411764706,.10980392156862745,.0078431373,.1960784314,.5647058824,.11372549019607843,.0078431373,.2039215686,.5803921569,.11764705882352942,.0078431373,.2117647059,.6039215686,.12156862745098039,.0078431373,.2117647059,.6196078431,.12549019607843137,.0078431373,.2196078431,.6431372549,.12941176470588237,.0078431373,.2274509804,.6588235294,.13333333333333333,.0078431373,.2352941176,.6823529412,.13725490196078433,.0078431373,.2431372549,.6980392157,.1411764705882353,.0078431373,.2431372549,.7215686275,.1450980392156863,.0078431373,.2509803922,.737254902,.14901960784313725,.0078431373,.2588235294,.7607843137,.15294117647058825,.0078431373,.2666666667,.7843137255,.1568627450980392,.0078431373,.2745098039,.8,.1607843137254902,.0078431373,.2745098039,.8235294118,.16470588235294117,.0078431373,.2823529412,.8392156863,.16862745098039217,.0078431373,.2901960784,.862745098,.17254901960784313,.0078431373,.2980392157,.8784313725,.17647058823529413,.0078431373,.3058823529,.9019607843,.1803921568627451,.0078431373,.3058823529,.9176470588,.1843137254901961,.0078431373,.2980392157,.9411764706,.18823529411764706,.0078431373,.3058823529,.9568627451,.19215686274509805,.0078431373,.2980392157,.9803921569,.19607843137254902,.0078431373,.2980392157,.9882352941,.2,.0078431373,.2901960784,.9803921569,.20392156862745098,.0078431373,.2901960784,.9647058824,.20784313725490197,.0078431373,.2823529412,.9568627451,.21176470588235294,.0078431373,.2823529412,.9411764706,.21568627450980393,.0078431373,.2745098039,.9333333333,.2196078431372549,.0078431373,.2666666667,.9176470588,.2235294117647059,.0078431373,.2666666667,.9098039216,.22745098039215686,.0078431373,.2588235294,.9019607843,.23137254901960785,.0078431373,.2588235294,.8862745098,.23529411764705885,.0078431373,.2509803922,.8784313725,.23921568627450984,.0078431373,.2509803922,.862745098,.24313725490196078,.0078431373,.2431372549,.8549019608,.24705882352941178,.0078431373,.2352941176,.8392156863,.25098039215686274,.0078431373,.2352941176,.831372549,.2549019607843137,.0078431373,.2274509804,.8235294118,.25882352941176473,.0078431373,.2274509804,.8078431373,.2627450980392157,.0078431373,.2196078431,.8,.26666666666666666,.0078431373,.2196078431,.7843137255,.27058823529411763,.0078431373,.2117647059,.7764705882,.27450980392156865,.0078431373,.2039215686,.7607843137,.2784313725490196,.0078431373,.2039215686,.7529411765,.2823529411764706,.0078431373,.1960784314,.7450980392,.28627450980392155,.0078431373,.1960784314,.7294117647,.2901960784313726,.0078431373,.1882352941,.7215686275,.29411764705882354,.0078431373,.1882352941,.7058823529,.2980392156862745,.0078431373,.1803921569,.6980392157,.30196078431372547,.0078431373,.1803921569,.6823529412,.3058823529411765,.0078431373,.1725490196,.6745098039,.30980392156862746,.0078431373,.1647058824,.6666666667,.3137254901960784,.0078431373,.1647058824,.6509803922,.3176470588235294,.0078431373,.1568627451,.6431372549,.3215686274509804,.0078431373,.1568627451,.6274509804,.3254901960784314,.0078431373,.1490196078,.6196078431,.32941176470588235,.0078431373,.1490196078,.6039215686,.3333333333333333,.0078431373,.1411764706,.5960784314,.33725490196078434,.0078431373,.1333333333,.5882352941,.3411764705882353,.0078431373,.1333333333,.5725490196,.34509803921568627,.0078431373,.1254901961,.5647058824,.34901960784313724,.0078431373,.1254901961,.5490196078,.35294117647058826,.0078431373,.1176470588,.5411764706,.3568627450980392,.0078431373,.1176470588,.5254901961,.3607843137254902,.0078431373,.1098039216,.5176470588,.36470588235294116,.0078431373,.1019607843,.5098039216,.3686274509803922,.0078431373,.1019607843,.4941176471,.37254901960784315,.0078431373,.0941176471,.4862745098,.3764705882352941,.0078431373,.0941176471,.4705882353,.3803921568627451,.0078431373,.0862745098,.462745098,.3843137254901961,.0078431373,.0862745098,.4470588235,.38823529411764707,.0078431373,.0784313725,.4392156863,.39215686274509803,.0078431373,.0705882353,.431372549,.396078431372549,.0078431373,.0705882353,.4156862745,.4,.0078431373,.062745098,.4078431373,.403921568627451,.0078431373,.062745098,.3921568627,.40784313725490196,.0078431373,.0549019608,.3843137255,.4117647058823529,.0078431373,.0549019608,.368627451,.41568627450980394,.0078431373,.0470588235,.3607843137,.4196078431372549,.0078431373,.0470588235,.3529411765,.4235294117647059,.0078431373,.0392156863,.337254902,.42745098039215684,.0078431373,.031372549,.3294117647,.43137254901960786,.0078431373,.031372549,.3137254902,.43529411764705883,.0078431373,.0235294118,.3058823529,.4392156862745098,.0078431373,.0235294118,.2901960784,.44313725490196076,.0078431373,.0156862745,.2823529412,.4470588235294118,.0078431373,.0156862745,.2745098039,.45098039215686275,.0078431373,.0078431373,.2588235294,.4549019607843137,.0235294118,.0078431373,.2509803922,.4588235294117647,.0078431373,.0078431373,.2352941176,.4627450980392157,.0078431373,.0078431373,.2274509804,.4666666666666667,.0078431373,.0078431373,.2117647059,.4705882352941177,.0078431373,.0078431373,.2039215686,.4745098039215686,.0078431373,.0078431373,.1960784314,.4784313725490197,.0078431373,.0078431373,.1803921569,.48235294117647065,.0078431373,.0078431373,.1725490196,.48627450980392156,.0078431373,.0078431373,.1568627451,.49019607843137253,.0078431373,.0078431373,.1490196078,.49411764705882355,.0078431373,.0078431373,.1333333333,.4980392156862745,.0078431373,.0078431373,.1254901961,.5019607843137255,.0078431373,.0078431373,.1176470588,.5058823529411764,.0078431373,.0078431373,.1019607843,.5098039215686274,.0078431373,.0078431373,.0941176471,.5137254901960784,.0078431373,.0078431373,.0784313725,.5176470588235295,.0078431373,.0078431373,.0705882353,.5215686274509804,.0078431373,.0078431373,.0549019608,.5254901960784314,.0078431373,.0078431373,.0470588235,.5294117647058824,.0235294118,.0078431373,.0392156863,.5333333333333333,.031372549,.0078431373,.0235294118,.5372549019607843,.0392156863,.0078431373,.0156862745,.5411764705882353,.0549019608,.0078431373,0,.5450980392156862,.062745098,.0078431373,0,.5490196078431373,.0705882353,.0078431373,0,.5529411764705883,.0862745098,.0078431373,0,.5568627450980392,.0941176471,.0078431373,0,.5607843137254902,.1019607843,.0078431373,0,.5647058823529412,.1098039216,.0078431373,0,.5686274509803921,.1254901961,.0078431373,0,.5725490196078431,.1333333333,.0078431373,0,.5764705882352941,.1411764706,.0078431373,0,.5803921568627451,.1568627451,.0078431373,0,.5843137254901961,.1647058824,.0078431373,0,.5882352941176471,.1725490196,.0078431373,0,.592156862745098,.1882352941,.0078431373,0,.596078431372549,.1960784314,.0078431373,0,.6,.2039215686,.0078431373,0,.6039215686274509,.2117647059,.0078431373,0,.6078431372549019,.2274509804,.0078431373,0,.611764705882353,.2352941176,.0078431373,0,.615686274509804,.2431372549,.0078431373,0,.6196078431372549,.2588235294,.0078431373,0,.6235294117647059,.2666666667,.0078431373,0,.6274509803921569,.2745098039,0,0,.6313725490196078,.2901960784,.0156862745,0,.6352941176470588,.2980392157,.0235294118,0,.6392156862745098,.3058823529,.0392156863,0,.6431372549019608,.3137254902,.0470588235,0,.6470588235294118,.3294117647,.0549019608,0,.6509803921568628,.337254902,.0705882353,0,.6549019607843137,.3450980392,.0784313725,0,.6588235294117647,.3607843137,.0862745098,0,.6627450980392157,.368627451,.1019607843,0,.6666666666666666,.3764705882,.1098039216,0,.6705882352941176,.3843137255,.1176470588,0,.6745098039215687,.4,.1333333333,0,.6784313725490196,.4078431373,.1411764706,0,.6823529411764706,.4156862745,.1490196078,0,.6862745098039216,.431372549,.1647058824,0,.6901960784313725,.4392156863,.1725490196,0,.6941176470588235,.4470588235,.1803921569,0,.6980392156862745,.462745098,.1960784314,0,.7019607843137254,.4705882353,.2039215686,0,.7058823529411765,.4784313725,.2117647059,0,.7098039215686275,.4862745098,.2274509804,0,.7137254901960784,.5019607843,.2352941176,0,.7176470588235294,.5098039216,.2431372549,0,.7215686274509804,.5176470588,.2588235294,0,.7254901960784313,.5333333333,.2666666667,0,.7294117647058823,.5411764706,.2745098039,0,.7333333333333333,.5490196078,.2901960784,0,.7372549019607844,.5647058824,.2980392157,0,.7411764705882353,.5725490196,.3058823529,0,.7450980392156863,.5803921569,.3215686275,0,.7490196078431373,.5882352941,.3294117647,0,.7529411764705882,.6039215686,.337254902,0,.7568627450980392,.6117647059,.3529411765,0,.7607843137254902,.6196078431,.3607843137,0,.7647058823529411,.6352941176,.368627451,0,.7686274509803922,.6431372549,.3843137255,0,.7725490196078432,.6509803922,.3921568627,0,.7764705882352941,.6588235294,.4,0,.7803921568627451,.6745098039,.4156862745,0,.7843137254901961,.6823529412,.4235294118,0,.788235294117647,.6901960784,.431372549,0,.792156862745098,.7058823529,.4470588235,0,.796078431372549,.7137254902,.4549019608,0,.8,.7215686275,.462745098,0,.803921568627451,.737254902,.4784313725,0,.807843137254902,.7450980392,.4862745098,0,.8117647058823529,.7529411765,.4941176471,0,.8156862745098039,.7607843137,.5098039216,0,.8196078431372549,.7764705882,.5176470588,0,.8235294117647058,.7843137255,.5254901961,0,.8274509803921568,.7921568627,.5411764706,0,.8313725490196079,.8078431373,.5490196078,0,.8352941176470589,.8156862745,.5568627451,0,.8392156862745098,.8235294118,.5725490196,0,.8431372549019608,.8392156863,.5803921569,0,.8470588235294118,.8470588235,.5882352941,0,.8509803921568627,.8549019608,.6039215686,0,.8549019607843137,.862745098,.6117647059,0,.8588235294117647,.8784313725,.6196078431,0,.8627450980392157,.8862745098,.6352941176,0,.8666666666666667,.8941176471,.6431372549,0,.8705882352941177,.9098039216,.6509803922,0,.8745098039215686,.9176470588,.6666666667,0,.8784313725490196,.9254901961,.6745098039,0,.8823529411764706,.9411764706,.6823529412,0,.8862745098039215,.9490196078,.6980392157,0,.8901960784313725,.9568627451,.7058823529,0,.8941176470588236,.9647058824,.7137254902,0,.8980392156862745,.9803921569,.7294117647,0,.9019607843137255,.9882352941,.737254902,0,.9058823529411765,.9960784314,.7450980392,0,.9098039215686274,.9960784314,.7607843137,0,.9137254901960784,.9960784314,.768627451,0,.9176470588235294,.9960784314,.7764705882,0,.9215686274509803,.9960784314,.7921568627,0,.9254901960784314,.9960784314,.8,0,.9294117647058824,.9960784314,.8078431373,0,.9333333333333333,.9960784314,.8235294118,0,.9372549019607843,.9960784314,.831372549,0,.9411764705882354,.9960784314,.8392156863,0,.9450980392156864,.9960784314,.8549019608,0,.9490196078431372,.9960784314,.862745098,.0549019608,.9529411764705882,.9960784314,.8705882353,.1098039216,.9568627450980394,.9960784314,.8862745098,.1647058824,.9607843137254903,.9960784314,.8941176471,.2196078431,.9647058823529413,.9960784314,.9019607843,.2666666667,.9686274509803922,.9960784314,.9176470588,.3215686275,.9725490196078431,.9960784314,.9254901961,.3764705882,.9764705882352941,.9960784314,.9333333333,.431372549,.9803921568627451,.9960784314,.9490196078,.4862745098,.984313725490196,.9960784314,.9568627451,.5333333333,.9882352941176471,.9960784314,.9647058824,.5882352941,.9921568627450981,.9960784314,.9803921569,.6431372549,.996078431372549,.9960784314,.9882352941,.6980392157,1,.9960784314,.9960784314,.7450980392],description:"Perfusion"},{ColorSpace:"RGB",Name:"rainbow_2",RGBPoints:[0,0,0,0,.00392156862745098,.0156862745,0,.0117647059,.00784313725490196,.0352941176,0,.0274509804,.011764705882352941,.0509803922,0,.0392156863,.01568627450980392,.0705882353,0,.0549019608,.0196078431372549,.0862745098,0,.0745098039,.023529411764705882,.1058823529,0,.0901960784,.027450980392156862,.1215686275,0,.1098039216,.03137254901960784,.1411764706,0,.1254901961,.03529411764705882,.1568627451,0,.1490196078,.0392156862745098,.1764705882,0,.168627451,.043137254901960784,.1960784314,0,.1882352941,.047058823529411764,.2117647059,0,.2078431373,.050980392156862744,.2274509804,0,.231372549,.054901960784313725,.2392156863,0,.2470588235,.05882352941176471,.2509803922,0,.2666666667,.06274509803921569,.2666666667,0,.2823529412,.06666666666666667,.2705882353,0,.3019607843,.07058823529411765,.2823529412,0,.3176470588,.07450980392156863,.2901960784,0,.337254902,.0784313725490196,.3019607843,0,.3568627451,.08235294117647059,.3098039216,0,.3725490196,.08627450980392157,.3137254902,0,.3921568627,.09019607843137255,.3215686275,0,.4078431373,.09411764705882353,.3254901961,0,.4274509804,.09803921568627451,.3333333333,0,.4431372549,.10196078431372549,.3294117647,0,.462745098,.10588235294117647,.337254902,0,.4784313725,.10980392156862745,.3411764706,0,.4980392157,.11372549019607843,.3450980392,0,.5176470588,.11764705882352942,.337254902,0,.5333333333,.12156862745098039,.3411764706,0,.5529411765,.12549019607843137,.3411764706,0,.568627451,.12941176470588237,.3411764706,0,.5882352941,.13333333333333333,.3333333333,0,.6039215686,.13725490196078433,.3294117647,0,.6235294118,.1411764705882353,.3294117647,0,.6392156863,.1450980392156863,.3294117647,0,.6588235294,.14901960784313725,.3254901961,0,.6784313725,.15294117647058825,.3098039216,0,.6941176471,.1568627450980392,.3058823529,0,.7137254902,.1607843137254902,.3019607843,0,.7294117647,.16470588235294117,.2980392157,0,.7490196078,.16862745098039217,.2784313725,0,.7647058824,.17254901960784313,.2745098039,0,.7843137255,.17647058823529413,.2666666667,0,.8,.1803921568627451,.2588235294,0,.8196078431,.1843137254901961,.2352941176,0,.8392156863,.18823529411764706,.2274509804,0,.8549019608,.19215686274509805,.2156862745,0,.8745098039,.19607843137254902,.2078431373,0,.8901960784,.2,.1803921569,0,.9098039216,.20392156862745098,.168627451,0,.9254901961,.20784313725490197,.1568627451,0,.9450980392,.21176470588235294,.1411764706,0,.9607843137,.21568627450980393,.1294117647,0,.9803921569,.2196078431372549,.0980392157,0,1,.2235294117647059,.0823529412,0,1,.22745098039215686,.062745098,0,1,.23137254901960785,.0470588235,0,1,.23529411764705885,.0156862745,0,1,.23921568627450984,0,0,1,.24313725490196078,0,.0156862745,1,.24705882352941178,0,.031372549,1,.25098039215686274,0,.062745098,1,.2549019607843137,0,.0823529412,1,.25882352941176473,0,.0980392157,1,.2627450980392157,0,.1137254902,1,.26666666666666666,0,.1490196078,1,.27058823529411763,0,.1647058824,1,.27450980392156865,0,.1803921569,1,.2784313725490196,0,.2,1,.2823529411764706,0,.2156862745,1,.28627450980392155,0,.2470588235,1,.2901960784313726,0,.262745098,1,.29411764705882354,0,.2823529412,1,.2980392156862745,0,.2980392157,1,.30196078431372547,0,.3294117647,1,.3058823529411765,0,.3490196078,1,.30980392156862746,0,.3647058824,1,.3137254901960784,0,.3803921569,1,.3176470588235294,0,.4156862745,1,.3215686274509804,0,.431372549,1,.3254901960784314,0,.4470588235,1,.32941176470588235,0,.4666666667,1,.3333333333333333,0,.4980392157,1,.33725490196078434,0,.5137254902,1,.3411764705882353,0,.5294117647,1,.34509803921568627,0,.5490196078,1,.34901960784313724,0,.5647058824,1,.35294117647058826,0,.5960784314,1,.3568627450980392,0,.6156862745,1,.3607843137254902,0,.631372549,1,.36470588235294116,0,.6470588235,1,.3686274509803922,0,.6823529412,1,.37254901960784315,0,.6980392157,1,.3764705882352941,0,.7137254902,1,.3803921568627451,0,.7333333333,1,.3843137254901961,0,.7647058824,1,.38823529411764707,0,.7803921569,1,.39215686274509803,0,.7960784314,1,.396078431372549,0,.8156862745,1,.4,0,.8470588235,1,.403921568627451,0,.862745098,1,.40784313725490196,0,.8823529412,1,.4117647058823529,0,.8980392157,1,.41568627450980394,0,.9137254902,1,.4196078431372549,0,.9490196078,1,.4235294117647059,0,.9647058824,1,.42745098039215684,0,.9803921569,1,.43137254901960786,0,1,1,.43529411764705883,0,1,.9647058824,.4392156862745098,0,1,.9490196078,.44313725490196076,0,1,.9333333333,.4470588235294118,0,1,.9137254902,.45098039215686275,0,1,.8823529412,.4549019607843137,0,1,.862745098,.4588235294117647,0,1,.8470588235,.4627450980392157,0,1,.831372549,.4666666666666667,0,1,.7960784314,.4705882352941177,0,1,.7803921569,.4745098039215686,0,1,.7647058824,.4784313725490197,0,1,.7490196078,.48235294117647065,0,1,.7333333333,.48627450980392156,0,1,.6980392157,.49019607843137253,0,1,.6823529412,.49411764705882355,0,1,.6666666667,.4980392156862745,0,1,.6470588235,.5019607843137255,0,1,.6156862745,.5058823529411764,0,1,.5960784314,.5098039215686274,0,1,.5803921569,.5137254901960784,0,1,.5647058824,.5176470588235295,0,1,.5294117647,.5215686274509804,0,1,.5137254902,.5254901960784314,0,1,.4980392157,.5294117647058824,0,1,.4823529412,.5333333333333333,0,1,.4470588235,.5372549019607843,0,1,.431372549,.5411764705882353,0,1,.4156862745,.5450980392156862,0,1,.4,.5490196078431373,0,1,.3803921569,.5529411764705883,0,1,.3490196078,.5568627450980392,0,1,.3294117647,.5607843137254902,0,1,.3137254902,.5647058823529412,0,1,.2980392157,.5686274509803921,0,1,.262745098,.5725490196078431,0,1,.2470588235,.5764705882352941,0,1,.231372549,.5803921568627451,0,1,.2156862745,.5843137254901961,0,1,.1803921569,.5882352941176471,0,1,.1647058824,.592156862745098,0,1,.1490196078,.596078431372549,0,1,.1333333333,.6,0,1,.0980392157,.6039215686274509,0,1,.0823529412,.6078431372549019,0,1,.062745098,.611764705882353,0,1,.0470588235,.615686274509804,0,1,.031372549,.6196078431372549,0,1,0,.6235294117647059,.0156862745,1,0,.6274509803921569,.031372549,1,0,.6313725490196078,.0470588235,1,0,.6352941176470588,.0823529412,1,0,.6392156862745098,.0980392157,1,0,.6431372549019608,.1137254902,1,0,.6470588235294118,.1294117647,1,0,.6509803921568628,.1647058824,1,0,.6549019607843137,.1803921569,1,0,.6588235294117647,.2,1,0,.6627450980392157,.2156862745,1,0,.6666666666666666,.2470588235,1,0,.6705882352941176,.262745098,1,0,.6745098039215687,.2823529412,1,0,.6784313725490196,.2980392157,1,0,.6823529411764706,.3137254902,1,0,.6862745098039216,.3490196078,1,0,.6901960784313725,.3647058824,1,0,.6941176470588235,.3803921569,1,0,.6980392156862745,.3960784314,1,0,.7019607843137254,.431372549,1,0,.7058823529411765,.4470588235,1,0,.7098039215686275,.4666666667,1,0,.7137254901960784,.4823529412,1,0,.7176470588235294,.5137254902,1,0,.7215686274509804,.5294117647,1,0,.7254901960784313,.5490196078,1,0,.7294117647058823,.5647058824,1,0,.7333333333333333,.6,1,0,.7372549019607844,.6156862745,1,0,.7411764705882353,.631372549,1,0,.7450980392156863,.6470588235,1,0,.7490196078431373,.662745098,1,0,.7529411764705882,.6980392157,1,0,.7568627450980392,.7137254902,1,0,.7607843137254902,.7333333333,1,0,.7647058823529411,.7490196078,1,0,.7686274509803922,.7803921569,1,0,.7725490196078432,.7960784314,1,0,.7764705882352941,.8156862745,1,0,.7803921568627451,.831372549,1,0,.7843137254901961,.8666666667,1,0,.788235294117647,.8823529412,1,0,.792156862745098,.8980392157,1,0,.796078431372549,.9137254902,1,0,.8,.9490196078,1,0,.803921568627451,.9647058824,1,0,.807843137254902,.9803921569,1,0,.8117647058823529,1,1,0,.8156862745098039,1,.9803921569,0,.8196078431372549,1,.9490196078,0,.8235294117647058,1,.9333333333,0,.8274509803921568,1,.9137254902,0,.8313725490196079,1,.8980392157,0,.8352941176470589,1,.8666666667,0,.8392156862745098,1,.8470588235,0,.8431372549019608,1,.831372549,0,.8470588235294118,1,.8156862745,0,.8509803921568627,1,.7803921569,0,.8549019607843137,1,.7647058824,0,.8588235294117647,1,.7490196078,0,.8627450980392157,1,.7333333333,0,.8666666666666667,1,.6980392157,0,.8705882352941177,1,.6823529412,0,.8745098039215686,1,.6666666667,0,.8784313725490196,1,.6470588235,0,.8823529411764706,1,.631372549,0,.8862745098039215,1,.6,0,.8901960784313725,1,.5803921569,0,.8941176470588236,1,.5647058824,0,.8980392156862745,1,.5490196078,0,.9019607843137255,1,.5137254902,0,.9058823529411765,1,.4980392157,0,.9098039215686274,1,.4823529412,0,.9137254901960784,1,.4666666667,0,.9176470588235294,1,.431372549,0,.9215686274509803,1,.4156862745,0,.9254901960784314,1,.4,0,.9294117647058824,1,.3803921569,0,.9333333333333333,1,.3490196078,0,.9372549019607843,1,.3333333333,0,.9411764705882354,1,.3137254902,0,.9450980392156864,1,.2980392157,0,.9490196078431372,1,.2823529412,0,.9529411764705882,1,.2470588235,0,.9568627450980394,1,.231372549,0,.9607843137254903,1,.2156862745,0,.9647058823529413,1,.2,0,.9686274509803922,1,.1647058824,0,.9725490196078431,1,.1490196078,0,.9764705882352941,1,.1333333333,0,.9803921568627451,1,.1137254902,0,.984313725490196,1,.0823529412,0,.9882352941176471,1,.0666666667,0,.9921568627450981,1,.0470588235,0,.996078431372549,1,.031372549,0,1,1,0,0],description:"Rainbow"},{ColorSpace:"RGB",Name:"suv",RGBPoints:[0,1,1,1,.00392156862745098,1,1,1,.00784313725490196,1,1,1,.011764705882352941,1,1,1,.01568627450980392,1,1,1,.0196078431372549,1,1,1,.023529411764705882,1,1,1,.027450980392156862,1,1,1,.03137254901960784,1,1,1,.03529411764705882,1,1,1,.0392156862745098,1,1,1,.043137254901960784,1,1,1,.047058823529411764,1,1,1,.050980392156862744,1,1,1,.054901960784313725,1,1,1,.05882352941176471,1,1,1,.06274509803921569,1,1,1,.06666666666666667,1,1,1,.07058823529411765,1,1,1,.07450980392156863,1,1,1,.0784313725490196,1,1,1,.08235294117647059,1,1,1,.08627450980392157,1,1,1,.09019607843137255,1,1,1,.09411764705882353,1,1,1,.09803921568627451,1,1,1,.10196078431372549,.737254902,.737254902,.737254902,.10588235294117647,.737254902,.737254902,.737254902,.10980392156862745,.737254902,.737254902,.737254902,.11372549019607843,.737254902,.737254902,.737254902,.11764705882352942,.737254902,.737254902,.737254902,.12156862745098039,.737254902,.737254902,.737254902,.12549019607843137,.737254902,.737254902,.737254902,.12941176470588237,.737254902,.737254902,.737254902,.13333333333333333,.737254902,.737254902,.737254902,.13725490196078433,.737254902,.737254902,.737254902,.1411764705882353,.737254902,.737254902,.737254902,.1450980392156863,.737254902,.737254902,.737254902,.14901960784313725,.737254902,.737254902,.737254902,.15294117647058825,.737254902,.737254902,.737254902,.1568627450980392,.737254902,.737254902,.737254902,.1607843137254902,.737254902,.737254902,.737254902,.16470588235294117,.737254902,.737254902,.737254902,.16862745098039217,.737254902,.737254902,.737254902,.17254901960784313,.737254902,.737254902,.737254902,.17647058823529413,.737254902,.737254902,.737254902,.1803921568627451,.737254902,.737254902,.737254902,.1843137254901961,.737254902,.737254902,.737254902,.18823529411764706,.737254902,.737254902,.737254902,.19215686274509805,.737254902,.737254902,.737254902,.19607843137254902,.737254902,.737254902,.737254902,.2,.737254902,.737254902,.737254902,.20392156862745098,.431372549,0,.568627451,.20784313725490197,.431372549,0,.568627451,.21176470588235294,.431372549,0,.568627451,.21568627450980393,.431372549,0,.568627451,.2196078431372549,.431372549,0,.568627451,.2235294117647059,.431372549,0,.568627451,.22745098039215686,.431372549,0,.568627451,.23137254901960785,.431372549,0,.568627451,.23529411764705885,.431372549,0,.568627451,.23921568627450984,.431372549,0,.568627451,.24313725490196078,.431372549,0,.568627451,.24705882352941178,.431372549,0,.568627451,.25098039215686274,.431372549,0,.568627451,.2549019607843137,.431372549,0,.568627451,.25882352941176473,.431372549,0,.568627451,.2627450980392157,.431372549,0,.568627451,.26666666666666666,.431372549,0,.568627451,.27058823529411763,.431372549,0,.568627451,.27450980392156865,.431372549,0,.568627451,.2784313725490196,.431372549,0,.568627451,.2823529411764706,.431372549,0,.568627451,.28627450980392155,.431372549,0,.568627451,.2901960784313726,.431372549,0,.568627451,.29411764705882354,.431372549,0,.568627451,.2980392156862745,.431372549,0,.568627451,.30196078431372547,.431372549,0,.568627451,.3058823529411765,.2509803922,.3333333333,.6509803922,.30980392156862746,.2509803922,.3333333333,.6509803922,.3137254901960784,.2509803922,.3333333333,.6509803922,.3176470588235294,.2509803922,.3333333333,.6509803922,.3215686274509804,.2509803922,.3333333333,.6509803922,.3254901960784314,.2509803922,.3333333333,.6509803922,.32941176470588235,.2509803922,.3333333333,.6509803922,.3333333333333333,.2509803922,.3333333333,.6509803922,.33725490196078434,.2509803922,.3333333333,.6509803922,.3411764705882353,.2509803922,.3333333333,.6509803922,.34509803921568627,.2509803922,.3333333333,.6509803922,.34901960784313724,.2509803922,.3333333333,.6509803922,.35294117647058826,.2509803922,.3333333333,.6509803922,.3568627450980392,.2509803922,.3333333333,.6509803922,.3607843137254902,.2509803922,.3333333333,.6509803922,.36470588235294116,.2509803922,.3333333333,.6509803922,.3686274509803922,.2509803922,.3333333333,.6509803922,.37254901960784315,.2509803922,.3333333333,.6509803922,.3764705882352941,.2509803922,.3333333333,.6509803922,.3803921568627451,.2509803922,.3333333333,.6509803922,.3843137254901961,.2509803922,.3333333333,.6509803922,.38823529411764707,.2509803922,.3333333333,.6509803922,.39215686274509803,.2509803922,.3333333333,.6509803922,.396078431372549,.2509803922,.3333333333,.6509803922,.4,.2509803922,.3333333333,.6509803922,.403921568627451,.2509803922,.3333333333,.6509803922,.40784313725490196,0,.8,1,.4117647058823529,0,.8,1,.41568627450980394,0,.8,1,.4196078431372549,0,.8,1,.4235294117647059,0,.8,1,.42745098039215684,0,.8,1,.43137254901960786,0,.8,1,.43529411764705883,0,.8,1,.4392156862745098,0,.8,1,.44313725490196076,0,.8,1,.4470588235294118,0,.8,1,.45098039215686275,0,.8,1,.4549019607843137,0,.8,1,.4588235294117647,0,.8,1,.4627450980392157,0,.8,1,.4666666666666667,0,.8,1,.4705882352941177,0,.8,1,.4745098039215686,0,.8,1,.4784313725490197,0,.8,1,.48235294117647065,0,.8,1,.48627450980392156,0,.8,1,.49019607843137253,0,.8,1,.49411764705882355,0,.8,1,.4980392156862745,0,.8,1,.5019607843137255,0,.8,1,.5058823529411764,0,.6666666667,.5333333333,.5098039215686274,0,.6666666667,.5333333333,.5137254901960784,0,.6666666667,.5333333333,.5176470588235295,0,.6666666667,.5333333333,.5215686274509804,0,.6666666667,.5333333333,.5254901960784314,0,.6666666667,.5333333333,.5294117647058824,0,.6666666667,.5333333333,.5333333333333333,0,.6666666667,.5333333333,.5372549019607843,0,.6666666667,.5333333333,.5411764705882353,0,.6666666667,.5333333333,.5450980392156862,0,.6666666667,.5333333333,.5490196078431373,0,.6666666667,.5333333333,.5529411764705883,0,.6666666667,.5333333333,.5568627450980392,0,.6666666667,.5333333333,.5607843137254902,0,.6666666667,.5333333333,.5647058823529412,0,.6666666667,.5333333333,.5686274509803921,0,.6666666667,.5333333333,.5725490196078431,0,.6666666667,.5333333333,.5764705882352941,0,.6666666667,.5333333333,.5803921568627451,0,.6666666667,.5333333333,.5843137254901961,0,.6666666667,.5333333333,.5882352941176471,0,.6666666667,.5333333333,.592156862745098,0,.6666666667,.5333333333,.596078431372549,0,.6666666667,.5333333333,.6,0,.6666666667,.5333333333,.6039215686274509,0,.6666666667,.5333333333,.6078431372549019,.4,1,.4,.611764705882353,.4,1,.4,.615686274509804,.4,1,.4,.6196078431372549,.4,1,.4,.6235294117647059,.4,1,.4,.6274509803921569,.4,1,.4,.6313725490196078,.4,1,.4,.6352941176470588,.4,1,.4,.6392156862745098,.4,1,.4,.6431372549019608,.4,1,.4,.6470588235294118,.4,1,.4,.6509803921568628,.4,1,.4,.6549019607843137,.4,1,.4,.6588235294117647,.4,1,.4,.6627450980392157,.4,1,.4,.6666666666666666,.4,1,.4,.6705882352941176,.4,1,.4,.6745098039215687,.4,1,.4,.6784313725490196,.4,1,.4,.6823529411764706,.4,1,.4,.6862745098039216,.4,1,.4,.6901960784313725,.4,1,.4,.6941176470588235,.4,1,.4,.6980392156862745,.4,1,.4,.7019607843137254,.4,1,.4,.7058823529411765,1,.9490196078,0,.7098039215686275,1,.9490196078,0,.7137254901960784,1,.9490196078,0,.7176470588235294,1,.9490196078,0,.7215686274509804,1,.9490196078,0,.7254901960784313,1,.9490196078,0,.7294117647058823,1,.9490196078,0,.7333333333333333,1,.9490196078,0,.7372549019607844,1,.9490196078,0,.7411764705882353,1,.9490196078,0,.7450980392156863,1,.9490196078,0,.7490196078431373,1,.9490196078,0,.7529411764705882,1,.9490196078,0,.7568627450980392,1,.9490196078,0,.7607843137254902,1,.9490196078,0,.7647058823529411,1,.9490196078,0,.7686274509803922,1,.9490196078,0,.7725490196078432,1,.9490196078,0,.7764705882352941,1,.9490196078,0,.7803921568627451,1,.9490196078,0,.7843137254901961,1,.9490196078,0,.788235294117647,1,.9490196078,0,.792156862745098,1,.9490196078,0,.796078431372549,1,.9490196078,0,.8,1,.9490196078,0,.803921568627451,1,.9490196078,0,.807843137254902,.9490196078,.6509803922,.2509803922,.8117647058823529,.9490196078,.6509803922,.2509803922,.8156862745098039,.9490196078,.6509803922,.2509803922,.8196078431372549,.9490196078,.6509803922,.2509803922,.8235294117647058,.9490196078,.6509803922,.2509803922,.8274509803921568,.9490196078,.6509803922,.2509803922,.8313725490196079,.9490196078,.6509803922,.2509803922,.8352941176470589,.9490196078,.6509803922,.2509803922,.8392156862745098,.9490196078,.6509803922,.2509803922,.8431372549019608,.9490196078,.6509803922,.2509803922,.8470588235294118,.9490196078,.6509803922,.2509803922,.8509803921568627,.9490196078,.6509803922,.2509803922,.8549019607843137,.9490196078,.6509803922,.2509803922,.8588235294117647,.9490196078,.6509803922,.2509803922,.8627450980392157,.9490196078,.6509803922,.2509803922,.8666666666666667,.9490196078,.6509803922,.2509803922,.8705882352941177,.9490196078,.6509803922,.2509803922,.8745098039215686,.9490196078,.6509803922,.2509803922,.8784313725490196,.9490196078,.6509803922,.2509803922,.8823529411764706,.9490196078,.6509803922,.2509803922,.8862745098039215,.9490196078,.6509803922,.2509803922,.8901960784313725,.9490196078,.6509803922,.2509803922,.8941176470588236,.9490196078,.6509803922,.2509803922,.8980392156862745,.9490196078,.6509803922,.2509803922,.9019607843137255,.9490196078,.6509803922,.2509803922,.9058823529411765,.9490196078,.6509803922,.2509803922,.9098039215686274,1,0,0,.9137254901960784,1,0,0,.9176470588235294,1,0,0,.9215686274509803,1,0,0,.9254901960784314,1,0,0,.9294117647058824,1,0,0,.9333333333333333,1,0,0,.9372549019607843,1,0,0,.9411764705882354,1,0,0,.9450980392156864,1,0,0,.9490196078431372,1,0,0,.9529411764705882,1,0,0,.9568627450980394,1,0,0,.9607843137254903,1,0,0,.9647058823529413,1,0,0,.9686274509803922,1,0,0,.9725490196078431,1,0,0,.9764705882352941,1,0,0,.9803921568627451,1,0,0,.984313725490196,1,0,0,.9882352941176471,1,0,0,.9921568627450981,1,0,0,.996078431372549,1,0,0,1,1,0,0],description:"SUV"},{ColorSpace:"RGB",Name:"ge_256",RGBPoints:[0,.0039215686,.0078431373,.0078431373,.00392156862745098,.0039215686,.0078431373,.0078431373,.00784313725490196,.0039215686,.0078431373,.0117647059,.011764705882352941,.0039215686,.0117647059,.0156862745,.01568627450980392,.0039215686,.0117647059,.0196078431,.0196078431372549,.0039215686,.0156862745,.0235294118,.023529411764705882,.0039215686,.0156862745,.0274509804,.027450980392156862,.0039215686,.0196078431,.031372549,.03137254901960784,.0039215686,.0196078431,.0352941176,.03529411764705882,.0039215686,.0235294118,.0392156863,.0392156862745098,.0039215686,.0235294118,.0431372549,.043137254901960784,.0039215686,.0274509804,.0470588235,.047058823529411764,.0039215686,.0274509804,.0509803922,.050980392156862744,.0039215686,.031372549,.0549019608,.054901960784313725,.0039215686,.031372549,.0588235294,.05882352941176471,.0039215686,.0352941176,.062745098,.06274509803921569,.0039215686,.0352941176,.0666666667,.06666666666666667,.0039215686,.0392156863,.0705882353,.07058823529411765,.0039215686,.0392156863,.0745098039,.07450980392156863,.0039215686,.0431372549,.0784313725,.0784313725490196,.0039215686,.0431372549,.0823529412,.08235294117647059,.0039215686,.0470588235,.0862745098,.08627450980392157,.0039215686,.0470588235,.0901960784,.09019607843137255,.0039215686,.0509803922,.0941176471,.09411764705882353,.0039215686,.0509803922,.0980392157,.09803921568627451,.0039215686,.0549019608,.1019607843,.10196078431372549,.0039215686,.0549019608,.1058823529,.10588235294117647,.0039215686,.0588235294,.1098039216,.10980392156862745,.0039215686,.0588235294,.1137254902,.11372549019607843,.0039215686,.062745098,.1176470588,.11764705882352942,.0039215686,.062745098,.1215686275,.12156862745098039,.0039215686,.0666666667,.1254901961,.12549019607843137,.0039215686,.0666666667,.1294117647,.12941176470588237,.0039215686,.0705882353,.1333333333,.13333333333333333,.0039215686,.0705882353,.137254902,.13725490196078433,.0039215686,.0745098039,.1411764706,.1411764705882353,.0039215686,.0745098039,.1450980392,.1450980392156863,.0039215686,.0784313725,.1490196078,.14901960784313725,.0039215686,.0784313725,.1529411765,.15294117647058825,.0039215686,.0823529412,.1568627451,.1568627450980392,.0039215686,.0823529412,.1607843137,.1607843137254902,.0039215686,.0862745098,.1647058824,.16470588235294117,.0039215686,.0862745098,.168627451,.16862745098039217,.0039215686,.0901960784,.1725490196,.17254901960784313,.0039215686,.0901960784,.1764705882,.17647058823529413,.0039215686,.0941176471,.1803921569,.1803921568627451,.0039215686,.0941176471,.1843137255,.1843137254901961,.0039215686,.0980392157,.1882352941,.18823529411764706,.0039215686,.0980392157,.1921568627,.19215686274509805,.0039215686,.1019607843,.1960784314,.19607843137254902,.0039215686,.1019607843,.2,.2,.0039215686,.1058823529,.2039215686,.20392156862745098,.0039215686,.1058823529,.2078431373,.20784313725490197,.0039215686,.1098039216,.2117647059,.21176470588235294,.0039215686,.1098039216,.2156862745,.21568627450980393,.0039215686,.1137254902,.2196078431,.2196078431372549,.0039215686,.1137254902,.2235294118,.2235294117647059,.0039215686,.1176470588,.2274509804,.22745098039215686,.0039215686,.1176470588,.231372549,.23137254901960785,.0039215686,.1215686275,.2352941176,.23529411764705885,.0039215686,.1215686275,.2392156863,.23921568627450984,.0039215686,.1254901961,.2431372549,.24313725490196078,.0039215686,.1254901961,.2470588235,.24705882352941178,.0039215686,.1294117647,.2509803922,.25098039215686274,.0039215686,.1294117647,.2509803922,.2549019607843137,.0078431373,.1254901961,.2549019608,.25882352941176473,.0156862745,.1254901961,.2588235294,.2627450980392157,.0235294118,.1215686275,.262745098,.26666666666666666,.031372549,.1215686275,.2666666667,.27058823529411763,.0392156863,.1176470588,.2705882353,.27450980392156865,.0470588235,.1176470588,.2745098039,.2784313725490196,.0549019608,.1137254902,.2784313725,.2823529411764706,.062745098,.1137254902,.2823529412,.28627450980392155,.0705882353,.1098039216,.2862745098,.2901960784313726,.0784313725,.1098039216,.2901960784,.29411764705882354,.0862745098,.1058823529,.2941176471,.2980392156862745,.0941176471,.1058823529,.2980392157,.30196078431372547,.1019607843,.1019607843,.3019607843,.3058823529411765,.1098039216,.1019607843,.3058823529,.30980392156862746,.1176470588,.0980392157,.3098039216,.3137254901960784,.1254901961,.0980392157,.3137254902,.3176470588235294,.1333333333,.0941176471,.3176470588,.3215686274509804,.1411764706,.0941176471,.3215686275,.3254901960784314,.1490196078,.0901960784,.3254901961,.32941176470588235,.1568627451,.0901960784,.3294117647,.3333333333333333,.1647058824,.0862745098,.3333333333,.33725490196078434,.1725490196,.0862745098,.337254902,.3411764705882353,.1803921569,.0823529412,.3411764706,.34509803921568627,.1882352941,.0823529412,.3450980392,.34901960784313724,.1960784314,.0784313725,.3490196078,.35294117647058826,.2039215686,.0784313725,.3529411765,.3568627450980392,.2117647059,.0745098039,.3568627451,.3607843137254902,.2196078431,.0745098039,.3607843137,.36470588235294116,.2274509804,.0705882353,.3647058824,.3686274509803922,.2352941176,.0705882353,.368627451,.37254901960784315,.2431372549,.0666666667,.3725490196,.3764705882352941,.2509803922,.0666666667,.3764705882,.3803921568627451,.2549019608,.062745098,.3803921569,.3843137254901961,.262745098,.062745098,.3843137255,.38823529411764707,.2705882353,.0588235294,.3882352941,.39215686274509803,.2784313725,.0588235294,.3921568627,.396078431372549,.2862745098,.0549019608,.3960784314,.4,.2941176471,.0549019608,.4,.403921568627451,.3019607843,.0509803922,.4039215686,.40784313725490196,.3098039216,.0509803922,.4078431373,.4117647058823529,.3176470588,.0470588235,.4117647059,.41568627450980394,.3254901961,.0470588235,.4156862745,.4196078431372549,.3333333333,.0431372549,.4196078431,.4235294117647059,.3411764706,.0431372549,.4235294118,.42745098039215684,.3490196078,.0392156863,.4274509804,.43137254901960786,.3568627451,.0392156863,.431372549,.43529411764705883,.3647058824,.0352941176,.4352941176,.4392156862745098,.3725490196,.0352941176,.4392156863,.44313725490196076,.3803921569,.031372549,.4431372549,.4470588235294118,.3882352941,.031372549,.4470588235,.45098039215686275,.3960784314,.0274509804,.4509803922,.4549019607843137,.4039215686,.0274509804,.4549019608,.4588235294117647,.4117647059,.0235294118,.4588235294,.4627450980392157,.4196078431,.0235294118,.462745098,.4666666666666667,.4274509804,.0196078431,.4666666667,.4705882352941177,.4352941176,.0196078431,.4705882353,.4745098039215686,.4431372549,.0156862745,.4745098039,.4784313725490197,.4509803922,.0156862745,.4784313725,.48235294117647065,.4588235294,.0117647059,.4823529412,.48627450980392156,.4666666667,.0117647059,.4862745098,.49019607843137253,.4745098039,.0078431373,.4901960784,.49411764705882355,.4823529412,.0078431373,.4941176471,.4980392156862745,.4901960784,.0039215686,.4980392157,.5019607843137255,.4980392157,.0117647059,.4980392157,.5058823529411764,.5058823529,.0156862745,.4901960784,.5098039215686274,.5137254902,.0235294118,.4823529412,.5137254901960784,.5215686275,.0274509804,.4745098039,.5176470588235295,.5294117647,.0352941176,.4666666667,.5215686274509804,.537254902,.0392156863,.4588235294,.5254901960784314,.5450980392,.0470588235,.4509803922,.5294117647058824,.5529411765,.0509803922,.4431372549,.5333333333333333,.5607843137,.0588235294,.4352941176,.5372549019607843,.568627451,.062745098,.4274509804,.5411764705882353,.5764705882,.0705882353,.4196078431,.5450980392156862,.5843137255,.0745098039,.4117647059,.5490196078431373,.5921568627,.0823529412,.4039215686,.5529411764705883,.6,.0862745098,.3960784314,.5568627450980392,.6078431373,.0941176471,.3882352941,.5607843137254902,.6156862745,.0980392157,.3803921569,.5647058823529412,.6235294118,.1058823529,.3725490196,.5686274509803921,.631372549,.1098039216,.3647058824,.5725490196078431,.6392156863,.1176470588,.3568627451,.5764705882352941,.6470588235,.1215686275,.3490196078,.5803921568627451,.6549019608,.1294117647,.3411764706,.5843137254901961,.662745098,.1333333333,.3333333333,.5882352941176471,.6705882353,.1411764706,.3254901961,.592156862745098,.6784313725,.1450980392,.3176470588,.596078431372549,.6862745098,.1529411765,.3098039216,.6,.6941176471,.1568627451,.3019607843,.6039215686274509,.7019607843,.1647058824,.2941176471,.6078431372549019,.7098039216,.168627451,.2862745098,.611764705882353,.7176470588,.1764705882,.2784313725,.615686274509804,.7254901961,.1803921569,.2705882353,.6196078431372549,.7333333333,.1882352941,.262745098,.6235294117647059,.7411764706,.1921568627,.2549019608,.6274509803921569,.7490196078,.2,.2509803922,.6313725490196078,.7529411765,.2039215686,.2431372549,.6352941176470588,.7607843137,.2117647059,.2352941176,.6392156862745098,.768627451,.2156862745,.2274509804,.6431372549019608,.7764705882,.2235294118,.2196078431,.6470588235294118,.7843137255,.2274509804,.2117647059,.6509803921568628,.7921568627,.2352941176,.2039215686,.6549019607843137,.8,.2392156863,.1960784314,.6588235294117647,.8078431373,.2470588235,.1882352941,.6627450980392157,.8156862745,.2509803922,.1803921569,.6666666666666666,.8235294118,.2549019608,.1725490196,.6705882352941176,.831372549,.2588235294,.1647058824,.6745098039215687,.8392156863,.2666666667,.1568627451,.6784313725490196,.8470588235,.2705882353,.1490196078,.6823529411764706,.8549019608,.2784313725,.1411764706,.6862745098039216,.862745098,.2823529412,.1333333333,.6901960784313725,.8705882353,.2901960784,.1254901961,.6941176470588235,.8784313725,.2941176471,.1176470588,.6980392156862745,.8862745098,.3019607843,.1098039216,.7019607843137254,.8941176471,.3058823529,.1019607843,.7058823529411765,.9019607843,.3137254902,.0941176471,.7098039215686275,.9098039216,.3176470588,.0862745098,.7137254901960784,.9176470588,.3254901961,.0784313725,.7176470588235294,.9254901961,.3294117647,.0705882353,.7215686274509804,.9333333333,.337254902,.062745098,.7254901960784313,.9411764706,.3411764706,.0549019608,.7294117647058823,.9490196078,.3490196078,.0470588235,.7333333333333333,.9568627451,.3529411765,.0392156863,.7372549019607844,.9647058824,.3607843137,.031372549,.7411764705882353,.9725490196,.3647058824,.0235294118,.7450980392156863,.9803921569,.3725490196,.0156862745,.7490196078431373,.9882352941,.3725490196,.0039215686,.7529411764705882,.9960784314,.3843137255,.0156862745,.7568627450980392,.9960784314,.3921568627,.031372549,.7607843137254902,.9960784314,.4039215686,.0470588235,.7647058823529411,.9960784314,.4117647059,.062745098,.7686274509803922,.9960784314,.4235294118,.0784313725,.7725490196078432,.9960784314,.431372549,.0941176471,.7764705882352941,.9960784314,.4431372549,.1098039216,.7803921568627451,.9960784314,.4509803922,.1254901961,.7843137254901961,.9960784314,.462745098,.1411764706,.788235294117647,.9960784314,.4705882353,.1568627451,.792156862745098,.9960784314,.4823529412,.1725490196,.796078431372549,.9960784314,.4901960784,.1882352941,.8,.9960784314,.5019607843,.2039215686,.803921568627451,.9960784314,.5098039216,.2196078431,.807843137254902,.9960784314,.5215686275,.2352941176,.8117647058823529,.9960784314,.5294117647,.2509803922,.8156862745098039,.9960784314,.5411764706,.262745098,.8196078431372549,.9960784314,.5490196078,.2784313725,.8235294117647058,.9960784314,.5607843137,.2941176471,.8274509803921568,.9960784314,.568627451,.3098039216,.8313725490196079,.9960784314,.5803921569,.3254901961,.8352941176470589,.9960784314,.5882352941,.3411764706,.8392156862745098,.9960784314,.6,.3568627451,.8431372549019608,.9960784314,.6078431373,.3725490196,.8470588235294118,.9960784314,.6196078431,.3882352941,.8509803921568627,.9960784314,.6274509804,.4039215686,.8549019607843137,.9960784314,.6392156863,.4196078431,.8588235294117647,.9960784314,.6470588235,.4352941176,.8627450980392157,.9960784314,.6588235294,.4509803922,.8666666666666667,.9960784314,.6666666667,.4666666667,.8705882352941177,.9960784314,.6784313725,.4823529412,.8745098039215686,.9960784314,.6862745098,.4980392157,.8784313725490196,.9960784314,.6980392157,.5137254902,.8823529411764706,.9960784314,.7058823529,.5294117647,.8862745098039215,.9960784314,.7176470588,.5450980392,.8901960784313725,.9960784314,.7254901961,.5607843137,.8941176470588236,.9960784314,.737254902,.5764705882,.8980392156862745,.9960784314,.7450980392,.5921568627,.9019607843137255,.9960784314,.7529411765,.6078431373,.9058823529411765,.9960784314,.7607843137,.6235294118,.9098039215686274,.9960784314,.7725490196,.6392156863,.9137254901960784,.9960784314,.7803921569,.6549019608,.9176470588235294,.9960784314,.7921568627,.6705882353,.9215686274509803,.9960784314,.8,.6862745098,.9254901960784314,.9960784314,.8117647059,.7019607843,.9294117647058824,.9960784314,.8196078431,.7176470588,.9333333333333333,.9960784314,.831372549,.7333333333,.9372549019607843,.9960784314,.8392156863,.7490196078,.9411764705882354,.9960784314,.8509803922,.7607843137,.9450980392156864,.9960784314,.8588235294,.7764705882,.9490196078431372,.9960784314,.8705882353,.7921568627,.9529411764705882,.9960784314,.8784313725,.8078431373,.9568627450980394,.9960784314,.8901960784,.8235294118,.9607843137254903,.9960784314,.8980392157,.8392156863,.9647058823529413,.9960784314,.9098039216,.8549019608,.9686274509803922,.9960784314,.9176470588,.8705882353,.9725490196078431,.9960784314,.9294117647,.8862745098,.9764705882352941,.9960784314,.937254902,.9019607843,.9803921568627451,.9960784314,.9490196078,.9176470588,.984313725490196,.9960784314,.9568627451,.9333333333,.9882352941176471,.9960784314,.968627451,.9490196078,.9921568627450981,.9960784314,.9764705882,.9647058824,.996078431372549,.9960784314,.9882352941,.9803921569,1,.9960784314,.9882352941,.9803921569],description:"GE 256"},{ColorSpace:"RGB",Name:"ge",RGBPoints:[0,.0078431373,.0078431373,.0078431373,.00392156862745098,.0078431373,.0078431373,.0078431373,.00784313725490196,.0078431373,.0078431373,.0078431373,.011764705882352941,.0078431373,.0078431373,.0078431373,.01568627450980392,.0078431373,.0078431373,.0078431373,.0196078431372549,.0078431373,.0078431373,.0078431373,.023529411764705882,.0078431373,.0078431373,.0078431373,.027450980392156862,.0078431373,.0078431373,.0078431373,.03137254901960784,.0078431373,.0078431373,.0078431373,.03529411764705882,.0078431373,.0078431373,.0078431373,.0392156862745098,.0078431373,.0078431373,.0078431373,.043137254901960784,.0078431373,.0078431373,.0078431373,.047058823529411764,.0078431373,.0078431373,.0078431373,.050980392156862744,.0078431373,.0078431373,.0078431373,.054901960784313725,.0078431373,.0078431373,.0078431373,.05882352941176471,.0117647059,.0078431373,.0078431373,.06274509803921569,.0078431373,.0156862745,.0156862745,.06666666666666667,.0078431373,.0235294118,.0235294118,.07058823529411765,.0078431373,.031372549,.031372549,.07450980392156863,.0078431373,.0392156863,.0392156863,.0784313725490196,.0078431373,.0470588235,.0470588235,.08235294117647059,.0078431373,.0549019608,.0549019608,.08627450980392157,.0078431373,.062745098,.062745098,.09019607843137255,.0078431373,.0705882353,.0705882353,.09411764705882353,.0078431373,.0784313725,.0784313725,.09803921568627451,.0078431373,.0901960784,.0862745098,.10196078431372549,.0078431373,.0980392157,.0941176471,.10588235294117647,.0078431373,.1058823529,.1019607843,.10980392156862745,.0078431373,.1137254902,.1098039216,.11372549019607843,.0078431373,.1215686275,.1176470588,.11764705882352942,.0078431373,.1294117647,.1254901961,.12156862745098039,.0078431373,.137254902,.1333333333,.12549019607843137,.0078431373,.1450980392,.1411764706,.12941176470588237,.0078431373,.1529411765,.1490196078,.13333333333333333,.0078431373,.1647058824,.1568627451,.13725490196078433,.0078431373,.1725490196,.1647058824,.1411764705882353,.0078431373,.1803921569,.1725490196,.1450980392156863,.0078431373,.1882352941,.1803921569,.14901960784313725,.0078431373,.1960784314,.1882352941,.15294117647058825,.0078431373,.2039215686,.1960784314,.1568627450980392,.0078431373,.2117647059,.2039215686,.1607843137254902,.0078431373,.2196078431,.2117647059,.16470588235294117,.0078431373,.2274509804,.2196078431,.16862745098039217,.0078431373,.2352941176,.2274509804,.17254901960784313,.0078431373,.2470588235,.2352941176,.17647058823529413,.0078431373,.2509803922,.2431372549,.1803921568627451,.0078431373,.2549019608,.2509803922,.1843137254901961,.0078431373,.262745098,.2509803922,.18823529411764706,.0078431373,.2705882353,.2588235294,.19215686274509805,.0078431373,.2784313725,.2666666667,.19607843137254902,.0078431373,.2862745098,.2745098039,.2,.0078431373,.2941176471,.2823529412,.20392156862745098,.0078431373,.3019607843,.2901960784,.20784313725490197,.0078431373,.3137254902,.2980392157,.21176470588235294,.0078431373,.3215686275,.3058823529,.21568627450980393,.0078431373,.3294117647,.3137254902,.2196078431372549,.0078431373,.337254902,.3215686275,.2235294117647059,.0078431373,.3450980392,.3294117647,.22745098039215686,.0078431373,.3529411765,.337254902,.23137254901960785,.0078431373,.3607843137,.3450980392,.23529411764705885,.0078431373,.368627451,.3529411765,.23921568627450984,.0078431373,.3764705882,.3607843137,.24313725490196078,.0078431373,.3843137255,.368627451,.24705882352941178,.0078431373,.3960784314,.3764705882,.25098039215686274,.0078431373,.4039215686,.3843137255,.2549019607843137,.0078431373,.4117647059,.3921568627,.25882352941176473,.0078431373,.4196078431,.4,.2627450980392157,.0078431373,.4274509804,.4078431373,.26666666666666666,.0078431373,.4352941176,.4156862745,.27058823529411763,.0078431373,.4431372549,.4235294118,.27450980392156865,.0078431373,.4509803922,.431372549,.2784313725490196,.0078431373,.4588235294,.4392156863,.2823529411764706,.0078431373,.4705882353,.4470588235,.28627450980392155,.0078431373,.4784313725,.4549019608,.2901960784313726,.0078431373,.4862745098,.462745098,.29411764705882354,.0078431373,.4941176471,.4705882353,.2980392156862745,.0078431373,.5019607843,.4784313725,.30196078431372547,.0117647059,.5098039216,.4862745098,.3058823529411765,.0196078431,.5019607843,.4941176471,.30980392156862746,.0274509804,.4941176471,.5058823529,.3137254901960784,.0352941176,.4862745098,.5137254902,.3176470588235294,.0431372549,.4784313725,.5215686275,.3215686274509804,.0509803922,.4705882353,.5294117647,.3254901960784314,.0588235294,.462745098,.537254902,.32941176470588235,.0666666667,.4549019608,.5450980392,.3333333333333333,.0745098039,.4470588235,.5529411765,.33725490196078434,.0823529412,.4392156863,.5607843137,.3411764705882353,.0901960784,.431372549,.568627451,.34509803921568627,.0980392157,.4235294118,.5764705882,.34901960784313724,.1058823529,.4156862745,.5843137255,.35294117647058826,.1137254902,.4078431373,.5921568627,.3568627450980392,.1215686275,.4,.6,.3607843137254902,.1294117647,.3921568627,.6078431373,.36470588235294116,.137254902,.3843137255,.6156862745,.3686274509803922,.1450980392,.3764705882,.6235294118,.37254901960784315,.1529411765,.368627451,.631372549,.3764705882352941,.1607843137,.3607843137,.6392156863,.3803921568627451,.168627451,.3529411765,.6470588235,.3843137254901961,.1764705882,.3450980392,.6549019608,.38823529411764707,.1843137255,.337254902,.662745098,.39215686274509803,.1921568627,.3294117647,.6705882353,.396078431372549,.2,.3215686275,.6784313725,.4,.2078431373,.3137254902,.6862745098,.403921568627451,.2156862745,.3058823529,.6941176471,.40784313725490196,.2235294118,.2980392157,.7019607843,.4117647058823529,.231372549,.2901960784,.7098039216,.41568627450980394,.2392156863,.2823529412,.7176470588,.4196078431372549,.2470588235,.2745098039,.7254901961,.4235294117647059,.2509803922,.2666666667,.7333333333,.42745098039215684,.2509803922,.2588235294,.7411764706,.43137254901960786,.2588235294,.2509803922,.7490196078,.43529411764705883,.2666666667,.2509803922,.7490196078,.4392156862745098,.2745098039,.2431372549,.7568627451,.44313725490196076,.2823529412,.2352941176,.7647058824,.4470588235294118,.2901960784,.2274509804,.7725490196,.45098039215686275,.2980392157,.2196078431,.7803921569,.4549019607843137,.3058823529,.2117647059,.7882352941,.4588235294117647,.3137254902,.2039215686,.7960784314,.4627450980392157,.3215686275,.1960784314,.8039215686,.4666666666666667,.3294117647,.1882352941,.8117647059,.4705882352941177,.337254902,.1803921569,.8196078431,.4745098039215686,.3450980392,.1725490196,.8274509804,.4784313725490197,.3529411765,.1647058824,.8352941176,.48235294117647065,.3607843137,.1568627451,.8431372549,.48627450980392156,.368627451,.1490196078,.8509803922,.49019607843137253,.3764705882,.1411764706,.8588235294,.49411764705882355,.3843137255,.1333333333,.8666666667,.4980392156862745,.3921568627,.1254901961,.8745098039,.5019607843137255,.4,.1176470588,.8823529412,.5058823529411764,.4078431373,.1098039216,.8901960784,.5098039215686274,.4156862745,.1019607843,.8980392157,.5137254901960784,.4235294118,.0941176471,.9058823529,.5176470588235295,.431372549,.0862745098,.9137254902,.5215686274509804,.4392156863,.0784313725,.9215686275,.5254901960784314,.4470588235,.0705882353,.9294117647,.5294117647058824,.4549019608,.062745098,.937254902,.5333333333333333,.462745098,.0549019608,.9450980392,.5372549019607843,.4705882353,.0470588235,.9529411765,.5411764705882353,.4784313725,.0392156863,.9607843137,.5450980392156862,.4862745098,.031372549,.968627451,.5490196078431373,.4941176471,.0235294118,.9764705882,.5529411764705883,.4980392157,.0156862745,.9843137255,.5568627450980392,.5058823529,.0078431373,.9921568627,.5607843137254902,.5137254902,.0156862745,.9803921569,.5647058823529412,.5215686275,.0235294118,.9647058824,.5686274509803921,.5294117647,.0352941176,.9490196078,.5725490196078431,.537254902,.0431372549,.9333333333,.5764705882352941,.5450980392,.0509803922,.9176470588,.5803921568627451,.5529411765,.062745098,.9019607843,.5843137254901961,.5607843137,.0705882353,.8862745098,.5882352941176471,.568627451,.0784313725,.8705882353,.592156862745098,.5764705882,.0901960784,.8549019608,.596078431372549,.5843137255,.0980392157,.8392156863,.6,.5921568627,.1098039216,.8235294118,.6039215686274509,.6,.1176470588,.8078431373,.6078431372549019,.6078431373,.1254901961,.7921568627,.611764705882353,.6156862745,.137254902,.7764705882,.615686274509804,.6235294118,.1450980392,.7607843137,.6196078431372549,.631372549,.1529411765,.7490196078,.6235294117647059,.6392156863,.1647058824,.737254902,.6274509803921569,.6470588235,.1725490196,.7215686275,.6313725490196078,.6549019608,.1843137255,.7058823529,.6352941176470588,.662745098,.1921568627,.6901960784,.6392156862745098,.6705882353,.2,.6745098039,.6431372549019608,.6784313725,.2117647059,.6588235294,.6470588235294118,.6862745098,.2196078431,.6431372549,.6509803921568628,.6941176471,.2274509804,.6274509804,.6549019607843137,.7019607843,.2392156863,.6117647059,.6588235294117647,.7098039216,.2470588235,.5960784314,.6627450980392157,.7176470588,.2509803922,.5803921569,.6666666666666666,.7254901961,.2588235294,.5647058824,.6705882352941176,.7333333333,.2666666667,.5490196078,.6745098039215687,.7411764706,.2784313725,.5333333333,.6784313725490196,.7490196078,.2862745098,.5176470588,.6823529411764706,.7490196078,.2941176471,.5019607843,.6862745098039216,.7529411765,.3058823529,.4862745098,.6901960784313725,.7607843137,.3137254902,.4705882353,.6941176470588235,.768627451,.3215686275,.4549019608,.6980392156862745,.7764705882,.3333333333,.4392156863,.7019607843137254,.7843137255,.3411764706,.4235294118,.7058823529411765,.7921568627,.3529411765,.4078431373,.7098039215686275,.8,.3607843137,.3921568627,.7137254901960784,.8078431373,.368627451,.3764705882,.7176470588235294,.8156862745,.3803921569,.3607843137,.7215686274509804,.8235294118,.3882352941,.3450980392,.7254901960784313,.831372549,.3960784314,.3294117647,.7294117647058823,.8392156863,.4078431373,.3137254902,.7333333333333333,.8470588235,.4156862745,.2980392157,.7372549019607844,.8549019608,.4274509804,.2823529412,.7411764705882353,.862745098,.4352941176,.2666666667,.7450980392156863,.8705882353,.4431372549,.2509803922,.7490196078431373,.8784313725,.4549019608,.2431372549,.7529411764705882,.8862745098,.462745098,.2274509804,.7568627450980392,.8941176471,.4705882353,.2117647059,.7607843137254902,.9019607843,.4823529412,.1960784314,.7647058823529411,.9098039216,.4901960784,.1803921569,.7686274509803922,.9176470588,.4980392157,.1647058824,.7725490196078432,.9254901961,.5098039216,.1490196078,.7764705882352941,.9333333333,.5176470588,.1333333333,.7803921568627451,.9411764706,.5294117647,.1176470588,.7843137254901961,.9490196078,.537254902,.1019607843,.788235294117647,.9568627451,.5450980392,.0862745098,.792156862745098,.9647058824,.5568627451,.0705882353,.796078431372549,.9725490196,.5647058824,.0549019608,.8,.9803921569,.5725490196,.0392156863,.803921568627451,.9882352941,.5843137255,.0235294118,.807843137254902,.9921568627,.5921568627,.0078431373,.8117647058823529,.9921568627,.6039215686,.0274509804,.8156862745098039,.9921568627,.6117647059,.0509803922,.8196078431372549,.9921568627,.6196078431,.0745098039,.8235294117647058,.9921568627,.631372549,.0980392157,.8274509803921568,.9921568627,.6392156863,.1215686275,.8313725490196079,.9921568627,.6470588235,.1411764706,.8352941176470589,.9921568627,.6588235294,.1647058824,.8392156862745098,.9921568627,.6666666667,.1882352941,.8431372549019608,.9921568627,.6784313725,.2117647059,.8470588235294118,.9921568627,.6862745098,.2352941176,.8509803921568627,.9921568627,.6941176471,.2509803922,.8549019607843137,.9921568627,.7058823529,.2705882353,.8588235294117647,.9921568627,.7137254902,.2941176471,.8627450980392157,.9921568627,.7215686275,.3176470588,.8666666666666667,.9921568627,.7333333333,.3411764706,.8705882352941177,.9921568627,.7411764706,.3647058824,.8745098039215686,.9921568627,.7490196078,.3843137255,.8784313725490196,.9921568627,.7529411765,.4078431373,.8823529411764706,.9921568627,.7607843137,.431372549,.8862745098039215,.9921568627,.7725490196,.4549019608,.8901960784313725,.9921568627,.7803921569,.4784313725,.8941176470588236,.9921568627,.7882352941,.4980392157,.8980392156862745,.9921568627,.8,.5215686275,.9019607843137255,.9921568627,.8078431373,.5450980392,.9058823529411765,.9921568627,.8156862745,.568627451,.9098039215686274,.9921568627,.8274509804,.5921568627,.9137254901960784,.9921568627,.8352941176,.6156862745,.9176470588235294,.9921568627,.8470588235,.6352941176,.9215686274509803,.9921568627,.8549019608,.6588235294,.9254901960784314,.9921568627,.862745098,.6823529412,.9294117647058824,.9921568627,.8745098039,.7058823529,.9333333333333333,.9921568627,.8823529412,.7294117647,.9372549019607843,.9921568627,.8901960784,.7490196078,.9411764705882354,.9921568627,.9019607843,.7647058824,.9450980392156864,.9921568627,.9098039216,.7882352941,.9490196078431372,.9921568627,.9215686275,.8117647059,.9529411764705882,.9921568627,.9294117647,.8352941176,.9568627450980394,.9921568627,.937254902,.8588235294,.9607843137254903,.9921568627,.9490196078,.8784313725,.9647058823529413,.9921568627,.9568627451,.9019607843,.9686274509803922,.9921568627,.9647058824,.9254901961,.9725490196078431,.9921568627,.9764705882,.9490196078,.9764705882352941,.9921568627,.9843137255,.9725490196,.9803921568627451,.9921568627,.9921568627,.9921568627,.984313725490196,.9921568627,.9921568627,.9921568627,.9882352941176471,.9921568627,.9921568627,.9921568627,.9921568627450981,.9921568627,.9921568627,.9921568627,.996078431372549,.9921568627,.9921568627,.9921568627,1,.9921568627,.9921568627,.9921568627],description:"GE"},{ColorSpace:"RGB",Name:"siemens",RGBPoints:[0,.0078431373,.0039215686,.1254901961,.00392156862745098,.0078431373,.0039215686,.1254901961,.00784313725490196,.0078431373,.0039215686,.1882352941,.011764705882352941,.0117647059,.0039215686,.2509803922,.01568627450980392,.0117647059,.0039215686,.3098039216,.0196078431372549,.0156862745,.0039215686,.3725490196,.023529411764705882,.0156862745,.0039215686,.3725490196,.027450980392156862,.0156862745,.0039215686,.3725490196,.03137254901960784,.0156862745,.0039215686,.3725490196,.03529411764705882,.0156862745,.0039215686,.3725490196,.0392156862745098,.0156862745,.0039215686,.3725490196,.043137254901960784,.0156862745,.0039215686,.3725490196,.047058823529411764,.0156862745,.0039215686,.3725490196,.050980392156862744,.0156862745,.0039215686,.3725490196,.054901960784313725,.0156862745,.0039215686,.3725490196,.05882352941176471,.0156862745,.0039215686,.3725490196,.06274509803921569,.0156862745,.0039215686,.3882352941,.06666666666666667,.0156862745,.0039215686,.4078431373,.07058823529411765,.0156862745,.0039215686,.4235294118,.07450980392156863,.0156862745,.0039215686,.4431372549,.0784313725490196,.0156862745,.0039215686,.462745098,.08235294117647059,.0156862745,.0039215686,.4784313725,.08627450980392157,.0156862745,.0039215686,.4980392157,.09019607843137255,.0196078431,.0039215686,.5137254902,.09411764705882353,.0196078431,.0039215686,.5333333333,.09803921568627451,.0196078431,.0039215686,.5529411765,.10196078431372549,.0196078431,.0039215686,.568627451,.10588235294117647,.0196078431,.0039215686,.5882352941,.10980392156862745,.0196078431,.0039215686,.6039215686,.11372549019607843,.0196078431,.0039215686,.6235294118,.11764705882352942,.0196078431,.0039215686,.6431372549,.12156862745098039,.0235294118,.0039215686,.6588235294,.12549019607843137,.0235294118,.0039215686,.6784313725,.12941176470588237,.0235294118,.0039215686,.6980392157,.13333333333333333,.0235294118,.0039215686,.7137254902,.13725490196078433,.0235294118,.0039215686,.7333333333,.1411764705882353,.0235294118,.0039215686,.7490196078,.1450980392156863,.0235294118,.0039215686,.7647058824,.14901960784313725,.0235294118,.0039215686,.7843137255,.15294117647058825,.0274509804,.0039215686,.8,.1568627450980392,.0274509804,.0039215686,.8196078431,.1607843137254902,.0274509804,.0039215686,.8352941176,.16470588235294117,.0274509804,.0039215686,.8549019608,.16862745098039217,.0274509804,.0039215686,.8745098039,.17254901960784313,.0274509804,.0039215686,.8901960784,.17647058823529413,.0274509804,.0039215686,.9098039216,.1803921568627451,.031372549,.0039215686,.9294117647,.1843137254901961,.031372549,.0039215686,.9254901961,.18823529411764706,.0509803922,.0039215686,.9098039216,.19215686274509805,.0705882353,.0039215686,.8901960784,.19607843137254902,.0901960784,.0039215686,.8705882353,.2,.1137254902,.0039215686,.8509803922,.20392156862745098,.1333333333,.0039215686,.831372549,.20784313725490197,.1529411765,.0039215686,.8117647059,.21176470588235294,.1725490196,.0039215686,.7921568627,.21568627450980393,.1960784314,.0039215686,.7725490196,.2196078431372549,.2156862745,.0039215686,.7529411765,.2235294117647059,.2352941176,.0039215686,.737254902,.22745098039215686,.2509803922,.0039215686,.7176470588,.23137254901960785,.2745098039,.0039215686,.6980392157,.23529411764705885,.2941176471,.0039215686,.6784313725,.23921568627450984,.3137254902,.0039215686,.6588235294,.24313725490196078,.3333333333,.0039215686,.6392156863,.24705882352941178,.3568627451,.0039215686,.6196078431,.25098039215686274,.3764705882,.0039215686,.6,.2549019607843137,.3960784314,.0039215686,.5803921569,.25882352941176473,.4156862745,.0039215686,.5607843137,.2627450980392157,.4392156863,.0039215686,.5411764706,.26666666666666666,.4588235294,.0039215686,.5215686275,.27058823529411763,.4784313725,.0039215686,.5019607843,.27450980392156865,.4980392157,.0039215686,.4823529412,.2784313725490196,.5215686275,.0039215686,.4666666667,.2823529411764706,.5411764706,.0039215686,.4470588235,.28627450980392155,.5607843137,.0039215686,.4274509804,.2901960784313726,.5803921569,.0039215686,.4078431373,.29411764705882354,.6039215686,.0039215686,.3882352941,.2980392156862745,.6235294118,.0039215686,.368627451,.30196078431372547,.6431372549,.0039215686,.3490196078,.3058823529411765,.662745098,.0039215686,.3294117647,.30980392156862746,.6862745098,.0039215686,.3098039216,.3137254901960784,.7058823529,.0039215686,.2901960784,.3176470588235294,.7254901961,.0039215686,.2705882353,.3215686274509804,.7450980392,.0039215686,.2509803922,.3254901960784314,.7647058824,.0039215686,.2352941176,.32941176470588235,.7843137255,.0039215686,.2156862745,.3333333333333333,.8039215686,.0039215686,.1960784314,.33725490196078434,.8235294118,.0039215686,.1764705882,.3411764705882353,.8470588235,.0039215686,.1568627451,.34509803921568627,.8666666667,.0039215686,.137254902,.34901960784313724,.8862745098,.0039215686,.1176470588,.35294117647058826,.9058823529,.0039215686,.0980392157,.3568627450980392,.9294117647,.0039215686,.0784313725,.3607843137254902,.9490196078,.0039215686,.0588235294,.36470588235294116,.968627451,.0039215686,.0392156863,.3686274509803922,.9921568627,.0039215686,.0235294118,.37254901960784315,.9529411765,.0039215686,.0588235294,.3764705882352941,.9529411765,.0078431373,.0549019608,.3803921568627451,.9529411765,.0156862745,.0549019608,.3843137254901961,.9529411765,.0235294118,.0549019608,.38823529411764707,.9529411765,.031372549,.0549019608,.39215686274509803,.9529411765,.0352941176,.0549019608,.396078431372549,.9529411765,.0431372549,.0549019608,.4,.9529411765,.0509803922,.0549019608,.403921568627451,.9529411765,.0588235294,.0549019608,.40784313725490196,.9529411765,.062745098,.0549019608,.4117647058823529,.9529411765,.0705882353,.0549019608,.41568627450980394,.9529411765,.0784313725,.0509803922,.4196078431372549,.9529411765,.0862745098,.0509803922,.4235294117647059,.9568627451,.0941176471,.0509803922,.42745098039215684,.9568627451,.0980392157,.0509803922,.43137254901960786,.9568627451,.1058823529,.0509803922,.43529411764705883,.9568627451,.1137254902,.0509803922,.4392156862745098,.9568627451,.1215686275,.0509803922,.44313725490196076,.9568627451,.1254901961,.0509803922,.4470588235294118,.9568627451,.1333333333,.0509803922,.45098039215686275,.9568627451,.1411764706,.0509803922,.4549019607843137,.9568627451,.1490196078,.0470588235,.4588235294117647,.9568627451,.1568627451,.0470588235,.4627450980392157,.9568627451,.1607843137,.0470588235,.4666666666666667,.9568627451,.168627451,.0470588235,.4705882352941177,.9607843137,.1764705882,.0470588235,.4745098039215686,.9607843137,.1843137255,.0470588235,.4784313725490197,.9607843137,.1882352941,.0470588235,.48235294117647065,.9607843137,.1960784314,.0470588235,.48627450980392156,.9607843137,.2039215686,.0470588235,.49019607843137253,.9607843137,.2117647059,.0470588235,.49411764705882355,.9607843137,.2196078431,.0431372549,.4980392156862745,.9607843137,.2235294118,.0431372549,.5019607843137255,.9607843137,.231372549,.0431372549,.5058823529411764,.9607843137,.2392156863,.0431372549,.5098039215686274,.9607843137,.2470588235,.0431372549,.5137254901960784,.9607843137,.2509803922,.0431372549,.5176470588235295,.9647058824,.2549019608,.0431372549,.5215686274509804,.9647058824,.262745098,.0431372549,.5254901960784314,.9647058824,.2705882353,.0431372549,.5294117647058824,.9647058824,.2745098039,.0431372549,.5333333333333333,.9647058824,.2823529412,.0392156863,.5372549019607843,.9647058824,.2901960784,.0392156863,.5411764705882353,.9647058824,.2980392157,.0392156863,.5450980392156862,.9647058824,.3058823529,.0392156863,.5490196078431373,.9647058824,.3098039216,.0392156863,.5529411764705883,.9647058824,.3176470588,.0392156863,.5568627450980392,.9647058824,.3254901961,.0392156863,.5607843137254902,.9647058824,.3333333333,.0392156863,.5647058823529412,.9647058824,.337254902,.0392156863,.5686274509803921,.968627451,.3450980392,.0392156863,.5725490196078431,.968627451,.3529411765,.0352941176,.5764705882352941,.968627451,.3607843137,.0352941176,.5803921568627451,.968627451,.368627451,.0352941176,.5843137254901961,.968627451,.3725490196,.0352941176,.5882352941176471,.968627451,.3803921569,.0352941176,.592156862745098,.968627451,.3882352941,.0352941176,.596078431372549,.968627451,.3960784314,.0352941176,.6,.968627451,.4,.0352941176,.6039215686274509,.968627451,.4078431373,.0352941176,.6078431372549019,.968627451,.4156862745,.0352941176,.611764705882353,.968627451,.4235294118,.031372549,.615686274509804,.9725490196,.431372549,.031372549,.6196078431372549,.9725490196,.4352941176,.031372549,.6235294117647059,.9725490196,.4431372549,.031372549,.6274509803921569,.9725490196,.4509803922,.031372549,.6313725490196078,.9725490196,.4588235294,.031372549,.6352941176470588,.9725490196,.462745098,.031372549,.6392156862745098,.9725490196,.4705882353,.031372549,.6431372549019608,.9725490196,.4784313725,.031372549,.6470588235294118,.9725490196,.4862745098,.031372549,.6509803921568628,.9725490196,.4941176471,.0274509804,.6549019607843137,.9725490196,.4980392157,.0274509804,.6588235294117647,.9725490196,.5058823529,.0274509804,.6627450980392157,.9764705882,.5137254902,.0274509804,.6666666666666666,.9764705882,.5215686275,.0274509804,.6705882352941176,.9764705882,.5254901961,.0274509804,.6745098039215687,.9764705882,.5333333333,.0274509804,.6784313725490196,.9764705882,.5411764706,.0274509804,.6823529411764706,.9764705882,.5490196078,.0274509804,.6862745098039216,.9764705882,.5529411765,.0274509804,.6901960784313725,.9764705882,.5607843137,.0235294118,.6941176470588235,.9764705882,.568627451,.0235294118,.6980392156862745,.9764705882,.5764705882,.0235294118,.7019607843137254,.9764705882,.5843137255,.0235294118,.7058823529411765,.9764705882,.5882352941,.0235294118,.7098039215686275,.9764705882,.5960784314,.0235294118,.7137254901960784,.9803921569,.6039215686,.0235294118,.7176470588235294,.9803921569,.6117647059,.0235294118,.7215686274509804,.9803921569,.6156862745,.0235294118,.7254901960784313,.9803921569,.6235294118,.0235294118,.7294117647058823,.9803921569,.631372549,.0196078431,.7333333333333333,.9803921569,.6392156863,.0196078431,.7372549019607844,.9803921569,.6470588235,.0196078431,.7411764705882353,.9803921569,.6509803922,.0196078431,.7450980392156863,.9803921569,.6588235294,.0196078431,.7490196078431373,.9803921569,.6666666667,.0196078431,.7529411764705882,.9803921569,.6745098039,.0196078431,.7568627450980392,.9803921569,.6784313725,.0196078431,.7607843137254902,.9843137255,.6862745098,.0196078431,.7647058823529411,.9843137255,.6941176471,.0196078431,.7686274509803922,.9843137255,.7019607843,.0156862745,.7725490196078432,.9843137255,.7098039216,.0156862745,.7764705882352941,.9843137255,.7137254902,.0156862745,.7803921568627451,.9843137255,.7215686275,.0156862745,.7843137254901961,.9843137255,.7294117647,.0156862745,.788235294117647,.9843137255,.737254902,.0156862745,.792156862745098,.9843137255,.7411764706,.0156862745,.796078431372549,.9843137255,.7490196078,.0156862745,.8,.9843137255,.7529411765,.0156862745,.803921568627451,.9843137255,.7607843137,.0156862745,.807843137254902,.9882352941,.768627451,.0156862745,.8117647058823529,.9882352941,.768627451,.0156862745,.8156862745098039,.9843137255,.7843137255,.0117647059,.8196078431372549,.9843137255,.8,.0117647059,.8235294117647058,.9843137255,.8156862745,.0117647059,.8274509803921568,.9803921569,.831372549,.0117647059,.8313725490196079,.9803921569,.8431372549,.0117647059,.8352941176470589,.9803921569,.8588235294,.0078431373,.8392156862745098,.9803921569,.8745098039,.0078431373,.8431372549019608,.9764705882,.8901960784,.0078431373,.8470588235294118,.9764705882,.9058823529,.0078431373,.8509803921568627,.9764705882,.9176470588,.0078431373,.8549019607843137,.9764705882,.9333333333,.0039215686,.8588235294117647,.9725490196,.9490196078,.0039215686,.8627450980392157,.9725490196,.9647058824,.0039215686,.8666666666666667,.9725490196,.9803921569,.0039215686,.8705882352941177,.9725490196,.9960784314,.0039215686,.8745098039215686,.9725490196,.9960784314,.0039215686,.8784313725490196,.9725490196,.9960784314,.0352941176,.8823529411764706,.9725490196,.9960784314,.0666666667,.8862745098039215,.9725490196,.9960784314,.0980392157,.8901960784313725,.9725490196,.9960784314,.1294117647,.8941176470588236,.9725490196,.9960784314,.1647058824,.8980392156862745,.9764705882,.9960784314,.1960784314,.9019607843137255,.9764705882,.9960784314,.2274509804,.9058823529411765,.9764705882,.9960784314,.2549019608,.9098039215686274,.9764705882,.9960784314,.2901960784,.9137254901960784,.9764705882,.9960784314,.3215686275,.9176470588235294,.9803921569,.9960784314,.3529411765,.9215686274509803,.9803921569,.9960784314,.3843137255,.9254901960784314,.9803921569,.9960784314,.4156862745,.9294117647058824,.9803921569,.9960784314,.4509803922,.9333333333333333,.9803921569,.9960784314,.4823529412,.9372549019607843,.9843137255,.9960784314,.5137254902,.9411764705882354,.9843137255,.9960784314,.5450980392,.9450980392156864,.9843137255,.9960784314,.5803921569,.9490196078431372,.9843137255,.9960784314,.6117647059,.9529411764705882,.9843137255,.9960784314,.6431372549,.9568627450980394,.9882352941,.9960784314,.6745098039,.9607843137254903,.9882352941,.9960784314,.7058823529,.9647058823529413,.9882352941,.9960784314,.7411764706,.9686274509803922,.9882352941,.9960784314,.768627451,.9725490196078431,.9882352941,.9960784314,.8,.9764705882352941,.9921568627,.9960784314,.831372549,.9803921568627451,.9921568627,.9960784314,.8666666667,.984313725490196,.9921568627,.9960784314,.8980392157,.9882352941176471,.9921568627,.9960784314,.9294117647,.9921568627450981,.9921568627,.9960784314,.9607843137,.996078431372549,.9960784314,.9960784314,.9607843137,1,.9960784314,.9960784314,.9607843137],description:"Siemens"}];var ta=x(6404),tl=x(6360),tc=x(3500),tu=x(619),td=x(2678),tp=x(6870);let{registerColormap:tg}=L.utilities.colormap;async function tm({servicesManager:e,commandsManager:t,extensionManager:A,appConfig:n}){var r;let o,i;window.PUBLIC_LIB_URL||="./${component}/";let s="true"===new URLSearchParams(window.location.search).get("debug");await (0,L.init)({peerImport:n.peerImport,debug:{statsOverlay:s}}),L.setUseCPURendering(!!n.useCPURendering);let a=n.genericViewports??{},{renderBackend:l,renderBackendByViewportType:c}=function(e){let t={renderBackendByViewportType:{}};if("string"==typeof e)t.renderBackend=eW(e);else if(e&&"object"==typeof e)for(let[A,n]of Object.entries(e)){let e=eW(n);e&&("default"===A?t.renderBackend=e:t.renderBackendByViewportType[A.toLowerCase()]=e)}try{for(let[e,A]of new URLSearchParams(window.location.search).entries()){let n=eW(A);if(n){if("viewportRendering"===e)t.renderBackend=n;else if(e.endsWith(".viewportRendering")){let A=e.slice(0,-18).toLowerCase();A&&(t.renderBackendByViewportType[A]=n)}}}}catch{}return t}(a.viewportRendering);if(l){"cpu"===l?L.setUseCPURendering(!0):"gpu"===l&&L.setUseCPURendering(!1);try{L.setRenderBackend(l)}catch(e){console.warn(`viewportRendering: "${l}" is not a registered render backend; keeping "${L.getRenderBackend()}".`,e)}}eY=c??{},L.setConfiguration({...L.getConfiguration(),rendering:{...L.getConfiguration().rendering,strictZSpacingForVolumeViewport:n.strictZSpacingForVolumeViewport,useGenericViewport:!!n.useGenericViewport}}),ej=!!function(e,t){try{let t=new URLSearchParams(window.location.search);if(t.has(e)){let A=t.get(e);return""===A||"true"===A||"1"===A}}catch{}return!!t}("useNextViewports",a.enabled);let{maxCacheSize:u}=n;u&&L.cache.setMaxCacheSize(u),R.CrosshairsTool.isAnnotation=!1,X.LabelmapSlicePropagationTool.isAnnotation=!1,X.MarkerLabelmapTool.isAnnotation=!1,R.ReferenceLinesTool.isAnnotation=!1,R.AdvancedMagnifyTool.isAnnotation=!1,R.PlanarFreehandContourSegmentationTool.isAnnotation=!1,(0,R.init)({addons:{polySeg:J},computeWorker:{autoTerminateOnIdle:{enabled:!1}}}),(0,R.addTool)(R.PanTool),(0,R.addTool)(R.SegmentBidirectionalTool),(0,R.addTool)(R.WindowLevelTool),(0,R.addTool)(R.StackScrollTool),(0,R.addTool)(R.PlanarRotateTool),(0,R.addTool)(R.VolumeRotateTool),(0,R.addTool)(R.ZoomTool),(0,R.addTool)(R.ProbeTool),(0,R.addTool)(R.MIPJumpToClickTool),(0,R.addTool)(R.LengthTool),(0,R.addTool)(R.RectangleROITool),(0,R.addTool)(R.RectangleROIThresholdTool),(0,R.addTool)(R.EllipticalROITool),(0,R.addTool)(R.CircleROITool),(0,R.addTool)(R.BidirectionalTool),(0,R.addTool)(R.ArrowAnnotateTool),(0,R.addTool)(R.DragProbeTool),(0,R.addTool)(R.AngleTool),(0,R.addTool)(R.CobbAngleTool),(0,R.addTool)(R.MagnifyTool),(0,R.addTool)(R.CrosshairsTool),(0,R.addTool)(R.RectangleScissorsTool),(0,R.addTool)(R.SphereScissorsTool),(0,R.addTool)(R.CircleScissorsTool),(0,R.addTool)(R.BrushTool),(0,R.addTool)(R.PaintFillTool),(0,R.addTool)(R.ReferenceLinesTool),(0,R.addTool)(eA),(0,R.addTool)(R.TrackballRotateTool),(0,R.addTool)(el),(0,R.addTool)(R.AdvancedMagnifyTool),(0,R.addTool)(R.UltrasoundDirectionalTool),(0,R.addTool)(R.UltrasoundPleuraBLineTool),(0,R.addTool)(R.PlanarFreehandROITool),(0,R.addTool)(R.SplineROITool),(0,R.addTool)(R.LivewireContourTool),(0,R.addTool)(R.OrientationMarkerTool),(0,R.addTool)(R.WindowLevelRegionTool),(0,R.addTool)(R.PlanarFreehandContourSegmentationTool),(0,R.addTool)(R.SegmentSelectTool),(0,R.addTool)(R.SegmentLabelTool),(0,R.addTool)(X.LabelmapSlicePropagationTool),(0,R.addTool)(X.MarkerLabelmapTool),(0,R.addTool)(R.ClickSegmentTool),(0,R.addTool)(R.LivewireContourSegmentationTool),(0,R.addTool)(R.SculptorTool),(0,R.addTool)(R.SplineContourSegmentationTool),(0,R.addTool)(R.LabelMapEditWithContourTool),o=R.annotation.config.style.getDefaultToolStyles(),R.annotation.config.style.setDefaultToolStyles({global:{...o.global,textBoxFontSize:"15px",lineWidth:"1.5"}}),L.Settings.getRuntimeSettings().set("useCursors",!!n.useCursors);let{userAuthenticationService:d,customizationService:p,uiModalService:g,uiNotificationService:m,cornerstoneViewportService:h,hangingProtocolService:f,viewportGridService:w,segmentationService:B,measurementService:y,colorbarService:v,displaySetService:S,toolbarService:C}=e.services;C.registerEventForToolbarUpdate(v,[v.EVENTS.STATE_CHANGED]),C.registerEventForToolbarUpdate(B,[B.EVENTS.SEGMENTATION_MODIFIED,B.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,B.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED]),window.services=e.services,window.extensionManager=A,window.commandsManager=t,n.showCPUFallbackMessage&&L.getShouldUseCPURendering()&&function(e,t){let{unsubscribe:A}=t.subscribe(t.EVENTS.PROTOCOL_CHANGED,()=>{(t=>{if(100===t)return e.show({content:tf,title:"OHIF Fell Back to CPU Rendering"}),!0})(100)&&A()})}(g,f);let{getPresentationId:I}=tl.I.getState(),{getPresentationId:b}=tu.v.getState(),{getPresentationId:U}=tc.q.getState();w.addPresentationIdProvider("positionPresentationId",U),w.addPresentationIdProvider("lutPresentationId",I),w.addPresentationIdProvider("segmentationPresentationId",b),B.setStyle({type:ta.SegmentationRepresentations.Contour},{fillAlpha:.5,fillAlphaInactive:.4,renderFill:!1,renderFillInactive:!1});let E=P().classes.MetadataProvider;L.volumeLoader.registerVolumeLoader("cornerstoneStreamingImageVolume",j.cornerstoneStreamingImageVolumeLoader),L.volumeLoader.registerVolumeLoader("cornerstoneStreamingDynamicImageVolume",j.cornerstoneStreamingDynamicImageVolumeLoader),Object.entries({interleaveCenter:e3,interleaveTopToBottom:e5,nth:e6}).forEach(([e,t])=>{f.registerImageLoadStrategy(e,th(t))}),L.imageLoadPoolManager.maxNumRequests={[K().Interaction]:n?.maxNumRequests?.interaction||10,[K().Thumbnail]:n?.maxNumRequests?.thumbnail||5,[K().Prefetch]:n?.maxNumRequests?.prefetch||5,[K().Compute]:n?.maxNumRequests?.compute||10},z("cornerstoneStreamingImageVolume",j.cornerstoneStreamingImageVolumeLoader),z("cornerstoneStreamingDynamicImageVolume",j.cornerstoneStreamingDynamicImageVolumeLoader),Y().init({maxWebWorkers:Math.min(Math.max(navigator.hardwareConcurrency-1,1),n.maxNumberOfWebWorkers),beforeSend:function(e){let t=A.getActiveDataSource()?.[0].getConfig()??{},n=d.getAuthorizationHeader(),r={Accept:k.utils.generateAcceptHeader(t.acceptHeader,t.requestTransferSyntaxUID,t.omitQuotationForMultipartRequest)};return n&&Object.assign(r,n),r},errorInterceptor:e=>{k.errorHandler.getHTTPErrorHandler(e)}}),L.metaData.addProvider(L.utilities.genericMetadataProvider.get,9998),L.metaData.addProvider(L.utilities.calibratedPixelSpacingMetadataProvider.get.bind(L.utilities.calibratedPixelSpacingMetadataProvider)),L.metaData.addProvider(E.get.bind(E),9999),this.measurementServiceSource=(({commandsManager:e,servicesManager:t,extensionManager:A})=>{let{measurementService:n,displaySetService:r,cornerstoneViewportService:o,customizationService:i}=t.services,s=((e,t,A,n)=>{let r,{Length:o,Bidirectional:i,EllipticalROI:s,CircleROI:a,ArrowAnnotate:l,Angle:c,CobbAngle:u,RectangleROI:d,PlanarFreehandROI:p,SplineROI:g,LivewireContour:m,Probe:h,UltrasoundDirectional:f,UltrasoundPleuraBLine:w,SegmentBidirectional:B}=(r=e=>{let{POLYLINE:t,ELLIPSE:A,CIRCLE:n,RECTANGLE:r,BIDIRECTIONAL:o,POINT:i,ANGLE:s}=k.MeasurementService.VALUE_TYPES;return({Length:t,EllipticalROI:A,CircleROI:n,RectangleROI:r,PlanarFreehandROI:t,Bidirectional:o,ArrowAnnotate:i,CobbAngle:s,Angle:s,SplineROI:t,LivewireContour:t,Probe:i,UltrasoundDirectional:t,SegmentBidirectional:o})[e]},{Length:{toAnnotation:eg,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{length:u,unit:d="mm"}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:d,length:u})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,SeriesNumber:o,SOPInstanceUID:i,frameNumber:s,unit:a}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===i);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${s}`:"";if(null==r)return n;let d=k.utils.roundNumber(r,2);return n.primary.push(`${d} ${a}`),n.secondary.push(`S: ${o}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Length"),e.forEach(e=>{let{length:t,unit:A}=e;n.push("Length"),r.push(t),n.push("Unit"),r.push(A)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},Bidirectional:{toAnnotation:ey,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r={}}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{length:u,width:d,unit:p}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:p,length:u,width:d})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,width:o,unit:i,SeriesNumber:s,SOPInstanceUID:a,frameNumber:l}=e[0],c=k.utils.roundNumber(r,2),u=k.utils.roundNumber(o,2),d=t.instances.find(e=>e.SOPInstanceUID===a);d&&(A=d.InstanceNumber);let p=A?` I: ${A}`:"",g=t.isMultiFrame?` F: ${l}`:"";return n.primary.push(`L: ${c} ${eB(i)}`),n.primary.push(`W: ${u} ${eB(i)}`),n.secondary.push(`S: ${s}${p}${g}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Bidirectional"),e.forEach(e=>{let{length:t,width:A,unit:o}=e;n.push("Length","Width","Unit"),r.push(t,A,o)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2},{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},SegmentBidirectional:{toAnnotation:eO,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.debug("SegmentBidirectional tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{length:u,width:d,unit:p}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:p,length:u,width:d})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,width:o,unit:i,SeriesNumber:s,SOPInstanceUID:a,frameNumber:l}=e[0],c=k.utils.roundNumber(r,2),u=k.utils.roundNumber(o,2),d=t.instances.find(e=>e.SOPInstanceUID===a);d&&(A=d.InstanceNumber);let p=A?` I: ${A}`:"",g=t.isMultiFrame?` F: ${l}`:"";return n.primary.push(`L: ${c} ${eB(i)}`),n.primary.push(`W: ${u} ${eB(i)}`),n.secondary.push(`S: ${s}${p}${g}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:SegmentBidirectional"),e.forEach(e=>{let{length:t,width:A,unit:o}=e;n.push("Length","Width","Unit"),r.push(t,A,o)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2},{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},EllipticalROI:{toAnnotation:eS,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[],s=new Set;return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:l,frameNumber:c}=ep(o,t,e),{SeriesNumber:u}=t.getDisplaySetsForSeries(l)[0],{mean:d,stdDev:p,max:g,area:m,Modality:h,areaUnit:f,modalityUnit:w}=n;h&&s.has(h)||(h&&s.add(h),i.push({SeriesInstanceUID:l,SOPInstanceUID:a,SeriesNumber:u,frameNumber:c,Modality:h,unit:w,areaUnit:f,mean:d,stdDev:p,max:g,area:m}))}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===o);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"",u=k.utils.roundNumber(r,2);return n.primary.push(`${u} ${eB(s)}`),e.forEach(e=>{let{unit:t,max:A,SeriesNumber:r}=e,o=ev(A,t,"max");n.primary.push(o),n.secondary.push(`S: ${r}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,metadata:s,isLocked:c,isVisible:u,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:EllipticalROI"),e.forEach(e=>{let{mean:t,stdDev:A,max:o,area:i,unit:s,areaUnit:a}=e;t&&s&&o&&i&&(n.push(`max (${s})`,`mean (${s})`,`std (${s})`,"Area","Unit"),r.push(o,t,A,i,a))}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.ELLIPSE}]},CircleROI:{toAnnotation:eC,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r={}}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[],s=new Set;return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:l,frameNumber:c}=ep(o,t,e),{SeriesNumber:u}=t.getDisplaySetsForSeries(l)[0],{mean:d,stdDev:p,max:g,area:m,Modality:h,areaUnit:f,modalityUnit:w,perimeter:B,radiusUnit:y}=n;h&&s.has(h)||(s.add(h),i.push({SeriesInstanceUID:l,SOPInstanceUID:a,SeriesNumber:u,frameNumber:c,Modality:h,unit:w,mean:d,stdDev:p,max:g,area:m,areaUnit:f,perimeter:B,radiusUnit:y}))}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===o);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"";if(!isNaN(r)){let e=k.utils.roundNumber(r||0,2);n.primary.push(`${e} ${eB(s)}`)}return e.forEach(e=>{let{unit:t,perimeter:A,radiusUnit:r,max:o,SeriesNumber:i}=e;if(isNaN(o)){if(A&&!isNaN(A)){let e=ev(A,r,"perimeter");n.primary.push(e)}}else{let e=ev(o,t,"max");n.primary.push(e)}n.secondary.push(`S: ${i}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:CircleROI"),e.forEach(e=>{let{mean:t,stdDev:A,max:o,area:i,unit:s,areaUnit:a}=e;t&&s&&o&&i&&(n.push(`max (${s})`,`mean (${s})`,`std (${s})`,"Area","Unit"),r.push(o,t,A,i,a))}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.CIRCLE}]},RectangleROI:{toAnnotation:eF.toAnnotation,toMeasurement:e=>eF.toMeasurement(e,t,A,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE}]},PlanarFreehandROI:{toAnnotation:eE.toAnnotation,toMeasurement:e=>eE.toMeasurement(e,t,A,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE}]},SplineROI:{toAnnotation:eQ,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("SplineROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:h,frameNumber:f,StudyInstanceUID:w}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let B=function(e,t){let A={primary:[],secondary:[]};if(!e||!e.length)return A;let{area:n,SOPInstanceUID:r,frameNumber:o,areaUnit:i}=e[0],s=t.instances.find(e=>e.SOPInstanceUID===r);s&&s.InstanceNumber,t.isMultiFrame;let a=k.utils.roundNumber(n||0,2);return A.primary.push(`${a} ${eB(i)}`),A}(function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{mean:u,stdDev:d,max:p,area:g,Modality:m,areaUnit:h,modalityUnit:f}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,Modality:m,unit:f,mean:u,stdDev:d,max:p,area:g,areaUnit:h})}),i}(i,t),o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:a.contour.polyline,textBox:a.handles.textBox,metadata:s,frameNumber:f,referenceSeriesUID:h,referenceStudyUID:w,referencedImageId:p,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:B,data:a.cachedStats,type:n(d),getReport:()=>(function(e,t){let{SplineROI:A}=t.getCustomization("cornerstone.measurements"),{report:n}=A,r=[],o=[];r.push("AnnotationType"),o.push("Cornerstone:SplineROI");let{metadata:i,data:s}=e,a=s.cachedStats[`imageId:${i.referencedImageId}`];return n.forEach(({displayName:e,value:t})=>{r.push(e),a[t]?o.push(a[t]):o.push("not available")}),i.FrameOfReferenceUID&&(r.push("FrameOfReferenceUID"),o.push(i.FrameOfReferenceUID)),s.contour.polyline&&(r.push("points"),o.push(s.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:r,values:o}})(i,r),isLocked:c,isVisible:u}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE}]},LivewireContour:{toAnnotation:eT,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Livewire tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:h,frameNumber:f,StudyInstanceUID:w}=ep(p,t,i);return o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h),{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:a.contour.polyline,textBox:a.handles.textBox,metadata:s,frameNumber:f,referenceSeriesUID:h,referencedImageId:p,referenceStudyUID:w,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,isLocked:c,isVisible:u,displayText:function(e,t,A){let n,{metadata:r,data:o}=e,i={primary:[],secondary:[]};if(!o.cachedStats||!o.cachedStats[`imageId:${r.referencedImageId}`])return i;let{area:s,areaUnit:a}=o.cachedStats[`imageId:${r.referencedImageId}`],{SOPInstanceUID:l,frameNumber:c}=ep(r.referencedImageId,A,e),u=t.instances.find(e=>e.SOPInstanceUID===l);u&&(n=u.InstanceNumber);let d=n?` I: ${n}`:"",p=t.isMultiFrame?` F: ${c}`:"",{SeriesNumber:g}=t,m=null;if(void 0!==g&&(m=`S: ${g}${d}${p}`),s){let e=k.utils.roundNumber(s||0,2);i.primary.push(`${e} ${eB(a)}`)}return m&&i.secondary.push(m),i}(i,o,t),data:a.cachedStats,type:n(d),getReport:()=>(function(e){let t=[],A=[];t.push("AnnotationType"),A.push("Cornerstone:Livewire");let{metadata:n,data:r}=e;return n.FrameOfReferenceUID&&(t.push("FrameOfReferenceUID"),A.push(n.FrameOfReferenceUID)),r.contour.polyline&&(t.push("points"),A.push(r.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:t,values:A}})(i)}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE}]},ArrowAnnotate:{toAnnotation:eI,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{text:r}=n,{referencedImageId:o}=A,i=[],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0];return i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,text:r}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{SeriesNumber:r,SOPInstanceUID:o,frameNumber:i,text:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===o);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"";return s&&n.primary.push(s),n.secondary.push(`S: ${r}${l}${c}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:ArrowAnnote"),e.forEach(e=>{let{text:t}=e;n.push("Text"),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,0),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POINT,points:1}]},Probe:{toAnnotation:eD,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Probe tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w}=a.handles,B=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{value:u,modalityUnit:d}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:d||"",value:u})}),i}(i,t),y=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{value:r,unit:o,SeriesNumber:i,SOPInstanceUID:s,frameNumber:a}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===s);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${a}`:"";if(void 0!==r){let e=k.utils.roundNumber(r,2);n.primary.push(`${e} ${eB(o)}`),n.secondary.push(`S: ${i}${c}${u}`)}return n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,metadata:s,isLocked:c,isVisible:u,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:B?.[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:y,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=B,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Probe"),e.forEach(e=>{let{value:t,unit:A}=e;n.push(`Probe (${A})`),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POINT,points:1}]},CobbAngle:{toAnnotation:eb,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Cobb Angle tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!r||!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{angle:u}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:"°",angle:u})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{angle:r,unit:o,SeriesNumber:i,SOPInstanceUID:s,frameNumber:a}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===s);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${a}`:"";if(void 0===r)return n;let d=k.utils.roundNumber(r,2);return n.primary.push(`${d} ${eB(o)}`),n.secondary.push(`S: ${i}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y?.[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:CobbAngle"),e.forEach(e=>{let{angle:t,unit:A}=e;n.push(`Angle (${A})`),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.ANGLE}]},Angle:{toAnnotation:eU,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{angle:u}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:"°",angle:u})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{angle:r,unit:o,SeriesNumber:i,SOPInstanceUID:s,frameNumber:a}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===s);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${a}`:"";if(void 0===r)return n;let d=k.utils.roundNumber(r,2);return n.primary.push(`${d} ${eB(o)}`),n.secondary.push(`S: ${i}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,frameNumber:y?.[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Angle"),e.forEach(e=>{let{angle:t,unit:A}=e;n.push(`Angle (${A})`),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},referencedImageId:p}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.ANGLE}]},UltrasoundDirectional:{toAnnotation:ex,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h);let{points:w}=a.handles,B=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(e=>{let A=r[e];if(!o)throw Error("Non-acquisition plane measurement mapping not supported");let{SOPInstanceUID:n,SeriesInstanceUID:s,frameNumber:a}=ep(o),{SeriesNumber:l}=t.getDisplaySetForSOPInstanceUID(n,s,a),{xValues:c,yValues:u,units:d,isUnitless:p,isHorizontal:g}=A;i.push({SeriesInstanceUID:s,SOPInstanceUID:n,SeriesNumber:l,frameNumber:a,xValues:c,yValues:u,units:d,isUnitless:p,isHorizontal:g})}),i}(i,t),y=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{xValues:r,yValues:o,units:i,isUnitless:s,SeriesNumber:a,SOPInstanceUID:l,frameNumber:c}=e[0],u=t.instances.find(e=>e.SOPInstanceUID===l);u&&(A=u.InstanceNumber);let d=A?` I: ${A}`:"",p=t.isMultiFrame?` F: ${c}`:"",g=`S: ${a}${d}${p}`;if(void 0===r||void 0===o)return n;if(s)n.primary.push(`${k.utils.roundNumber(r[0],2)} ${i[0]}`);else{let e=Math.abs(r[1]-r[0]),t=Math.abs(o[1]-o[0]);n.primary.push(`${k.utils.roundNumber(e)} ${i[0]}`),n.primary.push(`${k.utils.roundNumber(t)} ${i[1]}`)}return n.secondary.push(g),n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,frameNumber:B?.[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:y,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=B,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:UltrasoundDirectional"),e.forEach(e=>{let{xValues:t,yValues:A,units:o,isUnitless:i}=e;if(i)n.push("Length"+o[0]),r.push(k.utils.roundNumber(t[0],2));else{let e=Math.abs(t[1]-t[0]),i=Math.abs(A[1]-A[0]);n.push("Time"+o[0]),r.push(k.utils.roundNumber(e,2)),n.push("Length"+o[1]),r.push(k.utils.roundNumber(i,2))}}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},UltrasoundPleuraBLine:{toAnnotation:eM,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("UltrasoundPleuraBLine tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h);let{points:w}=a.handles,B=function(e,t){let{metadata:A}=e,{annotationType:n}=e.data,{referencedImageId:r}=A,o=[];if(!r)throw Error("Non-acquisition plane measurement mapping not supported");let{SOPInstanceUID:i,SeriesInstanceUID:s,frameNumber:a}=ep(r),{SeriesNumber:l}=t.getDisplaySetForSOPInstanceUID(i,s,a);return o.push({SeriesInstanceUID:s,SOPInstanceUID:i,SeriesNumber:l,frameNumber:a,annotationType:n}),o}(i,t),y=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{annotationType:r,SeriesNumber:o,SOPInstanceUID:i,frameNumber:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===i);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${s}`:"",u=`S: ${o}${l}${c}`;return n.primary.push(`Annotation : ${r}`),n.secondary.push(u),n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,frameNumber:B?.[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:y,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=B,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:UltrasoundPleuraBLine"),e.forEach(e=>{let{annotationType:t}=e;n.push("AnnotationType"),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]}}),y=e.createSource(eR,eV);return e.addMapping(y,"Length",o.matchingCriteria,o.toAnnotation,o.toMeasurement),e.addMapping(y,"Crosshairs",o.matchingCriteria,()=>null,()=>null),e.addMapping(y,"Bidirectional",i.matchingCriteria,i.toAnnotation,i.toMeasurement),e.addMapping(y,"EllipticalROI",s.matchingCriteria,s.toAnnotation,s.toMeasurement),e.addMapping(y,"CircleROI",a.matchingCriteria,a.toAnnotation,a.toMeasurement),e.addMapping(y,"ArrowAnnotate",l.matchingCriteria,l.toAnnotation,l.toMeasurement),e.addMapping(y,"CobbAngle",u.matchingCriteria,u.toAnnotation,u.toMeasurement),e.addMapping(y,"Angle",c.matchingCriteria,c.toAnnotation,c.toMeasurement),e.addMapping(y,"RectangleROI",d.matchingCriteria,d.toAnnotation,d.toMeasurement),e.addMapping(y,"PlanarFreehandROI",p.matchingCriteria,p.toAnnotation,p.toMeasurement),e.addMapping(y,"SplineROI",g.matchingCriteria,g.toAnnotation,g.toMeasurement),e.addMapping(y,"CalibrationLine",o.matchingCriteria,o.toAnnotation,o.toMeasurement),e.addMapping(y,"LivewireContour",m.matchingCriteria,m.toAnnotation,m.toMeasurement),e.addMapping(y,"Probe",h.matchingCriteria,h.toAnnotation,h.toMeasurement),e.addMapping(y,"UltrasoundDirectionalTool",f.matchingCriteria,f.toAnnotation,f.toMeasurement),e.addMapping(y,"UltrasoundPleuraBLineTool",w.matchingCriteria,w.toAnnotation,w.toMeasurement),e.addMapping(y,"SegmentBidirectional",B.matchingCriteria,B.toAnnotation,B.toMeasurement),y})(n,r,o,i);(({servicesManager:e,commandsManager:t,extensionManager:A})=>{let{measurementService:n,cornerstoneViewportService:r,viewportGridService:o}=e.services,{MEASUREMENT_REMOVED:i,MEASUREMENTS_CLEARED:s,MEASUREMENT_UPDATED:a,RAW_MEASUREMENT_ADDED:l}=n.EVENTS;n.subscribe(s,({measurements:e,trackingContext:A})=>{if(Object.keys(e).length){for(let A of(t.run("startRecordingForAnnotationGroup"),Object.values(e))){let{uid:e,source:n}=A;if(n.name!==eR)continue;let r=R.annotation.state.getAnnotation(e);eN(e),t.run("triggerCreateAnnotationMemo",{annotation:r,FrameOfReferenceUID:r.metadata.FrameOfReferenceUID,options:{deleting:!0}})}A&&e_.push({id:L.utilities.uuidv4(),operationType:"trackingState",restoreMemo(e){!0===e?t.run("restoreTrackedSeries",A):!1===e&&t.run("clearTrackedSeries")}}),t.run("endRecordingForAnnotationGroup"),r.getRenderingEngine().render()}}),n.subscribe(a,({source:e,measurement:t,notYetUpdatedAtSource:A})=>{if(!e||e.name!==eR||!1===A)return;let{uid:n,label:i,isLocked:s,isVisible:a}=t,l=R.annotation.state.getAnnotation(n),{data:c,metadata:u}=l;if(!c)return;if(c.label!==i){let e=ee(o)?.viewport.element;(0,eL.setAnnotationLabel)(l,e,i)}R.annotation.locking.setAnnotationLocked(n,s),R.annotation.visibility.setAnnotationVisibility(n,a);let d=r.getRenderingEngine().getViewports().map(e=>e.id);(0,eL.triggerAnnotationRenderForViewportIds)(d)}),n.subscribe(l,({source:e,measurement:A,data:n,dataSource:r})=>{let o;if(e.name!==eR)return;let{referenceSeriesUID:i,referenceStudyUID:s,SOPInstanceUID:a,metadata:l}=A,c=k.DicomMetadataStore.getInstance(s,i,a),u=1;A?.metadata?.referencedImageId?(o=A.metadata.referencedImageId,u=ep(A.metadata.referencedImageId).frameNumber):c&&(o=r.getImageIdsForInstance({instance:c}));let d=R.annotation.state.getAnnotationManager(),p={annotationUID:A.uid,predecessorImageId:A?.predecessorImageId,highlighted:!1,isLocked:!1,invalidated:!0,metadata:{...l,toolName:A.toolName,FrameOfReferenceUID:A.FrameOfReferenceUID,referencedImageId:o},data:{...n.annotation.data||{},text:n.annotation.data.text,handles:{...n.annotation.data.handles},cachedStats:{...n.annotation.data.cachedStats},label:n.annotation.data.label,frameNumber:u}};d.addAnnotation(p),t.run("triggerCreateAnnotationMemo",{annotation:p,FrameOfReferenceUID:p.metadata.FrameOfReferenceUID,options:{newAnnotation:!0}})}),n.subscribe(i,({source:e,measurement:A})=>{if(e?.name&&e.name!==eR)return;t.run("cancelMeasurement");let n=R.annotation.state.getAnnotation(A);eN(A),n&&t.run("triggerCreateAnnotationMemo",{annotation:n,FrameOfReferenceUID:n.metadata.FrameOfReferenceUID,options:{deleting:!0}}),r.getRenderingEngine().render()})})({servicesManager:t,commandsManager:e,extensionManager:A});let{annotationToMeasurement:a,remove:l}=s;function c(e){try{let A=e.detail,{annotation:{metadata:n,annotationUID:r}}=A,{toolName:i}=n;e.type===p&&i===ec.CalibrationLine?(function(e,t){var A,n;let r,o,i,{uiDialogService:s,viewportGridService:a}=e.services,{annotation:{metadata:l,data:c}}=t.detail,{referencedImageId:u}=l,{viewport:d}=ee(a),p=Math.round(100*(A=c.handles.points[0],n=c.handles.points[1],r=A[0]-n[0],o=A[1]-n[1],i=A[2]-n[2],Math.sqrt(r*r+o*o+i*i)))/100;return new Promise((e,t)=>{s?(0,q.callInputDialog)({uiDialogService:s,title:"Calibration",placeholder:"Actual Physical distance (mm)",defaultValue:`${p}`}).then(t=>{var A;A=Number.parseFloat(t),et(u,d.getRenderingEngine(),{type:"User",scale:1/(A/p)}),e(!0)}):t("UIDialogService is not initiated")})})(t,e).then(()=>{console.log("Calibration applied.")},()=>!0).finally(()=>{eN(r),u(e),o.resize()}):(A.uid=r,a(i,A))}catch(e){console.warn("Failed to add measurement:",e)}}function u(e){try{let t=e.detail,{annotation:{annotationUID:A}}=t;n.getMeasurement(A)&&l(A,t)}catch(e){console.warn("Failed to remove measurement:",e)}}let d=eH.ANNOTATION_ADDED,p=eH.ANNOTATION_COMPLETED,g=eH.ANNOTATION_MODIFIED,m=eH.ANNOTATION_REMOVED,h=eH.ANNOTATION_SELECTION_CHANGE;return L.eventTarget.addEventListener(d,c),L.eventTarget.addEventListener(p,c),L.eventTarget.addEventListener(g,function(e){try{let t=e.detail,{annotation:{metadata:A,annotationUID:r}}=t;if(!n.getMeasurement(r))return;let{toolName:o}=A;t.uid=r,a(o,t,!0)}catch(e){console.warn("Failed to update measurement:",e)}}),L.eventTarget.addEventListener(m,u),L.eventTarget.addEventListener(h,function(e){try{let{added:t,removed:A}=e.detail;A&&A.forEach(e=>n.setMeasurementSelected(e,!1)),t&&t.forEach(e=>n.setMeasurementSelected(e,!0))}catch(e){console.warn("Failed to select/unselect measurements:",e)}}),s})({servicesManager:e,commandsManager:t,extensionManager:A}),ek(e),eP(e),y.subscribe(y.EVENTS.JUMP_TO_MEASUREMENT,e=>{let{measurement:A}=e,{uid:n}=A;t.runCommand("jumpToMeasurementViewport",{measurement:A,annotationUID:n,evt:e})}),f.subscribe(f.EVENTS.CUSTOM_IMAGE_LOAD_PERFORMED,e=>{let{lutPresentationStore:t}=tl.I.getState(),{segmentationPresentationStore:A}=tu.v.getState(),{positionPresentationStore:n}=tc.q.getState();for(let r of e.entries()){let[e,o]=r,i=h.getCornerstoneViewport(e),{presentationIds:s}=h.getViewportInfo(e).getViewportOptions(),a={positionPresentation:n[s?.positionPresentationId],lutPresentation:t[s?.lutPresentationId],segmentationPresentation:A[s?.segmentationPresentationId]};h.setVolumesForViewport(i,o,a)}}),tt({cornerstoneViewportService:h,customizationService:p,commandsManager:t}),tn({customizationService:p,commandsManager:t});let F=({detail:e})=>{k.errorHandler.getHTTPErrorHandler()(e.error)};L.eventTarget.addEventListener(L.EVENTS.IMAGE_LOAD_FAILED,F),L.eventTarget.addEventListener(L.EVENTS.IMAGE_LOAD_ERROR,F),L.eventTarget.addEventListener(L.EVENTS.ELEMENT_ENABLED,(function(e){let{element:A}=e.detail,{viewport:n}=(0,L.getEnabledElement)(A);if(!function({element:e}){if(!tr.length){let{TimingEnum:e}=k.Enums;tr.push(e.DISPLAY_SETS_TO_ALL_IMAGES,e.DISPLAY_SETS_TO_FIRST_IMAGE,e.STUDY_TO_FIRST_IMAGE)}tr.find(e=>k.log.timingKeys[e])&&(to.viewportsWaiting+=1,e.addEventListener(L.EVENTS.IMAGE_RENDERED,ti))}({element:A}),A.addEventListener(L.EVENTS.CAMERA_RESET,e=>{let{element:A}=e.detail,n=(0,L.getEnabledElement)(A);if(!n)return;let{viewportId:r}=n;t.runCommand("resetCrosshairs",{viewportId:r})}),n.type!==L.Enums.ViewportType.ORTHOGRAPHIC)return}).bind(null)),ts.forEach(tg),L.eventTarget.addEventListenerDebounced(L.EVENTS.ERROR_EVENT,({detail:e})=>{let t=`cornerstone-error-${e.type}-${e.message.substring(0,50)}`;m.show({title:e.type,message:e.message,type:"error",id:t,allowDuplicates:!1,deduplicationInterval:3e4})},100),r=e.services.uiNotificationService,i=new Map,L.eventTarget.addEventListener(L.EVENTS.WEB_WORKER_PROGRESS,({detail:e})=>{let t,A=!1;try{let{progress:n,type:o,id:s}=e;if(o===R.Enums.WorkerTypes.COMPUTE_STATISTICS)return;if(t=`worker-task-${o.toLowerCase().replace(/\s+/g,"-")}`,0===n)if(i.has(t))console.debug(`Already tracking a "${o}" task, skipping duplicate notification`);else{let e=new Promise((e,A)=>{try{i.set(t,{resolve:e,reject:A,originalId:s,type:o})}catch(e){throw console.error(`Error setting active worker task for type "${o}":`,e),A(e),e}});try{r.show({id:t,title:`${o}`,message:"Computing...",autoClose:!1,allowDuplicates:!1,deduplicationInterval:6e4,promise:e,promiseMessages:{loading:"Computing...",success:"Completed successfully",error:"Web Worker failed"}})}catch(e){throw console.error(`Error showing web worker notification for type "${o}":`,e),A=!0,e}}else if(100===n){let e=i.get(t);if(e){let{resolve:t}=e;t({progress:n,type:o}),A=!0,console.debug(`Worker task "${o}" completed successfully`)}}}catch(t){console.error(`Error in web worker progress handler for type "${e?.type}":`,t),A=!0}finally{if(A&&t)try{i.delete(t)}catch(t){console.error(`Error cleaning up active worker task for type "${e?.type}":`,t)}}})}window.cornerstone=L,window.cornerstoneTools=R;let th=e=>t=>{let A=td.imageRetrieveMetadataProvider.clone();td.imageRetrieveMetadataProvider.clear();try{return e(t)}finally{setTimeout(()=>{td.imageRetrieveMetadataProvider.restore(A)},10)}};function tf(){let e,t=(0,D.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,tp.jsx)("div",{children:(0,tp.jsx)("p",{children:"Your computer does not have enough GPU power to support the default GPU rendering mode. OHIF has switched to CPU rendering mode. Please note that CPU rendering does not support all features such as Volume Rendering, Multiplanar Reconstruction, and Segmentation Overlays."})}),t[0]=e):e=t[0],e}let tw={"viewportOverlay.topLeft":[{id:"StudyDate",inheritsFrom:"ohif.overlayItem",label:"",title:"Study date",condition:({referenceInstance:e})=>e?.StudyDate,contentF:({referenceInstance:e,formatters:{formatDate:t}})=>t(e.StudyDate)},{id:"SeriesDescription",inheritsFrom:"ohif.overlayItem",label:"",title:"Series description",condition:({referenceInstance:e})=>e&&e.SeriesDescription,contentF:({referenceInstance:e})=>e.SeriesDescription}],"viewportOverlay.topRight":[],"viewportOverlay.bottomLeft":[{id:"WindowLevel",inheritsFrom:"ohif.overlayItem.windowLevel",title:"Window Level"},{id:"ZoomLevel",inheritsFrom:"ohif.overlayItem.zoomLevel",condition:e=>"Zoom"===e.toolGroupService.getActiveToolForViewport(e.viewportId)}],"viewportOverlay.bottomRight":[{id:"InstanceNumber",inheritsFrom:"ohif.overlayItem.instanceNumber",title:"Instance Number"}]};var tB=x(55);function ty(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function tv(e){return(tv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tS(e){var t=function(e,t){if("object"!=tv(e)||!e)return e;var A=e[Symbol.toPrimitive];if(void 0!==A){var n=A.call(e,t||"default");if("object"!=tv(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==tv(t)?t:t+""}function tC(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,tS(n.key),n)}}function tI(e,t,A){return t&&tC(e.prototype,t),A&&tC(e,A),Object.defineProperty(e,"prototype",{writable:!1}),e}x(9741),Object.create(null);var tb=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,tU={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},tE=function(e){return tU[e]},tF={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:function(e){return e.replace(tb,tE)}},tQ=(0,M.createContext)(),tT=function(){function e(){ty(this,e),this.usedNamespaces={}}return tI(e,[{key:"addUsedNamespaces",value:function(e){var t=this;e.forEach(function(e){t.usedNamespaces[e]||(t.usedNamespaces[e]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function tD(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=Array(t);A<t;A++)n[A]=e[A];return n}function tx(e,t,A){return(t=tS(t))in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function tO(){if(console&&console.warn){for(var e,t=arguments.length,A=Array(t),n=0;n<t;n++)A[n]=arguments[n];"string"==typeof A[0]&&(A[0]="react-i18next:: ".concat(A[0])),(e=console).warn.apply(e,A)}}var tM={};function tL(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];"string"==typeof t[0]&&tM[t[0]]||("string"==typeof t[0]&&(tM[t[0]]=new Date),tO.apply(void 0,t))}var tR=function(e,t){return function(){e.isInitialized?t():e.on("initialized",function A(){setTimeout(function(){e.off("initialized",A)},0),t()})}};function tV(e,t,A){e.loadNamespaces(t,tR(e,A))}function tN(e,t,A,n){"string"==typeof A&&(A=[A]),A.forEach(function(t){0>e.options.ns.indexOf(t)&&e.options.ns.push(t)}),e.loadLanguages(t,tR(e,n))}function tH(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),A.push.apply(A,n)}return A}function t_(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?tH(Object(A),!0).forEach(function(t){tx(e,t,A[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):tH(Object(A)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))})}return e}var tk=function(e,t){var A=(0,M.useRef)();return(0,M.useEffect)(function(){A.current=t?A.current:e},[e,t]),A.current};function tP(e){var t,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=A.i18n,r=(0,M.useContext)(tQ)||{},o=r.i18n,i=r.defaultNS,s=n||o||S;if(s&&!s.reportNamespaces&&(s.reportNamespaces=new tT),!s){tL("You will need to pass in an i18next instance by using initReactI18next");var a=function(e,t){return"string"==typeof t?t:t&&"object"===tv(t)&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e},l=[a,{},!1];return l.t=a,l.i18n={},l.ready=!1,l}s.options.react&&void 0!==s.options.react.wait&&tL("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var c=t_(t_(t_({},tF),s.options.react),A),u=c.useSuspense,d=c.keyPrefix,p=e||i||s.options&&s.options.defaultNS;p="string"==typeof p?[p]:p||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(p);var g=(s.isInitialized||s.initializedStoreOnce)&&p.every(function(e){return function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0===t.options.ignoreJSONStructure?function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.languages[0],r=!!t.options&&t.options.fallbackLng,o=t.languages[t.languages.length-1];if("cimode"===n.toLowerCase())return!0;var i=function(e,A){var n=t.services.backendConnector.state["".concat(e,"|").concat(A)];return -1===n||2===n};return(!(A.bindI18n&&A.bindI18n.indexOf("languageChanging")>-1)||!t.services.backendConnector.backend||!t.isLanguageChangingTo||!!i(t.isLanguageChangingTo,e))&&!!(t.hasResourceBundle(n,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||i(n,e)&&(!r||i(o,e)))}(e,t,A):t.hasLoadedNamespace(e,{lng:A.lng,precheck:function(t,n){if(A.bindI18n&&A.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!n(t.isLanguageChangingTo,e))return!1}}):(tL("i18n.languages were undefined or empty",t.languages),!0)}(e,s,c)});function m(){return s.getFixedT(A.lng||null,"fallback"===c.nsMode?p:p[0],d)}var h=function(e){if(Array.isArray(e))return e}(t=(0,M.useState)(m))||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var A,n,r,o,i=[],s=!0,a=!1;try{r=(t=t.call(e)).next,!1;for(;!(s=(A=r.call(t)).done)&&(i.push(A.value),2!==i.length);s=!0);}catch(e){a=!0,n=e}finally{try{if(!s&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(a)throw n}}return i}}(t)||function(e){if(e){if("string"==typeof e)return tD(e,2);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?tD(e,2):void 0}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),f=h[0],w=h[1],B=p.join();A.lng&&(B="".concat(A.lng).concat(B));var y=tk(B),v=(0,M.useRef)(!0);(0,M.useEffect)(function(){var e=c.bindI18n,t=c.bindI18nStore;function n(){v.current&&w(m)}return v.current=!0,g||u||(A.lng?tN(s,A.lng,p,function(){v.current&&w(m)}):tV(s,p,function(){v.current&&w(m)})),g&&y&&y!==B&&v.current&&w(m),e&&s&&s.on(e,n),t&&s&&s.store.on(t,n),function(){v.current=!1,e&&s&&e.split(" ").forEach(function(e){return s.off(e,n)}),t&&s&&t.split(" ").forEach(function(e){return s.store.off(e,n)})}},[s,B]);var C=(0,M.useRef)(!0);(0,M.useEffect)(function(){v.current&&!C.current&&w(m),C.current=!1},[s,d]);var I=[f,s,g];if(I.t=f,I.i18n=s,I.ready=g,g||!g&&!u)return I;throw new Promise(function(e){A.lng?tN(s,A.lng,p,function(){return e()}):tV(s,p,function(){return e()})})}var tj=x(1459);let tG=e=>{let t,A,n,r,o,i,s,a,l,c,u=(0,D.c)(33),{segmentationId:d,segmentationRepresentationType:p,allowExport:g,actions:m}=e,{t:h}=tP("SegmentationPanel");u[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,tp.jsx)(tB.Icons.Export,{className:"text-foreground"}),u[0]=t):t=u[0],u[1]!==h?(A=h("Save"),u[1]=h,u[2]=A):A=u[2],u[3]!==A?(n=(0,tp.jsxs)(tB.DropdownMenuSubTrigger,{className:"pl-1",children:[t,(0,tp.jsx)("span",{className:"pl-2",children:A})]}),u[3]=A,u[4]=n):n=u[4],u[5]!==m||u[6]!==g||u[7]!==d||u[8]!==p||u[9]!==h?(r=p===ta.SegmentationRepresentations.Labelmap&&(0,tp.jsx)(tB.DropdownMenuItem,{onClick:e=>{e.preventDefault(),m.downloadCSVSegmentationReport(d)},disabled:!g,children:h("CSV Report")}),u[5]=m,u[6]=g,u[7]=d,u[8]=p,u[9]=h,u[10]=r):r=u[10],u[11]!==m||u[12]!==g||u[13]!==d||u[14]!==p||u[15]!==h?(o=p===ta.SegmentationRepresentations.Labelmap&&(0,tp.jsx)(tB.DropdownMenuItem,{onClick:e=>{e.preventDefault(),m.storeSegmentation(d,"SEG")},disabled:!g,children:h("DICOM SEG")}),u[11]=m,u[12]=g,u[13]=d,u[14]=p,u[15]=h,u[16]=o):o=u[16],u[17]!==m||u[18]!==d?(i=e=>{e.preventDefault(),m.storeSegmentation(d,"RTSTRUCT")},u[17]=m,u[18]=d,u[19]=i):i=u[19];let f=!g;return u[20]!==h?(s=h("DICOM RTSS"),u[20]=h,u[21]=s):s=u[21],u[22]!==i||u[23]!==f||u[24]!==s?(a=(0,tp.jsx)(tB.DropdownMenuItem,{onClick:i,disabled:f,children:s}),u[22]=i,u[23]=f,u[24]=s,u[25]=a):a=u[25],u[26]!==r||u[27]!==o||u[28]!==a?(l=(0,tp.jsx)(tB.DropdownMenuPortal,{children:(0,tp.jsxs)(tB.DropdownMenuSubContent,{children:[r,o,a]})}),u[26]=r,u[27]=o,u[28]=a,u[29]=l):l=u[29],u[30]!==l||u[31]!==n?(c=(0,tp.jsxs)(tB.DropdownMenuSub,{children:[n,l]}),u[30]=l,u[31]=n,u[32]=c):c=u[32],c},tK=()=>{let e,t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C=(0,D.c)(64),{commandsManager:I}=(0,tj.useSystem)(),{t:b}=tP("SegmentationPanel"),{onSegmentationAdd:U,onSegmentationRemoveFromViewport:E,onSegmentationEdit:F,onSegmentationDelete:Q,exportOptions:T,activeSegmentation:x,activeSegmentationId:O,segmentationRepresentationTypes:M,disableEditing:L}=(0,tB.useSegmentationTableContext)("CustomDropdownMenu"),R=(0,tB.useSegmentationExpanded)(),V=R?R.segmentation:x,N=R?R.segmentation.segmentationId:O,H=!1;if(!V||!N)return null;if(T){let e;if(C[0]!==T||C[1]!==N){let t;C[3]!==N?(t=e=>e.segmentationId===N,C[3]=N,C[4]=t):t=C[4],e=T.find(t),C[0]=T,C[1]=N,C[2]=e}else e=C[2];let t=e;H=t?.isExportable||!1}C[5]!==I?(e={storeSegmentation:async(e,t)=>{I.run({commandName:"storeSegmentation",commandOptions:{segmentationId:e,modality:void 0===t?"SEG":t},context:"CORNERSTONE"})},downloadCSVSegmentationReport:e=>{I.run("downloadCSVSegmentationReport",{segmentationId:e})}},C[5]=I,C[6]=e):e=C[6];let _=e;C[7]!==L||C[8]!==U||C[9]!==N||C[10]!==M?.[0]||C[11]!==b?(t=!L&&(0,tp.jsxs)(tB.DropdownMenuItem,{onClick:()=>U({segmentationId:N,segmentationRepresentationType:M?.[0]}),children:[(0,tp.jsx)(tB.Icons.Add,{className:"text-foreground"}),(0,tp.jsx)("span",{className:"pl-2",children:b("Create New Segmentation")})]}),C[7]=L,C[8]=U,C[9]=N,C[10]=M?.[0],C[11]=b,C[12]=t):t=C[12],C[13]===Symbol.for("react.memo_cache_sentinel")?(A=(0,tp.jsx)(tB.DropdownMenuSeparator,{}),C[13]=A):A=C[13],C[14]!==b?(n=b("Manage Current Segmentation"),C[14]=b,C[15]=n):n=C[15],C[16]!==n?(r=(0,tp.jsx)(tB.DropdownMenuLabel,{children:n}),C[16]=n,C[17]=r):r=C[17],C[18]!==E||C[19]!==N?(o=()=>E(N),C[18]=E,C[19]=N,C[20]=o):o=C[20],C[21]===Symbol.for("react.memo_cache_sentinel")?(i=(0,tp.jsx)(tB.Icons.Series,{className:"text-foreground"}),C[21]=i):i=C[21],C[22]!==b?(s=b("Remove from Viewport"),C[22]=b,C[23]=s):s=C[23],C[24]!==s?(a=(0,tp.jsx)("span",{className:"pl-2",children:s}),C[24]=s,C[25]=a):a=C[25],C[26]!==o||C[27]!==a?(l=(0,tp.jsxs)(tB.DropdownMenuItem,{onClick:o,children:[i,a]}),C[26]=o,C[27]=a,C[28]=l):l=C[28],C[29]!==F||C[30]!==N?(c=()=>F(N),C[29]=F,C[30]=N,C[31]=c):c=C[31],C[32]===Symbol.for("react.memo_cache_sentinel")?(u=(0,tp.jsx)(tB.Icons.Rename,{className:"text-foreground"}),C[32]=u):u=C[32],C[33]!==b?(d=b("Rename"),C[33]=b,C[34]=d):d=C[34],C[35]!==d?(p=(0,tp.jsx)("span",{className:"pl-2",children:d}),C[35]=d,C[36]=p):p=C[36],C[37]!==c||C[38]!==p?(g=(0,tp.jsxs)(tB.DropdownMenuItem,{onClick:c,children:[u,p]}),C[37]=c,C[38]=p,C[39]=g):g=C[39];let k=M?.[0];return C[40]!==_||C[41]!==H||C[42]!==N||C[43]!==k?(m=(0,tp.jsx)(tG,{segmentationId:N,segmentationRepresentationType:k,allowExport:H,actions:_}),C[40]=_,C[41]=H,C[42]=N,C[43]=k,C[44]=m):m=C[44],C[45]===Symbol.for("react.memo_cache_sentinel")?(h=(0,tp.jsx)(tB.DropdownMenuSeparator,{}),C[45]=h):h=C[45],C[46]!==Q||C[47]!==N?(f=()=>Q(N),C[46]=Q,C[47]=N,C[48]=f):f=C[48],C[49]===Symbol.for("react.memo_cache_sentinel")?(w=(0,tp.jsx)(tB.Icons.Delete,{className:"text-red-600"}),C[49]=w):w=C[49],C[50]!==b?(B=b("Delete"),C[50]=b,C[51]=B):B=C[51],C[52]!==B?(y=(0,tp.jsx)("span",{className:"pl-2 text-red-600",children:B}),C[52]=B,C[53]=y):y=C[53],C[54]!==f||C[55]!==y?(v=(0,tp.jsxs)(tB.DropdownMenuItem,{onClick:f,children:[w,y]}),C[54]=f,C[55]=y,C[56]=v):v=C[56],C[57]!==t||C[58]!==g||C[59]!==m||C[60]!==v||C[61]!==r||C[62]!==l?(S=(0,tp.jsxs)(tB.DropdownMenuContent,{align:"start",children:[t,A,r,l,g,m,h,v]}),C[57]=t,C[58]=g,C[59]=m,C[60]=v,C[61]=r,C[62]=l,C[63]=S):S=C[63],S},tW=e=>{let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F=(0,D.c)(86),{segmentationId:Q,segmentIndex:T}=e,{servicesManager:x,commandsManager:O}=(0,tj.useSystem)(),{segmentationService:M}=x.services,{t:L}=tP("SegmentationPanel");if(F[0]!==O||F[1]!==T||F[2]!==Q||F[3]!==M||F[4]!==L){o=Symbol.for("react.early_return_sentinel");e:{let e=M.getSegmentation(Q).segments[T].cachedStats.namedStats;if(!e){o=null;break e}if(!(t=e.bidirectional)){let e,t,A,n,r,i,s,a,l,c;F[11]!==O||F[12]!==T||F[13]!==Q?(e=()=>{O.run("runSegmentBidirectional",{segmentationId:Q,segmentIndex:T})},F[11]=O,F[12]=T,F[13]=Q,F[14]=e):e=F[14],F[15]===Symbol.for("react.memo_cache_sentinel")?(t=(0,tp.jsx)(tB.Icons.ToolBidirectionalSegment,{className:"h-5 w-5"}),F[15]=t):t=F[15],F[16]!==L?(A=L("Compute Largest Bidirectional"),F[16]=L,F[17]=A):A=F[17],F[18]!==A?(n=(0,tp.jsx)("span",{children:A}),F[18]=A,F[19]=n):n=F[19],F[20]!==e||F[21]!==n?(r=(0,tp.jsx)(tB.TooltipTrigger,{asChild:!0,children:(0,tp.jsxs)(tB.Button,{variant:"ghost",size:"sm",className:"text-primary flex items-center gap-2",onClick:e,children:[t,n]})}),F[20]=e,F[21]=n,F[22]=r):r=F[22],F[23]!==L?(i=L("Add bidirectional measurement"),F[23]=L,F[24]=i):i=F[24],F[25]!==i?(s=(0,tp.jsx)(tB.TooltipContent,{side:"bottom",children:i}),F[25]=i,F[26]=s):s=F[26],F[27]!==r||F[28]!==s?(a=(0,tp.jsx)("div",{className:"flex",children:(0,tp.jsxs)(tB.Tooltip,{children:[r,s]})}),F[27]=r,F[28]=s,F[29]=a):a=F[29],F[30]===Symbol.for("react.memo_cache_sentinel")?(l=(0,tp.jsx)(tB.Separator,{className:"bg-input"}),F[30]=l):l=F[30],F[31]!==a?(c=(0,tp.jsxs)("div",{className:"-mt-2 space-y-2",children:[a,l]}),F[31]=a,F[32]=c):c=F[32],o=c;break e}let{value:s,unit:a}=t;i=a;let l=s.maxMajor,c=s.maxMinor;A=Math.max(l,c),n=Math.min(l,c),r=R.annotation.visibility.isAnnotationVisible(t.annotationUID)}F[0]=O,F[1]=T,F[2]=Q,F[3]=M,F[4]=L,F[5]=t,F[6]=A,F[7]=n,F[8]=r,F[9]=o,F[10]=i}else t=F[5],A=F[6],n=F[7],r=F[8],o=F[9],i=F[10];if(o!==Symbol.for("react.early_return_sentinel"))return o;let V=r;return F[33]!==A?(s=(0,en.roundNumber)(A),F[33]=A,F[34]=s):s=F[34],F[35]!==s||F[36]!==i?(a=(0,tp.jsxs)("div",{children:["L: ",s," ",i]}),F[35]=s,F[36]=i,F[37]=a):a=F[37],F[38]!==n?(l=(0,en.roundNumber)(n),F[38]=n,F[39]=l):l=F[39],F[40]!==l||F[41]!==i?(c=(0,tp.jsxs)("div",{children:["W: ",l," ",i]}),F[40]=l,F[41]=i,F[42]=c):c=F[42],F[43]!==a||F[44]!==c?(u=(0,tp.jsxs)("div",{className:"text-foreground",children:[a,c]}),F[43]=a,F[44]=c,F[45]=u):u=F[45],F[46]!==t.annotationUID||F[47]!==V||F[48]!==T||F[49]!==Q||F[50]!==M?(d=e=>{e.stopPropagation(),R.annotation.visibility.setAnnotationVisibility(t.annotationUID,!V),M.addOrUpdateSegmentation({segmentationId:Q,segmentIndex:T})},F[46]=t.annotationUID,F[47]=V,F[48]=T,F[49]=Q,F[50]=M,F[51]=d):d=F[51],F[52]!==V?(p=V?(0,tp.jsx)(tB.Icons.Hide,{className:"h-6 w-6"}):(0,tp.jsx)(tB.Icons.Show,{className:"h-6 w-6"}),F[52]=V,F[53]=p):p=F[53],F[54]!==d||F[55]!==p?(g=(0,tp.jsx)(tB.TooltipTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{size:"icon",variant:"ghost",className:"h-6 w-6 transition-opacity",onClick:d,children:p})}),F[54]=d,F[55]=p,F[56]=g):g=F[56],F[57]!==L?(m=L("Toggle visibility"),F[57]=L,F[58]=m):m=F[58],F[59]!==m?(h=(0,tp.jsx)(tB.TooltipContent,{side:"bottom",children:m}),F[59]=m,F[60]=h):h=F[60],F[61]!==g||F[62]!==h?(f=(0,tp.jsxs)(tB.Tooltip,{children:[g,h]}),F[61]=g,F[62]=h,F[63]=f):f=F[63],F[64]!==t.annotationUID||F[65]!==O?(w=()=>{t.annotationUID&&O.run("jumpToMeasurement",{uid:t.annotationUID})},F[64]=t.annotationUID,F[65]=O,F[66]=w):w=F[66],F[67]===Symbol.for("react.memo_cache_sentinel")?(B=(0,tp.jsx)(tB.Icons.JumpToSlice,{}),F[67]=B):B=F[67],F[68]!==w?(y=(0,tp.jsx)(tB.TooltipTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",onClick:w,children:B})}),F[68]=w,F[69]=y):y=F[69],F[70]!==L?(v=L("Jump to measurement"),F[70]=L,F[71]=v):v=F[71],F[72]!==v?(S=(0,tp.jsx)(tB.TooltipContent,{side:"bottom",children:v}),F[72]=v,F[73]=S):S=F[73],F[74]!==y||F[75]!==S?(C=(0,tp.jsxs)(tB.Tooltip,{children:[y,S]}),F[74]=y,F[75]=S,F[76]=C):C=F[76],F[77]!==f||F[78]!==C?(I=(0,tp.jsxs)("div",{className:"flex gap-2",children:[f,C]}),F[77]=f,F[78]=C,F[79]=I):I=F[79],F[80]!==I||F[81]!==u?(b=(0,tp.jsxs)("div",{className:"flex items-center justify-between",children:[u,I]}),F[80]=I,F[81]=u,F[82]=b):b=F[82],F[83]===Symbol.for("react.memo_cache_sentinel")?(U=(0,tp.jsx)(tB.Separator,{className:"bg-input"}),F[83]=U):U=F[83],F[84]!==b?(E=(0,tp.jsxs)("div",{className:"-mt-2 space-y-2",children:[b,U]}),F[84]=b,F[85]=E):E=F[85],E};function tY(){let e,t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v=(0,D.c)(53),{commandsManager:S}=(0,k.useSystem)(),{t:C}=tP("SegmentationPanel"),[I,b]=(0,M.useState)(!1),[U,E]=(0,M.useState)(!1),[F,Q]=(0,M.useState)(!1),[T,x]=(0,M.useState)(!1);v[0]!==S?(e=e=>{b(e),S.run("toggleSegmentPreviewEdit",{toggle:e})},v[0]=S,v[1]=e):e=v[1];let O=e;v[2]!==S?(t=e=>{Q(e),S.run("toggleSegmentSelect",{toggle:e})},v[2]=S,v[3]=t):t=v[3];let L=t;v[4]!==S?(A=e=>{x(e),S.run("toggleUseCenterSegmentIndex",{toggle:e})},v[4]=S,v[5]=A):A=v[5];let R=A;v[6]!==S?(n=e=>{E(e),S.run("toggleSegmentLabel",{enabled:e})},v[6]=S,v[7]=n):n=v[7];let V=n;return v[8]!==O||v[9]!==I?(r=(0,tp.jsx)(tB.Switch,{checked:I,onCheckedChange:O}),v[8]=O,v[9]=I,v[10]=r):r=v[10],v[11]!==C?(o=C("Preview edits before creating"),v[11]=C,v[12]=o):o=v[12],v[13]!==o?(i=(0,tp.jsx)("span",{className:"text-foreground text-base",children:o}),v[13]=o,v[14]=i):i=v[14],v[15]!==r||v[16]!==i?(s=(0,tp.jsxs)("div",{className:"flex items-center gap-2",children:[r,i]}),v[15]=r,v[16]=i,v[17]=s):s=v[17],v[18]!==R||v[19]!==T?(a=(0,tp.jsx)(tB.Switch,{checked:T,onCheckedChange:R}),v[18]=R,v[19]=T,v[20]=a):a=v[20],v[21]!==C?(l=C("Use center as segment index"),v[21]=C,v[22]=l):l=v[22],v[23]!==l?(c=(0,tp.jsx)("span",{className:"text-foreground text-base",children:l}),v[23]=l,v[24]=c):c=v[24],v[25]!==c||v[26]!==a?(u=(0,tp.jsxs)("div",{className:"flex items-center gap-2",children:[a,c]}),v[25]=c,v[26]=a,v[27]=u):u=v[27],v[28]!==L||v[29]!==F?(d=(0,tp.jsx)(tB.Switch,{checked:F,onCheckedChange:L}),v[28]=L,v[29]=F,v[30]=d):d=v[30],v[31]!==C?(p=C("Hover on segment border to activate"),v[31]=C,v[32]=p):p=v[32],v[33]!==p?(g=(0,tp.jsx)("span",{className:"text-foreground text-base",children:p}),v[33]=p,v[34]=g):g=v[34],v[35]!==d||v[36]!==g?(m=(0,tp.jsxs)("div",{className:"flex items-center gap-2",children:[d,g]}),v[35]=d,v[36]=g,v[37]=m):m=v[37],v[38]!==V||v[39]!==U?(h=(0,tp.jsx)(tB.Switch,{checked:U,onCheckedChange:V}),v[38]=V,v[39]=U,v[40]=h):h=v[40],v[41]!==C?(f=C("Show segment name on hover"),v[41]=C,v[42]=f):f=v[42],v[43]!==f?(w=(0,tp.jsx)("span",{className:"text-foreground text-base",children:f}),v[43]=f,v[44]=w):w=v[44],v[45]!==h||v[46]!==w?(B=(0,tp.jsxs)("div",{className:"flex items-center gap-2",children:[h,w]}),v[45]=h,v[46]=w,v[47]=B):B=v[47],v[48]!==u||v[49]!==m||v[50]!==B||v[51]!==s?(y=(0,tp.jsxs)("div",{className:"bg-muted flex flex-col gap-2 border-b border-b-[2px] border-background px-2 py-3",children:[s,u,m,B]}),v[48]=u,v[49]=m,v[50]=B,v[51]=s,v[52]=y):y=v[52],y}let tz={"layoutSelector.advancedPresetGenerator":({servicesManager:e})=>(({servicesManager:e})=>{let{hangingProtocolService:t,viewportGridService:A,displaySetService:n}=e.services,r=Array.from(t.protocols.values()),o=A.getActiveViewportId();if(!o)return[];let i=A.getDisplaySetsUIDsForViewport(o);if(!i)return[];let s=i.map(e=>{let t=n.getDisplaySetByUID(e),A=t?.measurements?.[0]?.displaySetInstanceUID;return"SR"===t.Modality&&A?n.getDisplaySetByUID(A):t});return r.map(e=>{if(!e.isPreset)return null;let A=!e.displaySetSelectors||0===Object.values(e.displaySetSelectors).length||t.areRequiredSelectorsValid(Object.values(e.displaySetSelectors),s[0]);return{icon:e.icon,title:e.name,commandOptions:{protocolId:e.id},disabled:!A}}).filter(e=>null!==e)})({servicesManager:e}),"layoutSelector.commonPresets":[{icon:"layout-common-1x1",commandOptions:{numRows:1,numCols:1}},{icon:"layout-common-1x2",commandOptions:{numRows:1,numCols:2}},{icon:"layout-common-2x2",commandOptions:{numRows:2,numCols:2}},{icon:"layout-common-2x3",commandOptions:{numRows:2,numCols:3}}]},tX={"cornerstone.overlayViewportTools":{active:[{toolName:ec.WindowLevel,bindings:[{mouseButton:R.Enums.MouseBindings.Primary}]},{toolName:ec.Pan,bindings:[{mouseButton:R.Enums.MouseBindings.Auxiliary}]},{toolName:ec.Zoom,bindings:[{mouseButton:R.Enums.MouseBindings.Secondary},{numTouchPoints:2}]},{toolName:ec.StackScroll,bindings:[{mouseButton:R.Enums.MouseBindings.Wheel},{numTouchPoints:3}]}],enabled:[{toolName:ec.PlanarFreehandContourSegmentation,configuration:{displayOnePointAsCrosshairs:!0}}]}},tJ={cornerstoneViewportClickCommands:{doubleClick:["toggleOneUp"],button1:["closeContextMenu"],button3:[{commandName:"showCornerstoneContextMenu",commandOptions:{requireNearbyToolData:!0,menuId:"measurementsContextMenu"}}]}},tq={"cornerstone.measurements":{Angle:{displayText:[],report:[]},CobbAngle:{displayText:[],report:[]},ArrowAnnotate:{displayText:[],report:[]},RectangleROi:{displayText:[],report:[]},CircleROI:{displayText:[],report:[]},EllipticalROI:{displayText:[],report:[]},Bidirectional:{displayText:[],report:[]},Length:{displayText:[],report:[]},LivewireContour:{displayText:[],report:[]},SplineROI:{displayText:[{displayName:"Areas",value:"area",type:"value"},{value:"areaUnits",for:["area"],type:"unit"}],report:[{displayName:"Area",value:"area",type:"value"},{displayName:"Unit",value:"areaUnits",type:"value"}]},PlanarFreehandROI:{displayTextOpen:[{displayName:"Length",value:"length",type:"value"}],displayText:[{displayName:"Mean",value:"mean",type:"value"},{displayName:"Max",value:"max",type:"value"},{displayName:"Area",value:"area",type:"value"},{value:"pixelValueUnits",for:["mean","max"],type:"unit"},{value:"areaUnits",for:["area"],type:"unit"}],report:[{displayName:"Mean",value:"mean",type:"value"},{displayName:"Max",value:"max",type:"value"},{displayName:"Area",value:"area",type:"value"},{displayName:"Unit",value:"unit",type:"value"}]}}},{VIEWPORT_PRESETS:t$}=L.CONSTANTS,tZ={"cornerstone.3dVolumeRendering":{volumeRenderingPresets:t$,volumeRenderingQualityRange:{min:1,max:4,step:1}}},t0="bottom",t1={bottom:{position:"top",style:{labelOffset:5,labelMargin:13}},right:{position:"left",style:{labelMargin:5}},left:{position:"right",style:{labelMargin:5}},top:{position:"bottom",style:{labelMargin:5}}},t3={"cornerstone.colorbar":{colorbarTickPosition:"bottom"===(e=t0)?"top":"top"===e?"bottom":"left"===e?"right":"right"===e?"left":t1[e]?.position||"top",colormaps:ts,colorbarContainerPosition:t0,colorbarInitialColormap:"Grayscale",positionStyles:{left:{width:"15px"},right:{width:"15px"},bottom:{height:"15px"}},positionTickStyles:t1,containerStyles:{cursor:"initial"},tickStyles:{font:"12px Arial",color:"#fff",maxNumTicks:6,tickSize:5,tickWidth:1}}},t2={"cornerstone.modalityOverlayDefaultColorMaps":{defaultSettings:{PT:{colormap:"hsv",opacity:.5},RTDOSE:{colormap:"Isodose",opacity:.5}}}},t4={"cornerstone.segmentation.autoHydrateViewportTypes":null},t6={"cornerstone.windowLevelPresets":{CT:[{id:"ct-soft-tissue",description:"Soft tissue",window:"400",level:"40"},{id:"ct-lung",description:"Lung",window:"1500",level:"-600"},{id:"ct-liver",description:"Liver",window:"150",level:"90"},{id:"ct-bone",description:"Bone",window:"2500",level:"480"},{id:"ct-brain",description:"Brain",window:"80",level:"40"}],PT:[{id:"pt-default",description:"Default",window:"5",level:"2.5"},{id:"pt-suv-3",description:"SUV",window:"0",level:"3"},{id:"pt-suv-5",description:"SUV",window:"0",level:"5"},{id:"pt-suv-7",description:"SUV",window:"0",level:"7"},{id:"pt-suv-8",description:"SUV",window:"0",level:"8"},{id:"pt-suv-10",description:"SUV",window:"0",level:"10"},{id:"pt-suv-15",description:"SUV",window:"0",level:"15"}]}};function t9(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(A);"function"==typeof Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(A).filter(function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable})),n.forEach(function(t){tx(e,t,A[t])})}return e}function t8(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function t5(e,t){if(t&&("object"==tv(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return t8(e)}function t7(e){return(t7=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ae(e,t){return(Ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function At(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ae(e,t)}var AA={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){console&&console[e]&&console[e].apply(console,t)}},An=new(function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ty(this,e),this.init(t,A)}return tI(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||AA,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,A,n){return n&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(A).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,t9({},{prefix:"".concat(this.prefix,":").concat(t,":")},this.options))}}]),e}()),Ar=function(){function e(){ty(this,e),this.observers={}}return tI(e,[{key:"on",value:function(e,t){var A=this;return e.split(" ").forEach(function(e){A.observers[e]=A.observers[e]||[],A.observers[e].push(t)}),this}},{key:"off",value:function(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e]=this.observers[e].filter(function(e){return e!==t})}}},{key:"emit",value:function(e){for(var t=arguments.length,A=Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];this.observers[e]&&[].concat(this.observers[e]).forEach(function(e){e.apply(void 0,A)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(function(t){t.apply(t,[e].concat(A))})}}]),e}();function Ao(){var e,t,A=new Promise(function(A,n){e=A,t=n});return A.resolve=e,A.reject=t,A}function Ai(e){return null==e?"":""+e}function As(e,t,A){function n(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function r(){return!e||"string"==typeof e}for(var o="string"!=typeof t?[].concat(t):t.split(".");o.length>1;){if(r())return{};var i=n(o.shift());!e[i]&&A&&(e[i]=new A),e=Object.prototype.hasOwnProperty.call(e,i)?e[i]:{}}return r()?{}:{obj:e,k:n(o.shift())}}function Aa(e,t,A){var n=As(e,t,Object);n.obj[n.k]=A}function Al(e,t){var A=As(e,t),n=A.obj,r=A.k;if(n)return n[r]}function Ac(e,t,A){var n=Al(e,A);return void 0!==n?n:Al(t,A)}function Au(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Ad={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function Ap(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return Ad[e]}):e}var Ag="u">typeof window&&window.navigator&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,Am=function(e){function t(e){var A,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return ty(this,t),A=t5(this,t7(t).call(this)),Ag&&Ar.call(t8(A)),A.data=e||{},A.options=n,void 0===A.options.keySeparator&&(A.options.keySeparator="."),A}return At(t,e),tI(t,[{key:"addNamespaces",value:function(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,o=[e,t];return A&&"string"!=typeof A&&(o=o.concat(A)),A&&"string"==typeof A&&(o=o.concat(r?A.split(r):A)),e.indexOf(".")>-1&&(o=e.split(".")),Al(this.data,o)}},{key:"addResource",value:function(e,t,A,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},o=this.options.keySeparator;void 0===o&&(o=".");var i=[e,t];A&&(i=i.concat(o?A.split(o):A)),e.indexOf(".")>-1&&(i=e.split("."),n=t,t=i[1]),this.addNamespaces(t),Aa(this.data,i,n),r.silent||this.emit("added",e,t,A,n)}},{key:"addResources",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var r in A)("string"==typeof A[r]||"[object Array]"===Object.prototype.toString.apply(A[r]))&&this.addResource(e,t,r,A[r],{silent:!0});n.silent||this.emit("added",e,t,A)}},{key:"addResourceBundle",value:function(e,t,A,n,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},i=[e,t];e.indexOf(".")>-1&&(i=e.split("."),n=A,A=t,t=i[1]),this.addNamespaces(t);var s=Al(this.data,i)||{};n?function e(t,A,n){for(var r in A)"__proto__"!==r&&"constructor"!==r&&(r in t?"string"==typeof t[r]||t[r]instanceof String||"string"==typeof A[r]||A[r]instanceof String?n&&(t[r]=A[r]):e(t[r],A[r],n):t[r]=A[r]);return t}(s,A,r):s=t9({},s,A),Aa(this.data,i,s),o.silent||this.emit("added",e,t,A)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return(t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI)?t9({},{},this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"toJSON",value:function(){return this.data}}]),t}(Ar),Ah={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,A,n,r){var o=this;return e.forEach(function(e){o.processors[e]&&(t=o.processors[e].process(t,A,n,r))}),t}},Af={},Aw=function(e){function t(e){var A,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ty(this,t),r=t5(this,t7(t).call(this)),Ag&&Ar.call(t8(r)),A=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],n=t8(r),A.forEach(function(t){e[t]&&(n[t]=e[t])}),r.options=o,void 0===r.options.keySeparator&&(r.options.keySeparator="."),r.logger=An.create("translator"),r}return At(t,e),tI(t,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},A=this.resolve(e,t);return A&&void 0!==A.res}},{key:"extractFromKey",value:function(e,t){var A=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===A&&(A=":");var n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,r=t.ns||this.options.defaultNS;if(A&&e.indexOf(A)>-1){var o=e.match(this.interpolator.nestingRegexp);if(o&&o.length>0)return{key:e,namespaces:r};var i=e.split(A);(A!==n||A===n&&this.options.ns.indexOf(i[0])>-1)&&(r=i.shift()),e=i.join(n)}return"string"==typeof r&&(r=[r]),{key:e,namespaces:r}}},{key:"translate",value:function(e,A,n){var r=this;if("object"!==tv(A)&&this.options.overloadTranslationOptionHandler&&(A=this.options.overloadTranslationOptionHandler(arguments)),A||(A={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var o=void 0!==A.keySeparator?A.keySeparator:this.options.keySeparator,i=this.extractFromKey(e[e.length-1],A),s=i.key,a=i.namespaces,l=a[a.length-1],c=A.lng||this.language,u=A.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c&&"cimode"===c.toLowerCase())return u?l+(A.nsSeparator||this.options.nsSeparator)+s:s;var d=this.resolve(e,A),p=d&&d.res,g=d&&d.usedKey||s,m=d&&d.exactUsedKey||s,h=Object.prototype.toString.apply(p),f=void 0!==A.joinArrays?A.joinArrays:this.options.joinArrays,w=!this.i18nFormat||this.i18nFormat.handleAsObject,B="string"!=typeof p&&"boolean"!=typeof p&&"number"!=typeof p;if(w&&p&&B&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(h)&&("string"!=typeof f||"[object Array]"!==h)){if(!A.returnObjects&&!this.options.returnObjects)return this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,A):"key '".concat(s," (").concat(this.language,")' returned an object instead of string.");if(o){var y="[object Array]"===h,v=y?[]:{},S=y?m:g;for(var C in p)if(Object.prototype.hasOwnProperty.call(p,C)){var I="".concat(S).concat(o).concat(C);v[C]=this.translate(I,t9({},A,{joinArrays:!1,ns:a})),v[C]===I&&(v[C]=p[C])}p=v}}else if(w&&"string"==typeof f&&"[object Array]"===h)(p=p.join(f))&&(p=this.extendTranslation(p,e,A,n));else{var b=!1,U=!1,E=void 0!==A.count&&"string"!=typeof A.count,F=t.hasDefaultValue(A),Q=E?this.pluralResolver.getSuffix(c,A.count):"",T=A["defaultValue".concat(Q)]||A.defaultValue;!this.isValidLookup(p)&&F&&(b=!0,p=T),this.isValidLookup(p)||(U=!0,p=s);var D=F&&T!==p&&this.options.updateMissing;if(U||b||D){if(this.logger.log(D?"updateKey":"missingKey",c,l,s,D?T:p),o){var x=this.resolve(s,t9({},A,{keySeparator:!1}));x&&x.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var O=[],M=this.languageUtils.getFallbackCodes(this.options.fallbackLng,A.lng||this.language);if("fallback"===this.options.saveMissingTo&&M&&M[0])for(var L=0;L<M.length;L++)O.push(M[L]);else"all"===this.options.saveMissingTo?O=this.languageUtils.toResolveHierarchy(A.lng||this.language):O.push(A.lng||this.language);var R=function(e,t,n){r.options.missingKeyHandler?r.options.missingKeyHandler(e,l,t,D?n:p,D,A):r.backendConnector&&r.backendConnector.saveMissing&&r.backendConnector.saveMissing(e,l,t,D?n:p,D,A),r.emit("missingKey",e,l,t,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&E?O.forEach(function(e){r.pluralResolver.getSuffixes(e).forEach(function(t){R([e],s+t,A["defaultValue".concat(t)]||T)})}):R(O,s,T))}p=this.extendTranslation(p,e,A,d,n),U&&p===s&&this.options.appendNamespaceToMissingKey&&(p="".concat(l,":").concat(s)),U&&this.options.parseMissingKeyHandler&&(p=this.options.parseMissingKeyHandler(p))}return p}},{key:"extendTranslation",value:function(e,t,A,n,r){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,A,n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!A.skipInterpolation){A.interpolation&&this.interpolator.init(t9({},A,{interpolation:t9({},this.options.interpolation,A.interpolation)}));var i,s=A.interpolation&&A.interpolation.skipOnVariables||this.options.interpolation.skipOnVariables;if(s){var a=e.match(this.interpolator.nestingRegexp);i=a&&a.length}var l=A.replace&&"string"!=typeof A.replace?A.replace:A;if(this.options.interpolation.defaultVariables&&(l=t9({},this.options.interpolation.defaultVariables,l)),e=this.interpolator.interpolate(e,l,A.lng||this.language,A),s){var c=e.match(this.interpolator.nestingRegexp);i<(c&&c.length)&&(A.nest=!1)}!1!==A.nest&&(e=this.interpolator.nest(e,function(){for(var e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];return r&&r[0]===n[0]&&!A.context?(o.logger.warn("It seems you are nesting recursively key: ".concat(n[0]," in key: ").concat(t[0])),null):o.translate.apply(o,n.concat([t]))},A)),A.interpolation&&this.interpolator.reset()}var u=A.postProcess||this.options.postProcess,d="string"==typeof u?[u]:u;return null!=e&&d&&d.length&&!1!==A.applyPostProcessor&&(e=Ah.handle(d,e,t,this.options&&this.options.postProcessPassResolved?t9({i18nResolved:n},A):A,this)),e}},{key:"resolve",value:function(e){var t,A,n,r,o,i=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(function(e){if(!i.isValidLookup(t)){var a=i.extractFromKey(e,s),l=a.key;A=l;var c=a.namespaces;i.options.fallbackNS&&(c=c.concat(i.options.fallbackNS));var u=void 0!==s.count&&"string"!=typeof s.count,d=void 0!==s.context&&"string"==typeof s.context&&""!==s.context,p=s.lngs?s.lngs:i.languageUtils.toResolveHierarchy(s.lng||i.language,s.fallbackLng);c.forEach(function(e){i.isValidLookup(t)||(o=e,!Af["".concat(p[0],"-").concat(e)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(o)&&(Af["".concat(p[0],"-").concat(e)]=!0,i.logger.warn('key "'.concat(A,'" for languages "').concat(p.join(", "),'" won\'t get resolved as namespace "').concat(o,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),p.forEach(function(A){if(!i.isValidLookup(t)){r=A;var o,a,c=l,p=[c];for(i.i18nFormat&&i.i18nFormat.addLookupKeys?i.i18nFormat.addLookupKeys(p,l,A,e,s):(u&&(o=i.pluralResolver.getSuffix(A,s.count)),u&&d&&p.push(c+o),d&&p.push(c+="".concat(i.options.contextSeparator).concat(s.context)),u&&p.push(c+=o));a=p.pop();)i.isValidLookup(t)||(n=a,t=i.getResource(A,e,a,s))}}))})}}),{res:t,usedKey:A,exactUsedKey:n,usedLng:r,usedNS:o}}},{key:"isValidLookup",value:function(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,A,n):this.resourceStore.getResource(e,t,A,n)}}],[{key:"hasDefaultValue",value:function(e){var t="defaultValue";for(var A in e)if(Object.prototype.hasOwnProperty.call(e,A)&&t===A.substring(0,t.length)&&void 0!==e[A])return!0;return!1}}]),t}(Ar);function AB(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Ay=function(){function e(t){ty(this,e),this.options=t,this.whitelist=this.options.supportedLngs||!1,this.supportedLngs=this.options.supportedLngs||!1,this.logger=An.create("languageUtils")}return tI(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return null;var t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],A=e.split("-");return this.options.lowerCaseLng?A=A.map(function(e){return e.toLowerCase()}):2===A.length?(A[0]=A[0].toLowerCase(),A[1]=A[1].toUpperCase(),t.indexOf(A[1].toLowerCase())>-1&&(A[1]=AB(A[1].toLowerCase()))):3===A.length&&(A[0]=A[0].toLowerCase(),2===A[1].length&&(A[1]=A[1].toUpperCase()),"sgn"!==A[0]&&2===A[2].length&&(A[2]=A[2].toUpperCase()),t.indexOf(A[1].toLowerCase())>-1&&(A[1]=AB(A[1].toLowerCase())),t.indexOf(A[2].toLowerCase())>-1&&(A[2]=AB(A[2].toLowerCase()))),A.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isWhitelisted",value:function(e){return this.logger.deprecate("languageUtils.isWhitelisted",'function "isWhitelisted" will be renamed to "isSupportedCode" in the next major - please make sure to rename it\'s usage asap.'),this.isSupportedCode(e)}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,A=this;return e?(e.forEach(function(e){if(!t){var n=A.formatLanguageCode(e);(!A.options.supportedLngs||A.isSupportedCode(n))&&(t=n)}}),!t&&this.options.supportedLngs&&e.forEach(function(e){if(!t){var n=A.getLanguagePartFromCode(e);if(A.isSupportedCode(n))return t=n;t=A.options.supportedLngs.find(function(e){if(0===e.indexOf(n))return e})}}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var A=e[t];return A||(A=e[this.getScriptPartFromCode(t)]),A||(A=e[this.formatLanguageCode(t)]),A||(A=e[this.getLanguagePartFromCode(t)]),A||(A=e.default),A||[]}},{key:"toResolveHierarchy",value:function(e,t){var A=this,n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],o=function(e){e&&(A.isSupportedCode(e)?r.push(e):A.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),n.forEach(function(e){0>r.indexOf(e)&&o(A.formatLanguageCode(e))}),r}}]),e}(),Av=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","kk","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],AS={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(+(1!=e&&(e%10!=1||e%100==11)))},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:3*(e%100==3||e%100==4))},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},AC=function(){function e(t){var A,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ty(this,e),this.languageUtils=t,this.options=n,this.logger=An.create("pluralResolver"),this.rules=(A={},Av.forEach(function(e){e.lngs.forEach(function(t){A[t]={numbers:e.nr,plurals:AS[e.fc]}})}),A)}return tI(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=this.getRule(e);return t&&t.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){return this.getSuffixes(e).map(function(e){return t+e})}},{key:"getSuffixes",value:function(e){var t=this,A=this.getRule(e);return A?A.numbers.map(function(A){return t.getSuffix(e,A)}):[]}},{key:"getSuffix",value:function(e,t){var A=this,n=this.getRule(e);if(n){var r=n.noAbs?n.plurals(t):n.plurals(Math.abs(t)),o=n.numbers[r];this.options.simplifyPluralSuffix&&2===n.numbers.length&&1===n.numbers[0]&&(2===o?o="plural":1===o&&(o=""));var i=function(){return A.options.prepend&&o.toString()?A.options.prepend+o.toString():o.toString()};return"v1"===this.options.compatibilityJSON?1===o?"":"number"==typeof o?"_plural_".concat(o.toString()):i():"v2"===this.options.compatibilityJSON?i():this.options.simplifyPluralSuffix&&2===n.numbers.length&&1===n.numbers[0]?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}return this.logger.warn("no plural rule found for: ".concat(e)),""}}]),e}(),AI=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ty(this,e),this.logger=An.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return tI(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:Ap,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?Au(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?Au(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?Au(t.nestingPrefix):t.nestingPrefixEscaped||Au("$t("),this.nestingSuffix=t.nestingSuffix?Au(t.nestingSuffix):t.nestingSuffixEscaped||Au(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=RegExp(t,"g");var A="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=RegExp(A,"g")}},{key:"interpolate",value:function(e,t,A,n){var r,o,i,s=this,a=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}var c=function(e){if(0>e.indexOf(s.formatSeparator)){var r=Ac(t,a,e);return s.alwaysFormat?s.format(r,void 0,A):r}var o=e.split(s.formatSeparator),i=o.shift().trim(),l=o.join(s.formatSeparator).trim();return s.format(Ac(t,a,i),l,A,n)};this.resetRegExp();var u=n&&n.missingInterpolationHandler||this.options.missingInterpolationHandler,d=n&&n.interpolation&&n.interpolation.skipOnVariables||this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return l(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?l(s.escape(e)):l(e)}}].forEach(function(t){for(i=0;r=t.regex.exec(e);){if(void 0===(o=c(r[1].trim())))if("function"==typeof u){var A=u(e,r,n);o="string"==typeof A?A:""}else if(d){o=r[0];continue}else s.logger.warn("missed to pass in variable ".concat(r[1]," for interpolating ").concat(e)),o="";else"string"==typeof o||s.useRawValueToEscape||(o=Ai(o));if(e=e.replace(r[0],t.safeValue(o)),t.regex.lastIndex=0,++i>=s.maxReplaces)break}}),e}},{key:"nest",value:function(e,t){var A,n,r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=t9({},o);function s(e,t){var A=this.nestingOptionsSeparator;if(0>e.indexOf(A))return e;var n=e.split(new RegExp("".concat(A,"[ ]*{"))),r="{".concat(n[1]);e=n[0],r=(r=this.interpolate(r,i)).replace(/'/g,'"');try{i=JSON.parse(r),t&&(i=t9({},t,i))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(A).concat(r)}return delete i.defaultValue,e}for(i.applyPostProcessor=!1,delete i.defaultValue;A=this.nestingRegexp.exec(e);){var a=[],l=!1;if(A[0].includes(this.formatSeparator)&&!/{.*}/.test(A[1])){var c=A[1].split(this.formatSeparator).map(function(e){return e.trim()});A[1]=c.shift(),a=c,l=!0}if((n=t(s.call(this,A[1].trim(),i),i))&&A[0]===e&&"string"!=typeof n)return n;"string"!=typeof n&&(n=Ai(n)),n||(this.logger.warn("missed to resolve ".concat(A[1]," for nesting ").concat(e)),n=""),l&&(n=a.reduce(function(e,t){return r.format(e,t,o.lng,o)},n.trim())),e=e.replace(A[0],n),this.regexp.lastIndex=0}return e}}]),e}(),Ab=function(e){function t(e,A,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return ty(this,t),r=t5(this,t7(t).call(this)),Ag&&Ar.call(t8(r)),r.backend=e,r.store=A,r.services=n,r.languageUtils=n.languageUtils,r.options=o,r.logger=An.create("backendConnector"),r.state={},r.queue=[],r.backend&&r.backend.init&&r.backend.init(n,o.backend,o),r}return At(t,e),tI(t,[{key:"queueLoad",value:function(e,t,A,n){var r=this,o=[],i=[],s=[],a=[];return e.forEach(function(e){var n=!0;t.forEach(function(t){var s="".concat(e,"|").concat(t);!A.reload&&r.store.hasResourceBundle(e,t)?r.state[s]=2:r.state[s]<0||(1===r.state[s]?0>i.indexOf(s)&&i.push(s):(r.state[s]=1,n=!1,0>i.indexOf(s)&&i.push(s),0>o.indexOf(s)&&o.push(s),0>a.indexOf(t)&&a.push(t)))}),n||s.push(e)}),(o.length||i.length)&&this.queue.push({pending:i,loaded:{},errors:[],callback:n}),{toLoad:o,pending:i,toLoadLanguages:s,toLoadNamespaces:a}}},{key:"loaded",value:function(e,t,A){var n=e.split("|"),r=n[0],o=n[1];t&&this.emit("failedLoading",r,o,t),A&&this.store.addResourceBundle(r,o,A),this.state[e]=t?-1:2;var i={};this.queue.forEach(function(A){n=A.loaded,(a=(s=As(n,[r],Object)).obj)[l=s.k]=a[l]||[],a[l].push(o);for(var n,s,a,l,c=A.pending,u=c.indexOf(e);-1!==u;)c.splice(u,1),u=c.indexOf(e);t&&A.errors.push(t),0!==A.pending.length||A.done||(Object.keys(A.loaded).forEach(function(e){i[e]||(i[e]=[]),A.loaded[e].length&&A.loaded[e].forEach(function(t){0>i[e].indexOf(t)&&i[e].push(t)})}),A.done=!0,A.errors.length?A.callback(A.errors):A.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(function(e){return!e.done})}},{key:"read",value:function(e,t,A){var n=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:350,i=arguments.length>5?arguments[5]:void 0;return e.length?this.backend[A](e,t,function(s,a){s&&a&&r<5?setTimeout(function(){n.read.call(n,e,t,A,r+1,2*o,i)},o):i(s,a)}):i(null,{})}},{key:"prepareLoading",value:function(e,t){var A=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var o=this.queueLoad(e,t,n,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach(function(e){A.loadOne(e)})}},{key:"load",value:function(e,t,A){this.prepareLoading(e,t,{},A)}},{key:"reload",value:function(e,t,A){this.prepareLoading(e,t,{reload:!0},A)}},{key:"loadOne",value:function(e){var t=this,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e.split("|"),r=n[0],o=n[1];this.read(r,o,"read",void 0,void 0,function(n,i){n&&t.logger.warn("".concat(A,"loading namespace ").concat(o," for language ").concat(r," failed"),n),!n&&i&&t.logger.log("".concat(A,"loaded namespace ").concat(o," for language ").concat(r),i),t.loaded(e,n,i)})}},{key:"saveMissing",value:function(e,t,A,n,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)?this.logger.warn('did not save key "'.concat(A,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"):null==A||""===A||(this.backend&&this.backend.create&&this.backend.create(e,t,A,n,null,t9({},o,{isUpdate:r})),e&&e[0]&&this.store.addResource(e[0],t,A,n))}}]),t}(Ar);function AU(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&(e.whitelist&&0>e.whitelist.indexOf("cimode")&&(e.whitelist=e.whitelist.concat(["cimode"])),e.supportedLngs=e.whitelist),e.nonExplicitWhitelist&&(e.nonExplicitSupportedLngs=e.nonExplicitWhitelist),e.supportedLngs&&0>e.supportedLngs.indexOf("cimode")&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function AE(){}var AF=new(function(e){function t(){var e,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(ty(this,t),e=t5(this,t7(t).call(this)),Ag&&Ar.call(t8(e)),e.options=AU(A),e.services={},e.logger=An,e.modules={external:[]},n&&!e.isInitialized&&!A.isClone){if(!e.options.initImmediate)return e.init(A,n),t5(e,t8(e));setTimeout(function(){e.init(A,n)},0)}return e}return At(t,e),tI(t,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=arguments.length>1?arguments[1]:void 0;function n(e){return e?"function"==typeof e?new e:e:null}if("function"==typeof t&&(A=t,t={}),t.whitelist&&!t.supportedLngs&&this.logger.deprecate("whitelist",'option "whitelist" will be renamed to "supportedLngs" in the next major - please make sure to rename this option asap.'),t.nonExplicitWhitelist&&!t.nonExplicitSupportedLngs&&this.logger.deprecate("whitelist",'options "nonExplicitWhitelist" will be renamed to "nonExplicitSupportedLngs" in the next major - please make sure to rename this option asap.'),this.options=t9({},{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===tv(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===tv(e[2])||"object"===tv(e[3])){var A=e[3]||e[2];Object.keys(A).forEach(function(e){t[e]=A[e]})}return t},interpolation:{escapeValue:!0,format:function(e,t,A,n){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!1}},this.options,AU(t)),this.format=this.options.interpolation.format,A||(A=AE),!this.options.isClone){this.modules.logger?An.init(n(this.modules.logger),this.options):An.init(null,this.options);var r=new Ay(this.options);this.store=new Am(this.options.resources,this.options);var o=this.services;o.logger=An,o.resourceStore=this.store,o.languageUtils=r,o.pluralResolver=new AC(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),o.interpolator=new AI(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new Ab(n(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",function(t){for(var A=arguments.length,n=Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];e.emit.apply(e,[t].concat(n))}),this.modules.languageDetector&&(o.languageDetector=n(this.modules.languageDetector),o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=n(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new Aw(this.services,this.options),this.translator.on("*",function(t){for(var A=arguments.length,n=Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];e.emit.apply(e,[t].concat(n))}),this.modules.external.forEach(function(t){t.init&&t.init(e)})}if(this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var i=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);i.length>0&&"dev"!==i[0]&&(this.options.lng=i[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(function(t){e[t]=function(){var A;return(A=e.store)[t].apply(A,arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(function(t){e[t]=function(){var A;return(A=e.store)[t].apply(A,arguments),e}});var s=Ao(),a=function(){var t=function(t,n){e.isInitialized&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),s.resolve(n),A(t,n)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?a():setTimeout(a,0),s}},{key:"loadResources",value:function(e){var t=this,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:AE,n=A,r="string"==typeof e?e:this.language;if("function"==typeof e&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&"cimode"===r.toLowerCase())return n();var o=[],i=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach(function(e){0>o.indexOf(e)&&o.push(e)})};r?i(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function(e){return i(e)}),this.options.preload&&this.options.preload.forEach(function(e){return i(e)}),this.services.backendConnector.load(o,this.options.ns,n)}else n(null)}},{key:"reloadResources",value:function(e,t,A){var n=Ao();return e||(e=this.languages),t||(t=this.options.ns),A||(A=AE),this.services.backendConnector.reload(e,t,function(e){n.resolve(),A(e)}),n}},{key:"use",value:function(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&Ah.addPostProcessor(e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"changeLanguage",value:function(e,t){var A=this;this.isLanguageChangingTo=e;var n=Ao();this.emit("languageChanging",e);var r=function(e,r){r?(A.language=r,A.languages=A.services.languageUtils.toResolveHierarchy(r),A.translator.changeLanguage(r),A.isLanguageChangingTo=void 0,A.emit("languageChanged",r),A.logger.log("languageChanged",r)):A.isLanguageChangingTo=void 0,n.resolve(function(){return A.t.apply(A,arguments)}),t&&t(e,function(){return A.t.apply(A,arguments)})},o=function(e){var t="string"==typeof e?e:A.services.languageUtils.getBestMatchFromCodes(e);t&&(A.language||(A.language=t,A.languages=A.services.languageUtils.toResolveHierarchy(t)),A.translator.language||A.translator.changeLanguage(t),A.services.languageDetector&&A.services.languageDetector.cacheUserLanguage(t)),A.loadResources(t,function(e){r(e,t)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(o):o(e):o(this.services.languageDetector.detect()),n}},{key:"getFixedT",value:function(e,t){var A=this,n=function e(t,n){var r;if("object"!==tv(n)){for(var o=arguments.length,i=Array(o>2?o-2:0),s=2;s<o;s++)i[s-2]=arguments[s];r=A.options.overloadTranslationOptionHandler([t,n].concat(i))}else r=t9({},n);return r.lng=r.lng||e.lng,r.lngs=r.lngs||e.lngs,r.ns=r.ns||e.ns,A.t(t,r)};return"string"==typeof e?n.lng=e:n.lngs=e,n.ns=t,n}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var t=this,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var n=this.languages[0],r=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;var i=function(e,A){var n=t.services.backendConnector.state["".concat(e,"|").concat(A)];return -1===n||2===n};if(A.precheck){var s=A.precheck(this,i);if(void 0!==s)return s}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||i(n,e)&&(!r||i(o,e)))}},{key:"loadNamespaces",value:function(e,t){var A=this,n=Ao();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(function(e){0>A.options.ns.indexOf(e)&&A.options.ns.push(e)}),this.loadResources(function(e){n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var A=Ao();"string"==typeof e&&(e=[e]);var n=this.options.preload||[],r=e.filter(function(e){return 0>n.indexOf(e)});return r.length?(this.options.preload=n.concat(r),this.loadResources(function(e){A.resolve(),t&&t(e)}),A):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){return(e||(e=this.languages&&this.languages.length>0?this.languages[0]:this.language),e)?["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam"].indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>=0?"rtl":"ltr":"rtl"}},{key:"createInstance",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=arguments.length>1?arguments[1]:void 0;return new t(e,A)}},{key:"cloneInstance",value:function(){var e=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:AE,r=t9({},this.options,A,{isClone:!0}),o=new t(r);return["store","services","language"].forEach(function(t){o[t]=e[t]}),o.services=t9({},this.services),o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o.translator=new Aw(o.services,o.options),o.translator.on("*",function(e){for(var t=arguments.length,A=Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];o.emit.apply(o,[e].concat(A))}),o.init(r,n),o.translator.options=o.options,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}}]),t}(Ar));let{TOOLBAR_SECTIONS:AQ}=k.ToolbarService,AT=e=>[{commandName:"setViewportForToolConfiguration",commandOptions:{toolName:e}}],AD={commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:["default","mpr","SRToolGroup","volume3d"]}},Ax={"cornerstone.toolbarButtons":[{id:"MeasurementTools",uiType:"ohif.toolButtonList",props:{buttonSection:!0}},{id:"MoreTools",uiType:"ohif.toolButtonList",props:{buttonSection:!0}},{id:"AdvancedRenderingControls",uiType:"ohif.advancedRenderingControls",props:{buttonSection:!0}},{id:"modalityLoadBadge",uiType:"ohif.modalityLoadBadge",props:{icon:"Status",label:AF.t("Buttons:Status"),tooltip:AF.t("Buttons:Status"),evaluate:{name:"evaluate.modalityLoadBadge",hideWhenDisabled:!0}}},{id:"navigationComponent",uiType:"ohif.navigationComponent",props:{icon:"Navigation",label:AF.t("Buttons:Navigation"),tooltip:AF.t("Buttons:Navigate between segments/measurements and manage their visibility"),evaluate:{name:"evaluate.navigationComponent",hideWhenDisabled:!0}}},{id:"trackingStatus",uiType:"ohif.trackingStatus",props:{icon:"TrackingStatus",label:AF.t("Buttons:Tracking Status"),tooltip:AF.t("Buttons:View and manage tracking status of measurements and annotations"),evaluate:{name:"evaluate.trackingStatus",hideWhenDisabled:!0}}},{id:"dataOverlayMenu",uiType:"ohif.dataOverlayMenu",props:{icon:"ViewportViews",label:AF.t("Buttons:Data Overlay"),tooltip:AF.t("Buttons:Configure data overlay options and manage foreground/background display sets"),evaluate:"evaluate.dataOverlayMenu"}},{id:"orientationMenu",uiType:"ohif.orientationMenu",props:{icon:"OrientationSwitch",label:AF.t("Buttons:Orientation"),tooltip:AF.t("Buttons:Change viewport orientation between axial, sagittal, coronal and reformat planes"),evaluate:{name:"evaluate.orientationMenu"}}},{id:"windowLevelMenuEmbedded",uiType:"ohif.windowLevelMenuEmbedded",props:{icon:"WindowLevel",label:AF.t("Buttons:Window Level"),tooltip:AF.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:{name:"evaluate.windowLevelMenuEmbedded",hideWhenDisabled:!0}}},{id:"windowLevelMenu",uiType:"ohif.windowLevelMenu",props:{icon:"WindowLevel",label:AF.t("Buttons:Window Level"),tooltip:AF.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:{name:"evaluate.windowLevelMenu"}}},{id:"voiManualControlMenu",uiType:"ohif.voiManualControlMenu",props:{icon:"WindowLevelAdvanced",label:AF.t("Buttons:Advanced Window Level"),tooltip:AF.t("Buttons:Advanced window/level settings with manual controls and presets"),evaluate:"evaluate.voiManualControlMenu"}},{id:"thresholdMenu",uiType:"ohif.thresholdMenu",props:{icon:"Threshold",label:AF.t("Buttons:Threshold"),tooltip:AF.t("Buttons:Image threshold settings"),evaluate:{name:"evaluate.thresholdMenu",hideWhenDisabled:!0}}},{id:"opacityMenu",uiType:"ohif.opacityMenu",props:{icon:"Opacity",label:AF.t("Buttons:Opacity"),tooltip:AF.t("Buttons:Image opacity settings"),evaluate:{name:"evaluate.opacityMenu",hideWhenDisabled:!0}}},{id:"Colorbar",uiType:"ohif.colorbar",props:{type:"tool",label:AF.t("Buttons:Colorbar")}},{id:"Reset",uiType:"ohif.toolButton",props:{icon:"tool-reset",label:AF.t("Buttons:Reset View"),tooltip:AF.t("Buttons:Reset View"),commands:"resetViewport",evaluate:"evaluate.action"}},{id:"rotate-right",uiType:"ohif.toolButton",props:{icon:"tool-rotate-right",label:AF.t("Buttons:Rotate Right"),tooltip:AF.t("Buttons:Rotate +90"),commands:"rotateViewportCW",evaluate:["evaluate.action",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"flipHorizontal",uiType:"ohif.toolButton",props:{icon:"tool-flip-horizontal",label:AF.t("Buttons:Flip Horizontal"),tooltip:AF.t("Buttons:Flip Horizontally"),commands:"flipViewportHorizontal",evaluate:["evaluate.viewportProperties.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video","volume3d"]}]}},{id:"ImageSliceSync",uiType:"ohif.toolButton",props:{icon:"link",label:AF.t("Buttons:Image Slice Sync"),tooltip:AF.t("Buttons:Enable position synchronization on stack viewports"),commands:{commandName:"toggleSynchronizer",commandOptions:{type:"imageSlice"}},listeners:{[L.EVENTS.VIEWPORT_NEW_IMAGE_SET]:{commandName:"toggleImageSliceSync",commandOptions:{toggledState:!0}}},evaluate:["evaluate.cornerstone.synchronizer",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video","volume3d"]}]}},{id:"ReferenceLines",uiType:"ohif.toolButton",props:{icon:"tool-referenceLines",label:AF.t("Buttons:Reference Lines"),tooltip:AF.t("Buttons:Show Reference Lines"),commands:"toggleEnabledDisabledToolbar",listeners:{[k.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:AT("ReferenceLines"),[k.ViewportGridService.EVENTS.VIEWPORTS_READY]:AT("ReferenceLines")},evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"ImageOverlayViewer",uiType:"ohif.toolButton",props:{icon:"toggle-dicom-overlay",label:AF.t("Buttons:Image Overlay"),tooltip:AF.t("Buttons:Toggle Image Overlay"),commands:"toggleEnabledDisabledToolbar",evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"StackScroll",uiType:"ohif.toolButton",props:{icon:"tool-stack-scroll",label:AF.t("Buttons:Stack Scroll"),tooltip:AF.t("Buttons:Stack Scroll"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"invert",uiType:"ohif.toolButton",props:{icon:"tool-invert",label:AF.t("Buttons:Invert"),tooltip:AF.t("Buttons:Invert Colors"),commands:"invertViewport",evaluate:["evaluate.viewportProperties.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"Probe",uiType:"ohif.toolButton",props:{icon:"tool-probe",label:AF.t("Buttons:Probe"),tooltip:AF.t("Buttons:Probe"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"Cine",uiType:"ohif.toolButton",props:{icon:"tool-cine",label:AF.t("Buttons:Cine"),tooltip:AF.t("Buttons:Cine"),commands:"toggleCine",evaluate:["evaluate.cine",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["volume3d"]}]}},{id:"Angle",uiType:"ohif.toolButton",props:{icon:"tool-angle",label:AF.t("Buttons:Angle"),tooltip:AF.t("Buttons:Angle"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"CobbAngle",uiType:"ohif.toolButton",props:{icon:"icon-tool-cobb-angle",label:AF.t("Buttons:Cobb Angle"),tooltip:AF.t("Buttons:Cobb Angle"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"Magnify",uiType:"ohif.toolButton",props:{icon:"tool-magnify",label:AF.t("Buttons:Zoom-in"),tooltip:AF.t("Buttons:Zoom-in"),commands:AD,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"CalibrationLine",uiType:"ohif.toolButton",props:{icon:"tool-calibration",label:AF.t("Buttons:Calibration"),tooltip:AF.t("Buttons:Calibration Line"),commands:AD,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"TagBrowser",uiType:"ohif.toolButton",props:{icon:"dicom-tag-browser",label:AF.t("Buttons:Dicom Tag Browser"),tooltip:AF.t("Buttons:Dicom Tag Browser"),commands:"openDICOMTagViewer"}},{id:"AdvancedMagnify",uiType:"ohif.toolButton",props:{icon:"icon-tool-loupe",label:AF.t("Buttons:Magnify Probe"),tooltip:AF.t("Buttons:Magnify Probe"),commands:"toggleActiveDisabledToolbar",evaluate:["evaluate.cornerstoneTool.toggle.ifStrictlyDisabled",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"UltrasoundDirectionalTool",uiType:"ohif.toolButton",props:{icon:"icon-tool-ultrasound-bidirectional",label:AF.t("Buttons:Ultrasound Directional"),tooltip:AF.t("Buttons:Ultrasound Directional"),commands:AD,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.modality.supported",supportedModalities:["US"]}]}},{id:"WindowLevelRegion",uiType:"ohif.toolButton",props:{icon:"icon-tool-window-region",label:AF.t("Buttons:Window Level Region"),tooltip:AF.t("Buttons:Window Level Region"),commands:AD,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"Length",uiType:"ohif.toolButton",props:{icon:"tool-length",label:AF.t("Buttons:Length"),tooltip:AF.t("Buttons:Length Tool"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"Bidirectional",uiType:"ohif.toolButton",props:{icon:"tool-bidirectional",label:AF.t("Buttons:Bidirectional"),tooltip:AF.t("Buttons:Bidirectional Tool"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"ArrowAnnotate",uiType:"ohif.toolButton",props:{icon:"tool-annotate",label:AF.t("Buttons:Annotation"),tooltip:AF.t("Buttons:Arrow Annotate"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"EllipticalROI",uiType:"ohif.toolButton",props:{icon:"tool-ellipse",label:AF.t("Buttons:Ellipse"),tooltip:AF.t("Buttons:Ellipse ROI"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"RectangleROI",uiType:"ohif.toolButton",props:{icon:"tool-rectangle",label:AF.t("Buttons:Rectangle"),tooltip:AF.t("Buttons:Rectangle ROI"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"CircleROI",uiType:"ohif.toolButton",props:{icon:"tool-circle",label:AF.t("Buttons:Circle"),tooltip:AF.t("Buttons:Circle Tool"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"PlanarFreehandROI",uiType:"ohif.toolButton",props:{icon:"icon-tool-freehand-roi",label:AF.t("Buttons:Freehand ROI"),tooltip:AF.t("Buttons:Freehand ROI"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"SplineROI",uiType:"ohif.toolButton",props:{icon:"icon-tool-spline-roi",label:AF.t("Buttons:Spline ROI"),tooltip:AF.t("Buttons:Spline ROI"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"LivewireContour",uiType:"ohif.toolButton",props:{icon:"icon-tool-livewire",label:AF.t("Buttons:Livewire tool"),tooltip:AF.t("Buttons:Livewire tool"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"WindowLevel",uiType:"ohif.toolButton",props:{icon:"tool-window-level",label:AF.t("Buttons:Window Level"),commands:AD,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["wholeSlide"]}]}},{id:"Pan",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-move",label:AF.t("Buttons:Pan"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"Zoom",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-zoom",label:AF.t("Buttons:Zoom"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"TrackballRotate",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-3d-rotate",label:AF.t("Buttons:3D Rotate"),commands:AD,evaluate:{name:"evaluate.cornerstoneTool",disabledText:AF.t("Buttons:Select a 3D viewport to enable this tool")}}},{id:"Capture",uiType:"ohif.toolButton",props:{icon:"tool-capture",label:AF.t("Buttons:Capture"),commands:"showDownloadViewportModal",evaluate:["evaluate.action",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video","wholeSlide"]}]}},{id:"Layout",uiType:"ohif.layoutSelector",props:{rows:3,columns:4,evaluate:"evaluate.action"}},{id:"Crosshairs",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-crosshair",label:AF.t("Buttons:Crosshairs"),tooltip:AF.t("Buttons:Click to toggle on or off"),commands:{commandName:"toggleActiveDisabledToolbar",commandOptions:{toolGroupIds:["mpr"]}},evaluate:{name:"evaluate.cornerstoneTool.toggleWithModifier",disabledText:AF.t("Buttons:Select an MPR viewport to enable this tool"),toggledOnIcon:"tool-crosshair-checked",defaultIcon:"tool-crosshair"}}},{id:"SegmentLabelTool",uiType:"ohif.toolBoxButton",props:{icon:"tool-segment-label",label:AF.t("Buttons:Segment Label Display"),tooltip:AF.t("Buttons:Click to show or hide segment labels when hovering with your mouse."),commands:{commandName:"toggleSegmentLabel"},evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.cornerstone.hasSegmentation"}]}}],"cornerstone.toolbarSections":{[AQ.primary]:["MeasurementTools","Zoom","Pan","TrackballRotate","WindowLevel","Capture","Layout","Crosshairs","MoreTools"],[AQ.viewportActionMenu.topLeft]:["orientationMenu","dataOverlayMenu"],[AQ.viewportActionMenu.bottomMiddle]:["AdvancedRenderingControls"],AdvancedRenderingControls:["windowLevelMenuEmbedded","voiManualControlMenu","Colorbar","opacityMenu","thresholdMenu"],[AQ.viewportActionMenu.topRight]:["modalityLoadBadge","trackingStatus","navigationComponent"],[AQ.viewportActionMenu.bottomLeft]:["windowLevelMenu"],MeasurementTools:["Length","Bidirectional","ArrowAnnotate","EllipticalROI","RectangleROI","CircleROI","PlanarFreehandROI","SplineROI","LivewireContour"],MoreTools:["Reset","rotate-right","flipHorizontal","ImageSliceSync","ReferenceLines","ImageOverlayViewer","StackScroll","invert","Probe","Cine","Angle","CobbAngle","Magnify","CalibrationLine","TagBrowser","AdvancedMagnify","UltrasoundDirectionalTool","WindowLevelRegion","SegmentLabelTool"]}},{TOOLBAR_SECTIONS:AO}=k.ToolbarService,AM=e=>[{commandName:"setViewportForToolConfiguration",commandOptions:{toolName:e}}],AL={"cornerstone.segmentationToolbarButtons":[{id:"BrushTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"LabelMapUtilities",uiType:"ohif.Toolbar",props:{buttonSection:!0}},{id:"ContourUtilities",uiType:"ohif.Toolbar",props:{buttonSection:!0}},{id:"LabelMapTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"ContourTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"PlanarFreehandContourSegmentationTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-freehand-roi",label:AF.t("Buttons:Freehand Segmentation"),tooltip:AF.t("Buttons:Freehand Segmentation"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["PlanarFreehandContourSegmentationTool"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:[{commandName:"setToolActiveToolbar",commandOptions:{bindings:[{mouseButton:1},{mouseButton:1,modifierKey:16}]}},{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AF.t("Buttons:Interpolate Contours"),type:"switch",id:"planarFreehandInterpolateContours",value:!1,commands:{commandName:"setInterpolationToolConfiguration"}}]}},{id:"LivewireContourSegmentationTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-livewire",label:AF.t("Buttons:Livewire Contour"),tooltip:AF.t("Buttons:Livewire Contour"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["LivewireContourSegmentationTool"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:[{commandName:"setToolActiveToolbar",commandOptions:{bindings:[{mouseButton:1},{mouseButton:1,modifierKey:16}]}},{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AF.t("Buttons:Interpolate Contours"),type:"switch",id:"livewireInterpolateContours",value:!1,commands:{commandName:"setInterpolationToolConfiguration"}}]}},{id:"SplineContourSegmentationTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-spline-roi",label:AF.t("Buttons:Spline Contour Segmentation Tool"),tooltip:AF.t("Buttons:Spline Contour Segmentation Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CatmullRomSplineROI","LinearSplineROI","BSplineROI"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AF.t("Buttons:Spline Type"),type:"select",id:"splineTypeSelect",value:"CatmullRomSplineROI",values:[{id:"CatmullRomSplineROI",value:"CatmullRomSplineROI",label:AF.t("Buttons:Catmull Rom Spline")},{id:"LinearSplineROI",value:"LinearSplineROI",label:AF.t("Buttons:Linear Spline")},{id:"BSplineROI",value:"BSplineROI",label:AF.t("Buttons:B-Spline")}],commands:{commandName:"setToolActiveToolbar",commandOptions:{bindings:[{mouseButton:1},{mouseButton:1,modifierKey:16}]}}},{name:AF.t("Buttons:Simplified Spline"),type:"switch",id:"simplifiedSpline",value:!0,commands:{commandName:"setSimplifiedSplineForSplineContourSegmentationTool"}},{name:AF.t("Buttons:Interpolate Contours"),type:"switch",id:"splineInterpolateContours",value:!1,commands:{commandName:"setInterpolationToolConfiguration",commandOptions:{toolNames:["CatmullRomSplineROI","LinearSplineROI","BSplineROI"]}}}]}},{id:"SculptorTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-sculptor",label:AF.t("Buttons:Sculptor Tool"),tooltip:AF.t("Buttons:Sculptor Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["SculptorTool"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AF.t("Buttons:Dynamic Cursor Size"),type:"switch",id:"dynamicCursorSize",value:!0,commands:{commandName:"setDynamicCursorSizeForSculptorTool"}}]}},{id:"Brush",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-brush",label:AF.t("Buttons:Brush"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircularBrush","SphereBrush"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"brush-radius"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},options:[{name:AF.t("Buttons:Radius (mm)"),id:"brush-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:[{commandName:"setBrushSize",commandOptions:{toolNames:["CircularBrush","SphereBrush"]}}]},{name:AF.t("Buttons:Shape"),type:"radio",id:"brush-mode",value:"CircularBrush",values:[{value:"CircularBrush",label:AF.t("Buttons:Circle")},{value:"SphereBrush",label:AF.t("Buttons:Sphere")}],commands:["setToolActiveToolbar"]}]}},{id:"InterpolateLabelmap",uiType:"ohif.toolButton",props:{icon:"actions-interpolate",label:AF.t("Buttons:Interpolate Labelmap"),tooltip:AF.t("Buttons:Automatically fill in missing slices between drawn segments. Use brush or threshold tools on at least two slices, then click to interpolate across slices. Works in any direction. Volume must be reconstructable."),evaluate:[{name:"evaluate.cornerstone.segmentation"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"},{name:"evaluate.displaySetIsReconstructable",disabledText:AF.t("Buttons:The current viewport cannot handle interpolation.")}],commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},"interpolateLabelmap"]}},{id:"SegmentBidirectional",uiType:"ohif.toolButton",props:{icon:"actions-bidirectional",label:AF.t("Buttons:Segment Bidirectional"),tooltip:AF.t("Buttons:Automatically detects the largest length and width across slices for the selected segment and displays a bidirectional measurement."),evaluate:[{name:"evaluate.cornerstone.segmentation",disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},"runSegmentBidirectional"]}},{id:"ClickSegment",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-click-segment",label:AF.t("Buttons:Click to Segment"),tooltip:AF.t("Buttons:PET only. Click-to-segment lesions with no configuration. Hover for visual feedback—click when a plus sign appears to segment the lesion."),evaluate:[{name:"evaluate.modality.supported",supportedModalities:["PT"],disabledText:AF.t("Buttons:Tool not available for this modality")},{name:"evaluate.cornerstone.segmentation",toolNames:["ClickSegment"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}]}},{id:"LabelmapSlicePropagation",uiType:"ohif.toolBoxButton",props:{icon:"icon-labelmap-slice-propagation",label:AF.t("Buttons:Labelmap Assist"),tooltip:AF.t("Buttons:Toggle AI assistance for segmenting nearby slices. After drawing on a slice, scroll to preview predictions. Press Enter to accept or Esc to skip."),evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],listeners:{[k.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:AM("LabelmapSlicePropagation"),[k.ViewportGridService.EVENTS.VIEWPORTS_READY]:AM("LabelmapSlicePropagation")},commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},"toggleEnabledDisabledToolbar"]}},{id:"MarkerLabelmap",uiType:"ohif.toolBoxButton",props:{icon:"icon-marker-labelmap",label:AF.t("Buttons:Marker Guided Labelmap"),tooltip:AF.t("Buttons:Use include/exclude markers to guide AI (SAM) segmentation. Click to place markers, Enter to accept results, Esc to reject, and N to go to the next slice while keeping markers."),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["MarkerLabelmap","MarkerInclude","MarkerExclude"]},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}],listeners:{[k.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:AM("MarkerLabelmap"),[k.ViewportGridService.EVENTS.VIEWPORTS_READY]:AM("MarkerLabelmap")},options:[{name:AF.t("Buttons:Marker Mode"),type:"radio",id:"marker-mode",value:"markerInclude",values:[{value:"markerInclude",label:AF.t("Buttons:Include")},{value:"markerExclude",label:AF.t("Buttons:Exclude")}],commands:({commandsManager:e,options:t})=>{"markerInclude"===t.find(e=>"marker-mode"===e.id).value?e.run("setToolActive",{toolName:"MarkerInclude"}):e.run("setToolActive",{toolName:"MarkerExclude"})}},{name:AF.t("Buttons:Clear Markers"),type:"button",id:"clear-markers",commands:"clearMarkersForMarkerLabelmap"}]}},{id:"Eraser",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-eraser",label:AF.t("Buttons:Eraser"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircularEraser","SphereEraser"]},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"eraser-radius"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],options:[{name:AF.t("Buttons:Radius (mm)"),id:"eraser-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularEraser","SphereEraser"]}}},{name:AF.t("Buttons:Shape"),type:"radio",id:"eraser-mode",value:"CircularEraser",values:[{value:"CircularEraser",label:AF.t("Buttons:Circle")},{value:"SphereEraser",label:AF.t("Buttons:Sphere")}],commands:"setToolActiveToolbar"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}}},{id:"Threshold",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-threshold",label:AF.t("Buttons:Threshold Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic","ThresholdSphereBrushDynamic"]},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"threshold-radius"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},options:[{name:AF.t("Buttons:Radius (mm)"),id:"threshold-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic","ThresholdSphereBrushDynamic"]}}},{name:AF.t("Buttons:Shape"),type:"radio",id:"threshold-shape",value:"ThresholdCircularBrush",values:[{value:"ThresholdCircularBrush",label:AF.t("Buttons:Circle")},{value:"ThresholdSphereBrush",label:AF.t("Buttons:Sphere")}],commands:({value:e,commandsManager:t,options:A})=>{"ThresholdDynamic"===A.find(e=>"dynamic-mode"===e.id).value?t.run("setToolActive",{toolName:"ThresholdCircularBrush"===e?"ThresholdCircularBrushDynamic":"ThresholdSphereBrushDynamic"}):t.run("setToolActive",{toolName:e})}},{name:AF.t("Buttons:Threshold"),type:"radio",id:"dynamic-mode",value:"ThresholdDynamic",values:[{value:"ThresholdDynamic",label:AF.t("Buttons:Dynamic")},{value:"ThresholdRange",label:AF.t("Buttons:Range")}],commands:({value:e,commandsManager:t,options:A})=>{let n=A.find(e=>"threshold-shape"===e.id);if("ThresholdDynamic"===e)t.run("setToolActiveToolbar",{toolName:"ThresholdCircularBrush"===n.value?"ThresholdCircularBrushDynamic":"ThresholdSphereBrushDynamic"});else{t.run("setToolActiveToolbar",{toolName:n.value});let e=A.find(e=>"threshold-range"===e.id).value;t.run("setThresholdRange",{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"],value:e})}}},{name:"ThresholdRange",type:"double-range",id:"threshold-range",min:0,max:1e3,allowTypedExpansion:!0,step:1,value:[50,600],condition:({options:e})=>"ThresholdRange"===e.find(e=>"dynamic-mode"===e.id).value,commands:{commandName:"setThresholdRange",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"]}}}]}},{id:"Shapes",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-shape",label:AF.t("Buttons:Shapes"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircleScissor","SphereScissor","RectangleScissor"],disabledText:AF.t("Buttons:Create new segmentation to enable shapes tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},options:[{name:AF.t("Buttons:Shape"),type:"radio",value:"CircleScissor",id:"shape-mode",values:[{value:"CircleScissor",label:AF.t("Buttons:Circle")},{value:"SphereScissor",label:AF.t("Buttons:Sphere")},{value:"RectangleScissor",label:AF.t("Buttons:Rectangle")}],commands:"setToolActiveToolbar"}]}},{id:"SimplifyContours",uiType:"ohif.toolButton",props:{icon:"actions-simplify",label:"Simplify Contours",tooltip:"Simplify Contours",commands:["toggleActiveSegmentationUtility"],evaluate:[{name:"cornerstone.isActiveSegmentationUtility"}],options:"cornerstone.SimplifyContourOptions"}},{id:"SmoothContours",uiType:"ohif.toolButton",props:{icon:"actions-smooth",label:"Smooth Contours",tooltip:"Smooth Contours",commands:["toggleActiveSegmentationUtility"],evaluate:[{name:"cornerstone.isActiveSegmentationUtility"}],options:"cornerstone.SmoothContoursOptions"}},{id:"LogicalContourOperations",uiType:"ohif.toolButton",props:{icon:"actions-combine",label:"Combine Contours",tooltip:"Combine Contours",commands:["toggleActiveSegmentationUtility"],evaluate:[{name:"cornerstone.isActiveSegmentationUtility"}],options:"cornerstone.LogicalContourOperationsOptions"}},{id:"LabelMapEditWithContour",uiType:"ohif.toolBoxButton",props:{icon:"tool-labelmap-edit-with-contour",label:AF.t("Buttons:Labelmap Edit with Contour Tool"),tooltip:AF.t("Buttons:Labelmap Edit with Contour Tool"),commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}],evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["LabelMapEditWithContour"],disabledText:"Create new segmentation to enable this tool."},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}]}}],"cornerstone.segmentationToolbarSections":{[AO.labelMapSegmentationToolbox]:["LabelMapTools"],[AO.contourSegmentationToolbox]:["ContourTools"],[AO.labelMapSegmentationUtilities]:["LabelMapUtilities"],[AO.contourSegmentationUtilities]:["ContourUtilities"],LabelMapTools:["LabelmapSlicePropagation","BrushTools","MarkerLabelmap","ClickSegment","Shapes","LabelMapEditWithContour"],ContourTools:["PlanarFreehandContourSegmentationTool","SculptorTool","SplineContourSegmentationTool","LivewireContourSegmentationTool"],LabelMapUtilities:["InterpolateLabelmap","SegmentBidirectional"],ContourUtilities:["LogicalContourOperations","SimplifyContours","SmoothContours"],BrushTools:["Brush","Eraser","Threshold"]},"cornerstone.segmentationModeToolbarSections":{[AO.primary]:["WindowLevel","Pan","Zoom","TrackballRotate","Capture","Layout","Crosshairs","MoreTools"],[AO.viewportActionMenu.topLeft]:["orientationMenu","dataOverlayMenu"],[AO.viewportActionMenu.bottomMiddle]:["AdvancedRenderingControls"],AdvancedRenderingControls:["windowLevelMenuEmbedded","voiManualControlMenu","Colorbar","opacityMenu","thresholdMenu"],[AO.viewportActionMenu.topRight]:["modalityLoadBadge","trackingStatus","navigationComponent"],[AO.viewportActionMenu.bottomLeft]:["windowLevelMenu"],MoreTools:["Reset","rotate-right","flipHorizontal","ReferenceLines","ImageOverlayViewer","StackScroll","invert","Cine","Magnify","TagBrowser"]}},AR=function({commandsManager:e}){let t=[{toolName:"CatmullRomSplineROI",parentTool:ec.SplineContourSegmentation,configuration:{spline:{type:"CATMULLROM",enableTwoPointPreview:!0}}},{toolName:"LinearSplineROI",parentTool:ec.SplineContourSegmentation,configuration:{spline:{type:"LINEAR",enableTwoPointPreview:!0}}},{toolName:"BSplineROI",parentTool:ec.SplineContourSegmentation,configuration:{spline:{type:"BSPLINE",enableTwoPointPreview:!0}}}];return{"cornerstone.segmentationTools":{passive:[{toolName:"CircularBrush",parentTool:"Brush",configuration:{activeStrategy:"FILL_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5}},{toolName:"CircularEraser",parentTool:"Brush",configuration:{activeStrategy:"ERASE_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5}},{toolName:"SphereBrush",parentTool:"Brush",configuration:{activeStrategy:"FILL_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5}},{toolName:"SphereEraser",parentTool:"Brush",configuration:{activeStrategy:"ERASE_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5}},{toolName:"ThresholdCircularBrush",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5}},{toolName:"ThresholdSphereBrush",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5}},{toolName:"ThresholdCircularBrushDynamic",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5,threshold:{isDynamic:!0,dynamicRadius:3}}},{toolName:"ThresholdSphereBrushDynamic",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5,threshold:{isDynamic:!0,dynamicRadius:3}}},{toolName:ec.LabelmapSlicePropagation},{toolName:ec.MarkerLabelmap},{toolName:ec.ClickSegment},{toolName:ec.LabelMapEditWithContourTool},{toolName:ec.SegmentSelect},{toolName:ec.CircleScissors},{toolName:ec.RectangleScissors},{toolName:ec.SphereScissors},{toolName:ec.LivewireContourSegmentation},{toolName:ec.SculptorTool},...t]},"cornerstone.annotationTools":{passive:[{toolName:ec.Length},{toolName:ec.ArrowAnnotate,configuration:{getTextCallback:(t,A)=>{e.runCommand("arrowTextCallback",{callback:t,eventDetails:A})},changeTextCallback:(t,A,n)=>{e.runCommand("arrowTextCallback",{callback:n,data:t,eventDetails:A})}}},{toolName:ec.Bidirectional},{toolName:ec.Probe},{toolName:ec.DragProbe},{toolName:ec.EllipticalROI},{toolName:ec.CircleROI},{toolName:ec.RectangleROI},{toolName:ec.Angle},{toolName:ec.CobbAngle},{toolName:ec.SplineROI},{toolName:ec.LivewireContour}]}}};var AV=x(7598),AN=x.n(AV);function AH(e,t,A,n){return new(A||(A=Promise))(function(r,o){function i(e){try{a(n.next(e))}catch(e){o(e)}}function s(e){try{a(n.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?r(e.value):((t=e.value)instanceof A?t:new A(function(e){e(t)})).then(i,s)}a((n=n.apply(e,t||[])).next())})}function A_(e,t){var A,n,r,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(a){var l=[s,a];if(A)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(o=0)),o;)try{if(A=1,n&&(r=2&l[0]?n.return:l[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,l[1])).done)return r;switch(n=0,r&&(l=[2&l[0],r.value]),l[0]){case 0:case 1:r=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,n=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(r=(r=o.trys).length>0&&r[r.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]<r[3])){o.label=l[1];break}if(6===l[0]&&o.label<r[1]){o.label=r[1],r=l;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(l);break}r[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],n=0}finally{A=r=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var Ak=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function AP(e,t){var A=function(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var A=t.split(".").pop().toLowerCase(),n=Ak.get(A);n&&Object.defineProperty(e,"type",{value:n,writable:!1,configurable:!1,enumerable:!0})}return e}(e);if("string"!=typeof A.path){var n=e.webkitRelativePath;Object.defineProperty(A,"path",{value:"string"==typeof t?t:"string"==typeof n&&n.length>0?n:e.name,writable:!1,configurable:!1,enumerable:!0})}return A}var Aj=[".DS_Store","Thumbs.db"];function AG(e){return AH(this,void 0,void 0,function(){return A_(this,function(t){var A;return[2,e.dataTransfer&&e.dataTransfer?function(e,t){return AH(this,void 0,void 0,function(){var A;return A_(this,function(n){switch(n.label){case 0:if(!e.items)return[3,2];if(A=AW(e.items).filter(function(e){return"file"===e.kind}),"drop"!==t)return[2,A];return[4,Promise.all(A.map(AY))];case 1:return[2,AK(function e(t){return t.reduce(function(t,A){return function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(function(e,t){var A="function"==typeof Symbol&&e[Symbol.iterator];if(!A)return e;var n,r,o=A.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(A=o.return)&&A.call(o)}finally{if(r)throw r.error}}return i}(arguments[t]));return e}(t,Array.isArray(A)?e(A):[A])},[])}(n.sent()))];case 2:return[2,AK(AW(e.files).map(function(e){return AP(e)}))]}})})}(e.dataTransfer,e.type):(null!==(A=e).target&&A.target.files?AW(A.target.files):[]).map(function(e){return AP(e)})]})})}function AK(e){return e.filter(function(e){return -1===Aj.indexOf(e.name)})}function AW(e){for(var t=[],A=0;A<e.length;A++){var n=e[A];t.push(n)}return t}function AY(e){if("function"!=typeof e.webkitGetAsEntry)return Az(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?AJ(t):Az(e)}function Az(e){var t=e.getAsFile();return t?Promise.resolve(AP(t)):Promise.reject(e+" is not a File")}function AX(e){return AH(this,void 0,void 0,function(){return A_(this,function(t){return[2,e.isDirectory?AJ(e):function(e){return AH(this,void 0,void 0,function(){return A_(this,function(t){return[2,new Promise(function(t,A){e.file(function(A){t(AP(A,e.fullPath))},function(e){A(e)})})]})})}(e)]})})}function AJ(e){var t=e.createReader();return new Promise(function(e,A){var n=[];!function r(){var o=this;t.readEntries(function(t){return AH(o,void 0,void 0,function(){var o;return A_(this,function(i){switch(i.label){case 0:if(t.length)return[3,5];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,Promise.all(n)];case 2:return e(i.sent()),[3,4];case 3:return A(i.sent()),[3,4];case 4:return[3,6];case 5:o=Promise.all(t.map(AX)),n.push(o),r(),i.label=6;case 6:return[2]}})})},function(e){A(e)})}()})}var Aq=x(6309);function A$(e,t){return"application/x-moz-file"===e.type||(0,Aq.A)(e,t)}function AZ(e,t,A){if(A0(e.size)){if(A0(t)&&A0(A))return e.size>=t&&e.size<=A;else if(A0(t))return e.size>=t;else if(A0(A))return e.size<=A}return!0}function A0(e){return null!=e}function A1(e){return"function"==typeof e.isPropagationStopped?e.isPropagationStopped():void 0!==e.cancelBubble&&e.cancelBubble}function A3(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(e){return"Files"===e||"application/x-moz-file"===e}):!!e.target&&!!e.target.files}function A2(e){e.preventDefault()}function A4(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return function(e){for(var A=arguments.length,n=Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];return t.some(function(t){return!A1(e)&&t&&t.apply(void 0,[e].concat(n)),A1(e)})}}function A6(e){return function(e){if(Array.isArray(e)){for(var t=0,A=Array(e.length);t<e.length;t++)A[t]=e[t];return A}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance")}()}function A9(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),A.push.apply(A,n)}return A}function A8(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?A9(A,!0).forEach(function(t){A5(e,t,A[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):A9(A).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))})}return e}function A5(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function A7(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)A=o[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)A=o[n],!(t.indexOf(A)>=0)&&Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}var ne=(0,M.forwardRef)(function(e,t){var A=e.children,n=function(){var e,t,A,n,r,o,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=i.accept,a=i.disabled,l=void 0!==a&&a,c=i.getFilesFromEvent,u=void 0===c?AG:c,d=i.maxSize,p=void 0===d?1/0:d,g=i.minSize,m=void 0===g?0:g,h=i.multiple,f=void 0===h||h,w=i.onDragEnter,B=i.onDragLeave,y=i.onDragOver,v=i.onDrop,S=i.onDropAccepted,C=i.onDropRejected,I=i.onFileDialogCancel,b=i.preventDropOnDocument,U=void 0===b||b,E=i.noClick,F=void 0!==E&&E,Q=i.noKeyboard,T=void 0!==Q&&Q,D=i.noDrag,x=void 0!==D&&D,O=i.noDragEventsBubbling,L=void 0!==O&&O,R=(0,M.useRef)(null),V=(0,M.useRef)(null),N=function(e){if(Array.isArray(e))return e}(e=(0,M.useReducer)(nA,nt))||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var t=[],A=!0,n=!1,r=void 0;try{for(var o,i=e[Symbol.iterator]();!(A=(o=i.next()).done)&&(t.push(o.value),2!==t.length);A=!0);}catch(e){n=!0,r=e}finally{try{A||null==i.return||i.return()}finally{if(n)throw r}}return t}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance")}(),H=N[0],_=N[1],k=H.isFocused,P=H.isFileDialogActive,j=H.draggedFiles,G=(0,M.useCallback)(function(){V.current&&(_({type:"openDialog"}),V.current.value=null,V.current.click())},[_]),K=function(){P&&setTimeout(function(){V.current&&(V.current.files.length||(_({type:"closeDialog"}),"function"==typeof I&&I()))},300)};(0,M.useEffect)(function(){return window.addEventListener("focus",K,!1),function(){window.removeEventListener("focus",K,!1)}},[V,P,I]);var W=(0,M.useCallback)(function(e){R.current&&R.current.isEqualNode(e.target)&&(32===e.keyCode||13===e.keyCode)&&(e.preventDefault(),G())},[R,V]),Y=(0,M.useCallback)(function(){_({type:"focus"})},[]),z=(0,M.useCallback)(function(){_({type:"blur"})},[]),X=(0,M.useCallback)(function(){F||(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return -1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/")}()?setTimeout(G,0):G())},[V,F]),J=(0,M.useRef)([]),q=function(e){R.current&&R.current.contains(e.target)||(e.preventDefault(),J.current=[])};(0,M.useEffect)(function(){return U&&(document.addEventListener("dragover",A2,!1),document.addEventListener("drop",q,!1)),function(){U&&(document.removeEventListener("dragover",A2),document.removeEventListener("drop",q))}},[R,U]);var $=(0,M.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),-1===J.current.indexOf(e.target)&&(J.current=[].concat(A6(J.current),[e.target])),A3(e)&&Promise.resolve(u(e)).then(function(t){(!A1(e)||L)&&(_({draggedFiles:t,isDragActive:!0,type:"setDraggedFiles"}),w&&w(e))})},[u,w,L]),Z=(0,M.useCallback)(function(e){if(e.preventDefault(),e.persist(),eo(e),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}return A3(e)&&y&&y(e),!1},[y,L]),ee=(0,M.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e);var t=J.current.filter(function(t){return t!==e.target&&R.current&&R.current.contains(t)});J.current=t,!(t.length>0)&&(_({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),A3(e)&&B&&B(e))},[R,B,L]),et=(0,M.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),J.current=[],A3(e)&&Promise.resolve(u(e)).then(function(t){if(!A1(e)||L){var A=[],n=[];t.forEach(function(e){A$(e,s)&&AZ(e,m,p)?A.push(e):n.push(e)}),!f&&A.length>1&&n.push.apply(n,A6(A.splice(0))),_({acceptedFiles:A,rejectedFiles:n,type:"setFiles"}),v&&v(A,n,e),n.length>0&&C&&C(n,e),A.length>0&&S&&S(A,e)}}),_({type:"reset"})},[f,s,m,p,u,v,S,C,L]),eA=function(e){return l?null:e},en=function(e){return T?null:eA(e)},er=function(e){return x?null:eA(e)},eo=function(e){L&&e.stopPropagation()},ei=(0,M.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,A=e.onKeyDown,n=e.onFocus,r=e.onBlur,o=e.onClick,i=e.onDragEnter,s=e.onDragOver,a=e.onDragLeave,c=e.onDrop,u=A7(e,["refKey","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"]);return A8(A5({onKeyDown:en(A4(A,W)),onFocus:en(A4(n,Y)),onBlur:en(A4(r,z)),onClick:eA(A4(o,X)),onDragEnter:er(A4(i,$)),onDragOver:er(A4(s,Z)),onDragLeave:er(A4(a,ee)),onDrop:er(A4(c,et))},void 0===t?"ref":t,R),l||T?{}:{tabIndex:0},{},u)}},[R,W,Y,z,X,$,Z,ee,et,T,x,l]),es=(0,M.useCallback)(function(e){e.stopPropagation()},[]),ea=(0,M.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,A=e.onChange,n=e.onClick,r=A7(e,["refKey","onChange","onClick"]);return A8({},A5({accept:s,multiple:f,type:"file",style:{display:"none"},onChange:eA(A4(A,et)),onClick:eA(A4(n,es)),autoComplete:"off",tabIndex:-1},void 0===t?"ref":t,V),{},r)}},[V,s,f,et,l]),el=j.length,ec=el>0&&(A=(t={files:j,accept:s,minSize:m,maxSize:p,multiple:f}).files,n=t.accept,r=t.minSize,o=t.maxSize,(!!t.multiple||!(A.length>1))&&A.every(function(e){return A$(e,n)&&AZ(e,r,o)}));return A8({},H,{isDragAccept:ec,isDragReject:el>0&&!ec,isFocused:k&&!l,getRootProps:ei,getInputProps:ea,rootRef:R,inputRef:V,open:eA(G)})}(A7(e,["children"])),r=n.open,o=A7(n,["open"]);return(0,M.useImperativeHandle)(t,function(){return{open:r}},[r]),M.createElement(M.Fragment,null,A(A8({},o,{open:r})))});ne.displayName="Dropzone",ne.propTypes={children:AN().func,accept:AN().oneOfType([AN().string,AN().arrayOf(AN().string)]),multiple:AN().bool,preventDropOnDocument:AN().bool,noClick:AN().bool,noKeyboard:AN().bool,noDrag:AN().bool,noDragEventsBubbling:AN().bool,minSize:AN().number,maxSize:AN().number,disabled:AN().bool,getFilesFromEvent:AN().func,onFileDialogCancel:AN().func,onDragEnter:AN().func,onDragLeave:AN().func,onDragOver:AN().func,onDrop:AN().func,onDropAccepted:AN().func,onDropRejected:AN().func};var nt={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]};function nA(e,t){switch(t.type){case"focus":return A8({},e,{isFocused:!0});case"blur":return A8({},e,{isFocused:!1});case"openDialog":return A8({},e,{isFileDialogActive:!0});case"closeDialog":return A8({},e,{isFileDialogActive:!1});case"setDraggedFiles":var A=t.isDragActive;return A8({},e,{draggedFiles:t.draggedFiles,isDragActive:A});case"setFiles":return A8({},e,{acceptedFiles:t.acceptedFiles,rejectedFiles:t.rejectedFiles});case"reset":return A8({},e,{isFileDialogActive:!1,isDragActive:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]});default:return e}}var nn=x(5530),nr=x.n(nn);let no={PROGRESS:"event:DicomFileUploader:progress"},ni=((t={})[t.NotStarted=0]="NotStarted",t[t.InProgress=1]="InProgress",t[t.Success=2]="Success",t[t.Failed=3]="Failed",t[t.Cancelled=4]="Cancelled",t);class ns{constructor(e,t){this.message=void 0,this.status=void 0,this.message=t,this.status=e}}class na extends k.PubSubService{constructor(e,t){super(no),this._file=void 0,this._fileId=void 0,this._dataSource=void 0,this._loadPromise=void 0,this._abortController=new AbortController,this._status=ni.NotStarted,this._percentComplete=0,this._file=e,this._fileId=Y().wadouri.fileManager.add(e),this._dataSource=t}getFileId(){return this._fileId}getFileName(){return this._file.name}getFileSize(){return this._file.size}cancel(){this._abortController.abort()}getStatus(){return this._status}getPercentComplete(){return this._percentComplete}async load(){return this._loadPromise||(this._loadPromise=new Promise((e,t)=>{let A={progress:e=>{e.lengthComputable&&(this._status=ni.InProgress,this._percentComplete=Math.round(100*e.loaded/e.total),this._broadcastEvent(no.PROGRESS,{fileId:this._fileId,percentComplete:this._percentComplete}))},timeout:()=>{this._reject(t,new ns(ni.Failed,"The request timed out."))},abort:()=>{this._reject(t,new ns(ni.Cancelled,"Cancelled"))},error:()=>{this._reject(t,new ns(ni.Failed,"The request failed."))}};Y().wadouri.loadFileRequest(this._fileId).then(n=>{if(this._abortController.signal.aborted)return void this._reject(t,new ns(ni.Cancelled,"Cancelled"));if(!this._checkDicomFile(n))return void this._reject(t,new ns(ni.Failed,"Not a valid DICOM file."));let r=new XMLHttpRequest;return this._addRequestCallbacks(r,A),this._dataSource.store.dicom(n,r).then(()=>{this._status=ni.Success,e()}).catch(e=>{this._reject(t,e)})}).catch(e=>{this._reject(t,e)})})),this._loadPromise}_isRejected(){return this._status===ni.Failed||this._status===ni.Cancelled}_reject(e,t){if(!this._isRejected()){if(t instanceof ns){this._status=t.status,e(t);return}if(this._status=ni.Failed,t.message)return void e(new ns(ni.Failed,t.message));e(new ns(ni.Failed,t))}}_addRequestCallbacks(e,t){let A=()=>e.abort();for(let[n,r]of(this._abortController.signal.addEventListener("abort",A),Object.entries(t)))e.upload.addEventListener(n,r);let n=()=>{for(let[n,r]of(this._abortController.signal.removeEventListener("abort",A),Object.entries(t)))e.upload.removeEventListener(n,r);e.removeEventListener("loadend",n)};e.addEventListener("loadend",n)}_checkDicomFile(e){if(e.length<=132)return!1;let t=new Uint8Array(e.slice(128,132));return Array.from("DICM").every((e,A)=>e.charCodeAt(0)===t[A])}}let nl=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f=(0,D.c)(37),{dicomFileUploader:w}=e;f[0]!==w?(t=w.getPercentComplete(),f[0]=w,f[1]=t):t=f[1];let[B,y]=(0,M.useState)(t),[v,S]=(0,M.useState)("");f[2]!==w?(A=w.getStatus(),f[2]=w,f[3]=A):A=f[3];let[C,I]=(0,M.useState)(A);f[4]!==C?(n=()=>C===ni.Failed||C===ni.Cancelled||C===ni.Success,f[4]=C,f[5]=n):n=f[5];let b=n;f[6]!==w?(r=()=>{let e=w.subscribe(no.PROGRESS,e=>{y(e.percentComplete),I(w.getStatus())});return w.load().catch(e=>{I(e.status),S(e.message??"")}).finally(()=>I(w.getStatus())),()=>e.unsubscribe()},f[6]=w,f[7]=r):r=f[7],f[8]===Symbol.for("react.memo_cache_sentinel")?(o=[],f[8]=o):o=f[8],(0,M.useEffect)(r,o),f[9]!==w?(i=()=>{w.cancel()},f[9]=w,f[10]=i):i=f[10];let U=i;f[11]!==C?(s=()=>{switch(C){case ni.Success:return(0,tp.jsx)(tB.Icons.ByName,{name:"status-tracked",className:"text-highlight"});case ni.InProgress:return(0,tp.jsx)(tB.Icons.ByName,{name:"icon-transferring",className:"text-highlight"});case ni.Failed:return(0,tp.jsx)(tB.Icons.ByName,{name:"icon-alert-small",className:"text-destructive"});case ni.Cancelled:return(0,tp.jsx)(tB.Icons.ByName,{name:"icon-alert-outline",className:"text-highlight"});default:return(0,tp.jsx)(tp.Fragment,{})}},f[11]=C,f[12]=s):s=f[12];let E=s;return f[13]!==E?(a=(0,tp.jsx)("div",{className:"flex w-6 shrink-0 items-center justify-center",children:E()}),f[13]=E,f[14]=a):a=f[14],f[15]!==w?(l=w.getFileName(),f[15]=w,f[16]=l):l=f[16],f[17]!==l?(c=(0,tp.jsx)("div",{className:"text-foreground overflow-hidden text-ellipsis whitespace-nowrap",children:l}),f[17]=l,f[18]=c):c=f[18],f[19]!==c||f[20]!==a?(u=(0,tp.jsxs)("div",{className:"flex gap-4",children:[a,c]}),f[19]=c,f[20]=a,f[21]=u):u=f[21],f[22]!==v?(d=v&&(0,tp.jsx)("div",{className:"text-foreground pl-10",children:v}),f[22]=v,f[23]=d):d=f[23],f[24]!==u||f[25]!==d?(p=(0,tp.jsxs)("div",{className:"self-top flex w-0 shrink grow flex-col gap-1",children:[u,d]}),f[24]=u,f[25]=d,f[26]=p):p=f[26],f[27]!==U||f[28]!==b||f[29]!==B||f[30]!==C?(g=!b()&&(0,tp.jsxs)(tp.Fragment,{children:[C===ni.InProgress&&(0,tp.jsxs)("div",{className:"text-foreground w-10 text-right",children:[B,"%"]}),(0,tp.jsx)("div",{className:"ml-auto flex cursor-pointer",children:(0,tp.jsx)(tB.Icons.Close,{className:"text-primary self-center",onClick:U})})]}),f[27]=U,f[28]=b,f[29]=B,f[30]=C,f[31]=g):g=f[31],f[32]!==g?(m=(0,tp.jsx)("div",{className:"flex w-24 items-center",children:g}),f[32]=g,f[33]=m):m=f[33],f[34]!==p||f[35]!==m?(h=(0,tp.jsxs)("div",{className:"min-h-14 border-input flex w-full items-center overflow-hidden border-b p-2.5 text-lg",children:[p,m]}),f[34]=p,f[35]=m,f[36]=h):h=f[36],h},nc="text-ellipsis whitespace-nowrap overflow-hidden";function nu(e){return(0,tp.jsx)(nl,{dicomFileUploader:e},e.getFileId())}function nd(e){return!e}function np(e){return e.unsubscribe()}function ng(e){return e+1}function nm(e){return e+1}function nh(e,t){return e+t.getFileSize()}let nf=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v=(0,D.c)(60),{dicomFileUploaderArr:S,onComplete:C}=e,{servicesManager:I}=(0,k.useSystem)();v[0]!==I.services.customizationService?(t=I.services.customizationService.getCustomization("ui.progressLoadingBar"),v[0]=I.services.customizationService,v[1]=t):t=v[1];let b=t;v[2]!==S?(A=S.reduce(nh,0),v[2]=S,v[3]=A):A=v[3];let[U]=(0,M.useState)(A),E=(0,M.useRef)(0),F=(0,M.useRef)(0),[Q,T]=(0,M.useState)(null),[x,O]=(0,M.useState)(0),[L,R]=(0,M.useState)(0),[V,N]=(0,M.useState)(0),[H,_]=(0,M.useState)(!1),[P,j]=(0,M.useState)(null);v[4]!==U?(n=()=>{let e,t=0,A=Date.now(),n=()=>{let r=E.current-t,o=Date.now();F.current=r/(o-A),t=E.current,A=o,U-E.current>0&&(e=F.current>=75?setTimeout(n,15e3):setTimeout(n,3e4))};return e=setTimeout(n,15e3),()=>{clearTimeout(e)}},v[4]=U,v[5]=n):n=v[5],v[6]===Symbol.for("react.memo_cache_sentinel")?(r=[],v[6]=r):r=v[6],(0,M.useEffect)(n,r),v[7]!==S||v[8]!==U?(o=()=>{let e=null,t=S.map(t=>{let A=0,n=n=>{let r=A;if(A=Math.round(n/100*t.getFileSize()),E.current=Math.min(U,E.current-r+A),O(E.current/U*100),0!==F.current){let t=Math.round((U-E.current)/F.current);if(null===e)return void T(e=t);if(t<6e4){let A=Math.ceil(t/1e3)-Math.ceil(e/1e3);(A<0||A>2)&&T(e=t);return}if(t<36e5){let A=Math.ceil(t/6e4)-Math.ceil(e/6e4);(A<0||A>2)&&T(e=t);return}T(e=t)}};return t.load().catch(e=>{e.status===ni.Failed&&N(nm)}).finally(()=>{n(100),R(ng)}),t.subscribe(no.PROGRESS,e=>{n(e.percentComplete)})});return()=>{t.forEach(np)}},v[7]=S,v[8]=U,v[9]=o):o=v[9],v[10]===Symbol.for("react.memo_cache_sentinel")?(i=[],v[10]=i):i=v[10],(0,M.useEffect)(o,i),v[11]!==S?(s=async()=>{for(let e of S)new Promise((t,A)=>{setTimeout(()=>{e.cancel(),t()},0)})},v[11]=S,v[12]=s):s=v[12];let G=s;v[13]!==Q?(a=()=>{if(null==Q)return"";if(Q<6e4){let e=Math.ceil(Q/1e3);return`${e} ${1===e?"second":"seconds"}`}if(Q<36e5){let e=Math.ceil(Q/6e4);return`${e} ${1===e?"minute":"minutes"}`}let e=Math.ceil(Q/36e5);return`${e} ${1===e?"hour":"hours"}`},v[13]=Q,v[14]=a):a=v[14];let K=a;v[15]!==x?(l=()=>Math.min(100,Math.round(x)),v[15]=x,v[16]=l):l=v[16];let W=l;v[17]!==W||v[18]!==x||v[19]!==P?.offsetWidth?(c=()=>1>W()&&(P?.offsetWidth??0)*(x/100)<1,v[17]=W,v[18]=x,v[19]=P?.offsetWidth,v[20]=c):c=v[20];let Y=c;v[21]!==S.length||v[22]!==L?(u=()=>{let e=L.toString().length+S.length.toString().length;return{width:`${e+3}ch`}},v[21]=S.length,v[22]=L,v[23]=u):u=v[23];let z=u;v[24]!==G||v[25]!==S.length||v[26]!==K||v[27]!==z||v[28]!==L||v[29]!==C||v[30]!==Q?(d=()=>(0,tp.jsx)("div",{className:"bg-muted text-foreground flex h-14 items-center px-1 pb-4 text-lg",children:L===S.length?(0,tp.jsxs)(tp.Fragment,{children:[(0,tp.jsx)("span",{className:nc,children:`${S.length} ${S.length>1?"files":"file"} completed.`}),(0,tp.jsx)(tB.Button,{disabled:!1,className:"ml-auto",onClick:C,children:"Close"})]}):(0,tp.jsxs)(tp.Fragment,{children:[(0,tp.jsxs)("div",{className:"flex flex-wrap",children:[(0,tp.jsxs)("span",{style:z(),className:nr()(nc,"text-right"),children:[`${L} of ${S.length}`," "]}),(0,tp.jsx)("span",{className:nc,children:" files completed."}),(0,tp.jsx)("br",{}),(0,tp.jsx)("span",{children:Q?`Less than ${K()} remaining. `:""})]}),(0,tp.jsx)("span",{className:"text-primary hover:text-highlight active:text-muted-foreground ml-auto cursor-pointer whitespace-nowrap",onClick:G,children:"Cancel All Uploads"})]})}),v[24]=G,v[25]=S.length,v[26]=K,v[27]=z,v[28]=L,v[29]=C,v[30]=Q,v[31]=d):d=v[31];let X=d;v[32]!==V?(p=()=>(0,tp.jsx)("div",{className:"ml-auto flex w-6 justify-center",children:V>0&&(0,tp.jsx)("div",{onClick:()=>_(nd),children:(0,tp.jsx)(tB.Icons.ByName,{className:"cursor-pointer",name:"icon-status-alert"})})}),v[32]=V,v[33]=p):p=v[33];let J=p;v[34]!==b||v[35]!==S.length||v[36]!==W||v[37]!==J||v[38]!==V||v[39]!==L||v[40]!==x||v[41]!==Y?(g=()=>(0,tp.jsx)("div",{className:"ohif-scrollbar border-input overflow-y-scroll border-b px-2",children:(0,tp.jsx)("div",{className:"min-h-14 flex w-full items-center p-2.5",children:L===S.length?(0,tp.jsxs)(tp.Fragment,{children:[(0,tp.jsx)("div",{className:"text-highlight text-xl",children:V>0?`Completed with ${V} ${V>1?"errors":"error"}!`:"Completed!"}),J()]}):(0,tp.jsxs)(tp.Fragment,{children:[(0,tp.jsx)("div",{ref:j,className:"flex-grow",children:(0,tp.jsx)(b,{progress:Y()?void 0:Math.min(100,x)})}),(0,tp.jsxs)("div",{className:"ml-1 flex w-24 items-center",children:[(0,tp.jsx)("div",{className:"text-foreground w-10 text-right",children:`${W()}%`}),J()]})]})})}),v[34]=b,v[35]=S.length,v[36]=W,v[37]=J,v[38]=V,v[39]=L,v[40]=x,v[41]=Y,v[42]=g):g=v[42];let q=g;if(v[43]!==X?(m=X(),v[43]=X,v[44]=m):m=v[44],v[45]!==q?(h=q(),v[45]=q,v[46]=h):h=v[46],v[47]!==S||v[48]!==H){let e;v[50]!==H?(e=e=>!H||e.getStatus()===ni.Failed,v[50]=H,v[51]=e):e=v[51],f=S.filter(e).map(nu),v[47]=S,v[48]=H,v[49]=f}else f=v[49];return v[52]!==f?(w=(0,tp.jsx)("div",{className:"ohif-scrollbar h-1 grow overflow-y-scroll px-2",children:f}),v[52]=f,v[53]=w):w=v[53],v[54]!==h||v[55]!==w?(B=(0,tp.jsxs)("div",{className:"flex grow flex-col overflow-hidden bg-background text-lg",children:[h,w]}),v[54]=h,v[55]=w,v[56]=B):B=v[56],v[57]!==m||v[58]!==B?(y=(0,tp.jsxs)("div",{className:"flex grow flex-col",children:[m,B]}),v[57]=m,v[58]=B,v[59]=y):y=v[59],y};function nw(e){let{getRootProps:t,getInputProps:A}=e;return(0,tp.jsx)("div",{...t(),children:(0,tp.jsxs)(tB.Button,{variant:"secondary",size:"lg",disabled:!1,onClick:nB,children:["Add folder",(0,tp.jsx)("input",{...A(),webkitdirectory:"true",mozdirectory:"true",style:{display:"none"}})]})})}function nB(){}function ny(e){let{getRootProps:t,getInputProps:A}=e;return(0,tp.jsx)("div",{...t(),children:(0,tp.jsxs)(tB.Button,{variant:"default",size:"lg",disabled:!1,onClick:nv,children:["Add files",(0,tp.jsx)("input",{...A(),style:{display:"none"}})]})})}function nv(){}let nS=function(e){let t,A,n,r=(0,D.c)(8),{dataSource:o,onComplete:i,onStarted:s}=e;r[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],r[0]=t):t=r[0];let[a,l]=(0,M.useState)(t);if(r[1]!==o||r[2]!==s){let e=async e=>{s(),l(e.map(e=>new na(e,o)))};A=()=>(0,tp.jsx)(ne,{onDrop:t=>{e(t)},noClick:!0,children:t=>{let{getRootProps:A}=t;return(0,tp.jsxs)("div",{...A(),className:"m-5 flex h-full flex-col items-center justify-center rounded-2xl border",style:{borderColor:"hsl(var(--muted-foreground) / 0.25)"},children:[(0,tp.jsxs)("div",{className:"flex gap-2",children:[(0,tp.jsx)(ne,{onDrop:e,noDrag:!0,children:ny}),(0,tp.jsx)(ne,{onDrop:e,noDrag:!0,children:nw})]}),(0,tp.jsx)("div",{className:"text-foreground pt-6 text-base",children:"or drag images or folders here"}),(0,tp.jsx)("div",{className:"text-muted-foreground pt-1 text-base",children:"(DICOM files supported)"})]})}}),r[1]=o,r[2]=s,r[3]=A}else A=r[3];let c=A;return r[4]!==a||r[5]!==c||r[6]!==i?(n=(0,tp.jsx)(tp.Fragment,{children:a.length?(0,tp.jsx)("div",{className:nr()("h-[calc(100vh-300px)]","min-h-[375px] flex flex-col bg-background select-none rounded-lg overflow-hidden"),children:(0,tp.jsx)(nf,{dicomFileUploaderArr:Array.from(a),onComplete:i})}):(0,tp.jsx)("div",{className:nr()("h-[480px]","min-h-[375px] flex flex-col bg-background select-none rounded-lg overflow-hidden"),children:c()})}),r[4]=a,r[5]=c,r[6]=i,r[7]=n):n=r[7],n},nC=Object.assign(nS,{containerClassName:"max-w-3xl"}),nI={cinePlayer:tB.CinePlayer,autoCineModalities:["OT","US"],"panelMeasurement.disableEditing":!1,onBeforeSRAddMeasurement:({measurement:e,StudyInstanceUID:t,SeriesInstanceUID:A})=>e,onBeforeDicomStore:({dicomDict:e,measurementData:t,naturalizedReport:A})=>e,dicomUploadComponent:nC,codingValues:{}},nb="image",nU={"ohif.captureViewportModal":function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,x,O,L,R,V,N,H=(0,D.c)(106),{onClose:_,defaultSize:k,fileTypeOptions:P,viewportId:j,showAnnotations:G,onAnnotationsChange:K,dimensions:W,warningState:Y,onDimensionsChange:z,onEnableViewport:X,onDisableViewport:J,onDownload:q,onCopyToClipboard:$}=e,[Z,ee]=(0,M.useState)(null),[et,eA]=(0,M.useState)(!0),[en,er]=(0,M.useState)(nb),[eo,ei]=(0,M.useState)("jpg"),{t:es}=tP("CaptureViewportModal");return H[0]!==J||H[1]!==X||H[2]!==Z?(t=()=>{if(Z)return X(Z),()=>{J()}},A=[J,X,Z],H[0]=J,H[1]=X,H[2]=Z,H[3]=t,H[4]=A):(t=H[3],A=H[4]),(0,M.useEffect)(t,A),H[5]!==W.height||H[6]!==W.width?(n={height:W.height,width:W.width,position:"relative"},H[5]=W.height,H[6]=W.width,H[7]=n):n=H[7],H[8]!==et||H[9]!==Y.enabled||H[10]!==Y.value?(r=Y.enabled&&et&&(0,tp.jsx)("div",{className:"text-foreground absolute left-1/2 bottom-[5px] z-[1000] -translate-x-1/2 whitespace-nowrap rounded bg-background p-3 text-xs font-bold",style:{fontSize:"12px"},children:Y.value}),H[8]=et,H[9]=Y.enabled,H[10]=Y.value,H[11]=r):r=H[11],H[12]!==n||H[13]!==r||H[14]!==j?(o=(0,tp.jsx)(tB.ImageModal.ImageVisual,{children:(0,tp.jsx)("div",{style:n,"data-viewport-uid":j,ref:ee,children:r})}),H[12]=n,H[13]=r,H[14]=j,H[15]=o):o=H[15],H[16]===Symbol.for("react.memo_cache_sentinel")?(i=e=>er(e.target.value),H[16]=i):i=H[16],H[17]!==es?(s=es("File name"),H[17]=es,H[18]=s):s=H[18],H[19]!==en||H[20]!==s?(a=(0,tp.jsx)(tB.ImageModal.Filename,{value:en,onChange:i,children:s}),H[19]=en,H[20]=s,H[21]=a):a=H[21],H[22]!==eo||H[23]!==P?(l=(0,tp.jsx)(tB.ImageModal.Filetype,{selected:eo,onSelect:ei,options:P}),H[22]=eo,H[23]=P,H[24]=l):l=H[24],H[25]!==a||H[26]!==l?(c=(0,tp.jsxs)("div",{className:"flex items-end space-x-2",children:[a,l]}),H[25]=a,H[26]=l,H[27]=c):c=H[27],H[28]!==W.width?(u=W.width.toString(),H[28]=W.width,H[29]=u):u=H[29],H[30]!==W.height?(d=W.height.toString(),H[30]=W.height,H[31]=d):d=H[31],H[32]!==es?(p=es("Width"),H[32]=es,H[33]=p):p=H[33],H[34]!==es?(g=es("Height"),H[34]=es,H[35]=g):g=H[35],H[36]!==es?(m=es("Width"),H[36]=es,H[37]=m):m=H[37],H[38]!==es?(h=es("Height"),H[38]=es,H[39]=h):h=H[39],H[40]!==k||H[41]!==W||H[42]!==z?(f=e=>{z({...W,width:parseInt(e.target.value)||k})},w=e=>{z({...W,height:parseInt(e.target.value)||k})},H[40]=k,H[41]=W,H[42]=z,H[43]=f,H[44]=w):(f=H[43],w=H[44]),H[45]===Symbol.for("react.memo_cache_sentinel")?(B="10000",y="10000",H[45]=B,H[46]=y):(B=H[45],y=H[46]),H[47]!==es?(v=es("Image size in pixels"),H[47]=es,H[48]=v):v=H[48],H[49]!==u||H[50]!==d||H[51]!==p||H[52]!==g||H[53]!==m||H[54]!==h||H[55]!==f||H[56]!==w||H[57]!==v?(S=(0,tp.jsx)(tB.ImageModal.ImageSize,{width:u,height:d,widthLabel:p,heightLabel:g,widthPlaceholder:m,heightPlaceholder:h,onWidthChange:f,onHeightChange:w,maxWidth:B,maxHeight:y,children:v}),H[49]=u,H[50]=d,H[51]=p,H[52]=g,H[53]=m,H[54]=h,H[55]=f,H[56]=w,H[57]=v,H[58]=S):S=H[58],H[59]!==es?(C=es("Include annotations"),H[59]=es,H[60]=C):C=H[60],H[61]!==K||H[62]!==G||H[63]!==C?(I=(0,tp.jsx)(tB.ImageModal.SwitchOption,{defaultChecked:G,checked:G,onCheckedChange:K,children:C}),H[61]=K,H[62]=G,H[63]=C,H[64]=I):I=H[64],H[65]!==et||H[66]!==es||H[67]!==Y.enabled?(b=Y.enabled&&(0,tp.jsx)(tB.ImageModal.SwitchOption,{defaultChecked:et,checked:et,onCheckedChange:eA,children:es("Include warning message")}),H[65]=et,H[66]=es,H[67]=Y.enabled,H[68]=b):b=H[68],H[69]!==es?(U=es("Common:Cancel"),H[69]=es,H[70]=U):U=H[70],H[71]!==_||H[72]!==U?(E=(0,tp.jsx)(tB.FooterAction.Secondary,{onClick:_,children:U}),H[71]=_,H[72]=U,H[73]=E):E=H[73],H[74]!==_||H[75]!==$||H[76]!==es?(F=async()=>{try{await $(),tB.toast.success(es("Image copied to clipboard")),_()}catch(e){tB.toast.error(es("Failed to copy image to clipboard")),console.error("Failed to copy to clipboard:",e)}},H[74]=_,H[75]=$,H[76]=es,H[77]=F):F=H[77],H[78]!==es?(Q=es("Copy to Clipboard"),H[78]=es,H[79]=Q):Q=H[79],H[80]!==F||H[81]!==Q?(T=(0,tp.jsx)(tB.FooterAction.Secondary,{onClick:F,children:Q}),H[80]=F,H[81]=Q,H[82]=T):T=H[82],H[83]!==eo||H[84]!==en||H[85]!==_||H[86]!==q?(x=()=>{q(en||nb,eo),_()},H[83]=eo,H[84]=en,H[85]=_,H[86]=q,H[87]=x):x=H[87],H[88]!==es?(O=es("Save Image"),H[88]=es,H[89]=O):O=H[89],H[90]!==x||H[91]!==O?(L=(0,tp.jsx)(tB.FooterAction.Primary,{onClick:x,children:O}),H[90]=x,H[91]=O,H[92]=L):L=H[92],H[93]!==E||H[94]!==T||H[95]!==L?(R=(0,tp.jsx)(tB.FooterAction,{className:"mt-2",children:(0,tp.jsxs)(tB.FooterAction.Right,{children:[E,T,L]})}),H[93]=E,H[94]=T,H[95]=L,H[96]=R):R=H[96],H[97]!==c||H[98]!==S||H[99]!==I||H[100]!==b||H[101]!==R?(V=(0,tp.jsxs)(tB.ImageModal.ImageOptions,{children:[c,S,I,b,R]}),H[97]=c,H[98]=S,H[99]=I,H[100]=b,H[101]=R,H[102]=V):V=H[102],H[103]!==V||H[104]!==o?(N=(0,tp.jsx)(tB.ImageModal,{children:(0,tp.jsxs)(tB.ImageModal.Body,{children:[o,V]})}),H[103]=V,H[104]=o,H[105]=N):N=H[105],N}},nE={"viewportDownload.warningMessage":{enabled:!0,value:"Not For Diagnostic Use"}};var nF=x(6974),nQ=x(933);function nT(e,t){let{viewports:A}=e.getState();return(A=(A=[...A.values()]).filter(e=>e.displaySetInstanceUIDs&&e.displaySetInstanceUIDs.length)).filter(e=>{let{displaySetInstanceUIDs:A}=e;for(let e of A){let A=t.getDisplaySetByUID(e);if(A&&A.isReconstructable)return!0;return!1}})}let nD=.4,nx=.4;function nO(e){return"RTSTRUCT"===e&&ej?"stack":void 0}let nM=e=>`VOI_SYNC_${e}`;var nL=x(1371),nR=x(7155);let nV=e=>{let{points:t}=e;if(!t||!Array.isArray(t)||0===t.length)return{center:[0,0,0],extent:{min:[0,0,0],max:[0,0,0]}};let A=[...t[0]],n=[...t[0]];for(let e=1;e<t.length;e++){let r=t[e];for(let e=0;e<3;e++)A[e]=Math.min(A[e],r[e]),n[e]=Math.max(n[e],r[e])}return{center:[(A[0]+n[0])/2,(A[1]+n[1])/2,(A[2]+n[2])/2],extent:{min:A,max:n}}},nN={flipHorizontal(e,t="toggle"){let A;A="toggle"===t?!e.getCamera().flipHorizontal:t,e.setCamera({flipHorizontal:A})},flipVertical(e,t="toggle"){let A;A="toggle"===t?!e.getCamera().flipVertical:t,e.setCamera({flipVertical:A})},invert(e){let{invert:t}=e.getProperties();e.setProperties({invert:!t})},rotate(e,t,A="apply"){if((0,es.rX)(e)){let A=e.getCamera(),n=t*Math.PI/180,r=nR.mat4.identity(new Float32Array(16));nR.mat4.rotate(r,r,n,A.viewPlaneNormal);let o=nR.vec3.transformMat4(nR.vec3.create(),A.viewUp,r);e.setCamera({viewUp:o});return}if(void 0!==e.getRotation){let{rotation:n}=e.getViewPresentation(),r="apply"===A?(n+t+360)%360:(()=>{let{flipHorizontal:A=!1,flipVertical:n=!1}=e.getViewPresentation();return(((+!!A+ +!!n)%2==1?-t:t)+360)%360})();e.setViewPresentation({rotation:r})}},reset(e){e.resetProperties?.(),e.resetCamera()},scaleBy(e,t){if((0,es.TF)(e))if(t){let{parallelScale:A}=e.getCamera();e.setCamera({parallelScale:A*(t>0?.9:1.1)})}else e.resetCamera()},getViewPlaneNormal:e=>e.getCamera().viewPlaneNormal,centerOnMeasurement(e,t){if(((e,t)=>{let{focalPoint:A,parallelScale:n}=e.getCamera(),{extent:r}=nV(t),{min:o,max:i}=r;for(let e=0;e<3;e++){let t=Math.abs(o[e]-A[e]),r=Math.abs(i[e]-A[e]);if(t>n||r>n)return!1}return!0})(e,t))return!1;let A=e.getCamera(),{focalPoint:n,position:r}=A,{center:o,extent:i}=nV(t),s=nR.vec3.sub(nR.vec3.create(),r,n);nR.vec3.add(s,s,o),e.setCamera({focalPoint:o,position:s});let a=nR.vec3.dist(i.min,i.max);if(a>A.parallelScale){let t=a/A.parallelScale;e.setZoom(e.getZoom()/t)}return!0},setWindowLevel(e,t){let{lower:A,upper:n}=L.utilities.windowLevel.toLowHighRange(t.windowWidth,t.windowCenter);(0,es.rX)(e)?e.setProperties({voiRange:{upper:n,lower:A}},t.volumeId):e.setProperties({voiRange:{upper:n,lower:A}})},setColormap(e,t){let{colormap:A,displaySetInstanceUID:n}=t;if((0,es.TF)(e)&&e.setProperties({colormap:A}),(0,es.tO)(e)){let t=e.getAllVolumeIds().find(e=>e.includes(n))??e.getVolumeId();e.setProperties({colormap:A},t)}},setPreset(e,t){e.setProperties({preset:t})},setVolumeRenderingQuality(e,t){let A=e.getActors()[0];if(!A)return;let{actor:n}=A,r=n.getMapper(),o=r.getInputData(),i=o.getDimensions(),s=o.getSpacing(),a=nR.vec3.length(nR.vec3.fromValues(i[0]*s[0],i[1]*s[1],i[2]*s[2])),l=s.reduce((e,t)=>e+t)/3,c=a/(l/=t>1?.5*t**2:1)+1;r.setMaximumSamplesPerRay(c),r.setSampleDistance(l)},shiftVolumeOpacityPoints(e,t){let A=e.getActors()[0];if(!A)return;let{actor:n}=A,r=n.getProperty().getScalarOpacity(0),o=[],i=r.getSize();for(let e=0;e<i;e++){let t=[0,0,0,0];r.getNodeValue(e,t),o.push(t)}o.forEach(e=>{e[0]+=t}),r.removeAllPoints(),o.forEach(e=>{r.addPoint(...e)})},setVolumeLighting(e,t){let A=e.getActors()[0];if(!A)return;let{actor:n}=A,r=n.getProperty();void 0!==t.shade&&r.setShade(t.shade),void 0!==t.ambient&&r.setAmbient(t.ambient),void 0!==t.diffuse&&r.setDiffuse(t.diffuse),void 0!==t.specular&&r.setSpecular(t.specular)}},nH={flipHorizontal(e,t="toggle"){let A=(0,nL.qU)(e),n="toggle"===t?!A.getViewState().flipHorizontal:t;A.setViewState({flipHorizontal:n})},flipVertical(e,t="toggle"){let A=(0,nL.qU)(e),n="toggle"===t?!A.getViewState().flipVertical:t;A.setViewState({flipVertical:n})},invert(e){let t=(0,nL.qU)(e),{invert:A}=t.getPresentation();t.setPresentation({invert:!A})},rotate(e,t,A="apply"){let n=(0,nL.qU)(e),r=n.getViewState(),o=r.rotation??0,i="apply"===A?(o+t+360)%360:(((+!!r.flipHorizontal+ +!!r.flipVertical)%2==1?-t:t)+360)%360;n.setViewState({rotation:i})},reset(e){e.resetDisplaySetPresentation?.(),e.resetViewState?.()},scaleBy(e,t){t?e.getZoom&&e.setZoom&&e.setZoom(e.getZoom()/(t>0?.9:1.1)):e.resetViewState?.({resetOrientation:!1})},getViewPlaneNormal:e=>(0,nL.qU)(e).getViewPlaneNormal(),centerOnMeasurement:()=>!1,setWindowLevel(e,t){let{lower:A,upper:n}=L.utilities.windowLevel.toLowHighRange(t.windowWidth,t.windowCenter);(0,nL.qU)(e).setPresentation({voiRange:{upper:n,lower:A}},t.displaySetInstanceUID)},setColormap(e,t){(0,nL.qU)(e).setPresentation({colormap:t.colormap},t.displaySetInstanceUID)},setPreset(e,t){let A=L.CONSTANTS.VIEWPORT_PRESETS?.find(e=>e.name===t),n=e.getDefaultActor?.()?.actor;A&&n&&L.utilities.applyPreset(n,A)},setVolumeRenderingQuality(e,t){nN.setVolumeRenderingQuality(e,t)},shiftVolumeOpacityPoints(e,t){nN.shiftVolumeOpacityPoints(e,t)},setVolumeLighting(e,t){nN.setVolumeLighting(e,t)}};function n_(e){return(0,nL.Is)(e)?nH:nN}let nk=e=>n_(e).getViewPlaneNormal(e);var nP=x(2140),nj=x(6739);x(1978);let nG=(0,nj.vt)()(e=>({selectedSegmentationsForViewport:{},type:"selectedSegmentationsForViewportId",setSelectedSegmentationsForViewport:(t,A)=>e(e=>({selectedSegmentationsForViewport:{...e.selectedSegmentationsForViewport,[t]:A}}),!1,"setSelectedSegmentationsForViewport"),clearSelectedSegmentationsForViewportStore:()=>e({selectedSegmentationsForViewport:{}},!1,"clearSelectedSegmentationsForViewportStore")}));var nK=function(e,t){return(nK=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var A in t)Object.prototype.hasOwnProperty.call(t,A)&&(e[A]=t[A])})(e,t)};function nW(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function A(){this.constructor=e}nK(e,t),e.prototype=null===t?Object.create(t):(A.prototype=t.prototype,new A)}var nY=function(){return(nY=Object.assign||function(e){for(var t,A=1,n=arguments.length;A<n;A++)for(var r in t=arguments[A])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function nz(e,t,A,n){return new(A||(A=Promise))(function(r,o){function i(e){try{a(n.next(e))}catch(e){o(e)}}function s(e){try{a(n.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?r(e.value):((t=e.value)instanceof A?t:new A(function(e){e(t)})).then(i,s)}a((n=n.apply(e,t||[])).next())})}function nX(e,t){var A,n,r,o,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){var a=[o,s];if(A)throw TypeError("Generator is already executing.");for(;i;)try{if(A=1,n&&(r=2&a[0]?n.return:a[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,a[1])).done)return r;switch(n=0,r&&(a=[2&a[0],r.value]),a[0]){case 0:case 1:r=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(r=(r=i.trys).length>0&&r[r.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!r||a[1]>r[0]&&a[1]<r[3])){i.label=a[1];break}if(6===a[0]&&i.label<r[1]){i.label=r[1],r=a;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(a);break}r[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],n=0}finally{A=r=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}}function nJ(e,t,A){if(A||2==arguments.length)for(var n,r=0,o=t.length;r<o;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||t)}for(var nq=function(){function e(e,t,A,n){this.left=e,this.top=t,this.width=A,this.height=n}return e.prototype.add=function(t,A,n,r){return new e(this.left+t,this.top+A,this.width+n,this.height+r)},e.fromClientRect=function(t,A){return new e(A.left+t.windowBounds.left,A.top+t.windowBounds.top,A.width,A.height)},e.fromDOMRectList=function(t,A){var n=Array.from(A).find(function(e){return 0!==e.width});return n?new e(n.left+t.windowBounds.left,n.top+t.windowBounds.top,n.width,n.height):e.EMPTY},e.EMPTY=new e(0,0,0,0),e}(),n$=function(e,t){return nq.fromClientRect(e,t.getBoundingClientRect())},nZ=function(e){var t=e.body,A=e.documentElement;if(!t||!A)throw Error("Unable to get document size");return new nq(0,0,Math.max(Math.max(t.scrollWidth,A.scrollWidth),Math.max(t.offsetWidth,A.offsetWidth),Math.max(t.clientWidth,A.clientWidth)),Math.max(Math.max(t.scrollHeight,A.scrollHeight),Math.max(t.offsetHeight,A.offsetHeight),Math.max(t.clientHeight,A.clientHeight)))},n0=function(e){for(var t=[],A=0,n=e.length;A<n;){var r=e.charCodeAt(A++);if(r>=55296&&r<=56319&&A<n){var o=e.charCodeAt(A++);(64512&o)==56320?t.push(((1023&r)<<10)+(1023&o)+65536):(t.push(r),A--)}else t.push(r)}return t},n1=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var A=e.length;if(!A)return"";for(var n=[],r=-1,o="";++r<A;){var i=e[r];i<=65535?n.push(i):(i-=65536,n.push((i>>10)+55296,i%1024+56320)),(r+1===A||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},n3="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n2="u"<typeof Uint8Array?[]:new Uint8Array(256),n4=0;n4<n3.length;n4++)n2[n3.charCodeAt(n4)]=n4;for(var n6="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n9="u"<typeof Uint8Array?[]:new Uint8Array(256),n8=0;n8<n6.length;n8++)n9[n6.charCodeAt(n8)]=n8;for(var n5=2112,n7=function(e,t,A){return e.slice?e.slice(t,A):new Uint16Array(Array.prototype.slice.call(e,t,A))},re=function(){function e(e,t,A,n,r,o){this.initialValue=e,this.errorValue=t,this.highStart=A,this.highValueIndex=n,this.index=r,this.data=o}return e.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e<this.highStart)return t=n5-32+(e>>11),t=this.index[t]+(e>>5&63),t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),rt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",rA="u"<typeof Uint8Array?[]:new Uint8Array(256),rn=0;rn<rt.length;rn++)rA[rt.charCodeAt(rn)]=rn;var rr=[9001,65288],ro=(n=Array.isArray(A=function(e){var t,A,n,r,o,i=.75*e.length,s=e.length,a=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var l="u">typeof ArrayBuffer&&"u">typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):Array(i),c=Array.isArray(l)?l:new Uint8Array(l);for(t=0;t<s;t+=4)A=n9[e.charCodeAt(t)],n=n9[e.charCodeAt(t+1)],r=n9[e.charCodeAt(t+2)],o=n9[e.charCodeAt(t+3)],c[a++]=A<<2|n>>4,c[a++]=(15&n)<<4|r>>2,c[a++]=(3&r)<<6|63&o;return l}("KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=="))?function(e){for(var t=e.length,A=[],n=0;n<t;n+=4)A.push(e[n+3]<<24|e[n+2]<<16|e[n+1]<<8|e[n]);return A}(A):new Uint32Array(A),o=n7(r=Array.isArray(A)?function(e){for(var t=e.length,A=[],n=0;n<t;n+=2)A.push(e[n+1]<<8|e[n]);return A}(A):new Uint16Array(A),12,n[4]/2),s=2===n[5]?n7(r,(24+n[4])/2):(i=Math.ceil((24+n[4])/4),n.slice?n.slice(i,void 0):new Uint32Array(Array.prototype.slice.call(n,i,void 0))),new re(n[0],n[1],n[2],n[3],o,s)),ri=[30,36],rs=[1,2,3,5],ra=[10,8],rl=[27,26],rc=rs.concat(ra),ru=[38,39,40,34,35],rd=[15,13],rp=function(e,t){void 0===t&&(t="strict");var A=[],n=[],r=[];return e.forEach(function(e,o){var i=ro.get(e);if(i>50?(r.push(!0),i-=50):r.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return n.push(o),A.push(16);if(4===i||11===i){if(0===o)return n.push(o),A.push(30);var s=A[o-1];return -1===rc.indexOf(s)?(n.push(n[o-1]),A.push(s)):(n.push(o),A.push(30))}if(n.push(o),31===i)return A.push("strict"===t?21:37);if(42===i||29===i)return A.push(30);if(43===i)if(e>=131072&&e<=196605||e>=196608&&e<=262141)return A.push(37);else return A.push(30);A.push(i)}),[n,A,r]},rg=function(e,t,A,n){var r=n[A];if(Array.isArray(e)?-1!==e.indexOf(r):e===r)for(var o=A;o<=n.length;){var i=n[++o];if(i===t)return!0;if(10!==i)break}if(10===r)for(var o=A;o>0;){var s=n[--o];if(Array.isArray(e)?-1!==e.indexOf(s):e===s)for(var a=A;a<=n.length;){var i=n[++a];if(i===t)return!0;if(10!==i)break}if(10!==s)break}return!1},rm=function(e,t){for(var A=e;A>=0;){var n=t[A];if(10!==n)return n;A--}return 0},rh=function(e,t,A,n,r){if(0===A[n])return"×";var o=n-1;if(Array.isArray(r)&&!0===r[o])return"×";var i=o-1,s=o+1,a=t[o],l=i>=0?t[i]:0,c=t[s];if(2===a&&3===c)return"×";if(-1!==rs.indexOf(a))return"!";if(-1!==rs.indexOf(c)||-1!==ra.indexOf(c))return"×";if(8===rm(o,t))return"÷";if(11===ro.get(e[o])||(32===a||33===a)&&11===ro.get(e[s])||7===a||7===c||9===a||-1===[10,13,15].indexOf(a)&&9===c||-1!==[17,18,19,24,28].indexOf(c)||22===rm(o,t)||rg(23,22,o,t)||rg([17,18],21,o,t)||rg(12,12,o,t))return"×";if(10===a)return"÷";if(23===a||23===c)return"×";if(16===c||16===a)return"÷";if(-1!==[13,15,21].indexOf(c)||14===a||36===l&&-1!==rd.indexOf(a)||28===a&&36===c||20===c||-1!==ri.indexOf(c)&&25===a||-1!==ri.indexOf(a)&&25===c||27===a&&-1!==[37,32,33].indexOf(c)||-1!==[37,32,33].indexOf(a)&&26===c||-1!==ri.indexOf(a)&&-1!==rl.indexOf(c)||-1!==rl.indexOf(a)&&-1!==ri.indexOf(c)||-1!==[27,26].indexOf(a)&&(25===c||-1!==[22,15].indexOf(c)&&25===t[s+1])||-1!==[22,15].indexOf(a)&&25===c||25===a&&-1!==[25,28,24].indexOf(c))return"×";if(-1!==[25,28,24,17,18].indexOf(c))for(var u=o;u>=0;){var d=t[u];if(25===d)return"×";if(-1!==[28,24].indexOf(d))u--;else break}if(-1!==[27,26].indexOf(c))for(var u=-1!==[17,18].indexOf(a)?i:o;u>=0;){var d=t[u];if(25===d)return"×";if(-1!==[28,24].indexOf(d))u--;else break}if(38===a&&-1!==[38,39,34,35].indexOf(c)||-1!==[39,34].indexOf(a)&&-1!==[39,40].indexOf(c)||-1!==[40,35].indexOf(a)&&40===c||-1!==ru.indexOf(a)&&-1!==[20,26].indexOf(c)||-1!==ru.indexOf(c)&&27===a||-1!==ri.indexOf(a)&&-1!==ri.indexOf(c)||24===a&&-1!==ri.indexOf(c)||-1!==ri.concat(25).indexOf(a)&&22===c&&-1===rr.indexOf(e[s])||-1!==ri.concat(25).indexOf(c)&&18===a)return"×";if(41===a&&41===c){for(var p=A[o],g=1;p>0;)if(41===t[--p])g++;else break;if(g%2!=0)return"×"}return 32===a&&33===c?"×":"÷"},rf=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var A=rp(e,t.lineBreak),n=A[0],r=A[1],o=A[2];return("break-all"===t.wordBreak||"break-word"===t.wordBreak)&&(r=r.map(function(e){return -1!==[25,30,42].indexOf(e)?37:e})),[n,r,"keep-all"===t.wordBreak?o.map(function(t,A){return t&&e[A]>=19968&&e[A]<=40959}):void 0]},rw=function(){function e(e,t,A,n){this.codePoints=e,this.required="!"===t,this.start=A,this.end=n}return e.prototype.slice=function(){return n1.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),rB=function(e,t){var A=n0(e),n=rf(A,t),r=n[0],o=n[1],i=n[2],s=A.length,a=0,l=0;return{next:function(){if(l>=s)return{done:!0,value:null};for(var e="×";l<s&&"×"===(e=rh(A,o,r,++l,i)););if("×"!==e||l===s){var t=new rw(A,e,a,l);return a=l,{value:t,done:!1}}return{done:!0,value:null}}}},ry=function(e){return e>=48&&e<=57},rv=function(e){return ry(e)||e>=65&&e<=70||e>=97&&e<=102},rS=function(e){return e>=97&&e<=122||e>=65&&e<=90},rC=function(e){return 10===e||9===e||32===e},rI=function(e){return rS(e)||e>=128||95===e},rb=function(e){return rI(e)||ry(e)||45===e},rU=function(e,t){return 92===e&&10!==t},rE=function(e,t,A){return 45===e?rI(t)||rU(t,A):!!(rI(e)||92===e&&rU(e,t))||!1},rF=function(e,t,A){return 43===e||45===e?!!ry(t)||46===t&&ry(A):46===e?ry(t):ry(e)},rQ=function(e){var t=0,A=1;(43===e[0]||45===e[t])&&(45===e[t]&&(A=-1),t++);for(var n=[];ry(e[t]);)n.push(e[t++]);var r=n.length?parseInt(n1.apply(void 0,n),10):0;46===e[t]&&t++;for(var o=[];ry(e[t]);)o.push(e[t++]);var i=o.length,s=i?parseInt(n1.apply(void 0,o),10):0;(69===e[t]||101===e[t])&&t++;var a=1;(43===e[t]||45===e[t])&&(45===e[t]&&(a=-1),t++);for(var l=[];ry(e[t]);)l.push(e[t++]);return A*(r+s*Math.pow(10,-i))*Math.pow(10,a*(l.length?parseInt(n1.apply(void 0,l),10):0))},rT={type:2},rD={type:3},rx={type:4},rO={type:13},rM={type:8},rL={type:21},rR={type:9},rV={type:10},rN={type:11},rH={type:12},r_={type:14},rk={type:23},rP={type:1},rj={type:25},rG={type:24},rK={type:26},rW={type:27},rY={type:28},rz={type:29},rX={type:31},rJ={type:32},rq=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(n0(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==rJ;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),A=this.peekCodePoint(1),n=this.peekCodePoint(2);if(rb(t)||rU(A,n)){var r=rE(t,A,n)?2:1,o=this.consumeName();return{type:5,value:o,flags:r}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rO;break;case 39:return this.consumeStringToken(39);case 40:return rT;case 41:return rD;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),r_;break;case 43:case 46:if(rF(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return rx;case 45:var i=this.peekCodePoint(0),s=this.peekCodePoint(1);if(rF(e,i,s))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(rE(e,i,s))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===i&&62===s)return this.consumeCodePoint(),this.consumeCodePoint(),rG;break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var a=this.consumeCodePoint();if(42===a&&47===(a=this.consumeCodePoint())||-1===a)return this.consumeToken()}break;case 58:return rK;case 59:return rW;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),rj;break;case 64:if(rE(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var o=this.consumeName();return{type:7,value:o}}break;case 91:return rY;case 92:if(rU(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return rz;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rM;break;case 123:return rN;case 125:return rH;case 117:case 85:var l=this.peekCodePoint(0),c=this.peekCodePoint(1);return 43===l&&(rv(c)||63===c)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rR;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),rL;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rV;break;case -1:return rJ}return rC(e)?(this.consumeWhiteSpace(),rX):ry(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):rI(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:n1(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();rv(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var A=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),A=!0;if(A){var n=parseInt(n1.apply(void 0,e.map(function(e){return 63===e?48:e})),16),r=parseInt(n1.apply(void 0,e.map(function(e){return 63===e?70:e})),16);return{type:30,start:n,end:r}}var o=parseInt(n1.apply(void 0,e),16);if(!(45===this.peekCodePoint(0)&&rv(this.peekCodePoint(1))))return{type:30,start:o,end:o};this.consumeCodePoint(),t=this.consumeCodePoint();for(var i=[];rv(t)&&i.length<6;)i.push(t),t=this.consumeCodePoint();var r=parseInt(n1.apply(void 0,i),16);return{type:30,start:o,end:r}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var A=this.consumeStringToken(this.consumeCodePoint());return 0===A.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:A.value}):(this.consumeBadUrlRemnants(),rk)}for(;;){var n,r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:n1.apply(void 0,e)};if(rC(r)){if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))return this.consumeCodePoint(),{type:22,value:n1.apply(void 0,e)};return this.consumeBadUrlRemnants(),rk}if(34===r||39===r||40===r||(n=r)>=0&&n<=8||11===n||n>=14&&n<=31||127===n)return this.consumeBadUrlRemnants(),rk;if(92===r)if(!rU(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),rk;else e.push(this.consumeEscapedCodePoint());else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;rC(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;rU(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var A=Math.min(5e4,e);t+=n1.apply(void 0,this._value.splice(0,A)),e-=A}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",A=0;;){var n=this._value[A];if(-1===n||void 0===n||n===e)return{type:0,value:t+=this.consumeStringSlice(A)};if(10===n)return this._value.splice(0,A),rP;if(92===n){var r=this._value[A+1];-1!==r&&void 0!==r&&(10===r?(t+=this.consumeStringSlice(A),A=-1,this._value.shift()):rU(n,r)&&(t+=this.consumeStringSlice(A),t+=n1(this.consumeEscapedCodePoint()),A=-1))}A++}},e.prototype.consumeNumber=function(){var e=[],t=4,A=this.peekCodePoint(0);for((43===A||45===A)&&e.push(this.consumeCodePoint());ry(this.peekCodePoint(0));)e.push(this.consumeCodePoint());A=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(46===A&&ry(n))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;ry(this.peekCodePoint(0));)e.push(this.consumeCodePoint());A=this.peekCodePoint(0),n=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((69===A||101===A)&&((43===n||45===n)&&ry(r)||ry(n)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;ry(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[rQ(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],A=e[1],n=this.peekCodePoint(0);return rE(n,this.peekCodePoint(1),this.peekCodePoint(2))?{type:15,number:t,flags:A,unit:this.consumeName()}:37===n?(this.consumeCodePoint(),{type:16,number:t,flags:A}):{type:17,number:t,flags:A}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(rv(e)){for(var t=n1(e);rv(this.peekCodePoint(0))&&t.length<6;)t+=n1(this.consumeCodePoint());rC(this.peekCodePoint(0))&&this.consumeCodePoint();var A=parseInt(t,16);return 0===A||A>=55296&&A<=57343||A>1114111?65533:A}return -1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(rb(t))e+=n1(t);else{if(!rU(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=n1(this.consumeEscapedCodePoint())}}},e}(),r$=function(){function e(e){this._tokens=e}return e.create=function(t){var A=new rq;return A.write(t),new e(A.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do e=this.consumeToken();while(31===e.type)if(32===e.type)return t;throw SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},A=this.consumeToken();;){if(32===A.type||r8(A,e))return t;this.reconsumeToken(A),t.values.push(this.consumeComponentValue()),A=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var A=this.consumeToken();if(32===A.type||3===A.type)return t;this.reconsumeToken(A),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?rJ:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),rZ=function(e){return 15===e.type},r0=function(e){return 17===e.type},r1=function(e){return 20===e.type},r3=function(e){return 0===e.type},r2=function(e,t){return r1(e)&&e.value===t},r4=function(e){return 31!==e.type},r6=function(e){return 31!==e.type&&4!==e.type},r9=function(e){var t=[],A=[];return e.forEach(function(e){if(4===e.type){if(0===A.length)throw Error("Error parsing function args, zero tokens for arg");t.push(A),A=[];return}31!==e.type&&A.push(e)}),A.length&&t.push(A),t},r8=function(e,t){return 11===t&&12===e.type||28===t&&29===e.type||2===t&&3===e.type},r5=function(e){return 17===e.type||15===e.type},r7=function(e){return 16===e.type||r5(e)},oe=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},ot={type:17,number:0,flags:4},oA={type:16,number:50,flags:4},on={type:16,number:100,flags:4},or=function(e,t,A){var n=e[0],r=e[1];return[oo(n,t),oo(void 0!==r?r:n,A)]},oo=function(e,t){if(16===e.type)return e.number/100*t;if(rZ(e))switch(e.unit){case"rem":case"em":return 16*e.number}return e.number},oi="grad",os="turn",oa=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case oi:return Math.PI/200*t.number;case"rad":return t.number;case os:return 2*Math.PI*t.number}throw Error("Unsupported angle type")},ol=function(e){return 15===e.type&&("deg"===e.unit||e.unit===oi||"rad"===e.unit||e.unit===os)},oc=function(e){switch(e.filter(r1).map(function(e){return e.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[ot,ot];case"to top":case"bottom":return ou(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[ot,on];case"to right":case"left":return ou(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[on,on];case"to bottom":case"top":return ou(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[on,ot];case"to left":case"right":return ou(270)}return 0},ou=function(e){return Math.PI*e/180},od=function(e,t){if(18===t.type){var A=oy[t.name];if(void 0===A)throw Error('Attempting to parse an unsupported color function "'+t.name+'"');return A(e,t.values)}if(5===t.type){if(3===t.value.length){var n=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);return om(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),1)}if(4===t.value.length){var n=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3),i=t.value.substring(3,4);return om(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),parseInt(i+i,16)/255)}if(6===t.value.length){var n=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6);return om(parseInt(n,16),parseInt(r,16),parseInt(o,16),1)}if(8===t.value.length){var n=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6),i=t.value.substring(6,8);return om(parseInt(n,16),parseInt(r,16),parseInt(o,16),parseInt(i,16)/255)}}if(20===t.type){var s=oS[t.value.toUpperCase()];if(void 0!==s)return s}return oS.TRANSPARENT},op=function(e){return(255&e)==0},og=function(e){var t=255&e,A=255&e>>8,n=255&e>>16,r=255&e>>24;return t<255?"rgba("+r+","+n+","+A+","+t/255+")":"rgb("+r+","+n+","+A+")"},om=function(e,t,A,n){return(e<<24|t<<16|A<<8|(0|Math.round(255*n)))>>>0},oh=function(e,t){if(17===e.type)return e.number;if(16===e.type){var A=3===t?1:255;return 3===t?e.number/100*A:Math.round(e.number/100*A)}return 0},of=function(e,t){var A=t.filter(r6);if(3===A.length){var n=A.map(oh),r=n[0],o=n[1],i=n[2];return om(r,o,i,1)}if(4===A.length){var s=A.map(oh),r=s[0],o=s[1],i=s[2];return om(r,o,i,s[3])}return 0};function ow(e,t,A){return(A<0&&(A+=1),A>=1&&(A-=1),A<1/6)?(t-e)*A*6+e:A<.5?t:A<2/3?(t-e)*6*(2/3-A)+e:e}var oB=function(e,t){var A=t.filter(r6),n=A[0],r=A[1],o=A[2],i=A[3],s=(17===n.type?ou(n.number):oa(e,n))/(2*Math.PI),a=r7(r)?r.number/100:0,l=r7(o)?o.number/100:0,c=void 0!==i&&r7(i)?oo(i,1):1;if(0===a)return om(255*l,255*l,255*l,1);var u=l<=.5?l*(a+1):l+a-l*a,d=2*l-u;return om(255*ow(d,u,s+1/3),255*ow(d,u,s),255*ow(d,u,s-1/3),c)},oy={hsl:oB,hsla:oB,rgb:of,rgba:of},ov=function(e,t){return od(e,r$.create(t).parseComponentValue())},oS={ALICEBLUE:0xf0f8ffff,ANTIQUEWHITE:0xfaebd7ff,AQUA:0xffffff,AQUAMARINE:0x7fffd4ff,AZURE:0xf0ffffff,BEIGE:0xf5f5dcff,BISQUE:0xffe4c4ff,BLACK:255,BLANCHEDALMOND:0xffebcdff,BLUE:65535,BLUEVIOLET:0x8a2be2ff,BROWN:0xa52a2aff,BURLYWOOD:0xdeb887ff,CADETBLUE:0x5f9ea0ff,CHARTREUSE:0x7fff00ff,CHOCOLATE:0xd2691eff,CORAL:0xff7f50ff,CORNFLOWERBLUE:0x6495edff,CORNSILK:0xfff8dcff,CRIMSON:0xdc143cff,CYAN:0xffffff,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:0xb886bbff,DARKGRAY:0xa9a9a9ff,DARKGREEN:6553855,DARKGREY:0xa9a9a9ff,DARKKHAKI:0xbdb76bff,DARKMAGENTA:0x8b008bff,DARKOLIVEGREEN:0x556b2fff,DARKORANGE:0xff8c00ff,DARKORCHID:0x9932ccff,DARKRED:0x8b0000ff,DARKSALMON:0xe9967aff,DARKSEAGREEN:0x8fbc8fff,DARKSLATEBLUE:0x483d8bff,DARKSLATEGRAY:0x2f4f4fff,DARKSLATEGREY:0x2f4f4fff,DARKTURQUOISE:0xced1ff,DARKVIOLET:0x9400d3ff,DEEPPINK:0xff1493ff,DEEPSKYBLUE:0xbfffff,DIMGRAY:0x696969ff,DIMGREY:0x696969ff,DODGERBLUE:0x1e90ffff,FIREBRICK:0xb22222ff,FLORALWHITE:0xfffaf0ff,FORESTGREEN:0x228b22ff,FUCHSIA:0xff00ffff,GAINSBORO:0xdcdcdcff,GHOSTWHITE:0xf8f8ffff,GOLD:0xffd700ff,GOLDENROD:0xdaa520ff,GRAY:0x808080ff,GREEN:8388863,GREENYELLOW:0xadff2fff,GREY:0x808080ff,HONEYDEW:0xf0fff0ff,HOTPINK:0xff69b4ff,INDIANRED:0xcd5c5cff,INDIGO:0x4b0082ff,IVORY:0xfffff0ff,KHAKI:0xf0e68cff,LAVENDER:0xe6e6faff,LAVENDERBLUSH:0xfff0f5ff,LAWNGREEN:0x7cfc00ff,LEMONCHIFFON:0xfffacdff,LIGHTBLUE:0xadd8e6ff,LIGHTCORAL:0xf08080ff,LIGHTCYAN:0xe0ffffff,LIGHTGOLDENRODYELLOW:0xfafad2ff,LIGHTGRAY:0xd3d3d3ff,LIGHTGREEN:0x90ee90ff,LIGHTGREY:0xd3d3d3ff,LIGHTPINK:0xffb6c1ff,LIGHTSALMON:0xffa07aff,LIGHTSEAGREEN:0x20b2aaff,LIGHTSKYBLUE:0x87cefaff,LIGHTSLATEGRAY:0x778899ff,LIGHTSLATEGREY:0x778899ff,LIGHTSTEELBLUE:0xb0c4deff,LIGHTYELLOW:0xffffe0ff,LIME:0xff00ff,LIMEGREEN:0x32cd32ff,LINEN:0xfaf0e6ff,MAGENTA:0xff00ffff,MAROON:0x800000ff,MEDIUMAQUAMARINE:0x66cdaaff,MEDIUMBLUE:52735,MEDIUMORCHID:0xba55d3ff,MEDIUMPURPLE:0x9370dbff,MEDIUMSEAGREEN:0x3cb371ff,MEDIUMSLATEBLUE:0x7b68eeff,MEDIUMSPRINGGREEN:0xfa9aff,MEDIUMTURQUOISE:0x48d1ccff,MEDIUMVIOLETRED:0xc71585ff,MIDNIGHTBLUE:0x191970ff,MINTCREAM:0xf5fffaff,MISTYROSE:0xffe4e1ff,MOCCASIN:0xffe4b5ff,NAVAJOWHITE:0xffdeadff,NAVY:33023,OLDLACE:0xfdf5e6ff,OLIVE:0x808000ff,OLIVEDRAB:0x6b8e23ff,ORANGE:0xffa500ff,ORANGERED:0xff4500ff,ORCHID:0xda70d6ff,PALEGOLDENROD:0xeee8aaff,PALEGREEN:0x98fb98ff,PALETURQUOISE:0xafeeeeff,PALEVIOLETRED:0xdb7093ff,PAPAYAWHIP:0xffefd5ff,PEACHPUFF:0xffdab9ff,PERU:0xcd853fff,PINK:0xffc0cbff,PLUM:0xdda0ddff,POWDERBLUE:0xb0e0e6ff,PURPLE:0x800080ff,REBECCAPURPLE:0x663399ff,RED:0xff0000ff,ROSYBROWN:0xbc8f8fff,ROYALBLUE:0x4169e1ff,SADDLEBROWN:0x8b4513ff,SALMON:0xfa8072ff,SANDYBROWN:0xf4a460ff,SEAGREEN:0x2e8b57ff,SEASHELL:0xfff5eeff,SIENNA:0xa0522dff,SILVER:0xc0c0c0ff,SKYBLUE:0x87ceebff,SLATEBLUE:0x6a5acdff,SLATEGRAY:0x708090ff,SLATEGREY:0x708090ff,SNOW:0xfffafaff,SPRINGGREEN:0xff7fff,STEELBLUE:0x4682b4ff,TAN:0xd2b48cff,TEAL:8421631,THISTLE:0xd8bfd8ff,TOMATO:0xff6347ff,TRANSPARENT:0,TURQUOISE:0x40e0d0ff,VIOLET:0xee82eeff,WHEAT:0xf5deb3ff,WHITE:0xffffffff,WHITESMOKE:0xf5f5f5ff,YELLOW:0xffff00ff,YELLOWGREEN:0x9acd32ff},oC={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(r1(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},oI={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ob=function(e,t){var A=od(e,t[0]),n=t[1];return n&&r7(n)?{color:A,stop:n}:{color:A,stop:null}},oU=function(e,t){var A=e[0],n=e[e.length-1];null===A.stop&&(A.stop=ot),null===n.stop&&(n.stop=on);for(var r=[],o=0,i=0;i<e.length;i++){var s=e[i].stop;if(null!==s){var a=oo(s,t);a>o?r.push(a):r.push(o),o=a}else r.push(null)}for(var l=null,i=0;i<r.length;i++){var c=r[i];if(null===c)null===l&&(l=i);else if(null!==l){for(var u=i-l,d=(c-r[l-1])/(u+1),p=1;p<=u;p++)r[l+p-1]=d*p;l=null}}return e.map(function(e,A){return{color:e.color,stop:Math.max(Math.min(1,r[A]/t),0)}})},oE=function(e,t,A){var n=t/2,r=A/2,o=oo(e[0],t)-n;return(Math.atan2(r-oo(e[1],A),o)+2*Math.PI)%(2*Math.PI)},oF=function(e,t,A){var n="number"==typeof e?e:oE(e,t,A),r=Math.abs(t*Math.sin(n))+Math.abs(A*Math.cos(n)),o=t/2,i=A/2,s=r/2,a=Math.sin(n-Math.PI/2)*s,l=Math.cos(n-Math.PI/2)*s;return[r,o-l,o+l,i-a,i+a]},oQ=function(e,t){return Math.sqrt(e*e+t*t)},oT=function(e,t,A,n,r){return[[0,0],[0,t],[e,0],[e,t]].reduce(function(e,t){var o=oQ(A-t[0],n-t[1]);return(r?o<e.optimumDistance:o>e.optimumDistance)?{optimumCorner:t,optimumDistance:o}:e},{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},oD=function(e,t,A,n,r){var o=0,i=0;switch(e.size){case 0:0===e.shape?o=i=Math.min(Math.abs(t),Math.abs(t-n),Math.abs(A),Math.abs(A-r)):1===e.shape&&(o=Math.min(Math.abs(t),Math.abs(t-n)),i=Math.min(Math.abs(A),Math.abs(A-r)));break;case 2:if(0===e.shape)o=i=Math.min(oQ(t,A),oQ(t,A-r),oQ(t-n,A),oQ(t-n,A-r));else if(1===e.shape){var s=Math.min(Math.abs(A),Math.abs(A-r))/Math.min(Math.abs(t),Math.abs(t-n)),a=oT(n,r,t,A,!0),l=a[0],c=a[1];o=oQ(l-t,(c-A)/s),i=s*o}break;case 1:0===e.shape?o=i=Math.max(Math.abs(t),Math.abs(t-n),Math.abs(A),Math.abs(A-r)):1===e.shape&&(o=Math.max(Math.abs(t),Math.abs(t-n)),i=Math.max(Math.abs(A),Math.abs(A-r)));break;case 3:if(0===e.shape)o=i=Math.max(oQ(t,A),oQ(t,A-r),oQ(t-n,A),oQ(t-n,A-r));else if(1===e.shape){var s=Math.max(Math.abs(A),Math.abs(A-r))/Math.max(Math.abs(t),Math.abs(t-n)),u=oT(n,r,t,A,!1),l=u[0],c=u[1];o=oQ(l-t,(c-A)/s),i=s*o}}return Array.isArray(e.size)&&(o=oo(e.size[0],n),i=2===e.size.length?oo(e.size[1],r):o),[o,i]},ox=function(e,t){var A=ou(180),n=[];return r9(t).forEach(function(t,r){if(0===r){var o=t[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value)){A=oc(t);return}if(ol(o)){A=(oa(e,o)+ou(270))%ou(360);return}}var i=ob(e,t);n.push(i)}),{angle:A,stops:n,type:1}},oO="closest-side",oM="farthest-side",oL="closest-corner",oR="farthest-corner",oV="circle",oN="ellipse",oH="cover",o_="contain",ok=function(e,t){var A=0,n=3,r=[],o=[];return r9(t).forEach(function(t,i){var s=!0;if(0===i?s=t.reduce(function(e,t){if(r1(t))switch(t.value){case"center":return o.push(oA),!1;case"top":case"left":return o.push(ot),!1;case"right":case"bottom":return o.push(on),!1}else if(r7(t)||r5(t))return o.push(t),!1;return e},s):1===i&&(s=t.reduce(function(e,t){if(r1(t))switch(t.value){case oV:return A=0,!1;case oN:return A=1,!1;case o_:case oO:return n=0,!1;case oM:return n=1,!1;case oL:return n=2,!1;case oH:case oR:return n=3,!1}else if(r5(t)||r7(t))return Array.isArray(n)||(n=[]),n.push(t),!1;return e},s)),s){var a=ob(e,t);r.push(a)}}),{size:n,shape:A,stops:r,position:o,type:2}},oP=function(e,t){if(22===t.type){var A={url:t.value,type:0};return e.cache.addImage(t.value),A}if(18===t.type){var n=oj[t.name];if(void 0===n)throw Error('Attempting to parse an unsupported image function "'+t.name+'"');return n(e,t.values)}throw Error("Unsupported image type "+t.type)},oj={"linear-gradient":function(e,t){var A=ou(180),n=[];return r9(t).forEach(function(t,r){if(0===r){var o=t[0];if(20===o.type&&"to"===o.value){A=oc(t);return}if(ol(o)){A=oa(e,o);return}}var i=ob(e,t);n.push(i)}),{angle:A,stops:n,type:1}},"-moz-linear-gradient":ox,"-ms-linear-gradient":ox,"-o-linear-gradient":ox,"-webkit-linear-gradient":ox,"radial-gradient":function(e,t){var A=0,n=3,r=[],o=[];return r9(t).forEach(function(t,i){var s=!0;if(0===i){var a=!1;s=t.reduce(function(e,t){if(a)if(r1(t))switch(t.value){case"center":o.push(oA);break;case"top":case"left":o.push(ot);break;case"right":case"bottom":o.push(on)}else(r7(t)||r5(t))&&o.push(t);else if(r1(t))switch(t.value){case oV:return A=0,!1;case oN:return A=1,!1;case"at":return a=!0,!1;case oO:return n=0,!1;case oH:case oM:return n=1,!1;case o_:case oL:return n=2,!1;case oR:return n=3,!1}else if(r5(t)||r7(t))return Array.isArray(n)||(n=[]),n.push(t),!1;return e},s)}if(s){var l=ob(e,t);r.push(l)}}),{size:n,shape:A,stops:r,position:o,type:2}},"-moz-radial-gradient":ok,"-ms-radial-gradient":ok,"-o-radial-gradient":ok,"-webkit-radial-gradient":ok,"-webkit-gradient":function(e,t){var A=ou(180),n=[],r=1;return r9(t).forEach(function(t,A){var o=t[0];if(0===A){if(r1(o)&&"linear"===o.value){r=1;return}else if(r1(o)&&"radial"===o.value){r=2;return}}if(18===o.type){if("from"===o.name){var i=od(e,o.values[0]);n.push({stop:ot,color:i})}else if("to"===o.name){var i=od(e,o.values[0]);n.push({stop:on,color:i})}else if("color-stop"===o.name){var s=o.values.filter(r6);if(2===s.length){var i=od(e,s[1]),a=s[0];r0(a)&&n.push({stop:{type:16,number:100*a.number,flags:a.flags},color:i})}}}}),1===r?{angle:(A+ou(180))%ou(360),stops:n,type:r}:{size:3,shape:0,stops:n,position:[],type:r}}},oG={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var A=t[0];return 20===A.type&&"none"===A.value?[]:t.filter(function(e){var t;return r6(e)&&(20!==(t=e).type||"none"!==t.value)&&(18!==t.type||!!oj[t.name])}).map(function(t){return oP(e,t)})}},oK={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(r1(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},oW={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return r9(t).map(function(e){return e.filter(r7)}).map(oe)}},oY={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return r9(t).map(function(e){return e.filter(r1).map(function(e){return e.value}).join(" ")}).map(oz)}},oz=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};(a=C||(C={})).AUTO="auto",a.CONTAIN="contain",a.COVER="cover";var oX={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return r9(t).map(function(e){return e.filter(oJ)})}},oJ=function(e){return r1(e)||r7(e)},oq=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},o$=oq("top"),oZ=oq("right"),o0=oq("bottom"),o1=oq("left"),o3=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return oe(t.filter(r7))}}},o2=o3("top-left"),o4=o3("top-right"),o6=o3("bottom-right"),o9=o3("bottom-left"),o8=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},o5=o8("top"),o7=o8("right"),ie=o8("bottom"),it=o8("left"),iA=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return rZ(t)?t.number:0}}},ir=iA("top"),io=iA("right"),ii=iA("bottom"),is=iA("left"),ia={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},il={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return+("rtl"===t)}},ic={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(r1).reduce(function(e,t){return e|iu(t.value)},0)}},iu=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 0x1000000;case"inline-block":return 0x2000000;case"inline-list-item":return 0x4000000;case"inline-table":return 0x8000000;case"inline-flex":return 0x10000000;case"inline-grid":return 0x20000000}return 0},id={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},ip={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};(l=I||(I={})).NORMAL="normal",l.STRICT="strict";var ig={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?I.STRICT:I.NORMAL}},im={name:"line-height",initialValue:"normal",prefix:!1,type:4},ih=function(e,t){return r1(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:r7(e)?oo(e,t):t},iw={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:oP(e,t)}},iB={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return+("inside"!==t)}},iy={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return -1}}},iv=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},iS=iv("top"),iC=iv("right"),iI=iv("bottom"),ib=iv("left"),iU={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(r1).map(function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}})}},iE={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},iF=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},iQ=iF("top"),iT=iF("right"),iD=iF("bottom"),ix=iF("left"),iO={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},iM={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},iL={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&r2(t[0],"none")?[]:r9(t).map(function(t){for(var A={color:oS.TRANSPARENT,offsetX:ot,offsetY:ot,blur:ot},n=0,r=0;r<t.length;r++){var o=t[r];r5(o)?(0===n?A.offsetX=o:1===n?A.offsetY=o:A.blur=o,n++):A.color=od(e,o)}return A})}},iR={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},iV={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(e,t){if(20===t.type&&"none"===t.value)return null;if(18===t.type){var A=iN[t.name];if(void 0===A)throw Error('Attempting to parse an unsupported transform function "'+t.name+'"');return A(t.values)}return null}},iN={matrix:function(e){var t=e.filter(function(e){return 17===e.type}).map(function(e){return e.number});return 6===t.length?t:null},matrix3d:function(e){var t=e.filter(function(e){return 17===e.type}).map(function(e){return e.number}),A=t[0],n=t[1];t[2],t[3];var r=t[4],o=t[5];t[6],t[7],t[8],t[9],t[10],t[11];var i=t[12],s=t[13];return t[14],t[15],16===t.length?[A,n,r,o,i,s]:null}},iH={type:16,number:50,flags:4},i_=[iH,iH],ik={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(e,t){var A=t.filter(r7);return 2!==A.length?i_:[A[0],A[1]]}},iP={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"hidden":return 1;case"collapse":return 2;default:return 0}}};(c=b||(b={})).NORMAL="normal",c.BREAK_ALL="break-all",c.KEEP_ALL="keep-all";for(var ij={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){switch(t){case"break-all":return b.BREAK_ALL;case"keep-all":return b.KEEP_ALL;default:return b.NORMAL}}},iG={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(e,t){if(20===t.type)return{auto:!0,order:0};if(r0(t))return{auto:!1,order:t.number};throw Error("Invalid z-index number parsed")}},iK=function(e,t){if(15===t.type)switch(t.unit.toLowerCase()){case"s":return 1e3*t.number;case"ms":return t.number}throw Error("Unsupported time type")},iW={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(e,t){return r0(t)?t.number:1}},iY={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},iz={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(e,t){return t.filter(r1).map(function(e){switch(e.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(e){return 0!==e})}},iX={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(e,t){var A=[],n=[];return t.forEach(function(e){switch(e.type){case 20:case 0:A.push(e.value);break;case 17:A.push(e.number.toString());break;case 4:n.push(A.join(" ")),A.length=0}}),A.length&&n.push(A.join(" ")),n.map(function(e){return -1===e.indexOf(" ")?e:"'"+e+"'"})}},iJ={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},iq={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(e,t){return r0(t)?t.number:r1(t)&&"bold"===t.value?700:400}},i$={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return t.filter(r1).map(function(e){return e.value})}},iZ={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){switch(t){case"oblique":return"oblique";case"italic":return"italic";default:return"normal"}}},i0=function(e,t){return(e&t)!=0},i1={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var A=t[0];return 20===A.type&&"none"===A.value?[]:t}},i3={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(e,t){if(0===t.length)return null;var A=t[0];if(20===A.type&&"none"===A.value)return null;for(var n=[],r=t.filter(r4),o=0;o<r.length;o++){var i=r[o],s=r[o+1];if(20===i.type){var a=s&&r0(s)?s.number:1;n.push({counter:i.value,increment:a})}}return n}},i2={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(e,t){if(0===t.length)return[];for(var A=[],n=t.filter(r4),r=0;r<n.length;r++){var o=n[r],i=n[r+1];if(r1(o)&&"none"!==o.value){var s=i&&r0(i)?i.number:0;A.push({counter:o.value,reset:s})}}return A}},i4={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(e,t){return t.filter(rZ).map(function(t){return iK(e,t)})}},i6={name:"quotes",initialValue:"none",prefix:!0,type:1,parse:function(e,t){if(0===t.length)return null;var A=t[0];if(20===A.type&&"none"===A.value)return null;var n=[],r=t.filter(r3);if(r.length%2!=0)return null;for(var o=0;o<r.length;o+=2){var i=r[o].value,s=r[o+1].value;n.push({open:i,close:s})}return n}},i9=function(e,t,A){if(!e)return"";var n=e[Math.min(t,e.length-1)];return n?A?n.open:n.close:""},i8={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&r2(t[0],"none")?[]:r9(t).map(function(t){for(var A={color:255,offsetX:ot,offsetY:ot,blur:ot,spread:ot,inset:!1},n=0,r=0;r<t.length;r++){var o=t[r];r2(o,"inset")?A.inset=!0:r5(o)?(0===n?A.offsetX=o:1===n?A.offsetY=o:2===n?A.blur=o:A.spread=o,n++):A.color=od(e,o)}return A})}},i5={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(e,t){var A=[];return t.filter(r1).forEach(function(e){switch(e.value){case"stroke":A.push(1);break;case"fill":A.push(0);break;case"markers":A.push(2)}}),[0,1,2].forEach(function(e){-1===A.indexOf(e)&&A.push(e)}),A}},i7={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},se={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return rZ(t)?t.number:0}},st=function(){function e(e,t){this.animationDuration=sr(e,i4,t.animationDuration),this.backgroundClip=sr(e,oC,t.backgroundClip),this.backgroundColor=sr(e,oI,t.backgroundColor),this.backgroundImage=sr(e,oG,t.backgroundImage),this.backgroundOrigin=sr(e,oK,t.backgroundOrigin),this.backgroundPosition=sr(e,oW,t.backgroundPosition),this.backgroundRepeat=sr(e,oY,t.backgroundRepeat),this.backgroundSize=sr(e,oX,t.backgroundSize),this.borderTopColor=sr(e,o$,t.borderTopColor),this.borderRightColor=sr(e,oZ,t.borderRightColor),this.borderBottomColor=sr(e,o0,t.borderBottomColor),this.borderLeftColor=sr(e,o1,t.borderLeftColor),this.borderTopLeftRadius=sr(e,o2,t.borderTopLeftRadius),this.borderTopRightRadius=sr(e,o4,t.borderTopRightRadius),this.borderBottomRightRadius=sr(e,o6,t.borderBottomRightRadius),this.borderBottomLeftRadius=sr(e,o9,t.borderBottomLeftRadius),this.borderTopStyle=sr(e,o5,t.borderTopStyle),this.borderRightStyle=sr(e,o7,t.borderRightStyle),this.borderBottomStyle=sr(e,ie,t.borderBottomStyle),this.borderLeftStyle=sr(e,it,t.borderLeftStyle),this.borderTopWidth=sr(e,ir,t.borderTopWidth),this.borderRightWidth=sr(e,io,t.borderRightWidth),this.borderBottomWidth=sr(e,ii,t.borderBottomWidth),this.borderLeftWidth=sr(e,is,t.borderLeftWidth),this.boxShadow=sr(e,i8,t.boxShadow),this.color=sr(e,ia,t.color),this.direction=sr(e,il,t.direction),this.display=sr(e,ic,t.display),this.float=sr(e,id,t.cssFloat),this.fontFamily=sr(e,iX,t.fontFamily),this.fontSize=sr(e,iJ,t.fontSize),this.fontStyle=sr(e,iZ,t.fontStyle),this.fontVariant=sr(e,i$,t.fontVariant),this.fontWeight=sr(e,iq,t.fontWeight),this.letterSpacing=sr(e,ip,t.letterSpacing),this.lineBreak=sr(e,ig,t.lineBreak),this.lineHeight=sr(e,im,t.lineHeight),this.listStyleImage=sr(e,iw,t.listStyleImage),this.listStylePosition=sr(e,iB,t.listStylePosition),this.listStyleType=sr(e,iy,t.listStyleType),this.marginTop=sr(e,iS,t.marginTop),this.marginRight=sr(e,iC,t.marginRight),this.marginBottom=sr(e,iI,t.marginBottom),this.marginLeft=sr(e,ib,t.marginLeft),this.opacity=sr(e,iW,t.opacity);var A,n,r=sr(e,iU,t.overflow);this.overflowX=r[0],this.overflowY=r[+(r.length>1)],this.overflowWrap=sr(e,iE,t.overflowWrap),this.paddingTop=sr(e,iQ,t.paddingTop),this.paddingRight=sr(e,iT,t.paddingRight),this.paddingBottom=sr(e,iD,t.paddingBottom),this.paddingLeft=sr(e,ix,t.paddingLeft),this.paintOrder=sr(e,i5,t.paintOrder),this.position=sr(e,iM,t.position),this.textAlign=sr(e,iO,t.textAlign),this.textDecorationColor=sr(e,iY,null!=(A=t.textDecorationColor)?A:t.color),this.textDecorationLine=sr(e,iz,null!=(n=t.textDecorationLine)?n:t.textDecoration),this.textShadow=sr(e,iL,t.textShadow),this.textTransform=sr(e,iR,t.textTransform),this.transform=sr(e,iV,t.transform),this.transformOrigin=sr(e,ik,t.transformOrigin),this.visibility=sr(e,iP,t.visibility),this.webkitTextStrokeColor=sr(e,i7,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=sr(e,se,t.webkitTextStrokeWidth),this.wordBreak=sr(e,ij,t.wordBreak),this.zIndex=sr(e,iG,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return op(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return i0(this.display,4)||i0(this.display,0x2000000)||i0(this.display,0x10000000)||i0(this.display,0x20000000)||i0(this.display,0x4000000)||i0(this.display,0x8000000)},e}(),sA=function(e,t){this.content=sr(e,i1,t.content),this.quotes=sr(e,i6,t.quotes)},sn=function(e,t){this.counterIncrement=sr(e,i3,t.counterIncrement),this.counterReset=sr(e,i2,t.counterReset)},sr=function(e,t,A){var n=new rq,r=null!=A?A.toString():t.initialValue;n.write(r);var o=new r$(n.read());switch(t.type){case 2:var i=o.parseComponentValue();return t.parse(e,r1(i)?i.value:t.initialValue);case 0:return t.parse(e,o.parseComponentValue());case 1:return t.parse(e,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(t.format){case"angle":return oa(e,o.parseComponentValue());case"color":return od(e,o.parseComponentValue());case"image":return oP(e,o.parseComponentValue());case"length":var s=o.parseComponentValue();return r5(s)?s:ot;case"length-percentage":var a=o.parseComponentValue();return r7(a)?a:ot;case"time":return iK(e,o.parseComponentValue())}}},so=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},si=function(e,t){var A=so(e);return 1===A||t===A},ss=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,si(t,3),this.styles=new st(e,window.getComputedStyle(t,null)),au(t)&&(this.styles.animationDuration.some(function(e){return e>0})&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=n$(this.context,t),si(t,4)&&(this.flags|=16)},sa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",sl="u"<typeof Uint8Array?[]:new Uint8Array(256),sc=0;sc<sa.length;sc++)sl[sa.charCodeAt(sc)]=sc;for(var su=2112,sd=function(e,t,A){return e.slice?e.slice(t,A):new Uint16Array(Array.prototype.slice.call(e,t,A))},sp=function(){function e(e,t,A,n,r,o){this.initialValue=e,this.errorValue=t,this.highStart=A,this.highValueIndex=n,this.index=r,this.data=o}return e.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e<this.highStart)return t=su-32+(e>>11),t=this.index[t]+(e>>5&63),t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),sg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",sm="u"<typeof Uint8Array?[]:new Uint8Array(256),sh=0;sh<sg.length;sh++)sm[sg.charCodeAt(sh)]=sh;var sf=function(e){for(var t=[],A=0,n=e.length;A<n;){var r=e.charCodeAt(A++);if(r>=55296&&r<=56319&&A<n){var o=e.charCodeAt(A++);(64512&o)==56320?t.push(((1023&r)<<10)+(1023&o)+65536):(t.push(r),A--)}else t.push(r)}return t},sw=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var A=e.length;if(!A)return"";for(var n=[],r=-1,o="";++r<A;){var i=e[r];i<=65535?n.push(i):(i-=65536,n.push((i>>10)+55296,i%1024+56320)),(r+1===A||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},sB=(d=Array.isArray(u=function(e){var t,A,n,r,o,i=.75*e.length,s=e.length,a=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var l="u">typeof ArrayBuffer&&"u">typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):Array(i),c=Array.isArray(l)?l:new Uint8Array(l);for(t=0;t<s;t+=4)A=sl[e.charCodeAt(t)],n=sl[e.charCodeAt(t+1)],r=sl[e.charCodeAt(t+2)],o=sl[e.charCodeAt(t+3)],c[a++]=A<<2|n>>4,c[a++]=(15&n)<<4|r>>2,c[a++]=(3&r)<<6|63&o;return l}("AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA="))?function(e){for(var t=e.length,A=[],n=0;n<t;n+=4)A.push(e[n+3]<<24|e[n+2]<<16|e[n+1]<<8|e[n]);return A}(u):new Uint32Array(u),g=sd(p=Array.isArray(u)?function(e){for(var t=e.length,A=[],n=0;n<t;n+=2)A.push(e[n+1]<<8|e[n]);return A}(u):new Uint16Array(u),12,d[4]/2),h=2===d[5]?sd(p,(24+d[4])/2):(m=Math.ceil((24+d[4])/4),d.slice?d.slice(m,void 0):new Uint32Array(Array.prototype.slice.call(d,m,void 0))),new sp(d[0],d[1],d[2],d[3],g,h)),sy=function(e){return sB.get(e)},sv=function(e,t,A){var n=A-2,r=t[n],o=t[A-1],i=t[A];if(2===o&&3===i)return"×";if(2===o||3===o||4===o||2===i||3===i||4===i)return"÷";if(8===o&&-1!==[8,9,11,12].indexOf(i)||(11===o||9===o)&&(9===i||10===i)||(12===o||10===o)&&10===i||13===i||5===i||7===i||1===o)return"×";if(13===o&&14===i){for(;5===r;)r=t[--n];if(14===r)return"×"}if(15===o&&15===i){for(var s=0;15===r;)s++,r=t[--n];if(s%2==0)return"×"}return"÷"},sS=function(e){var t=sf(e),A=t.length,n=0,r=0,o=t.map(sy);return{next:function(){if(n>=A)return{done:!0,value:null};for(var e="×";n<A&&"×"===(e=sv(t,o,++n)););if("×"!==e||n===A){var i=sw.apply(null,t.slice(r,n));return r=n,{value:i,done:!1}}return{done:!0,value:null}}}},sC=function(e){for(var t,A=sS(e),n=[];!(t=A.next()).done;)t.value&&n.push(t.value.slice());return n},sI=function(e){if(e.createRange){var t=e.createRange();if(t.getBoundingClientRect){var A=e.createElement("boundtest");A.style.height="123px",A.style.display="block",e.body.appendChild(A),t.selectNode(A);var n=Math.round(t.getBoundingClientRect().height);if(e.body.removeChild(A),123===n)return!0}}return!1},sb=function(e){var t=e.createElement("boundtest");t.style.width="50px",t.style.display="block",t.style.fontSize="12px",t.style.letterSpacing="0px",t.style.wordSpacing="0px",e.body.appendChild(t);var A=e.createRange();t.innerHTML="function"==typeof"".repeat?"&#128104;".repeat(10):"";var n=t.firstChild,r=n0(n.data).map(function(e){return n1(e)}),o=0,i={},s=r.every(function(e,t){A.setStart(n,o),A.setEnd(n,o+e.length);var r=A.getBoundingClientRect();o+=e.length;var s=r.x>i.x||r.y>i.y;return i=r,0===t||s});return e.body.removeChild(t),s},sU=function(e){var t=new Image,A=e.createElement("canvas"),n=A.getContext("2d");if(!n)return!1;t.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{n.drawImage(t,0,0),A.toDataURL()}catch(e){return!1}return!0},sE=function(e){return 0===e[0]&&255===e[1]&&0===e[2]&&255===e[3]},sF=function(e){var t=e.createElement("canvas");t.width=100,t.height=100;var A=t.getContext("2d");if(!A)return Promise.reject(!1);A.fillStyle="rgb(0, 255, 0)",A.fillRect(0,0,100,100);var n=new Image,r=t.toDataURL();n.src=r;var o=sQ(100,100,0,0,n);return A.fillStyle="red",A.fillRect(0,0,100,100),sT(o).then(function(t){A.drawImage(t,0,0);var n=A.getImageData(0,0,100,100).data;A.fillStyle="red",A.fillRect(0,0,100,100);var o=e.createElement("div");return o.style.backgroundImage="url("+r+")",o.style.height="100px",sE(n)?sT(sQ(100,100,0,0,o)):Promise.reject(!1)}).then(function(e){return A.drawImage(e,0,0),sE(A.getImageData(0,0,100,100).data)}).catch(function(){return!1})},sQ=function(e,t,A,n,r){var o="http://www.w3.org/2000/svg",i=document.createElementNS(o,"svg"),s=document.createElementNS(o,"foreignObject");return i.setAttributeNS(null,"width",e.toString()),i.setAttributeNS(null,"height",t.toString()),s.setAttributeNS(null,"width","100%"),s.setAttributeNS(null,"height","100%"),s.setAttributeNS(null,"x",A.toString()),s.setAttributeNS(null,"y",n.toString()),s.setAttributeNS(null,"externalResourcesRequired","true"),i.appendChild(s),s.appendChild(r),i},sT=function(e){return new Promise(function(t,A){var n=new Image;n.onload=function(){return t(n)},n.onerror=A,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},sD={get SUPPORT_RANGE_BOUNDS(){var sx=sI(document);return Object.defineProperty(sD,"SUPPORT_RANGE_BOUNDS",{value:sx}),sx},get SUPPORT_WORD_BREAKING(){var sO=sD.SUPPORT_RANGE_BOUNDS&&sb(document);return Object.defineProperty(sD,"SUPPORT_WORD_BREAKING",{value:sO}),sO},get SUPPORT_SVG_DRAWING(){var sM=sU(document);return Object.defineProperty(sD,"SUPPORT_SVG_DRAWING",{value:sM}),sM},get SUPPORT_FOREIGNOBJECT_DRAWING(){var sL="function"==typeof Array.from&&"function"==typeof window.fetch?sF(document):Promise.resolve(!1);return Object.defineProperty(sD,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:sL}),sL},get SUPPORT_CORS_IMAGES(){var sR=void 0!==new Image().crossOrigin;return Object.defineProperty(sD,"SUPPORT_CORS_IMAGES",{value:sR}),sR},get SUPPORT_RESPONSE_TYPE(){var sV="string"==typeof new XMLHttpRequest().responseType;return Object.defineProperty(sD,"SUPPORT_RESPONSE_TYPE",{value:sV}),sV},get SUPPORT_CORS_XHR(){var sN="withCredentials"in new XMLHttpRequest;return Object.defineProperty(sD,"SUPPORT_CORS_XHR",{value:sN}),sN},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var sH=!!("u">typeof Intl&&Intl.Segmenter);return Object.defineProperty(sD,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:sH}),sH}},s_=function(e,t){this.text=e,this.bounds=t},sk=function(e,t,A,n){var r=sK(t,A),o=[],i=0;return r.forEach(function(t){if(A.textDecorationLine.length||t.trim().length>0)if(sD.SUPPORT_RANGE_BOUNDS){var r=sj(n,i,t.length).getClientRects();if(r.length>1){var s=sG(t),a=0;s.forEach(function(t){o.push(new s_(t,nq.fromDOMRectList(e,sj(n,a+i,t.length).getClientRects()))),a+=t.length})}else o.push(new s_(t,nq.fromDOMRectList(e,r)))}else{var l=n.splitText(t.length);o.push(new s_(t,sP(e,n))),n=l}else sD.SUPPORT_RANGE_BOUNDS||(n=n.splitText(t.length));i+=t.length}),o},sP=function(e,t){var A=t.ownerDocument;if(A){var n=A.createElement("html2canvaswrapper");n.appendChild(t.cloneNode(!0));var r=t.parentNode;if(r){r.replaceChild(n,t);var o=n$(e,n);return n.firstChild&&r.replaceChild(n.firstChild,n),o}}return nq.EMPTY},sj=function(e,t,A){var n=e.ownerDocument;if(!n)throw Error("Node has no owner document");var r=n.createRange();return r.setStart(e,t),r.setEnd(e,t+A),r},sG=function(e){return sD.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e)).map(function(e){return e.segment}):sC(e)},sK=function(e,t){return 0!==t.letterSpacing?sG(e):sD.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"word"}).segment(e)).map(function(e){return e.segment}):sY(e,t)},sW=[32,160,4961,65792,65793,4153,4241],sY=function(e,t){for(var A,n=rB(e,{lineBreak:t.lineBreak,wordBreak:"break-word"===t.overflowWrap?"break-word":t.wordBreak}),r=[];!(A=n.next()).done;)!function(){if(A.value){var e=n0(A.value.slice()),t="";e.forEach(function(e){-1===sW.indexOf(e)?t+=n1(e):(t.length&&r.push(t),r.push(n1(e)),t="")}),t.length&&r.push(t)}}();return r},sz=function(e,t,A){this.text=sX(t.data,A.textTransform),this.textBounds=sk(e,this.text,A,t)},sX=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(sJ,sq);case 2:return e.toUpperCase();default:return e}},sJ=/(^|\s|:|-|\(|\))([a-z])/g,sq=function(e,t,A){return e.length>0?t+A.toUpperCase():e},s$=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.src=A.currentSrc||A.src,n.intrinsicWidth=A.naturalWidth,n.intrinsicHeight=A.naturalHeight,n.context.cache.addImage(n.src),n}return nW(t,e),t}(ss),sZ=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.canvas=A,n.intrinsicWidth=A.width,n.intrinsicHeight=A.height,n}return nW(t,e),t}(ss),s0=function(e){function t(t,A){var n=e.call(this,t,A)||this,r=new XMLSerializer,o=n$(t,A);return A.setAttribute("width",o.width+"px"),A.setAttribute("height",o.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(A)),n.intrinsicWidth=A.width.baseVal.value,n.intrinsicHeight=A.height.baseVal.value,n.context.cache.addImage(n.svg),n}return nW(t,e),t}(ss),s1=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.value=A.value,n}return nW(t,e),t}(ss),s3=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.start=A.start,n.reversed="boolean"==typeof A.reversed&&!0===A.reversed,n}return nW(t,e),t}(ss),s2=[{type:15,flags:0,unit:"px",number:3}],s4=[{type:16,flags:0,number:50}],s6=function(e){var t=e.type===s5?Array(e.value.length+1).join("•"):e.value;return 0===t.length?e.placeholder||"":t},s9="checkbox",s8="radio",s5="password",s7=function(e){function t(t,A){var n,r=e.call(this,t,A)||this;switch(r.type=A.type.toLowerCase(),r.checked=A.checked,r.value=s6(A),(r.type===s9||r.type===s8)&&(r.styles.backgroundColor=0xdededeff,r.styles.borderTopColor=r.styles.borderRightColor=r.styles.borderBottomColor=r.styles.borderLeftColor=0xa5a5a5ff,r.styles.borderTopWidth=r.styles.borderRightWidth=r.styles.borderBottomWidth=r.styles.borderLeftWidth=1,r.styles.borderTopStyle=r.styles.borderRightStyle=r.styles.borderBottomStyle=r.styles.borderLeftStyle=1,r.styles.backgroundClip=[0],r.styles.backgroundOrigin=[0],r.bounds=(n=r.bounds).width>n.height?new nq(n.left+(n.width-n.height)/2,n.top,n.height,n.height):n.width<n.height?new nq(n.left,n.top+(n.height-n.width)/2,n.width,n.width):n),r.type){case s9:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=s2;break;case s8:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=s4}return r}return nW(t,e),t}(ss),ae=function(e){function t(t,A){var n=e.call(this,t,A)||this,r=A.options[A.selectedIndex||0];return n.value=r&&r.text||"",n}return nW(t,e),t}(ss),at=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.value=A.value,n}return nW(t,e),t}(ss),aA=function(e){function t(t,A){var n=e.call(this,t,A)||this;n.src=A.src,n.width=parseInt(A.width,10)||0,n.height=parseInt(A.height,10)||0,n.backgroundColor=n.styles.backgroundColor;try{if(A.contentWindow&&A.contentWindow.document&&A.contentWindow.document.documentElement){n.tree=ai(t,A.contentWindow.document.documentElement);var r=A.contentWindow.document.documentElement?ov(t,getComputedStyle(A.contentWindow.document.documentElement).backgroundColor):oS.TRANSPARENT,o=A.contentWindow.document.body?ov(t,getComputedStyle(A.contentWindow.document.body).backgroundColor):oS.TRANSPARENT;n.backgroundColor=op(r)?op(o)?n.styles.backgroundColor:o:r}}catch(e){}return n}return nW(t,e),t}(ss),an=["OL","UL","MENU"],ar=function(e,t,A,n){for(var r=t.firstChild,o=void 0;r;r=o)if(o=r.nextSibling,al(r)&&r.data.trim().length>0)A.textNodes.push(new sz(e,r,A.styles));else if(ac(r))if(ab(r)&&r.assignedNodes)r.assignedNodes().forEach(function(t){return ar(e,t,A,n)});else{var i=ao(e,r);i.styles.isVisible()&&(as(r,i,n)?i.flags|=4:aa(i.styles)&&(i.flags|=2),-1!==an.indexOf(r.tagName)&&(i.flags|=8),A.elements.push(i),r.slot,r.shadowRoot?ar(e,r.shadowRoot,i,n):aC(r)||ah(r)||aI(r)||ar(e,r,i,n))}},ao=function(e,t){return ay(t)?new s$(e,t):aw(t)?new sZ(e,t):ah(t)?new s0(e,t):ap(t)?new s1(e,t):ag(t)?new s3(e,t):am(t)?new s7(e,t):aI(t)?new ae(e,t):aC(t)?new at(e,t):av(t)?new aA(e,t):new ss(e,t)},ai=function(e,t){var A=ao(e,t);return A.flags|=4,ar(e,t,A,A),A},as=function(e,t,A){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||af(e)&&A.styles.isTransparent()},aa=function(e){return e.isPositioned()||e.isFloating()},al=function(e){return e.nodeType===Node.TEXT_NODE},ac=function(e){return e.nodeType===Node.ELEMENT_NODE},au=function(e){return ac(e)&&void 0!==e.style&&!ad(e)},ad=function(e){return"object"==typeof e.className},ap=function(e){return"LI"===e.tagName},ag=function(e){return"OL"===e.tagName},am=function(e){return"INPUT"===e.tagName},ah=function(e){return"svg"===e.tagName},af=function(e){return"BODY"===e.tagName},aw=function(e){return"CANVAS"===e.tagName},aB=function(e){return"VIDEO"===e.tagName},ay=function(e){return"IMG"===e.tagName},av=function(e){return"IFRAME"===e.tagName},aS=function(e){return"STYLE"===e.tagName},aC=function(e){return"TEXTAREA"===e.tagName},aI=function(e){return"SELECT"===e.tagName},ab=function(e){return"SLOT"===e.tagName},aU=function(e){return e.tagName.indexOf("-")>0},aE=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var t=this;e.forEach(function(e){return t.counters[e].pop()})},e.prototype.parse=function(e){var t=this,A=e.counterIncrement,n=e.counterReset,r=!0;null!==A&&A.forEach(function(e){var A=t.counters[e.counter];A&&0!==e.increment&&(r=!1,A.length||A.push(1),A[Math.max(0,A.length-1)]+=e.increment)});var o=[];return r&&n.forEach(function(e){var A=t.counters[e.counter];o.push(e.counter),A||(A=t.counters[e.counter]=[]),A.push(e.reset)}),o},e}(),aF={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},aQ={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},aT={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},aD={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},ax=function(e,t,A,n,r,o){return e<t||e>A?ak(e,r,o.length>0):n.integers.reduce(function(t,A,r){for(;e>=A;)e-=A,t+=n.values[r];return t},"")+o},aO=function(e,t,A,n){var r="";do!A&&e--,r=n(e)+r,e/=t;while(e*t>=t)return r},aM=function(e,t,A,n,r){var o=A-t+1;return(e<0?"-":"")+(aO(Math.abs(e),o,n,function(e){return n1(Math.floor(e%o)+t)})+r)},aL=function(e,t,A){void 0===A&&(A=". ");var n=t.length;return aO(Math.abs(e),n,!1,function(e){return t[Math.floor(e%n)]})+A},aR=function(e,t,A,n,r,o){if(e<-9999||e>9999)return ak(e,4,r.length>0);var i=Math.abs(e),s=r;if(0===i)return t[0]+s;for(var a=0;i>0&&a<=4;a++){var l=i%10;0===l&&i0(o,1)&&""!==s?s=t[l]+s:l>1||1===l&&0===a||1===l&&1===a&&i0(o,2)||1===l&&1===a&&i0(o,4)&&e>100||1===l&&a>1&&i0(o,8)?s=t[l]+(a>0?A[a-1]:"")+s:1===l&&a>0&&(s=A[a-1]+s),i=Math.floor(i/10)}return(e<0?n:"")+s},aV="十百千萬",aN="拾佰仟萬",aH="マイナス",a_="마이너스",ak=function(e,t,A){var n=A?". ":"",r=A?"、":"",o=A?", ":"",i=A?" ":"";switch(t){case 0:return"•"+i;case 1:return"◦"+i;case 2:return"◾"+i;case 5:var s=aM(e,48,57,!0,n);return s.length<4?"0"+s:s;case 4:return aL(e,"〇一二三四五六七八九",r);case 6:return ax(e,1,3999,aF,3,n).toLowerCase();case 7:return ax(e,1,3999,aF,3,n);case 8:return aM(e,945,969,!1,n);case 9:return aM(e,97,122,!1,n);case 10:return aM(e,65,90,!1,n);case 11:return aM(e,1632,1641,!0,n);case 12:case 49:return ax(e,1,9999,aQ,3,n);case 35:return ax(e,1,9999,aQ,3,n).toLowerCase();case 13:return aM(e,2534,2543,!0,n);case 14:case 30:return aM(e,6112,6121,!0,n);case 15:return aL(e,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return aL(e,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return aR(e,"零一二三四五六七八九",aV,"負",r,14);case 47:return aR(e,"零壹貳參肆伍陸柒捌玖",aN,"負",r,15);case 42:return aR(e,"零一二三四五六七八九",aV,"负",r,14);case 41:return aR(e,"零壹贰叁肆伍陆柒捌玖",aN,"负",r,15);case 26:return aR(e,"〇一二三四五六七八九","十百千万",aH,r,0);case 25:return aR(e,"零壱弐参四伍六七八九","拾百千万",aH,r,7);case 31:return aR(e,"영일이삼사오육칠팔구","십백천만",a_,o,7);case 33:return aR(e,"零一二三四五六七八九","十百千萬",a_,o,0);case 32:return aR(e,"零壹貳參四五六七八九","拾百千",a_,o,7);case 18:return aM(e,2406,2415,!0,n);case 20:return ax(e,1,19999,aD,3,n);case 21:return aM(e,2790,2799,!0,n);case 22:return aM(e,2662,2671,!0,n);case 22:return ax(e,1,10999,aT,3,n);case 23:return aL(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return aL(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return aM(e,3302,3311,!0,n);case 28:return aL(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return aL(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return aM(e,3792,3801,!0,n);case 37:return aM(e,6160,6169,!0,n);case 38:return aM(e,4160,4169,!0,n);case 39:return aM(e,2918,2927,!0,n);case 40:return aM(e,1776,1785,!0,n);case 43:return aM(e,3046,3055,!0,n);case 44:return aM(e,3174,3183,!0,n);case 45:return aM(e,3664,3673,!0,n);case 46:return aM(e,3872,3881,!0,n);default:return aM(e,48,57,!0,n)}},aP="data-html2canvas-ignore",aj=function(){function e(e,t,A){if(this.context=e,this.options=A,this.scrolledElements=[],this.referenceElement=t,this.counters=new aE,this.quoteDepth=0,!t.ownerDocument)throw Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var A=this,n=aG(e,t);if(!n.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,o=e.defaultView.pageYOffset,i=n.contentWindow,s=i.document,a=aY(n).then(function(){return nz(A,void 0,void 0,function(){var e,A;return nX(this,function(r){switch(r.label){case 0:if(this.scrolledElements.forEach(a$),i&&(i.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(i.scrollY!==t.top||i.scrollX!==t.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(i.scrollX-t.left,i.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(A=this.clonedReferenceElement))return[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")];if(!(s.fonts&&s.fonts.ready))return[3,2];return[4,s.fonts.ready];case 1:r.sent(),r.label=2;case 2:if(!/(AppleWebKit)/g.test(navigator.userAgent))return[3,4];return[4,aW(s)];case 3:r.sent(),r.label=4;case 4:if("function"==typeof e)return[2,Promise.resolve().then(function(){return e(s,A)}).then(function(){return n})];return[2,n]}})})});return s.open(),s.write(aJ(document.doctype)+"<html></html>"),aq(this.referenceElement.ownerDocument,r,o),s.replaceChild(s.adoptNode(this.documentElement),s.documentElement),s.close(),a},e.prototype.createElementClone=function(e){if(si(e,2),aw(e))return this.createCanvasClone(e);if(aB(e))return this.createVideoClone(e);if(aS(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return(ay(t)&&(ay(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),aU(t))?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return aX(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var A=[].slice.call(t.cssRules,0).reduce(function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e},""),n=e.cloneNode(!1);return n.textContent=A,n}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){if(this.options.inlineImages&&e.ownerDocument){var t,A=e.ownerDocument.createElement("img");try{return A.src=e.toDataURL(),A}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var r=e.getContext("2d"),o=n.getContext("2d");if(o)if(!this.options.allowTaint&&r)o.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var i=null!=(t=e.getContext("webgl2"))?t:e.getContext("webgl");if(i){var s=i.getContextAttributes();(null==s?void 0:s.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}o.drawImage(e,0,0)}}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return n},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var A=t.getContext("2d");try{return A&&(A.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||A.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var n=e.ownerDocument.createElement("canvas");return n.width=e.offsetWidth,n.height=e.offsetHeight,n},e.prototype.appendChildNode=function(e,t,A){ac(t)&&("SCRIPT"===t.tagName||t.hasAttribute(aP)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&ac(t)&&aS(t)||e.appendChild(this.cloneNode(t,A))},e.prototype.cloneChildNodes=function(e,t,A){for(var n=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(ac(r)&&ab(r)&&"function"==typeof r.assignedNodes){var o=r.assignedNodes();o.length&&o.forEach(function(e){return n.appendChildNode(t,e,A)})}else this.appendChildNode(t,r,A)},e.prototype.cloneNode=function(e,t){if(al(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var A=e.ownerDocument.defaultView;if(A&&ac(e)&&(au(e)||ad(e))){var n=this.createElementClone(e);n.style.transitionProperty="none";var r=A.getComputedStyle(e),o=A.getComputedStyle(e,":before"),i=A.getComputedStyle(e,":after");this.referenceElement===e&&au(n)&&(this.clonedReferenceElement=n),af(n)&&a3(n);var s=this.counters.parse(new sn(this.context,r)),a=this.resolvePseudoContent(e,n,o,U.BEFORE);aU(e)&&(t=!0),aB(e)||this.cloneChildNodes(e,n,t),a&&n.insertBefore(a,n.firstChild);var l=this.resolvePseudoContent(e,n,i,U.AFTER);return l&&n.appendChild(l),this.counters.pop(s),(r&&(this.options.copyStyles||ad(e))&&!av(e)||t)&&aX(r,n),(0!==e.scrollTop||0!==e.scrollLeft)&&this.scrolledElements.push([n,e.scrollLeft,e.scrollTop]),(aC(e)||aI(e))&&(aC(n)||aI(n))&&(n.value=e.value),n}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,A,n){var r=this;if(A){var o=A.content,i=t.ownerDocument;if(i&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==A.display){this.counters.parse(new sn(this.context,A));var s=new sA(this.context,A),a=i.createElement("html2canvaspseudoelement");aX(A,a),s.content.forEach(function(t){if(0===t.type)a.appendChild(i.createTextNode(t.value));else if(22===t.type){var A=i.createElement("img");A.src=t.value,A.style.opacity="1",a.appendChild(A)}else if(18===t.type){if("attr"===t.name){var n=t.values.filter(r1);n.length&&a.appendChild(i.createTextNode(e.getAttribute(n[0].value)||""))}else if("counter"===t.name){var o=t.values.filter(r6),l=o[0],c=o[1];if(l&&r1(l)){var u=r.counters.getCounterValue(l.value),d=c&&r1(c)?iy.parse(r.context,c.value):3;a.appendChild(i.createTextNode(ak(u,d,!1)))}}else if("counters"===t.name){var p=t.values.filter(r6),l=p[0],g=p[1],c=p[2];if(l&&r1(l)){var m=r.counters.getCounterValues(l.value),h=c&&r1(c)?iy.parse(r.context,c.value):3,f=g&&0===g.type?g.value:"",w=m.map(function(e){return ak(e,h,!1)}).join(f);a.appendChild(i.createTextNode(w))}}}else if(20===t.type)switch(t.value){case"open-quote":a.appendChild(i.createTextNode(i9(s.quotes,r.quoteDepth++,!0)));break;case"close-quote":a.appendChild(i.createTextNode(i9(s.quotes,--r.quoteDepth,!1)));break;default:a.appendChild(i.createTextNode(t.value))}}),a.className=aZ+" "+a0;var l=n===U.BEFORE?" "+aZ:" "+a0;return ad(t)?t.className.baseValue+=l:t.className+=l,a}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();(f=U||(U={}))[f.BEFORE=0]="BEFORE",f[f.AFTER=1]="AFTER";var aG=function(e,t){var A=e.createElement("iframe");return A.className="html2canvas-container",A.style.visibility="hidden",A.style.position="fixed",A.style.left="-10000px",A.style.top="0px",A.style.border="0",A.width=t.width.toString(),A.height=t.height.toString(),A.scrolling="no",A.setAttribute(aP,"true"),e.body.appendChild(A),A},aK=function(e){return new Promise(function(t){e.complete||!e.src?t():(e.onload=t,e.onerror=t)})},aW=function(e){return Promise.all([].slice.call(e.images,0).map(aK))},aY=function(e){return new Promise(function(t,A){var n=e.contentWindow;if(!n)return A("No window assigned for iframe");var r=n.document;n.onload=e.onload=function(){n.onload=e.onload=null;var A=setInterval(function(){r.body.childNodes.length>0&&"complete"===r.readyState&&(clearInterval(A),t(e))},50)}})},az=["all","d","content"],aX=function(e,t){for(var A=e.length-1;A>=0;A--){var n=e.item(A);-1===az.indexOf(n)&&t.style.setProperty(n,e.getPropertyValue(n))}return t},aJ=function(e){var t="";return e&&(t+="<!DOCTYPE ",e.name&&(t+=e.name),e.internalSubset&&(t+=e.internalSubset),e.publicId&&(t+='"'+e.publicId+'"'),e.systemId&&(t+='"'+e.systemId+'"'),t+=">"),t},aq=function(e,t,A){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||A!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,A)},a$=function(e){var t=e[0],A=e[1],n=e[2];t.scrollLeft=A,t.scrollTop=n},aZ="___html2canvas___pseudoelement_before",a0="___html2canvas___pseudoelement_after",a1='{\n content: "" !important;\n display: none !important;\n}',a3=function(e){a2(e,"."+aZ+":before"+a1+"\n ."+a0+":after"+a1)},a2=function(e,t){var A=e.ownerDocument;if(A){var n=A.createElement("style");n.textContent=t,e.appendChild(n)}},a4=function(){function e(){}return e.getOrigin=function(t){var A=e._link;return A?(A.href=t,A.href=A.href,A.protocol+A.hostname+A.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),a6=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)||(lA(e)||a7(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return nz(this,void 0,void 0,function(){var t,A,n,r,o=this;return nX(this,function(i){switch(i.label){case 0:if(t=a4.isSameOrigin(e),A=!le(e)&&!0===this._options.useCORS&&sD.SUPPORT_CORS_IMAGES&&!t,n=!le(e)&&!t&&!lA(e)&&"string"==typeof this._options.proxy&&sD.SUPPORT_CORS_XHR&&!A,!t&&!1===this._options.allowTaint&&!le(e)&&!lA(e)&&!n&&!A)return[2];if(r=e,!n)return[3,2];return[4,this.proxy(r)];case 1:r=i.sent(),i.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(e,t){var n=new Image;n.onload=function(){return e(n)},n.onerror=t,(lt(r)||A)&&(n.crossOrigin="anonymous"),n.src=r,!0===n.complete&&setTimeout(function(){return e(n)},500),o._options.imageTimeout>0&&setTimeout(function(){return t("Timed out ("+o._options.imageTimeout+"ms) loading image")},o._options.imageTimeout)})];case 3:return[2,i.sent()]}})})},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,A=this._options.proxy;if(!A)throw Error("No proxy defined");var n=e.substring(0,256);return new Promise(function(r,o){var i=sD.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===i)r(s.response);else{var e=new FileReader;e.addEventListener("load",function(){return r(e.result)},!1),e.addEventListener("error",function(e){return o(e)},!1),e.readAsDataURL(s.response)}else o("Failed to proxy resource "+n+" with status code "+s.status)},s.onerror=o;var a=A.indexOf("?")>-1?"&":"?";if(s.open("GET",""+A+a+"url="+encodeURIComponent(e)+"&responseType="+i),"text"!==i&&s instanceof XMLHttpRequest&&(s.responseType=i),t._options.imageTimeout){var l=t._options.imageTimeout;s.timeout=l,s.ontimeout=function(){return o("Timed out ("+l+"ms) proxying "+n)}}s.send()})},e}(),a9=/^data:image\/svg\+xml/i,a8=/^data:image\/.*;base64,/i,a5=/^data:image\/.*/i,a7=function(e){return sD.SUPPORT_SVG_DRAWING||!ln(e)},le=function(e){return a5.test(e)},lt=function(e){return a8.test(e)},lA=function(e){return"blob"===e.substr(0,4)},ln=function(e){return"svg"===e.substr(-3).toLowerCase()||a9.test(e)},lr=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,A){return new e(this.x+t,this.y+A)},e}(),lo=function(e,t,A){return new lr(e.x+(t.x-e.x)*A,e.y+(t.y-e.y)*A)},li=function(){function e(e,t,A,n){this.type=1,this.start=e,this.startControl=t,this.endControl=A,this.end=n}return e.prototype.subdivide=function(t,A){var n=lo(this.start,this.startControl,t),r=lo(this.startControl,this.endControl,t),o=lo(this.endControl,this.end,t),i=lo(n,r,t),s=lo(r,o,t),a=lo(i,s,t);return A?new e(this.start,n,i,a):new e(a,s,o,this.end)},e.prototype.add=function(t,A){return new e(this.start.add(t,A),this.startControl.add(t,A),this.endControl.add(t,A),this.end.add(t,A))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),ls=function(e){return 1===e.type},la=function(e){var t=e.styles,A=e.bounds,n=or(t.borderTopLeftRadius,A.width,A.height),r=n[0],o=n[1],i=or(t.borderTopRightRadius,A.width,A.height),s=i[0],a=i[1],l=or(t.borderBottomRightRadius,A.width,A.height),c=l[0],u=l[1],d=or(t.borderBottomLeftRadius,A.width,A.height),p=d[0],g=d[1],m=[];m.push((r+s)/A.width),m.push((p+c)/A.width),m.push((o+g)/A.height),m.push((a+u)/A.height);var h=Math.max.apply(Math,m);h>1&&(r/=h,o/=h,s/=h,a/=h,c/=h,u/=h,p/=h,g/=h);var f=A.width-s,w=A.height-u,B=A.width-c,y=A.height-g,v=t.borderTopWidth,S=t.borderRightWidth,C=t.borderBottomWidth,I=t.borderLeftWidth,b=oo(t.paddingTop,e.bounds.width),U=oo(t.paddingRight,e.bounds.width),F=oo(t.paddingBottom,e.bounds.width),Q=oo(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?ll(A.left+I/3,A.top+v/3,r-I/3,o-v/3,E.TOP_LEFT):new lr(A.left+I/3,A.top+v/3),this.topRightBorderDoubleOuterBox=r>0||o>0?ll(A.left+f,A.top+v/3,s-S/3,a-v/3,E.TOP_RIGHT):new lr(A.left+A.width-S/3,A.top+v/3),this.bottomRightBorderDoubleOuterBox=c>0||u>0?ll(A.left+B,A.top+w,c-S/3,u-C/3,E.BOTTOM_RIGHT):new lr(A.left+A.width-S/3,A.top+A.height-C/3),this.bottomLeftBorderDoubleOuterBox=p>0||g>0?ll(A.left+I/3,A.top+y,p-I/3,g-C/3,E.BOTTOM_LEFT):new lr(A.left+I/3,A.top+A.height-C/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?ll(A.left+2*I/3,A.top+2*v/3,r-2*I/3,o-2*v/3,E.TOP_LEFT):new lr(A.left+2*I/3,A.top+2*v/3),this.topRightBorderDoubleInnerBox=r>0||o>0?ll(A.left+f,A.top+2*v/3,s-2*S/3,a-2*v/3,E.TOP_RIGHT):new lr(A.left+A.width-2*S/3,A.top+2*v/3),this.bottomRightBorderDoubleInnerBox=c>0||u>0?ll(A.left+B,A.top+w,c-2*S/3,u-2*C/3,E.BOTTOM_RIGHT):new lr(A.left+A.width-2*S/3,A.top+A.height-2*C/3),this.bottomLeftBorderDoubleInnerBox=p>0||g>0?ll(A.left+2*I/3,A.top+y,p-2*I/3,g-2*C/3,E.BOTTOM_LEFT):new lr(A.left+2*I/3,A.top+A.height-2*C/3),this.topLeftBorderStroke=r>0||o>0?ll(A.left+I/2,A.top+v/2,r-I/2,o-v/2,E.TOP_LEFT):new lr(A.left+I/2,A.top+v/2),this.topRightBorderStroke=r>0||o>0?ll(A.left+f,A.top+v/2,s-S/2,a-v/2,E.TOP_RIGHT):new lr(A.left+A.width-S/2,A.top+v/2),this.bottomRightBorderStroke=c>0||u>0?ll(A.left+B,A.top+w,c-S/2,u-C/2,E.BOTTOM_RIGHT):new lr(A.left+A.width-S/2,A.top+A.height-C/2),this.bottomLeftBorderStroke=p>0||g>0?ll(A.left+I/2,A.top+y,p-I/2,g-C/2,E.BOTTOM_LEFT):new lr(A.left+I/2,A.top+A.height-C/2),this.topLeftBorderBox=r>0||o>0?ll(A.left,A.top,r,o,E.TOP_LEFT):new lr(A.left,A.top),this.topRightBorderBox=s>0||a>0?ll(A.left+f,A.top,s,a,E.TOP_RIGHT):new lr(A.left+A.width,A.top),this.bottomRightBorderBox=c>0||u>0?ll(A.left+B,A.top+w,c,u,E.BOTTOM_RIGHT):new lr(A.left+A.width,A.top+A.height),this.bottomLeftBorderBox=p>0||g>0?ll(A.left,A.top+y,p,g,E.BOTTOM_LEFT):new lr(A.left,A.top+A.height),this.topLeftPaddingBox=r>0||o>0?ll(A.left+I,A.top+v,Math.max(0,r-I),Math.max(0,o-v),E.TOP_LEFT):new lr(A.left+I,A.top+v),this.topRightPaddingBox=s>0||a>0?ll(A.left+Math.min(f,A.width-S),A.top+v,f>A.width+S?0:Math.max(0,s-S),Math.max(0,a-v),E.TOP_RIGHT):new lr(A.left+A.width-S,A.top+v),this.bottomRightPaddingBox=c>0||u>0?ll(A.left+Math.min(B,A.width-I),A.top+Math.min(w,A.height-C),Math.max(0,c-S),Math.max(0,u-C),E.BOTTOM_RIGHT):new lr(A.left+A.width-S,A.top+A.height-C),this.bottomLeftPaddingBox=p>0||g>0?ll(A.left+I,A.top+Math.min(y,A.height-C),Math.max(0,p-I),Math.max(0,g-C),E.BOTTOM_LEFT):new lr(A.left+I,A.top+A.height-C),this.topLeftContentBox=r>0||o>0?ll(A.left+I+Q,A.top+v+b,Math.max(0,r-(I+Q)),Math.max(0,o-(v+b)),E.TOP_LEFT):new lr(A.left+I+Q,A.top+v+b),this.topRightContentBox=s>0||a>0?ll(A.left+Math.min(f,A.width+I+Q),A.top+v+b,f>A.width+I+Q?0:s-I+Q,a-(v+b),E.TOP_RIGHT):new lr(A.left+A.width-(S+U),A.top+v+b),this.bottomRightContentBox=c>0||u>0?ll(A.left+Math.min(B,A.width-(I+Q)),A.top+Math.min(w,A.height+v+b),Math.max(0,c-(S+U)),u-(C+F),E.BOTTOM_RIGHT):new lr(A.left+A.width-(S+U),A.top+A.height-(C+F)),this.bottomLeftContentBox=p>0||g>0?ll(A.left+I+Q,A.top+y,Math.max(0,p-(I+Q)),g-(C+F),E.BOTTOM_LEFT):new lr(A.left+I+Q,A.top+A.height-(C+F))};(w=E||(E={}))[w.TOP_LEFT=0]="TOP_LEFT",w[w.TOP_RIGHT=1]="TOP_RIGHT",w[w.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",w[w.BOTTOM_LEFT=3]="BOTTOM_LEFT";var ll=function(e,t,A,n,r){var o=(Math.sqrt(2)-1)/3*4,i=A*o,s=n*o,a=e+A,l=t+n;switch(r){case E.TOP_LEFT:return new li(new lr(e,l),new lr(e,l-s),new lr(a-i,t),new lr(a,t));case E.TOP_RIGHT:return new li(new lr(e,t),new lr(e+i,t),new lr(a,l-s),new lr(a,l));case E.BOTTOM_RIGHT:return new li(new lr(a,t),new lr(a,t+s),new lr(e+i,l),new lr(e,l));case E.BOTTOM_LEFT:default:return new li(new lr(a,l),new lr(a-i,l),new lr(e,t+s),new lr(e,t))}},lc=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},lu=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},ld=function(e,t,A){this.offsetX=e,this.offsetY=t,this.matrix=A,this.type=0,this.target=6},lp=function(e,t){this.path=e,this.target=t,this.type=1},lg=function(e){this.opacity=e,this.type=2,this.target=6},lm=function(e){return 1===e.type},lh=function(e,t){return e.length===t.length&&e.some(function(e,A){return e===t[A]})},lf=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},lw=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new la(this.container),this.container.styles.opacity<1&&this.effects.push(new lg(this.container.styles.opacity)),null!==this.container.styles.transform){var A=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new ld(A,n,r))}if(0!==this.container.styles.overflowX){var o=lc(this.curves),i=lu(this.curves);lh(o,i)?this.effects.push(new lp(o,6)):(this.effects.push(new lp(o,2)),this.effects.push(new lp(i,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),A=this.parent,n=this.effects.slice(0);A;){var r=A.effects.filter(function(e){return!lm(e)});if(t||0!==A.container.styles.position||!A.parent){if(n.unshift.apply(n,r),t=-1===[2,3].indexOf(A.container.styles.position),0!==A.container.styles.overflowX){var o=lc(A.curves),i=lu(A.curves);lh(o,i)||n.unshift(new lp(i,6))}}else n.unshift.apply(n,r);A=A.parent}return n.filter(function(t){return i0(t.target,e)})},e}(),lB=function(e,t,A,n){e.container.elements.forEach(function(r){var o=i0(r.flags,4),i=i0(r.flags,2),s=new lw(r,e);i0(r.styles.display,2048)&&n.push(s);var a=i0(r.flags,8)?[]:n;if(o||i){var l=o||r.styles.isPositioned()?A:t,c=new lf(s);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var u=r.styles.zIndex.order;if(u<0){var d=0;l.negativeZIndex.some(function(e,t){if(u>e.element.container.styles.zIndex.order)d=t;else if(d>0)return!0;return!1}),l.negativeZIndex.splice(d,0,c)}else if(u>0){var p=0;l.positiveZIndex.some(function(e,t){if(u>=e.element.container.styles.zIndex.order)p=t+1;else if(p>0)return!0;return!1}),l.positiveZIndex.splice(p,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else r.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);lB(s,c,o?c:A,a)}else r.styles.isInlineLevel()?t.inlineLevel.push(s):t.nonInlineLevel.push(s),lB(s,t,A,a);i0(r.flags,8)&&ly(r,a)})},ly=function(e,t){for(var A=e instanceof s3?e.start:1,n=e instanceof s3&&e.reversed,r=0;r<t.length;r++){var o=t[r];o.container instanceof s1&&"number"==typeof o.container.value&&0!==o.container.value&&(A=o.container.value),o.listValue=ak(A,o.container.styles.listStyleType,!0),A+=n?-1:1}},lv=function(e){var t=new lw(e,null),A=new lf(t),n=[];return lB(t,A,A,n),ly(t.container,n),A},lS=function(e,t){switch(t){case 0:return lE(e.topLeftBorderBox,e.topLeftPaddingBox,e.topRightBorderBox,e.topRightPaddingBox);case 1:return lE(e.topRightBorderBox,e.topRightPaddingBox,e.bottomRightBorderBox,e.bottomRightPaddingBox);case 2:return lE(e.bottomRightBorderBox,e.bottomRightPaddingBox,e.bottomLeftBorderBox,e.bottomLeftPaddingBox);default:return lE(e.bottomLeftBorderBox,e.bottomLeftPaddingBox,e.topLeftBorderBox,e.topLeftPaddingBox)}},lC=function(e,t){switch(t){case 0:return lE(e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox,e.topRightBorderBox,e.topRightBorderDoubleOuterBox);case 1:return lE(e.topRightBorderBox,e.topRightBorderDoubleOuterBox,e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox);case 2:return lE(e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox,e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox);default:return lE(e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox,e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox)}},lI=function(e,t){switch(t){case 0:return lE(e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox,e.topRightBorderDoubleInnerBox,e.topRightPaddingBox);case 1:return lE(e.topRightBorderDoubleInnerBox,e.topRightPaddingBox,e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox);case 2:return lE(e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox,e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox);default:return lE(e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox,e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox)}},lb=function(e,t){switch(t){case 0:return lU(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return lU(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return lU(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return lU(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}},lU=function(e,t){var A=[];return ls(e)?A.push(e.subdivide(.5,!1)):A.push(e),ls(t)?A.push(t.subdivide(.5,!0)):A.push(t),A},lE=function(e,t,A,n){var r=[];return ls(e)?r.push(e.subdivide(.5,!1)):r.push(e),ls(A)?r.push(A.subdivide(.5,!0)):r.push(A),ls(n)?r.push(n.subdivide(.5,!0).reverse()):r.push(n),ls(t)?r.push(t.subdivide(.5,!1).reverse()):r.push(t),r},lF=function(e){var t=e.bounds,A=e.styles;return t.add(A.borderLeftWidth,A.borderTopWidth,-(A.borderRightWidth+A.borderLeftWidth),-(A.borderTopWidth+A.borderBottomWidth))},lQ=function(e){var t=e.styles,A=e.bounds,n=oo(t.paddingLeft,A.width),r=oo(t.paddingRight,A.width),o=oo(t.paddingTop,A.width),i=oo(t.paddingBottom,A.width);return A.add(n+t.borderLeftWidth,o+t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth+n+r),-(t.borderTopWidth+t.borderBottomWidth+o+i))},lT=function(e,t,A){var n,r,o=(n=lM(e.styles.backgroundOrigin,t),0===n?e.bounds:2===n?lQ(e):lF(e)),i=(r=lM(e.styles.backgroundClip,t),0===r?e.bounds:2===r?lQ(e):lF(e)),s=lO(lM(e.styles.backgroundSize,t),A,o),a=s[0],l=s[1],c=or(lM(e.styles.backgroundPosition,t),o.width-a,o.height-l);return[lL(lM(e.styles.backgroundRepeat,t),c,s,o,i),Math.round(o.left+c[0]),Math.round(o.top+c[1]),a,l]},lD=function(e){return r1(e)&&e.value===C.AUTO},lx=function(e){return"number"==typeof e},lO=function(e,t,A){var n=t[0],r=t[1],o=t[2],i=e[0],s=e[1];if(!i)return[0,0];if(r7(i)&&s&&r7(s))return[oo(i,A.width),oo(s,A.height)];var a=lx(o);if(r1(i)&&(i.value===C.CONTAIN||i.value===C.COVER))return lx(o)?A.width/A.height<o!=(i.value===C.COVER)?[A.width,A.width/o]:[A.height*o,A.height]:[A.width,A.height];var l=lx(n),c=lx(r),u=l||c;if(lD(i)&&(!s||lD(s)))return l&&c?[n,r]:a||u?u&&a?[l?n:r*o,c?r:n/o]:[l?n:A.width,c?r:A.height]:[A.width,A.height];if(a){var d=0,p=0;return r7(i)?d=oo(i,A.width):r7(s)&&(p=oo(s,A.height)),lD(i)?d=p*o:(!s||lD(s))&&(p=d/o),[d,p]}var g=null,m=null;if(r7(i)?g=oo(i,A.width):s&&r7(s)&&(m=oo(s,A.height)),null!==g&&(!s||lD(s))&&(m=l&&c?g/n*r:A.height),null!==m&&lD(i)&&(g=l&&c?m/r*n:A.width),null!==g&&null!==m)return[g,m];throw Error("Unable to calculate background-size for element")},lM=function(e,t){var A=e[t];return void 0===A?e[0]:A},lL=function(e,t,A,n,r){var o=t[0],i=t[1],s=A[0],a=A[1];switch(e){case 2:return[new lr(Math.round(n.left),Math.round(n.top+i)),new lr(Math.round(n.left+n.width),Math.round(n.top+i)),new lr(Math.round(n.left+n.width),Math.round(a+n.top+i)),new lr(Math.round(n.left),Math.round(a+n.top+i))];case 3:return[new lr(Math.round(n.left+o),Math.round(n.top)),new lr(Math.round(n.left+o+s),Math.round(n.top)),new lr(Math.round(n.left+o+s),Math.round(n.height+n.top)),new lr(Math.round(n.left+o),Math.round(n.height+n.top))];case 1:return[new lr(Math.round(n.left+o),Math.round(n.top+i)),new lr(Math.round(n.left+o+s),Math.round(n.top+i)),new lr(Math.round(n.left+o+s),Math.round(n.top+i+a)),new lr(Math.round(n.left+o),Math.round(n.top+i+a))];default:return[new lr(Math.round(r.left),Math.round(r.top)),new lr(Math.round(r.left+r.width),Math.round(r.top)),new lr(Math.round(r.left+r.width),Math.round(r.height+r.top)),new lr(Math.round(r.left),Math.round(r.height+r.top))]}},lR="Hidden Text",lV=function(){function e(e){this._data={},this._document=e}return e.prototype.parseMetrics=function(e,t){var A=this._document.createElement("div"),n=this._document.createElement("img"),r=this._document.createElement("span"),o=this._document.body;A.style.visibility="hidden",A.style.fontFamily=e,A.style.fontSize=t,A.style.margin="0",A.style.padding="0",A.style.whiteSpace="nowrap",o.appendChild(A),n.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",r.style.fontFamily=e,r.style.fontSize=t,r.style.margin="0",r.style.padding="0",r.appendChild(this._document.createTextNode(lR)),A.appendChild(r),A.appendChild(n);var i=n.offsetTop-r.offsetTop+2;A.removeChild(r),A.appendChild(this._document.createTextNode(lR)),A.style.lineHeight="normal",n.style.verticalAlign="super";var s=n.offsetTop-A.offsetTop+2;return o.removeChild(A),{baseline:i,middle:s}},e.prototype.getMetrics=function(e,t){var A=e+" "+t;return void 0===this._data[A]&&(this._data[A]=this.parseMetrics(e,t)),this._data[A]},e}(),lN=function(e,t){this.context=e,this.options=t},lH=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n._activeEffects=[],n.canvas=A.canvas?A.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),A.canvas||(n.canvas.width=Math.floor(A.width*A.scale),n.canvas.height=Math.floor(A.height*A.scale),n.canvas.style.width=A.width+"px",n.canvas.style.height=A.height+"px"),n.fontMetrics=new lV(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-A.x,-A.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+A.width+"x"+A.height+") with scale "+A.scale),n}return nW(t,e),t.prototype.applyEffects=function(e){for(var t=this;this._activeEffects.length;)this.popEffect();e.forEach(function(e){return t.applyEffect(e)})},t.prototype.applyEffect=function(e){this.ctx.save(),2===e.type&&(this.ctx.globalAlpha=e.opacity),0===e.type&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),lm(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},t.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},t.prototype.renderStack=function(e){return nz(this,void 0,void 0,function(){return nX(this,function(t){switch(t.label){case 0:if(!e.element.container.styles.isVisible())return[3,2];return[4,this.renderStackContent(e)];case 1:t.sent(),t.label=2;case 2:return[2]}})})},t.prototype.renderNode=function(e){return nz(this,void 0,void 0,function(){return nX(this,function(t){switch(t.label){case 0:if(i0(e.container.flags,16),!e.container.styles.isVisible())return[3,3];return[4,this.renderNodeBackgroundAndBorders(e)];case 1:return t.sent(),[4,this.renderNodeContent(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},t.prototype.renderTextWithLetterSpacing=function(e,t,A){var n=this;0===t?this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+A):sG(e.text).reduce(function(t,r){return n.ctx.fillText(r,t,e.bounds.top+A),t+n.ctx.measureText(r).width},e.bounds.left)},t.prototype.createFontStyle=function(e){var t=e.fontVariant.filter(function(e){return"normal"===e||"small-caps"===e}).join(""),A=lG(e.fontFamily).join(", "),n=rZ(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,t,e.fontWeight,n,A].join(" "),A,n]},t.prototype.renderTextNode=function(e,t){return nz(this,void 0,void 0,function(){var A,n,r,o,i,s,a,l,c=this;return nX(this,function(u){return n=(A=this.createFontStyle(t))[0],r=A[1],o=A[2],this.ctx.font=n,this.ctx.direction=1===t.direction?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",s=(i=this.fontMetrics.getMetrics(r,o)).baseline,a=i.middle,l=t.paintOrder,e.textBounds.forEach(function(e){l.forEach(function(A){switch(A){case 0:c.ctx.fillStyle=og(t.color),c.renderTextWithLetterSpacing(e,t.letterSpacing,s);var n=t.textShadow;n.length&&e.text.trim().length&&(n.slice(0).reverse().forEach(function(A){c.ctx.shadowColor=og(A.color),c.ctx.shadowOffsetX=A.offsetX.number*c.options.scale,c.ctx.shadowOffsetY=A.offsetY.number*c.options.scale,c.ctx.shadowBlur=A.blur.number,c.renderTextWithLetterSpacing(e,t.letterSpacing,s)}),c.ctx.shadowColor="",c.ctx.shadowOffsetX=0,c.ctx.shadowOffsetY=0,c.ctx.shadowBlur=0),t.textDecorationLine.length&&(c.ctx.fillStyle=og(t.textDecorationColor||t.color),t.textDecorationLine.forEach(function(t){switch(t){case 1:c.ctx.fillRect(e.bounds.left,Math.round(e.bounds.top+s),e.bounds.width,1);break;case 2:c.ctx.fillRect(e.bounds.left,Math.round(e.bounds.top),e.bounds.width,1);break;case 3:c.ctx.fillRect(e.bounds.left,Math.ceil(e.bounds.top+a),e.bounds.width,1)}}));break;case 1:t.webkitTextStrokeWidth&&e.text.trim().length&&(c.ctx.strokeStyle=og(t.webkitTextStrokeColor),c.ctx.lineWidth=t.webkitTextStrokeWidth,c.ctx.lineJoin=window.chrome?"miter":"round",c.ctx.strokeText(e.text,e.bounds.left,e.bounds.top+s)),c.ctx.strokeStyle="",c.ctx.lineWidth=0,c.ctx.lineJoin="miter"}})}),[2]})})},t.prototype.renderReplacedElement=function(e,t,A){if(A&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var n=lQ(e),r=lu(t);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(A,0,0,e.intrinsicWidth,e.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return nz(this,void 0,void 0,function(){var A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B;return nX(this,function(y){switch(y.label){case 0:this.applyEffects(e.getEffects(4)),A=e.container,n=e.curves,r=A.styles,o=0,i=A.textNodes,y.label=1;case 1:if(!(o<i.length))return[3,4];return s=i[o],[4,this.renderTextNode(s,r)];case 2:y.sent(),y.label=3;case 3:return o++,[3,1];case 4:if(!(A instanceof s$))return[3,8];y.label=5;case 5:return y.trys.push([5,7,,8]),[4,this.context.cache.match(A.src)];case 6:return a=y.sent(),this.renderReplacedElement(A,n,a),[3,8];case 7:return y.sent(),this.context.logger.error("Error loading image "+A.src),[3,8];case 8:if(A instanceof sZ&&this.renderReplacedElement(A,n,A.canvas),!(A instanceof s0))return[3,12];y.label=9;case 9:return y.trys.push([9,11,,12]),[4,this.context.cache.match(A.svg)];case 10:return a=y.sent(),this.renderReplacedElement(A,n,a),[3,12];case 11:return y.sent(),this.context.logger.error("Error loading svg "+A.svg.substring(0,255)),[3,12];case 12:if(!(A instanceof aA&&A.tree))return[3,14];return[4,new t(this.context,{scale:this.options.scale,backgroundColor:A.backgroundColor,x:0,y:0,width:A.width,height:A.height}).render(A.tree)];case 13:l=y.sent(),A.width&&A.height&&this.ctx.drawImage(l,0,0,A.width,A.height,A.bounds.left,A.bounds.top,A.bounds.width,A.bounds.height),y.label=14;case 14:if(A instanceof s7&&(c=Math.min(A.bounds.width,A.bounds.height),A.type===s9?A.checked&&(this.ctx.save(),this.path([new lr(A.bounds.left+.39363*c,A.bounds.top+.79*c),new lr(A.bounds.left+.16*c,A.bounds.top+.5549*c),new lr(A.bounds.left+.27347*c,A.bounds.top+.44071*c),new lr(A.bounds.left+.39694*c,A.bounds.top+.5649*c),new lr(A.bounds.left+.72983*c,A.bounds.top+.23*c),new lr(A.bounds.left+.84*c,A.bounds.top+.34085*c),new lr(A.bounds.left+.39363*c,A.bounds.top+.79*c)]),this.ctx.fillStyle=og(0x2a2a2aff),this.ctx.fill(),this.ctx.restore()):A.type===s8&&A.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(A.bounds.left+c/2,A.bounds.top+c/2,c/4,0,2*Math.PI,!0),this.ctx.fillStyle=og(0x2a2a2aff),this.ctx.fill(),this.ctx.restore())),l_(A)&&A.value.length){switch(d=(u=this.createFontStyle(r))[0],p=u[1],g=this.fontMetrics.getMetrics(d,p).baseline,this.ctx.font=d,this.ctx.fillStyle=og(r.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=lP(A.styles.textAlign),m=lQ(A),h=0,A.styles.textAlign){case 1:h+=m.width/2;break;case 2:h+=m.width}f=m.add(h,0,0,-m.height/2+1),this.ctx.save(),this.path([new lr(m.left,m.top),new lr(m.left+m.width,m.top),new lr(m.left+m.width,m.top+m.height),new lr(m.left,m.top+m.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new s_(A.value,f),r.letterSpacing,g),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!i0(A.styles.display,2048))return[3,20];if(null===A.styles.listStyleImage)return[3,19];if(0!==(w=A.styles.listStyleImage).type)return[3,18];a=void 0,B=w.url,y.label=15;case 15:return y.trys.push([15,17,,18]),[4,this.context.cache.match(B)];case 16:return a=y.sent(),this.ctx.drawImage(a,A.bounds.left-(a.width+10),A.bounds.top),[3,18];case 17:return y.sent(),this.context.logger.error("Error loading list-style-image "+B),[3,18];case 18:return[3,20];case 19:e.listValue&&-1!==A.styles.listStyleType&&(d=this.createFontStyle(r)[0],this.ctx.font=d,this.ctx.fillStyle=og(r.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",m=new nq(A.bounds.left,A.bounds.top+oo(A.styles.paddingTop,A.bounds.width),A.bounds.width,ih(r.lineHeight,r.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new s_(e.listValue,m),r.letterSpacing,ih(r.lineHeight,r.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),y.label=20;case 20:return[2]}})})},t.prototype.renderStackContent=function(e){return nz(this,void 0,void 0,function(){var t,A,n,r,o,i,s,a,l,c,u,d,p,g,m;return nX(this,function(h){switch(h.label){case 0:return i0(e.element.container.flags,16),[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:h.sent(),t=0,A=e.negativeZIndex,h.label=2;case 2:if(!(t<A.length))return[3,5];return n=A[t],[4,this.renderStack(n)];case 3:h.sent(),h.label=4;case 4:return t++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:h.sent(),r=0,o=e.nonInlineLevel,h.label=7;case 7:if(!(r<o.length))return[3,10];return n=o[r],[4,this.renderNode(n)];case 8:h.sent(),h.label=9;case 9:return r++,[3,7];case 10:i=0,s=e.nonPositionedFloats,h.label=11;case 11:if(!(i<s.length))return[3,14];return n=s[i],[4,this.renderStack(n)];case 12:h.sent(),h.label=13;case 13:return i++,[3,11];case 14:a=0,l=e.nonPositionedInlineLevel,h.label=15;case 15:if(!(a<l.length))return[3,18];return n=l[a],[4,this.renderStack(n)];case 16:h.sent(),h.label=17;case 17:return a++,[3,15];case 18:c=0,u=e.inlineLevel,h.label=19;case 19:if(!(c<u.length))return[3,22];return n=u[c],[4,this.renderNode(n)];case 20:h.sent(),h.label=21;case 21:return c++,[3,19];case 22:d=0,p=e.zeroOrAutoZIndexOrTransformedOrOpacity,h.label=23;case 23:if(!(d<p.length))return[3,26];return n=p[d],[4,this.renderStack(n)];case 24:h.sent(),h.label=25;case 25:return d++,[3,23];case 26:g=0,m=e.positiveZIndex,h.label=27;case 27:if(!(g<m.length))return[3,30];return n=m[g],[4,this.renderStack(n)];case 28:h.sent(),h.label=29;case 29:return g++,[3,27];case 30:return[2]}})})},t.prototype.mask=function(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()},t.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},t.prototype.formatPath=function(e){var t=this;e.forEach(function(e,A){var n=ls(e)?e.start:e;0===A?t.ctx.moveTo(n.x,n.y):t.ctx.lineTo(n.x,n.y),ls(e)&&t.ctx.bezierCurveTo(e.startControl.x,e.startControl.y,e.endControl.x,e.endControl.y,e.end.x,e.end.y)})},t.prototype.renderRepeat=function(e,t,A,n){this.path(e),this.ctx.fillStyle=t,this.ctx.translate(A,n),this.ctx.fill(),this.ctx.translate(-A,-n)},t.prototype.resizeImage=function(e,t,A){if(e.width===t&&e.height===A)return e;var n,r=(null!=(n=this.canvas.ownerDocument)?n:document).createElement("canvas");return r.width=Math.max(1,t),r.height=Math.max(1,A),r.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t,A),r},t.prototype.renderBackgroundImage=function(e){return nz(this,void 0,void 0,function(){var t,A,n,r,o,i;return nX(this,function(s){switch(s.label){case 0:t=e.styles.backgroundImage.length-1,A=function(A){var r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,D,x,O,M;return nX(this,function(L){switch(L.label){case 0:if(0!==A.type)return[3,5];r=void 0,o=A.url,L.label=1;case 1:return L.trys.push([1,3,,4]),[4,n.context.cache.match(o)];case 2:return r=L.sent(),[3,4];case 3:return L.sent(),n.context.logger.error("Error loading background-image "+o),[3,4];case 4:return r&&(s=(i=lT(e,t,[r.width,r.height,r.width/r.height]))[0],a=i[1],l=i[2],c=i[3],u=i[4],d=n.ctx.createPattern(n.resizeImage(r,c,u),"repeat"),n.renderRepeat(s,d,a,l)),[3,6];case 5:1===A.type?(s=(p=lT(e,t,[null,null,null]))[0],a=p[1],l=p[2],c=p[3],u=p[4],m=(g=oF(A.angle,c,u))[0],h=g[1],f=g[2],w=g[3],B=g[4],(y=document.createElement("canvas")).width=c,y.height=u,S=(v=y.getContext("2d")).createLinearGradient(h,w,f,B),oU(A.stops,m).forEach(function(e){return S.addColorStop(e.stop,og(e.color))}),v.fillStyle=S,v.fillRect(0,0,c,u),c>0&&u>0&&(d=n.ctx.createPattern(y,"repeat"),n.renderRepeat(s,d,a,l))):2===A.type&&(s=(C=lT(e,t,[null,null,null]))[0],I=C[1],b=C[2],c=C[3],u=C[4],a=oo((U=0===A.position.length?[oA]:A.position)[0],c),l=oo(U[U.length-1],u),F=(E=oD(A,a,l,c,u))[0],Q=E[1],F>0&&Q>0&&(T=n.ctx.createRadialGradient(I+a,b+l,0,I+a,b+l,F),oU(A.stops,2*F).forEach(function(e){return T.addColorStop(e.stop,og(e.color))}),n.path(s),n.ctx.fillStyle=T,F!==Q?(D=e.bounds.left+.5*e.bounds.width,x=e.bounds.top+.5*e.bounds.height,M=1/(O=Q/F),n.ctx.save(),n.ctx.translate(D,x),n.ctx.transform(1,0,0,O,0,0),n.ctx.translate(-D,-x),n.ctx.fillRect(I,M*(b-x)+x,c,u*M),n.ctx.restore()):n.ctx.fill())),L.label=6;case 6:return t--,[2]}})},n=this,r=0,o=e.styles.backgroundImage.slice(0).reverse(),s.label=1;case 1:if(!(r<o.length))return[3,4];return i=o[r],[5,A(i)];case 2:s.sent(),s.label=3;case 3:return r++,[3,1];case 4:return[2]}})})},t.prototype.renderSolidBorder=function(e,t,A){return nz(this,void 0,void 0,function(){return nX(this,function(n){return this.path(lS(A,t)),this.ctx.fillStyle=og(e),this.ctx.fill(),[2]})})},t.prototype.renderDoubleBorder=function(e,t,A,n){return nz(this,void 0,void 0,function(){var r,o;return nX(this,function(i){switch(i.label){case 0:if(!(t<3))return[3,2];return[4,this.renderSolidBorder(e,A,n)];case 1:return i.sent(),[2];case 2:return r=lC(n,A),this.path(r),this.ctx.fillStyle=og(e),this.ctx.fill(),o=lI(n,A),this.path(o),this.ctx.fill(),[2]}})})},t.prototype.renderNodeBackgroundAndBorders=function(e){return nz(this,void 0,void 0,function(){var t,A,n,r,o,i,s,a,l=this;return nX(this,function(c){switch(c.label){case 0:if(this.applyEffects(e.getEffects(2)),A=!op((t=e.container.styles).backgroundColor)||t.backgroundImage.length,n=[{style:t.borderTopStyle,color:t.borderTopColor,width:t.borderTopWidth},{style:t.borderRightStyle,color:t.borderRightColor,width:t.borderRightWidth},{style:t.borderBottomStyle,color:t.borderBottomColor,width:t.borderBottomWidth},{style:t.borderLeftStyle,color:t.borderLeftColor,width:t.borderLeftWidth}],r=lk(lM(t.backgroundClip,0),e.curves),!(A||t.boxShadow.length))return[3,2];return this.ctx.save(),this.path(r),this.ctx.clip(),op(t.backgroundColor)||(this.ctx.fillStyle=og(t.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)];case 1:c.sent(),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach(function(t){l.ctx.save();var A,n,r,o,i=lc(e.curves),s=1e4*!t.inset,a=(A=-s+(t.inset?1:-1)*t.spread.number,n=(t.inset?1:-1)*t.spread.number,r=t.spread.number*(t.inset?-2:2),o=t.spread.number*(t.inset?-2:2),i.map(function(e,t){switch(t){case 0:return e.add(A,n);case 1:return e.add(A+r,n);case 2:return e.add(A+r,n+o);case 3:return e.add(A,n+o)}return e}));t.inset?(l.path(i),l.ctx.clip(),l.mask(a)):(l.mask(i),l.ctx.clip(),l.path(a)),l.ctx.shadowOffsetX=t.offsetX.number+s,l.ctx.shadowOffsetY=t.offsetY.number,l.ctx.shadowColor=og(t.color),l.ctx.shadowBlur=t.blur.number,l.ctx.fillStyle=t.inset?og(t.color):"rgba(0,0,0,1)",l.ctx.fill(),l.ctx.restore()}),c.label=2;case 2:o=0,i=0,s=n,c.label=3;case 3:if(!(i<s.length))return[3,13];if(!(0!==(a=s[i]).style&&!op(a.color)&&a.width>0))return[3,11];if(2!==a.style)return[3,5];return[4,this.renderDashedDottedBorder(a.color,a.width,o,e.curves,2)];case 4:case 6:case 8:return c.sent(),[3,11];case 5:if(3!==a.style)return[3,7];return[4,this.renderDashedDottedBorder(a.color,a.width,o,e.curves,3)];case 7:if(4!==a.style)return[3,9];return[4,this.renderDoubleBorder(a.color,a.width,o,e.curves)];case 9:return[4,this.renderSolidBorder(a.color,o,e.curves)];case 10:c.sent(),c.label=11;case 11:o++,c.label=12;case 12:return i++,[3,3];case 13:return[2]}})})},t.prototype.renderDashedDottedBorder=function(e,t,A,n,r){return nz(this,void 0,void 0,function(){var o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y;return nX(this,function(v){return this.ctx.save(),o=lb(n,A),i=lS(n,A),2===r&&(this.path(i),this.ctx.clip()),ls(i[0])?(s=i[0].start.x,a=i[0].start.y):(s=i[0].x,a=i[0].y),ls(i[1])?(l=i[1].end.x,c=i[1].end.y):(l=i[1].x,c=i[1].y),u=0===A||2===A?Math.abs(s-l):Math.abs(a-c),this.ctx.beginPath(),3===r?this.formatPath(o):this.formatPath(i.slice(0,2)),d=t<3?3*t:2*t,p=t<3?2*t:t,3===r&&(d=t,p=t),g=!0,u<=2*d?g=!1:u<=2*d+p?(m=u/(2*d+p),d*=m,p*=m):(h=Math.floor((u+p)/(d+p)),f=(u-h*d)/(h-1),p=(w=(u-(h+1)*d)/h)<=0||Math.abs(p-f)<Math.abs(p-w)?f:w),g&&(3===r?this.ctx.setLineDash([0,d+p]):this.ctx.setLineDash([d,p])),3===r?(this.ctx.lineCap="round",this.ctx.lineWidth=t):this.ctx.lineWidth=2*t+1.1,this.ctx.strokeStyle=og(e),this.ctx.stroke(),this.ctx.setLineDash([]),2===r&&(ls(i[0])&&(B=i[3],y=i[0],this.ctx.beginPath(),this.formatPath([new lr(B.end.x,B.end.y),new lr(y.start.x,y.start.y)]),this.ctx.stroke()),ls(i[1])&&(B=i[1],y=i[2],this.ctx.beginPath(),this.formatPath([new lr(B.end.x,B.end.y),new lr(y.start.x,y.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},t.prototype.render=function(e){return nz(this,void 0,void 0,function(){var t;return nX(this,function(A){switch(A.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=og(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),t=lv(e),[4,this.renderStack(t)];case 1:return A.sent(),this.applyEffects([]),[2,this.canvas]}})})},t}(lN),l_=function(e){return e instanceof at||e instanceof ae||e instanceof s7&&e.type!==s8&&e.type!==s9||!1},lk=function(e,t){switch(e){case 0:return lc(t);case 2:return[t.topLeftContentBox,t.topRightContentBox,t.bottomRightContentBox,t.bottomLeftContentBox];default:return lu(t)}},lP=function(e){switch(e){case 1:return"center";case 2:return"right";default:return"left"}},lj=["-apple-system","system-ui"],lG=function(e){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?e.filter(function(e){return -1===lj.indexOf(e)}):e},lK=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.canvas=A.canvas?A.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=A,n.canvas.width=Math.floor(A.width*A.scale),n.canvas.height=Math.floor(A.height*A.scale),n.canvas.style.width=A.width+"px",n.canvas.style.height=A.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-A.x,-A.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+A.width+"x"+A.height+" at "+A.x+","+A.y+") with scale "+A.scale),n}return nW(t,e),t.prototype.render=function(e){return nz(this,void 0,void 0,function(){var t;return nX(this,function(A){switch(A.label){case 0:return[4,lW(sQ(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e))];case 1:return t=A.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=og(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(t,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},t}(lN),lW=function(e){return new Promise(function(t,A){var n=new Image;n.onload=function(){t(n)},n.onerror=A,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},lY=function(){function e(e){var t=e.id,A=e.enabled;this.id=t,this.enabled=A,this.start=Date.now()}return e.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.debug?console.debug.apply(console,nJ([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.prototype.getTime=function(){return Date.now()-this.start},e.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&"u">typeof window&&window.console&&"function"==typeof console.info&&console.info.apply(console,nJ([this.id,this.getTime()+"ms"],e))},e.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.warn?console.warn.apply(console,nJ([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.error?console.error.apply(console,nJ([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.instances={},e}(),lz=function(){function e(t,A){var n;this.windowBounds=A,this.instanceName="#"+e.instanceCount++,this.logger=new lY({id:this.instanceName,enabled:t.logging}),this.cache=null!=(n=t.cache)?n:new a6(this,t)}return e.instanceCount=1,e}();"u">typeof window&&a4.setContext(window);var lX=function(e,t,A){var n=t.ownerDocument,r=n.documentElement?ov(e,getComputedStyle(n.documentElement).backgroundColor):oS.TRANSPARENT,o=n.body?ov(e,getComputedStyle(n.body).backgroundColor):oS.TRANSPARENT,i="string"==typeof A?ov(e,A):null===A?oS.TRANSPARENT:0xffffffff;return t===n.documentElement?op(r)?op(o)?i:o:r:i};let lJ=function(e,t){var A,n;return void 0===t&&(t={}),A=e,n=t,nz(void 0,void 0,void 0,function(){var e,t,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,D,x,O,M,L,R,V,N;return nX(this,function(H){switch(H.label){case 0:if(!A||"object"!=typeof A)return[2,Promise.reject("Invalid element provided as first argument")];if(!(e=A.ownerDocument))throw Error("Element is not attached to a Document");if(!(t=e.defaultView))throw Error("Document is not attached to a Window");if(r={allowTaint:null!=(S=n.allowTaint)&&S,imageTimeout:null!=(C=n.imageTimeout)?C:15e3,proxy:n.proxy,useCORS:null!=(I=n.useCORS)&&I},s=new lz(nY({logging:null==(b=n.logging)||b,cache:n.cache},r),i=new nq((o={windowWidth:null!=(U=n.windowWidth)?U:t.innerWidth,windowHeight:null!=(E=n.windowHeight)?E:t.innerHeight,scrollX:null!=(F=n.scrollX)?F:t.pageXOffset,scrollY:null!=(Q=n.scrollY)?Q:t.pageYOffset}).scrollX,o.scrollY,o.windowWidth,o.windowHeight)),a=null!=(T=n.foreignObjectRendering)&&T,l={allowTaint:null!=(D=n.allowTaint)&&D,onclone:n.onclone,ignoreElements:n.ignoreElements,inlineImages:a,copyStyles:a},s.logger.debug("Starting document clone with size "+i.width+"x"+i.height+" scrolled to "+-i.left+","+-i.top),!(u=(c=new aj(s,A,l)).clonedReferenceElement))return[2,Promise.reject("Unable to find element in cloned iframe")];return[4,c.toIFrame(e,i)];case 1:if(d=H.sent(),g=(p=af(u)||"HTML"===u.tagName?nZ(u.ownerDocument):n$(s,u)).width,m=p.height,h=p.left,f=p.top,w=lX(s,u,n.backgroundColor),B={canvas:n.canvas,backgroundColor:w,scale:null!=(O=null!=(x=n.scale)?x:t.devicePixelRatio)?O:1,x:(null!=(M=n.x)?M:0)+h,y:(null!=(L=n.y)?L:0)+f,width:null!=(R=n.width)?R:Math.ceil(g),height:null!=(V=n.height)?V:Math.ceil(m)},!a)return[3,3];return s.logger.debug("Document cloned, using foreign object rendering"),[4,new lK(s,B).render(u)];case 2:return y=H.sent(),[3,5];case 3:return s.logger.debug("Document cloned, element located at "+h+","+f+" with size "+g+"x"+m+" using computed rendering"),s.logger.debug("Starting DOM parsing"),v=ai(s,u),w===v.styles.backgroundColor&&(v.styles.backgroundColor=oS.TRANSPARENT),s.logger.debug("Starting renderer for element at "+B.x+","+B.y+" with size "+B.width+"x"+B.height),[4,new lH(s,B).render(v)];case 4:y=H.sent(),H.label=5;case 5:return(null==(N=n.removeContainer)||N)&&!aj.destroy(d)&&s.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore"),s.logger.debug("Finished rendering"),[2,y]}})})},{downloadUrl:lq}=k.utils,l$="cornerstone-viewport-download-form",lZ=[{value:"jpg",label:"JPG"},{value:"png",label:"PNG"}];async function l0(e,t,A,n,r){try{return await (0,nL.qU)(e).copyDisplayedContentTo(t),t.render(),A?.length&&A.forEach(e=>{let{segmentationId:A,colorLUTIndex:n,type:r}=e;r===R.Enums.SegmentationRepresentations.Labelmap&&R.segmentation.addLabelmapRepresentationToViewportMap({[t.id]:[{segmentationId:A,type:R.Enums.SegmentationRepresentations.Labelmap,config:{colorLUTOrIndex:n}}]}),r===R.Enums.SegmentationRepresentations.Contour&&R.segmentation.addContourRepresentationToViewportMap({[t.id]:[{segmentationId:A,type:R.Enums.SegmentationRepresentations.Contour,config:{colorLUTOrIndex:n}}]})}),{width:Math.min(n||512,1e4),height:Math.min(r||512,1e4)}}catch(e){console.error("Error loading image:",e)}}let l1=e=>{let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f=(0,D.c)(46),{hide:w,activeViewportId:B}=e,{servicesManager:y}=(0,tj.useSystem)(),{customizationService:v,cornerstoneViewportService:S}=y.services,[C,I]=(0,M.useState)(!0);f[0]===Symbol.for("react.memo_cache_sentinel")?(t={width:512,height:512},f[0]=t):t=f[0];let[b,U]=(0,M.useState)(t);f[1]!==v?(A=v.getCustomization("viewportDownload.warningMessage"),f[1]=v,f[2]=A):A=f[2];let E=A;if(f[3]!==B||f[4]!==S){let e,t=(0,$.kJ)(B);n=t?.element;let{viewportId:A,renderingEngineId:s}=(0,L.getEnabledElement)(n);r=A,f[9]!==S?(e=S.getRenderingEngine(),f[9]=S,f[10]=e):e=f[10],o=e,i=R.ToolGroupManager.getToolGroupForViewport(r,s),f[3]=B,f[4]=S,f[5]=n,f[6]=r,f[7]=o,f[8]=i}else n=f[5],r=f[6],o=f[7],i=f[8];let F=i;f[11]!==F?(s=()=>{let e=Object.keys(F.toolOptions).reduce((e,t)=>{let{mode:A,bindings:n}=F.toolOptions[t];return{...e,[t]:{mode:A,bindings:n}}},{});return()=>{Object.keys(e).forEach(t=>{let{mode:A,bindings:n}=e[t];try{F.setToolMode(t,A,{bindings:n})}catch(e){console.debug("Error restoring tool mode during cleanup:",t,e)}})}},f[11]=F,f[12]=s):s=f[12],f[13]===Symbol.for("react.memo_cache_sentinel")?(a=[],f[13]=a):a=f[13],(0,M.useEffect)(s,a),f[14]!==n||f[15]!==o?(l=e=>{if(!e)return;let{viewport:t}=(0,L.getEnabledElement)(n),A={viewportId:l$,element:e,type:t.type,defaultOptions:{background:t.defaultOptions.background,orientation:t.defaultOptions.orientation}};o.enableElement(A)},f[14]=n,f[15]=o,f[16]=l):l=f[16];let Q=l;f[17]!==o?(c=async()=>{o.disableElement(l$)},f[17]=o,f[18]=c):c=f[18];let T=c;f[19]!==n||f[20]!==r||f[21]!==o?(u=async(e,t)=>{if(!n)return;let A=(0,L.getEnabledElement)(n);if(!A)return;let i=R.segmentation.state.getViewportSegmentationRepresentations(r),{viewport:s}=A;return l0(s,o.getViewport(l$),i,e,t)},f[19]=n,f[20]=r,f[21]=o,f[22]=u):u=f[22];let x=u;f[23]!==n||f[24]!==o?(d=e=>{let t=(0,L.getEnabledElement)(n);if(!t)return;let A=o.getViewport(l$);if(!A)return;let{viewportId:r,renderingEngineId:i}=t,{id:s}=A,a=R.ToolGroupManager.getToolGroupForViewport(r,i);a.addViewport(s,i),Object.values(a.getToolInstances()).forEach(t=>{!1!==t.constructor.isAnnotation&&(e?a.setToolEnabled(t.toolName):a.setToolDisabled(t.toolName))})},f[23]=n,f[24]=o,f[25]=d):d=f[25];let O=d;f[26]!==x||f[27]!==O||f[28]!==o||f[29]!==C||f[30]!==b.height||f[31]!==b.width?(p=()=>{b.width&&b.height&&setTimeout(()=>{x(b.width,b.height),O(C),o.resize(),o.render()},100)},f[26]=x,f[27]=O,f[28]=o,f[29]=C,f[30]=b.height,f[31]=b.width,f[32]=p):p=f[32],f[33]!==C||f[34]!==b?(g=[b,C],f[33]=C,f[34]=b,f[35]=g):g=f[35],(0,M.useEffect)(p,g),f[36]!==v?(m=v.getCustomization("ohif.captureViewportModal"),f[36]=v,f[37]=m):m=f[37];let V=m;return f[38]!==V||f[39]!==T||f[40]!==Q||f[41]!==w||f[42]!==C||f[43]!==b||f[44]!==E?(h=(0,tp.jsx)(V,{onClose:w,defaultSize:512,fileTypeOptions:lZ,viewportId:l$,showAnnotations:C,onAnnotationsChange:I,dimensions:b,onDimensionsChange:U,onEnableViewport:Q,onDisableViewport:T,onDownload:l3,onCopyToClipboard:l2,warningState:E}),f[38]=V,f[39]=T,f[40]=Q,f[41]=w,f[42]=C,f[43]=b,f[44]=E,f[45]=h):h=f[45],h};async function l3(e,t){let A=document.querySelector(`div[data-viewport-uid="${l$}"]`);if(!A)return void console.debug("No viewport found for download");let n=`${e}.${t}`;lq((await lJ(A)).toDataURL(`image/${t}`,1),{filename:n})}async function l2(){let e=document.querySelector(`div[data-viewport-uid="${l$}"]`);if(!e)return void console.debug("No viewport found for copy");try{let t=await lJ(e),A=await new Promise((e,A)=>{t.toBlob(t=>{t?e(t):A(Error("Failed to create blob from canvas"))},"image/png",1)});await navigator.clipboard.write([new ClipboardItem({"image/png":A})]),console.log("Image copied to clipboard successfully")}catch(e){throw console.error("Failed to copy image to clipboard:",e),e}}var l4=x(3359),l6=x.n(l4);async function l9({segmentation:e,segmentationId:t,readableText:A}){if(!e)return console.debug("No segmentation found for id:",t),null;let n=Object.keys(e.segments).map(e=>parseInt(e)).filter(e=>e>0);if(0===n.length)return console.debug("No segments found in segmentation:",t),null;let r=await R.utilities.segmentation.getStatistics({segmentationId:t,segmentIndices:n,mode:"individual"});if(!r)return null;let o=l6()(e),i=!1;return Object.entries(r).forEach(([e,t])=>{let n=parseInt(e);if(!o.segments[n])return void console.warn("Segment not found to update cached stats:",n);o.segments[n].cachedStats||(o.segments[n].cachedStats={},i=!0);let r=o.segments[n].cachedStats.namedStats||{};t.array&&(t.array.forEach(e=>{A[e.name]&&e&&e.name&&(r[e.name]={name:e.name,label:A[e.name],value:e.value,unit:e.unit,order:Object.keys(A).indexOf(e.name)})}),A.volume&&t.volume&&!r.volume&&(r.volume={name:"volume",label:"Volume",value:t.volume.value,unit:t.volume.unit,order:Object.keys(A).indexOf("volume")}),o.segments[n].cachedStats.namedStats=r,i=!0)}),i?o:null}let{downloadCsv:l8}=k.utils;var l5=x(1682);let l7={orthographic:"volume",volume3dnext:"volume3d",videonext:"video",wholeslidenext:"wholeslide",ecgnext:"ecg",planarnext:void 0};function ce(e){if(!e)return;let t=e.toLowerCase();return t in l7?l7[t]:t}function ct({viewportType:e,customizationService:t}){let A=t?.getCustomization("cornerstone.segmentation.autoHydrateViewportTypes");if(!Array.isArray(A))return!0;let n=ce(e);return!n||A.some(e=>ce(e)===n)}function cA(e,t,A,n){if(!t&&!n)return e??[];let r=new Map,o=(e,t)=>{e&&t?.length&&r.set(e,{viewportId:e,displaySetInstanceUIDs:t})};if(Array.isArray(e))for(let A of e){let e=A.viewportId??A.viewportOptions?.viewportId;e&&o(e,A.displaySetInstanceUIDs?.length?A.displaySetInstanceUIDs:[t])}A.forEach(e=>{if(r.has(e.viewportId))return;let A=e.displaySetInstanceUIDs||[];t&&A.includes(t)?o(e.viewportId,[t]):n?.(e)&&o(e.viewportId,A)});let i=Array.from(r.values());return 0===i.length&&Array.isArray(e)&&e.length>0?e:i}async function cn(e,t){if(!(e?.load instanceof Function))return;let{userAuthenticationService:A,uiNotificationService:n}=t.services,r=A.getAuthorizationHeader();try{await e.load({headers:r})}catch(e){n.show({title:"Error loading displaySet",message:e.message,type:"error"}),console.error(e)}}function cr(e,t,A,n){if(e<0||e>1||A<0||A>1)throw Error("x1 and x2 must be in the range [0, 1]");return function(r){var o,i,s,a;let l,c,u,d,p,g;if(r<=0)return 0;if(r>=1)return 1;if(e===t&&A===n)return r;return i=r,s=e,a=A,u=3*s,d=3*(a-s)-u,p=1-u-d,o=null!==(g=function(e){let t=e;for(let r=0;r<8;r++){var A,n;let r=((p*(A=t)+d)*A+u)*A-e;if(1e-6>Math.abs(r))return t;let o=(3*p*(n=t)+2*d)*n+u;if(1e-6>Math.abs(o))break;t-=r/o}return null}(i))?g:function(e){let t=0,A=1,n=e;for(;t<A;){var r;let o=((p*(r=n)+d)*r+u)*r;if(1e-6>Math.abs(o-e))break;e>o?t=n:A=n,n=(A-t)*.5+t}return n}(i),l=3*t,c=3*(n-t)-l,(((1-l-c)*o+c)*o+l)*o}}let co=cr(0,0,1,1),ci=cr(.42,0,1,1),cs=cr(0,0,.58,1),ca=cr(.42,0,.58,1),cl=cr(.25,.1,.25,1);function cc(e){return function(t,A=0,n){return 0===A?e(t):A+(1-Math.abs(2*e(t)-1))*((n?A*n:1)-A)}}let cu=cc(co),cd=cc(cl),cp=cc(ci),cg=cc(cs),cm=cc(ca),ch=((B={}).EASE="ease",B.EASE_IN="ease-in",B.EASE_OUT="ease-out",B.EASE_IN_OUT="ease-in-out",B.LINEAR="linear",B),cf=new Map([[ch.EASE,cd],[ch.EASE_IN,cp],[ch.EASE_OUT,cg],[ch.EASE_IN_OUT,cm],[ch.LINEAR,cu]]);var cw=x(3545),cB=x.n(cw);async function cy(e,{viewportId:t,options:A={},segmentationType:n}){let{viewportGridService:r,displaySetService:o,segmentationService:i}=e.services,{viewports:s}=r.getState(),a=s.get(t),l=A.displaySetInstanceUID||a?.displaySetInstanceUIDs?.[0];if(!l)return;let c=i.getSegmentations(),u=A.label||`${cB().t("Tools:Segmentation")} ${c.length+1}`,d=A.segmentationId||`${L.utilities.uuidv4()}`,p=o.getDisplaySetByUID(l),g={label:u,segmentationId:d,labelIsGenerated:!A.label,segments:A.createInitialSegment?{1:{label:`${cB().t("Tools:Segment")} 1`,active:!0}}:{}},m=await (n===ta.SegmentationRepresentations.Labelmap?i.createLabelmapForDisplaySet(p,g):i.createContourForDisplaySet(p,g));return await i.addSegmentationRepresentation(t,{segmentationId:d,type:n}),m}var cv=x(1748);let{add:cS,intersect:cC,subtract:cI,copy:cb}=R.utilities.contourSegmentation,{DefaultHistoryMemo:cU}=L.utilities.HistoryMemo,cE={imageSlice:function({servicesManager:e,viewports:t,syncId:A}){let{syncGroupService:n,viewportGridService:r,displaySetService:o,cornerstoneViewportService:i}=e.services;A||="IMAGE_SLICE_SYNC";let s=t||nT(r,o);if(s.some(e=>!!n.getSynchronizersForViewport(e.viewportOptions.viewportId).find(e=>e.id===A)))return function(e,t){let{syncGroupService:A,viewportGridService:n,displaySetService:r,cornerstoneViewportService:o}=t.services;nT(n,r).forEach(t=>{let{viewportId:n}=t.viewportOptions,r=o.getCornerstoneViewport(n);r&&A.removeViewportFromSyncGroup(r.id,r.getRenderingEngine().id,e)})}(A,e);s.forEach(e=>{let{viewportId:t}=e.viewportOptions,r=i.getCornerstoneViewport(t);r&&n.addViewportToSyncGroup(t,r.getRenderingEngine().id,{type:"imageSlice",id:A,source:!0,target:!0})})},voi:function({servicesManager:e,viewports:t,syncId:A}){let{syncGroupService:n,viewportGridService:r,displaySetService:o,cornerstoneViewportService:i}=e.services;for(let[s,a]of Object.entries(t||function(e,t){let{viewports:A}=e.getState();return[...A.values()].reduce((e,A)=>{let{displaySetInstanceUIDs:n}=A;if(!n?.length)return e;let r=n[0],o=t.getDisplaySetByUID(r).Modality;return e[o]||(e[o]=[]),e[o].push(A),e},{})}(r,o))){let t=A||nM(s);if(a.some(e=>!!n.getSynchronizersForViewport(e.viewportOptions.viewportId).find(e=>e.id===t)))return function(e,t,A){let{syncGroupService:n,cornerstoneViewportService:r}=A.services;e.forEach(e=>{let{viewportId:A}=e.viewportOptions,o=r.getCornerstoneViewport(A);o&&n.removeViewportFromSyncGroup(o.id,o.getRenderingEngine().id,t)})}(a,t,e);a.forEach(e=>{let{viewportId:A}=e.viewportOptions,r=i.getCornerstoneViewport(A);r&&n.addViewportToSyncGroup(A,r.getRenderingEngine().id,{type:"voi",id:t,source:!0,target:!0})})}}},{segmentation:cF}=R.utilities,cQ=({toolGroupService:e})=>{let t=[];return e.getToolGroupIds().forEach(e=>{let A=R.ToolGroupManager.getToolGroup(e).getToolInstances();Object.keys(A).forEach(e=>{let n=A[e];n instanceof R.LabelmapBaseTool&&t.push(n)})}),t},cT=new X.ONNXSegmentationController({autoSegmentMode:!0,models:{sam_b:[{name:"sam-b-encoder",url:"https://huggingface.co/schmuell/sam-b-fp16/resolve/main/sam_vit_b_01ec64.encoder-fp16.onnx",size:180,key:"encoder"},{name:"sam-b-decoder",url:"https://huggingface.co/schmuell/sam-b-fp16/resolve/main/sam_vit_b_01ec64.decoder.onnx",size:17,key:"decoder"}]},modelName:"sam_b"}),cD=!1,cx={type:"voi",id:"mpr",source:!0,target:!0,options:{syncColormap:!0}},cO={type:"hydrateseg",id:"sameFORId",source:!0,target:!0,options:{matchingRules:["sameFOR"]}},cM={layoutType:"grid",properties:{rows:1,columns:3,layoutOptions:[{x:0,y:0,width:1/3,height:1},{x:1/3,y:0,width:1/3,height:1},{x:2/3,y:0,width:1/3,height:1}]}},cL={id:"mpr",name:AF.t("Hps:MPR"),locked:!0,icon:"layout-advanced-mpr",isPreset:!0,createdDate:"2021-02-23",modifiedDate:"2023-08-15",availableTo:{},editableBy:{},numberOfPriorsReferenced:0,protocolMatchingRules:[],imageLoadStrategy:"nth",callbacks:{},displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{name:"MPR 1x3",viewportStructure:cM,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"MPR Reformat 1x3",viewportStructure:cM,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial_reformat",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},cR={id:"fourUp",locked:!0,name:AF.t("Hps:3D four up"),icon:"layout-advanced-3d-four-up",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"fourUpStage",name:"fourUp",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[cO]},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},cV={id:"main3D",locked:!0,name:AF.t("Hps:3D main"),icon:"layout-advanced-3d-main",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"main3DStage",name:"main3D",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3,layoutOptions:[{x:0,y:0,width:1,height:.5},{x:0,y:.5,width:1/3,height:.5},{x:1/3,y:.5,width:1/3,height:.5},{x:2/3,y:.5,width:1/3,height:.5}]}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},cN={id:"mprAnd3DVolumeViewport",locked:!0,name:AF.t("Hps:mpr"),createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0},{attribute:"Modality",constraint:{equals:{value:"CT"}},required:!0}]}},stages:[{id:"mpr3Stage",name:"mpr",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[cO]},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},cH={id:"only3D",locked:!0,name:AF.t("Hps:3D only"),icon:"layout-advanced-3d-only",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"only3DStage",name:"only3D",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:1}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0,syncGroups:[cO]}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]}]}]},c_={id:"primary3D",locked:!0,name:AF.t("Hps:3D primary"),icon:"layout-advanced-3d-primary",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"primary3DStage",name:"primary3D",viewportStructure:{layoutType:"grid",properties:{rows:3,columns:3,layoutOptions:[{x:0,y:0,width:2/3,height:1},{x:2/3,y:0,width:1/3,height:1/3},{x:2/3,y:1/3,width:1/3,height:1/3},{x:2/3,y:2/3,width:1/3,height:1/3}]}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},ck={id:"primaryAxial",locked:!0,name:AF.t("Hps:Axial Primary"),icon:"layout-advanced-axial-primary",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"primaryAxialStage",name:"primaryAxial",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3,layoutOptions:[{x:0,y:0,width:2/3,height:1},{x:2/3,y:0,width:1/3,height:.5},{x:2/3,y:.5,width:1/3,height:.5}]}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},cP={id:"@ohif/frameView",description:AF.t("Hps:Frame view for the active series"),name:AF.t("Hps:Frame View"),icon:"tool-stack-scroll",isPreset:!0,toolGroupIds:["default"],protocolMatchingRules:[],displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{attribute:"numImageFrames",constraint:{greaterThan:{value:16}},required:!0},{attribute:"isDisplaySetFromUrl",weight:20,constraint:{equals:!0}}]}},defaultViewport:{viewportOptions:{viewportType:"stack",toolGroupId:"default",allowUnmatchedView:!0},displaySets:[{id:"activeDisplaySet"}]},stages:[{name:"frameView",id:"4x4",viewportStructure:{layoutType:"grid",properties:{rows:4,columns:4}},viewports:[{viewportOptions:{viewportId:"custom_R0_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:6}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:7}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:8}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:9}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:10}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:11}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:12}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:13}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:14}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:15}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"3x3",viewportStructure:{layoutType:"grid",properties:{rows:3,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:6}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:7}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:8}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"3x2",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"2x2",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"1x3",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"1x2",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:2}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]}]}]};var cj=x(8228);let cG=e=>{let t,A,n,r,o=(0,D.c)(12),{displaySet:i,showModality:s,dataCY:a}=e,l=void 0===s||s;if(o[0]!==i||o[1]!==a)t=void 0===a?`${i.label}-${i.Modality}`:a,o[0]=i,o[1]=a,o[2]=t;else t=o[2];let c=t;return o[3]!==i.label?(A=(0,tp.jsx)("span",{className:"text-foreground truncate text-base",children:i.label}),o[3]=i.label,o[4]=A):A=o[4],o[5]!==i.Modality||o[6]!==l?(n=l&&i.Modality&&(0,tp.jsx)("span",{className:"text-muted-foreground flex-shrink-0 whitespace-nowrap text-xs",children:i.Modality}),o[5]=i.Modality,o[6]=l,o[7]=n):n=o[7],o[8]!==c||o[9]!==A||o[10]!==n?(r=(0,tp.jsxs)("div",{className:"flex w-[90%] items-center justify-between","data-cy":c,children:[A,n]}),o[8]=c,o[9]=A,o[10]=n,o[11]=r):r=o[11],r};var cK=x(9227);function cW(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID)}function cY(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID)}function cz(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID)}function cX(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e,dataCY:`${e.label}`})},e.displaySetInstanceUID)}function cJ(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID)}let cq=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,x,O,L,R,V,N,H,_,P,j,G,K=(0,D.c)(134),{viewportId:W}=e,{commandsManager:Y,servicesManager:z}=(0,k.useSystem)(),{t:X}=tP();K[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],K[0]=t):t=K[0];let[J,q]=(0,M.useState)(t);K[1]===Symbol.for("react.memo_cache_sentinel")?(A=[],K[1]=A):A=K[1];let[$,Z]=(0,M.useState)(A),{toggleColorbar:ee}=(0,cK.eH)(W),{hangingProtocolService:et,toolbarService:eA}=z.services,{backgroundDisplaySet:en,potentialOverlayDisplaySets:er,potentialForegroundDisplaySets:eo,potentialBackgroundDisplaySets:ei,overlayDisplaySets:es,foregroundDisplaySets:ea}=(0,cj.N)(W),[el,ec]=(0,M.useState)(es),[eu,ed]=(0,M.useState)(!1);K[2]!==es?(n=()=>{ec(es)},K[2]=es,K[3]=n):n=K[3];let ep=en?.displaySetInstanceUID;K[4]!==es||K[5]!==ep?(r=[ep,es],K[4]=es,K[5]=ep,K[6]=r):r=K[6],(0,M.useEffect)(n,r),K[7]!==Y||K[8]!==et||K[9]!==W?(o=e=>{let t=et.getViewportsRequireUpdate(W,e.displaySetInstanceUID);Y.run("setDisplaySetsForViewports",{viewportsToUpdate:t})},K[7]=Y,K[8]=et,K[9]=W,K[10]=o):o=K[10];let eg=o;K[11]!==Y||K[12]!==W?(i=(e,t)=>{Y.runCommand("removeDisplaySetLayer",{viewportId:W,displaySetInstanceUID:e}),setTimeout(()=>{Y.runCommand("addDisplaySetAsLayer",{viewportId:W,displaySetInstanceUID:t})},0)},K[11]=Y,K[12]=W,K[13]=i):i=K[13];let em=i;K[14]!==Y||K[15]!==el||K[16]!==W?(s=e=>{-1!==el.findIndex(t=>t.displaySetInstanceUID===e)&&ec(t=>t.filter(t=>t.displaySetInstanceUID!==e)),Y.runCommand("removeDisplaySetLayer",{viewportId:W,displaySetInstanceUID:e})},K[14]=Y,K[15]=el,K[16]=W,K[17]=s):s=K[17];let eh=s;K[18]!==Y||K[19]!==W?(a=e=>{Y.runCommand("addDisplaySetAsLayer",{viewportId:W,displaySetInstanceUID:e})},K[18]=Y,K[19]=W,K[20]=a):a=K[20];let ef=a;K[21]!==em||K[22]!==er?(l=(e,t)=>{if(t===e.displaySetInstanceUID)return;let A=er.find(e=>e.displaySetInstanceUID===t);A&&(ec(t=>{let n=t.findIndex(t=>t.displaySetInstanceUID===e.displaySetInstanceUID);return[...t.slice(0,n),A,...t.slice(n+1)]}),em(e.displaySetInstanceUID,A.displaySetInstanceUID))},K[21]=em,K[22]=er,K[23]=l):l=K[23];let ew=l;K[24]!==em||K[25]!==eo?(c=(e,t)=>{if(t===e.displaySetInstanceUID)return;let A=eo.find(e=>e.displaySetInstanceUID===t);A&&em(e.displaySetInstanceUID,A.displaySetInstanceUID)},K[24]=em,K[25]=eo,K[26]=c):c=K[26];let eB=c;K[27]!==ef||K[28]!==$||K[29]!==er?(u=(e,t)=>{let A=er.find(e=>e.displaySetInstanceUID===t);A&&(ec(e=>[...e,A]),ef(A.displaySetInstanceUID),Z($.filter(t=>t!==e)))},K[27]=ef,K[28]=$,K[29]=er,K[30]=u):u=K[30];let ey=u;K[31]!==ef||K[32]!==J||K[33]!==eo?(d=(e,t)=>{let A=eo.find(e=>e.displaySetInstanceUID===t);A&&(ef(A.displaySetInstanceUID),q(J.filter(t=>t!==e)))},K[31]=ef,K[32]=J,K[33]=eo,K[34]=d):d=K[34];let ev=d;K[35]!==eA?(p=eA.getButton("AdvancedRenderingControls"),K[35]=eA,K[36]=p):p=K[36];let eS=!!p;K[37]!==eA?(g=eA.getButton("opacityMenu"),K[37]=eA,K[38]=g):g=K[38];let eC=!!g;K[39]!==eS||K[40]!==eu||K[41]!==ee?(m=()=>{let e=!eu;eS&&ee(),ed(e)},K[39]=eS,K[40]=eu,K[41]=ee,K[42]=m):m=K[42];let eI=m,eb=`viewport-data-overlay-menu-${W}`;K[43]!==J?(h=()=>{q([...J,`pending-${Date.now()}`])},K[43]=J,K[44]=h):h=K[44];let eU=0===eo.length;K[45]===Symbol.for("react.memo_cache_sentinel")?(f=(0,tp.jsx)(tB.Icons.Plus,{className:"h-4 w-4"}),K[45]=f):f=K[45],K[46]!==X?(w=X("Common:Foreground"),K[46]=X,K[47]=w):w=K[47],K[48]!==h||K[49]!==eU||K[50]!==w?(B=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"text-primary flex items-center p-1",onClick:h,disabled:eU,children:[f,w]}),K[48]=h,K[49]=eU,K[50]=w,K[51]=B):B=K[51];let eE=0===er.length;K[52]!==$?(y=()=>{Z([...$,`seg-${Date.now()}`])},K[52]=$,K[53]=y):y=K[53];let eF=`AddSegmentationDataOverlay-${W}`;if(K[54]===Symbol.for("react.memo_cache_sentinel")?(v=(0,tp.jsx)(tB.Icons.Plus,{className:"h-4 w-4"}),K[54]=v):v=K[54],K[55]!==X?(S=X("Tools:Segmentation"),K[55]=X,K[56]=S):S=K[56],K[57]!==eE||K[58]!==y||K[59]!==eF||K[60]!==S?(C=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"text-primary ml-2 flex items-center",disabled:eE,onClick:y,dataCY:eF,children:[v,S]}),K[57]=eE,K[58]=y,K[59]=eF,K[60]=S,K[61]=C):C=K[61],K[62]!==B||K[63]!==C?(I=(0,tp.jsxs)("div",{className:"flex",children:[B,C]}),K[62]=B,K[63]=C,K[64]=I):I=K[64],K[65]!==ew||K[66]!==eh||K[67]!==el||K[68]!==er){let e;K[70]!==ew||K[71]!==eh||K[72]!==er?(e=e=>(0,tp.jsxs)("div",{className:"mb-1 flex items-center",children:[(0,tp.jsx)(tB.Icons.LayerSegmentation,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),(0,tp.jsxs)(tB.Select,{value:e.displaySetInstanceUID,onValueChange:t=>ew(e,t),children:[(0,tp.jsx)(tB.SelectTrigger,{className:"flex-1",children:(0,tp.jsx)(tB.SelectValue,{"data-cy":`overlay-ds-select-value-${e.label?.toUpperCase()}`,children:e.label?.toUpperCase()})}),(0,tp.jsxs)(tB.SelectContent,{children:[(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID),er.map(cJ)]})]}),(0,tp.jsxs)(tB.DropdownMenu,{children:[(0,tp.jsx)(tB.DropdownMenuTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",dataCY:`overlay-ds-more-button-${e.label?.toUpperCase()}`,children:(0,tp.jsx)(tB.Icons.More,{className:"h-4 w-4"})})}),(0,tp.jsx)(tB.DropdownMenuContent,{align:"start",children:(0,tp.jsx)(tB.DropdownMenuItem,{"data-cy":`overlay-ds-remove-button-${e.label?.toUpperCase()}`,onClick:()=>eh(e.displaySetInstanceUID),children:"Remove"})})]})]},e.displaySetInstanceUID),K[70]=ew,K[71]=eh,K[72]=er,K[73]=e):e=K[73],b=el.map(e),K[65]=ew,K[66]=eh,K[67]=el,K[68]=er,K[69]=b}else b=K[69];if(K[74]!==ey||K[75]!==$||K[76]!==er||K[77]!==X?(U=$.map(e=>(0,tp.jsxs)("div",{className:"mb-2 flex items-center",children:[(0,tp.jsx)(tB.Icons.LayerSegmentation,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),(0,tp.jsxs)(tB.Select,{value:"",onValueChange:t=>ey(e,t),children:[(0,tp.jsx)(tB.SelectTrigger,{className:"flex-1",children:(0,tp.jsx)(tB.SelectValue,{placeholder:X("Common:SELECT A SEGMENTATION")})}),(0,tp.jsx)(tB.SelectContent,{children:er.map(cX)})]}),(0,tp.jsxs)(tB.DropdownMenu,{children:[(0,tp.jsx)(tB.DropdownMenuTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",children:(0,tp.jsx)(tB.Icons.More,{className:"h-4 w-4"})})}),(0,tp.jsx)(tB.DropdownMenuContent,{align:"start",children:(0,tp.jsx)(tB.DropdownMenuItem,{onClick:()=>{Z($.filter(t=>t!==e))},children:"Cancel"})})]})]},e)),K[74]=ey,K[75]=$,K[76]=er,K[77]=X,K[78]=U):U=K[78],K[79]!==b||K[80]!==U?(E=(0,tp.jsxs)("div",{className:"my-2 ml-1",children:[b,U]}),K[79]=b,K[80]=U,K[81]=E):E=K[81],K[82]!==ea||K[83]!==eB||K[84]!==eh||K[85]!==eo){let e;K[87]!==eB||K[88]!==eh||K[89]!==eo?(e=(e,t)=>(0,tp.jsxs)("div",{className:"mb-1 flex items-center",children:[(0,tp.jsx)(tB.Icons.LayerForeground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),(0,tp.jsxs)(tB.Select,{value:e.displaySetInstanceUID,onValueChange:t=>eB(e,t),children:[(0,tp.jsx)(tB.SelectTrigger,{className:"flex-1",children:(0,tp.jsx)(tB.SelectValue,{children:e.label?.toUpperCase()})}),(0,tp.jsxs)(tB.SelectContent,{children:[(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID),eo.map(cz)]})]}),(0,tp.jsxs)(tB.DropdownMenu,{children:[(0,tp.jsx)(tB.DropdownMenuTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",children:(0,tp.jsx)(tB.Icons.More,{className:"h-4 w-4"})})}),(0,tp.jsx)(tB.DropdownMenuContent,{align:"start",children:(0,tp.jsx)(tB.DropdownMenuItem,{onClick:()=>eh(e.displaySetInstanceUID),children:"Remove"})})]})]},e.displaySetInstanceUID),K[87]=eB,K[88]=eh,K[89]=eo,K[90]=e):e=K[90],F=ea.map(e),K[82]=ea,K[83]=eB,K[84]=eh,K[85]=eo,K[86]=F}else F=K[86];K[91]!==ev||K[92]!==J||K[93]!==eo||K[94]!==X?(Q=J.map(e=>(0,tp.jsxs)("div",{className:"mb-2 flex items-center",children:[(0,tp.jsx)(tB.Icons.LayerForeground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),(0,tp.jsxs)(tB.Select,{value:"",onValueChange:t=>ev(e,t),children:[(0,tp.jsx)(tB.SelectTrigger,{className:"flex-1",children:(0,tp.jsx)(tB.SelectValue,{placeholder:X("Common:SELECT A FOREGROUND")})}),(0,tp.jsx)(tB.SelectContent,{children:eo.map(cY)})]}),(0,tp.jsxs)(tB.DropdownMenu,{children:[(0,tp.jsx)(tB.DropdownMenuTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",children:(0,tp.jsx)(tB.Icons.More,{className:"h-4 w-4"})})}),(0,tp.jsx)(tB.DropdownMenuContent,{align:"start",children:(0,tp.jsx)(tB.DropdownMenuItem,{onClick:()=>{q(J.filter(t=>t!==e))},children:"Cancel"})})]})]},e)),K[91]=ev,K[92]=J,K[93]=eo,K[94]=X,K[95]=Q):Q=K[95],K[96]!==F||K[97]!==Q?(T=(0,tp.jsxs)("div",{className:"my-2 px-1",children:[F,Q]}),K[96]=F,K[97]=Q,K[98]=T):T=K[98],K[99]===Symbol.for("react.memo_cache_sentinel")?(x=(0,tp.jsx)(tB.Icons.LayerBackground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),K[99]=x):x=K[99];let eQ=en?.displaySetInstanceUID;K[100]!==eg||K[101]!==ei?(O=e=>{let t=ei.find(t=>t.displaySetInstanceUID===e);t&&eg(t)},K[100]=eg,K[101]=ei,K[102]=O):O=K[102];let eT=`overlay-background-ds-select-${W}`,eD=en?.SeriesDescription||en?.label||"background";return K[103]!==eD?(L=eD.toUpperCase(),K[103]=eD,K[104]=L):L=K[104],K[105]!==L?(R=(0,tp.jsx)(tB.SelectValue,{children:L}),K[105]=L,K[106]=R):R=K[106],K[107]!==eT||K[108]!==R?(V=(0,tp.jsx)(tB.SelectTrigger,{className:"flex-1","data-cy":eT,children:R}),K[107]=eT,K[108]=R,K[109]=V):V=K[109],K[110]!==ei?(N=ei.map(cW),K[110]=ei,K[111]=N):N=K[111],K[112]!==N?(H=(0,tp.jsx)(tB.SelectContent,{children:N}),K[112]=N,K[113]=H):H=K[113],K[114]!==eQ||K[115]!==O||K[116]!==V||K[117]!==H?(_=(0,tp.jsxs)("div",{className:"mt-1 mb-1 flex items-center px-1",children:[x,(0,tp.jsxs)(tB.Select,{value:eQ,onValueChange:O,children:[V,H]})]}),K[114]=eQ,K[115]=O,K[116]=V,K[117]=H,K[118]=_):_=K[118],K[119]!==E||K[120]!==T||K[121]!==_?(P=(0,tp.jsxs)("div",{className:"",children:[E,T,_]}),K[119]=E,K[120]=T,K[121]=_,K[122]=P):P=K[122],K[123]!==ea.length||K[124]!==eI||K[125]!==eS||K[126]!==eC||K[127]!==eu?(j=ea.length>0&&(eS||eC)&&(0,tp.jsx)("div",{className:"mt-1 ml-7",children:(0,tp.jsxs)("div",{className:"flex items-center",children:[(0,tp.jsx)(tB.Switch,{id:"threshold-opacity-switch",className:"mr-2",checked:eu,onCheckedChange:eI}),(0,tp.jsx)("label",{htmlFor:"threshold-opacity-switch",className:"text-muted-foreground cursor-pointer text-sm",onClick:()=>ed(!eu),children:"Control threshold & opacity"})]})}),K[123]=ea.length,K[124]=eI,K[125]=eS,K[126]=eC,K[127]=eu,K[128]=j):j=K[128],K[129]!==eb||K[130]!==I||K[131]!==P||K[132]!==j?(G=(0,tp.jsxs)("div",{className:"bg-popover flex h-full w-[275px] flex-col rounded rounded-md p-1.5","data-cy":eb,children:[I,P,j]}),K[129]=eb,K[130]=I,K[131]=P,K[132]=j,K[133]=G):G=K[133],G};function c$(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h=(0,D.c)(38);h[0]!==e?({viewportId:s,location:A,isOpen:i,onOpen:r,onClose:n,disabled:t,...o}=e,h[0]=e,h[1]=t,h[2]=A,h[3]=n,h[4]=r,h[5]=o,h[6]=i,h[7]=s):(t=h[1],A=h[2],n=h[3],r=h[4],o=h[5],i=h[6],s=h[7]);let f=void 0!==i&&i,{viewportDisplaySets:w}=(0,cj.N)(s),{IconContainer:B,className:y,containerProps:v}=(0,tB.useIconPresentation)();h[8]!==n||h[9]!==r?(a=e=>{e?r?.():n?.()},h[8]=n,h[9]=r,h[10]=a):a=h[10];let S=a,{servicesManager:C}=(0,k.useSystem)(),{toolbarService:I}=C.services;h[11]!==A||h[12]!==I?(l=I.getAlignAndSide(A),h[11]=A,h[12]=I,h[13]=l):l=h[13];let{align:b,side:U}=l;h[14]!==y?(c=(0,tp.jsx)(tB.Icons.ViewportViews,{className:y}),h[14]=y,h[15]=c):c=h[15];let E=c;h[16]!==o.id||h[17]!==s?(u=o.id?{id:`${o.id}-${s}`}:{},h[16]=o.id,h[17]=s,h[18]=u):u=h[18];let F=u;return h[19]!==E||h[20]!==B||h[21]!==v||h[22]!==t||h[23]!==F||h[24]!==o?(d=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center",children:(0,tp.jsx)("div",{children:B?(0,tp.jsx)(B,{disabled:t,icon:"ViewportViews",...o,...v,...F,children:E}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,children:E})})}),h[19]=E,h[20]=B,h[21]=v,h[22]=t,h[23]=F,h[24]=o,h[25]=d):d=h[25],h[26]!==w||h[27]!==s?(p=(0,tp.jsx)(cq,{className:"w-full",viewportId:s,displaySets:w}),h[26]=w,h[27]=s,h[28]=p):p=h[28],h[29]!==b||h[30]!==U||h[31]!==p?(g=(0,tp.jsx)(tB.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:U,align:b,alignOffset:0,sideOffset:5,children:p}),h[29]=b,h[30]=U,h[31]=p,h[32]=g):g=h[32],h[33]!==S||h[34]!==f||h[35]!==d||h[36]!==g?(m=(0,tp.jsxs)(tB.Popover,{open:f,onOpenChange:S,children:[d,g]}),h[33]=S,h[34]=f,h[35]=d,h[36]=g,h[37]=m):m=h[37],m}function cZ(){}function c0(){return{}}function c1(e){return e.displaySetInstanceUID}function c3(e){return e.isReconstructable}let c2=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,x,O,R,V,N,H,_,P,j,G,K,W,Y,z,X=(0,D.c)(103);X[0]!==e?({location:n,viewportId:a,displaySets:A,isOpen:s,onOpen:o,onClose:r,disabled:t,...i}=e,X[0]=e,X[1]=t,X[2]=A,X[3]=n,X[4]=r,X[5]=o,X[6]=i,X[7]=s,X[8]=a):(t=X[1],A=X[2],n=X[3],r=X[4],o=X[5],i=X[6],s=X[7],a=X[8]);let J=void 0!==s&&s,{servicesManager:q,commandsManager:$}=(0,k.useSystem)(),{cornerstoneViewportService:Z,toolbarService:ee}=q.services;X[9]!==Z||X[10]!==a?(l=Z.getViewportInfo(a).getOrientation(),X[9]=Z,X[10]=a,X[11]=l):l=X[11];let et=l,[eA]=(0,tB.useViewportGrid)(),en=a||eA.activeViewportId,{IconContainer:er,className:eo,containerProps:ei}=(0,tB.useIconPresentation)(),[es,ea]=M.useState("string"==typeof et?et:"axial");X[12]!==$||X[13]!==Z||X[14]!==A||X[15]!==r||X[16]!==en?(c=e=>{let t;if(ea(e),!A.length)return;if(!A.some(c3))return void console.warn("Cannot change orientation: No reconstructable display sets in viewport");switch(e.toLowerCase()){case"axial":t=L.Enums.OrientationAxis.AXIAL;break;case"sagittal":t=L.Enums.OrientationAxis.SAGITTAL;break;case"coronal":t=L.Enums.OrientationAxis.CORONAL;break;case"reformat":t=L.Enums.OrientationAxis.REFORMAT;break;default:t=L.Enums.OrientationAxis.ACQUISITION}let n=A.map(c1),o=Z.getCornerstoneViewport(en);if(o&&(0,nL.qU)(o).canReorientInPlace())$.runCommand("setViewportOrientation",{viewportId:en,orientation:t});else{let e={viewportId:en,displaySetInstanceUIDs:n,viewportOptions:{viewportType:L.Enums.ViewportType.ORTHOGRAPHIC,orientation:t},displaySetOptions:n.map(c0)};$.run("setDisplaySetsForViewports",{viewportsToUpdate:[e]})}r?.()},X[12]=$,X[13]=Z,X[14]=A,X[15]=r,X[16]=en,X[17]=c):c=X[17];let el=c;X[18]!==r||X[19]!==o?(u=e=>{e?o?.():r?.()},X[18]=r,X[19]=o,X[20]=u):u=X[20];let ec=u;if(!A.length)return null;X[21]!==n||X[22]!==ee?(d=ee.getAlignAndSide(Number(n)),X[21]=n,X[22]=ee,X[23]=d):d=X[23];let{align:eu,side:ed}=d;if(X[24]!==es||X[25]!==eo){let e,t;X[27]!==es?(e=(e=>{switch(e.toLowerCase()){case"axial":return tB.Icons.OrientationSwitchA;case"sagittal":return tB.Icons.OrientationSwitchS;case"coronal":return tB.Icons.OrientationSwitchC;case"reformat":return tB.Icons.OrientationSwitchR;default:return tB.Icons.OrientationSwitch}})(es),X[27]=es,X[28]=e):e=X[28],X[29]!==eo?(t={className:eo},X[29]=eo,X[30]=t):t=X[30],p=M.createElement(e,t),X[24]=es,X[25]=eo,X[26]=p}else p=X[26];let ep=p;return X[31]===Symbol.for("react.memo_cache_sentinel")?(g=(0,tB.cn)("flex items-center justify-center"),X[31]=g):g=X[31],X[32]!==ep||X[33]!==er||X[34]!==ei||X[35]!==t||X[36]!==i?(m=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:g,children:(0,tp.jsx)("div",{children:er?(0,tp.jsx)(er,{disabled:t,icon:"OrientationSwitch",...i,...ei,children:ep}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,onClick:cZ,children:ep})})}),X[32]=ep,X[33]=er,X[34]=ei,X[35]=t,X[36]=i,X[37]=m):m=X[37],X[38]===Symbol.for("react.memo_cache_sentinel")?(h={left:0},X[38]=h):h=X[38],X[39]!==el?(f=()=>el("axial"),X[39]=el,X[40]=f):f=X[40],X[41]!==es?(w="axial"===es?(0,tp.jsx)(tB.Icons.Checked,{className:"text-primary h-6 w-6"}):null,X[41]=es,X[42]=w):w=X[42],X[43]!==w?(B=(0,tp.jsx)("div",{className:"mr-1 flex w-6 items-center justify-start",children:w}),X[43]=w,X[44]=B):B=X[44],X[45]===Symbol.for("react.memo_cache_sentinel")?(y=(0,tp.jsx)("div",{className:"flex-1 text-left",children:"Axial"}),X[45]=y):y=X[45],X[46]!==f||X[47]!==B?(v=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:f,children:[B,y]}),X[46]=f,X[47]=B,X[48]=v):v=X[48],X[49]!==el?(S=()=>el("sagittal"),X[49]=el,X[50]=S):S=X[50],X[51]!==es?(C="sagittal"===es?(0,tp.jsx)(tB.Icons.Checked,{className:"text-primary h-6 w-6"}):null,X[51]=es,X[52]=C):C=X[52],X[53]!==C?(I=(0,tp.jsx)("div",{className:"mr-1 flex w-6 items-center justify-start",children:C}),X[53]=C,X[54]=I):I=X[54],X[55]===Symbol.for("react.memo_cache_sentinel")?(b=(0,tp.jsx)("div",{className:"flex-1 text-left",children:"Sagittal"}),X[55]=b):b=X[55],X[56]!==S||X[57]!==I?(U=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:S,children:[I,b]}),X[56]=S,X[57]=I,X[58]=U):U=X[58],X[59]!==el?(E=()=>el("coronal"),X[59]=el,X[60]=E):E=X[60],X[61]!==es?(F="coronal"===es?(0,tp.jsx)(tB.Icons.Checked,{className:"text-primary h-6 w-6"}):null,X[61]=es,X[62]=F):F=X[62],X[63]!==F?(Q=(0,tp.jsx)("div",{className:"mr-1 flex w-6 items-center justify-start",children:F}),X[63]=F,X[64]=Q):Q=X[64],X[65]===Symbol.for("react.memo_cache_sentinel")?(T=(0,tp.jsx)("div",{className:"flex-1 text-left",children:"Coronal"}),X[65]=T):T=X[65],X[66]!==E||X[67]!==Q?(x=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:E,children:[Q,T]}),X[66]=E,X[67]=Q,X[68]=x):x=X[68],X[69]!==el?(O=()=>el("acquisition"),X[69]=el,X[70]=O):O=X[70],X[71]!==es?(R="acquisition"===es?(0,tp.jsx)(tB.Icons.Checked,{className:"text-primary h-6 w-6"}):null,X[71]=es,X[72]=R):R=X[72],X[73]!==R?(V=(0,tp.jsx)("div",{className:"mr-1 flex w-6 items-center justify-start",children:R}),X[73]=R,X[74]=V):V=X[74],X[75]===Symbol.for("react.memo_cache_sentinel")?(N=(0,tp.jsx)("div",{className:"flex-1 text-left",children:"Acquisition"}),X[75]=N):N=X[75],X[76]!==O||X[77]!==V?(H=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:O,children:[V,N]}),X[76]=O,X[77]=V,X[78]=H):H=X[78],X[79]===Symbol.for("react.memo_cache_sentinel")?(_=(0,tp.jsx)("div",{className:"border-input mx-1 my-2 border-t"}),X[79]=_):_=X[79],X[80]!==el?(P=()=>el("reformat"),X[80]=el,X[81]=P):P=X[81],X[82]!==es?(j="reformat"===es?(0,tp.jsx)(tB.Icons.Checked,{className:"text-primary h-6 w-6"}):null,X[82]=es,X[83]=j):j=X[83],X[84]!==j?(G=(0,tp.jsx)("div",{className:"mr-1 flex w-6 items-center justify-start",children:j}),X[84]=j,X[85]=G):G=X[85],X[86]===Symbol.for("react.memo_cache_sentinel")?(K=(0,tp.jsx)("div",{className:"flex-1 text-left",children:"Reformat"}),X[86]=K):K=X[86],X[87]!==P||X[88]!==G?(W=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:P,children:[G,K]}),X[87]=P,X[88]=G,X[89]=W):W=X[89],X[90]!==eu||X[91]!==ed||X[92]!==v||X[93]!==U||X[94]!==x||X[95]!==H||X[96]!==W?(Y=(0,tp.jsxs)(tB.PopoverContent,{className:"h-[170px] w-[130px] flex-shrink-0 flex-col items-start rounded p-1",align:eu,side:ed,style:h,children:[v,U,x,H,_,W]}),X[90]=eu,X[91]=ed,X[92]=v,X[93]=U,X[94]=x,X[95]=H,X[96]=W,X[97]=Y):Y=X[97],X[98]!==ec||X[99]!==J||X[100]!==Y||X[101]!==m?(z=(0,tp.jsxs)(tB.Popover,{open:J,onOpenChange:ec,children:[m,Y]}),X[98]=ec,X[99]=J,X[100]=Y,X[101]=m,X[102]=z):z=X[102],z};function c4(e){let t,A=(0,D.c)(3),{viewportId:n}=e,{viewportDisplaySets:r}=(0,cj.N)(n);return r.length?(A[0]!==e||A[1]!==r?(t=(0,tp.jsx)(c2,{...e,displaySets:r}),A[0]=e,A[1]=r,A[2]=t):t=A[2],t):null}var c6=x(154);function c9(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f=(0,D.c)(47);f[0]!==e?(t=void 0===e?{}:e,f[0]=e,f[1]=t):t=f[1];let{viewportId:w}=t,{viewportDisplaySets:B}=(0,c6.e)(w),{t:y}=tP("WindowLevelActionMenu"),[v,S]=(0,M.useState)(B?.[0]?.displaySetInstanceUID);f[2]!==v?(A={displaySetInstanceUID:v},f[2]=v,f[3]=A):A=f[3];let{colorbarProperties:C,setColormap:I}=(0,c6.e)(w,A),{colormaps:b}=C,[U,E]=(0,M.useState)(!1),[F,Q]=(0,M.useState)(null),[T,x]=(0,M.useState)(null);f[4]===Symbol.for("react.memo_cache_sentinel")?(n=()=>{x(null),Q(null)},f[4]=n):n=f[4],f[5]!==v?(r=[v],f[5]=v,f[6]=r):r=f[6],(0,M.useEffect)(n,r),f[7]!==I||f[8]!==B.length?(o=(e,t)=>{let A=B.length>1&&!["Grayscale","X Ray"].includes(e.name)?.5:1;I({colormap:e,opacity:A,immediate:void 0===t||t})},f[7]=I,f[8]=B.length,f[9]=o):o=f[9];let O=o;if(f[10]!==v||f[11]!==B?(i=B&&B.length>1&&(0,tp.jsx)("div",{className:"flex h-8 w-full flex-shrink-0 items-center justify-center px-2 text-base",children:(0,tp.jsx)(tB.Tabs,{value:v,onValueChange:e=>{S(e),Q(null)},children:(0,tp.jsx)(tB.TabsList,{children:B.map(c8)})})}),f[10]=v,f[11]=B,f[12]=i):i=f[12],f[13]!==U?(s=()=>E(!U),f[13]=U,f[14]=s):s=f[14],f[15]!==y?(a=y("Preview in viewport"),f[15]=y,f[16]=a):a=f[16],f[17]!==a?(l=(0,tp.jsx)("span",{className:"flex-shrink-0",children:a}),f[17]=a,f[18]=l):l=f[18],f[19]!==T||f[20]!==O?(c=e=>{E(e),!e&&T&&O(T)},f[19]=T,f[20]=O,f[21]=c):c=f[21],f[22]!==U||f[23]!==c?(u=(0,tp.jsx)(tB.Switch,{className:"ml-auto flex-shrink-0",checked:U,onCheckedChange:c}),f[22]=U,f[23]=c,f[24]=u):u=f[24],f[25]!==u||f[26]!==s||f[27]!==l?(d=(0,tp.jsxs)("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded",onClick:s,children:[l,u]}),f[25]=u,f[26]=s,f[27]=l,f[28]=d):d=f[28],f[29]===Symbol.for("react.memo_cache_sentinel")?(p=(0,tp.jsx)(tB.AllInOneMenu.DividerItem,{}),f[29]=p):p=f[29],f[30]!==b||f[31]!==O||f[32]!==F||f[33]!==U||f[34]!==y){let e;f[36]!==O||f[37]!==F||f[38]!==U||f[39]!==y?(e=(e,t)=>(0,tp.jsx)(tB.AllInOneMenu.Item,{label:y(`Colormaps:${e.Name}`,{defaultValue:e.Name}),useIconSpace:!1,onClick:()=>{x(e),O(e),Q(null)},onMouseEnter:()=>{U&&(F||Q(e),O(e))},onMouseLeave:()=>{U&&F&&O(F)}},t),f[36]=O,f[37]=F,f[38]=U,f[39]=y,f[40]=e):e=f[40],g=b.map(e),f[30]=b,f[31]=O,f[32]=F,f[33]=U,f[34]=y,f[35]=g}else g=f[35];return f[41]!==g?(m=(0,tp.jsx)("div",{className:"h-[300px] flex-grow",children:(0,tp.jsx)(tB.ScrollArea,{className:"h-full w-full",children:(0,tp.jsx)("div",{className:"p-1",children:g})})}),f[41]=g,f[42]=m):m=f[42],f[43]!==d||f[44]!==m||f[45]!==i?(h=(0,tp.jsxs)(tp.Fragment,{children:[i,d,p,m]}),f[43]=d,f[44]=m,f[45]=i,f[46]=h):h=f[46],h}function c8(e){return(0,tp.jsx)(tB.TabsTrigger,{value:e.displaySetInstanceUID,children:e.Modality},e.displaySetInstanceUID)}function c5(e){let t,A,n,r,o,i,s,a=(0,D.c)(16);a[0]!==e?(t=void 0===e?{}:e,a[0]=e,a[1]=t):t=a[1];let{viewportId:l}=t,{hasColorbar:c,toggleColorbar:u}=(0,c6.e)(l),{t:d}=tP("WindowLevelActionMenu");a[2]!==u?(A=()=>{u()},a[2]=u,a[3]=A):A=a[3];let p=A;a[4]===Symbol.for("react.memo_cache_sentinel")?(n=(0,tp.jsx)("div",{className:"flex w-7 flex-shrink-0 items-center justify-center"}),a[4]=n):n=a[4],a[5]!==d?(r=d("Display Color bar"),a[5]=d,a[6]=r):r=a[6],a[7]!==p||a[8]!==r?(o=(0,tp.jsx)("span",{className:"flex-grow",onClick:p,children:r}),a[7]=p,a[8]=r,a[9]=o):o=a[9];let g=!!c;return a[10]!==p||a[11]!==g?(i=(0,tp.jsx)(tB.Switch,{className:"ml-2 flex-shrink-0",checked:g,onCheckedChange:p}),a[10]=p,a[11]=g,a[12]=i):i=a[12],a[13]!==o||a[14]!==i?(s=(0,tp.jsxs)("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded",children:[n,o,i]}),a[13]=o,a[14]=i,a[15]=s):s=a[15],s}function c7(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B=(0,D.c)(53);B[0]!==e?(t=void 0===e?{}:e,B[0]=e,B[1]=t):t=B[1];let{viewportId:y}=t,{t:v}=tP("WindowLevelActionMenu"),{viewportDisplaySets:S,foregroundDisplaySets:C}=(0,cj.N)(y),I=C?.length>0?C[C.length-1].displaySetInstanceUID:S?.[0]?.displaySetInstanceUID,[b,U]=(0,M.useState)(I),E=(0,M.useRef)(!1);B[2]!==b||B[3]!==I||B[4]!==S?(A=()=>{let e=S?.some(e=>e.displaySetInstanceUID===b);if(b&&S?.length&&!e){E.current=!1,U(I);return}!E.current&&I&&b!==I&&U(I)},n=[b,I,S],B[2]=b,B[3]=I,B[4]=S,B[5]=A,B[6]=n):(A=B[5],n=B[6]),(0,M.useEffect)(A,n),B[7]!==b?(r={displaySetInstanceUID:b},B[7]=b,B[8]=r):r=B[8];let{windowLevelPresets:F,setWindowLevel:Q}=(0,c6.e)(y,r),[T,x]=(0,M.useState)(!1),[O,L]=(0,M.useState)(null),[R,V]=(0,M.useState)(null);B[9]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{V(null),L(null)},B[9]=o):o=B[9],B[10]!==b?(i=[b],B[10]=b,B[11]=i):i=B[11],(0,M.useEffect)(o,i),B[12]!==Q?(s=(e,t)=>{Q({windowWidth:Number(e.window),windowCenter:Number(e.level),immediate:void 0!==t&&t})},B[12]=Q,B[13]=s):s=B[13];let N=s;if(B[14]!==b||B[15]!==S?(a=S&&S.length>1&&(0,tp.jsx)("div",{className:"flex h-8 w-full flex-shrink-0 items-center justify-center px-2 text-base",children:(0,tp.jsx)(tB.Tabs,{value:b,onValueChange:e=>{E.current=!0,U(e)},children:(0,tp.jsx)(tB.TabsList,{children:S.map(ue)})})}),B[14]=b,B[15]=S,B[16]=a):a=B[16],B[17]!==T?(l=()=>x(!T),B[17]=T,B[18]=l):l=B[18],B[19]!==v?(c=v("Preview in viewport"),B[19]=v,B[20]=c):c=B[20],B[21]!==c?(u=(0,tp.jsx)("span",{className:"flex-shrink-0",children:c}),B[21]=c,B[22]=u):u=B[22],B[23]!==R||B[24]!==N?(d=e=>{x(e),!e&&R&&N(R,!0)},B[23]=R,B[24]=N,B[25]=d):d=B[25],B[26]!==T||B[27]!==d?(p=(0,tp.jsx)(tB.Switch,{className:"ml-auto flex-shrink-0",checked:T,onCheckedChange:d}),B[26]=T,B[27]=d,B[28]=p):p=B[28],B[29]!==u||B[30]!==p||B[31]!==l?(g=(0,tp.jsxs)("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded",onClick:l,children:[u,p]}),B[29]=u,B[30]=p,B[31]=l,B[32]=g):g=B[32],B[33]===Symbol.for("react.memo_cache_sentinel")?(m=(0,tp.jsx)(tB.AllInOneMenu.DividerItem,{}),B[33]=m):m=B[33],B[34]!==R||B[35]!==N||B[36]!==O||B[37]!==T||B[38]!==v||B[39]!==F){let e;B[41]!==R||B[42]!==N||B[43]!==O||B[44]!==T||B[45]!==v?(e=(e,t)=>(0,tp.jsx)(tB.AllInOneMenu.Item,{label:v(e.description),secondaryLabel:`${e.window} / ${e.level}`,useIconSpace:!1,onClick:()=>{V(e),N(e,!0),L(null)},onMouseEnter:()=>{T&&(O||L(R||e),N(e,!0))},onMouseLeave:()=>{T&&O&&N(O,!0)}},t),B[41]=R,B[42]=N,B[43]=O,B[44]=T,B[45]=v,B[46]=e):e=B[46],h=F.map(e),B[34]=R,B[35]=N,B[36]=O,B[37]=T,B[38]=v,B[39]=F,B[40]=h}else h=B[40];return B[47]!==h?(f=(0,tp.jsx)("div",{className:"h-[175px] flex-grow",children:(0,tp.jsx)(tB.ScrollArea,{className:"h-full w-full",children:(0,tp.jsx)("div",{className:"p-1",children:h})})}),B[47]=h,B[48]=f):f=B[48],B[49]!==g||B[50]!==f||B[51]!==a?(w=(0,tp.jsxs)(tp.Fragment,{children:[a,g,m,f]}),B[49]=g,B[50]=f,B[51]=a,B[52]=w):w=B[52],w}function ue(e){return(0,tp.jsx)(tB.TabsTrigger,{value:e.displaySetInstanceUID,children:e.Modality},e.displaySetInstanceUID)}function ut(e){let t,A,n,r,o,i,s,a,l,c,u,d=(0,D.c)(33),{presets:p,viewportId:g,hide:m}=e,{commandsManager:h}=(0,k.useSystem)(),[f,w]=(0,M.useState)(""),[B,y]=(0,M.useState)(null),{t:v}=tP("WindowLevelActionMenu");d[0]===Symbol.for("react.memo_cache_sentinel")?(t=e=>{w(e.target.value)},d[0]=t):t=d[0];let S=t;d[1]!==h?(A=e=>{h.runCommand("setViewportPreset",{...e})},d[1]=h,d[2]=A):A=d[2];let C=A;d[3]!==p||d[4]!==f?(n=f?p.filter(e=>e.name.toLowerCase().includes(f.toLowerCase())):p,d[3]=p,d[4]=f,d[5]=n):n=d[5];let I=n;if(d[6]!==v?(r=v("Search all","Search all"),d[6]=v,d[7]=r):r=d[7],d[8]!==f||d[9]!==r?(o=(0,tp.jsx)(tB.PresetDialog.PresetFilter,{children:(0,tp.jsx)(tB.PresetDialog.PresetSearch,{value:f,onChange:S,placeholder:r})}),d[8]=f,d[9]=r,d[10]=o):o=d[10],d[11]!==I||d[12]!==C||d[13]!==B?.name||d[14]!==g){let e;d[16]!==C||d[17]!==B?.name||d[18]!==g?(e=(e,t)=>(0,tp.jsxs)("div",{className:"flex cursor-pointer flex-col items-start",onClick:()=>{y(e),C({preset:e.name,viewportId:g})},children:[(0,tp.jsx)(tB.Icons.ByName,{name:e.name,className:B?.name===e.name?"border-highlight h-[75px] w-[95px] max-w-none rounded border-2":"hover:border-highlight h-[75px] w-[95px] max-w-none rounded border-2 border-background"}),(0,tp.jsx)("label",{className:"text-muted-foreground mt-1 text-left text-xs",children:function(e,t){return e.length>t?`${e.slice(0,t)}...`:e}(e.name,11)})]},t),d[16]=C,d[17]=B?.name,d[18]=g,d[19]=e):e=d[19],i=I.map(e),d[11]=I,d[12]=C,d[13]=B?.name,d[14]=g,d[15]=i}else i=d[15];return d[20]!==i?(s=(0,tp.jsx)(tB.PresetDialog.PresetGrid,{children:i}),d[20]=i,d[21]=s):s=d[21],d[22]!==o||d[23]!==s?(a=(0,tp.jsxs)(tB.PresetDialog.PresetBody,{children:[o,s]}),d[22]=o,d[23]=s,d[24]=a):a=d[24],d[25]!==v?(l=v("Common:Cancel"),d[25]=v,d[26]=l):l=d[26],d[27]!==m||d[28]!==l?(c=(0,tp.jsx)(tB.FooterAction,{className:"mt-4 flex-shrink-0",children:(0,tp.jsx)(tB.FooterAction.Right,{children:(0,tp.jsx)(tB.FooterAction.Secondary,{onClick:m,children:l})})}),d[27]=m,d[28]=l,d[29]=c):c=d[29],d[30]!==c||d[31]!==a?(u=(0,tp.jsxs)(tB.PresetDialog,{className:"h-[500px]",children:[a,c]}),d[30]=c,d[31]=a,d[32]=u):u=d[32],u}function uA(e){let t,A,n,r,o,i,s=(0,D.c)(14);s[0]!==e?(t=void 0===e?{}:e,s[0]=e,s[1]=t):t=s[1];let{viewportId:a}=t,{volumeRenderingPresets:l}=(0,c6.e)(a),{servicesManager:c}=(0,k.useSystem)(),{uiDialogService:u}=c.services,{t:d}=tP("WindowLevelActionMenu");s[2]!==d||s[3]!==u||s[4]!==a||s[5]!==l?(A=()=>{u.show({id:"volume-rendering-presets",content:ut,title:d("Rendering Presets"),isDraggable:!0,contentProps:{presets:l,viewportId:a}})},s[2]=d,s[3]=u,s[4]=a,s[5]=l,s[6]=A):A=s[6];let p=A;return s[7]!==d?(n=d("Rendering Presets"),s[7]=d,s[8]=n):n=s[8],s[9]===Symbol.for("react.memo_cache_sentinel")?(r=(0,tp.jsx)(tB.Icons.VolumeRendering,{}),o=(0,tp.jsx)(tB.Icons.ByName,{name:"action-new-dialog"}),s[9]=r,s[10]=o):(r=s[9],o=s[10]),s[11]!==p||s[12]!==n?(i=(0,tp.jsx)(tB.AllInOneMenu.Item,{label:n,icon:r,rightIcon:o,onClick:p}),s[11]=p,s[12]=n,s[13]=i):i=s[13],i}function un(e){let t,A,n,r,o,i=(0,D.c)(16),{volumeRenderingQualityRange:s,viewportId:a}=e,{servicesManager:l,commandsManager:c}=(0,k.useSystem)(),{cornerstoneViewportService:u}=l.services,{min:d,max:p,step:g}=s,[m,h]=(0,M.useState)(null),{t:f}=tP("WindowLevelActionMenu");i[0]!==c||i[1]!==a?(t=e=>{c.runCommand("setVolumeRenderingQulaity",{viewportId:a,volumeQuality:e}),h(e)},i[0]=c,i[1]=a,i[2]=t):t=i[2];let w=t;return i[3]!==u||i[4]!==a?(A=()=>{let{actor:e}=u.getCornerstoneViewport(a).getActors()[0],t=e.getMapper(),A=t.getInputData().getSpacing(),n=t.getSampleDistance(),r=A.reduce(ur)/3;n===r?h(1):h(Math.sqrt(r/(.5*n)))},n=[u,a],i[3]=u,i[4]=a,i[5]=A,i[6]=n):(A=i[5],n=i[6]),(0,M.useEffect)(A,n),i[7]!==p||i[8]!==d||i[9]!==w||i[10]!==m||i[11]!==g||i[12]!==f?(r=null!==m&&(0,tp.jsx)("div",{className:"w-full pl-2 pr-1",children:(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",min:d,max:p,step:g,value:m,onChange:w,children:(0,tp.jsxs)("div",{className:"flex flex-row items-center",children:[(0,tp.jsx)(tB.Numeric.Label,{className:"w-16",children:f("Quality")}),(0,tp.jsx)(tB.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})]})})}),i[7]=p,i[8]=d,i[9]=w,i[10]=m,i[11]=g,i[12]=f,i[13]=r):r=i[13],i[14]!==r?(o=(0,tp.jsx)("div",{className:"my-1 mt-2 flex flex-col space-y-2",children:r}),i[14]=r,i[15]=o):o=i[15],o}function ur(e,t){return e+t}function uo(e){let t,A,n,r,o,i,s,a,l,c=(0,D.c)(30),{viewportId:u}=e,{servicesManager:d,commandsManager:p}=(0,k.useSystem)(),{cornerstoneViewportService:g}=d.services,[m,h]=(0,M.useState)(null),[f,w]=(0,M.useState)(null);c[0]!==g||c[1]!==u?(t=g.getCornerstoneViewport(u)?.shiftedBy||0,c[0]=g,c[1]=u,c[2]=t):t=c[2];let[B,y]=(0,M.useState)(t),[v,S]=(0,M.useState)(null),[C,I]=(0,M.useState)(!1),b=(0,M.useRef)(B);c[3]!==g||c[4]!==u?(r=g.getCornerstoneViewport(u),{actor:A}=r.getActors()[0],n=A.getProperty().getScalarOpacity(0),c[3]=g,c[4]=u,c[5]=A,c[6]=n,c[7]=r):(A=c[5],n=c[6],r=c[7]);let U=n,{t:E}=tP("WindowLevelActionMenu");c[8]!==C||c[9]!==U?(o=()=>{if(C)return;let e=U.getRange(),t=e[1]-e[0];h(-t),w(t),S(Math.pow(10,Math.floor(Math.log10(t/500))))},c[8]=C,c[9]=U,c[10]=o):o=c[10],c[11]!==A||c[12]!==g||c[13]!==C||c[14]!==U||c[15]!==u?(i=[g,u,A,U,C],c[11]=A,c[12]=g,c[13]=C,c[14]=U,c[15]=u,c[16]=i):i=c[16],(0,M.useEffect)(o,i),c[17]!==p||c[18]!==r||c[19]!==u?(s=e=>{var t;let A=e-b.current;b.current=e,(t=r)&&(t.shiftedBy=e),p.runCommand("shiftVolumeOpacityPoints",{viewportId:u,shift:A}),y(e)},c[17]=p,c[18]=r,c[19]=u,c[20]=s):s=c[20];let F=s;return c[21]!==f||c[22]!==m||c[23]!==F||c[24]!==B||c[25]!==v||c[26]!==E?(a=null!==v&&null!==m&&null!==f&&(0,tp.jsx)("div",{className:"w-full pl-2 pr-1",children:(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",min:m,max:f,step:v,value:B,onChange:F,onMouseDown:()=>I(!0),onMouseUp:()=>I(!1),children:(0,tp.jsxs)("div",{className:"flex flex-row items-center",children:[(0,tp.jsx)(tB.Numeric.Label,{className:"w-16",children:E("Shift")}),(0,tp.jsx)(tB.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})]})})}),c[21]=f,c[22]=m,c[23]=F,c[24]=B,c[25]=v,c[26]=E,c[27]=a):a=c[27],c[28]!==a?(l=(0,tp.jsx)("div",{className:"my-1 mt-2 flex flex-col space-y-2",children:a}),c[28]=a,c[29]=l):l=c[29],l}function ui(e){let t,A,n,r,o,i,s,a,l,c,u,d,p=(0,D.c)(29),{viewportId:g,hasShade:m}=e,{servicesManager:h,commandsManager:f}=(0,k.useSystem)(),{cornerstoneViewportService:w}=h.services;p[0]===Symbol.for("react.memo_cache_sentinel")?(t={ambient:null,diffuse:null,specular:null},p[0]=t):t=p[0];let[B,y]=(0,M.useState)(t),{t:v}=tP("WindowLevelActionMenu");p[1]!==f||p[2]!==g?(A=(e,t)=>{f.runCommand("setVolumeLighting",{viewportId:g,options:{[e]:t}}),y(A=>({...A,[e]:t}))},p[1]=f,p[2]=g,p[3]=A):A=p[3];let S=A;p[4]!==w||p[5]!==g?(n=()=>{let{actor:e}=w.getCornerstoneViewport(g).getActors()[0],t=e.getProperty();y({ambient:t.getAmbient(),diffuse:t.getDiffuse(),specular:t.getSpecular()})},r=[g,w],p[4]=w,p[5]=g,p[6]=n,p[7]=r):(n=p[6],r=p[7]),(0,M.useEffect)(n,r);let C=m?"":"ohif-disabled !opacity-40";p[8]!==v?(o=v("Ambient"),p[8]=v,p[9]=o):o=p[9],p[10]!==o?(i={key:"ambient",label:o},p[10]=o,p[11]=i):i=p[11],p[12]!==v?(s=v("Diffuse"),p[12]=v,p[13]=s):s=p[13],p[14]!==s?(a={key:"diffuse",label:s},p[14]=s,p[15]=a):a=p[15],p[16]!==v?(l=v("Specular"),p[16]=v,p[17]=l):l=p[17],p[18]!==l?(c={key:"specular",label:l},p[18]=l,p[19]=c):c=p[19],p[20]!==c||p[21]!==i||p[22]!==a?(u=[i,a,c],p[20]=c,p[21]=i,p[22]=a,p[23]=u):u=p[23];let I=u;return p[24]!==C||p[25]!==I||p[26]!==B||p[27]!==S?(d=(0,tp.jsx)("div",{className:"my-1 mt-2 flex flex-col space-y-2",children:I.map(e=>{let{key:t,label:A}=e;return null!==B[t]&&(0,tp.jsx)("div",{className:`w-full pl-2 pr-1 ${C}`,children:(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",min:0,max:1,step:.1,value:B[t],onChange:e=>S(t,e),children:(0,tp.jsxs)("div",{className:"flex flex-row items-center",children:[(0,tp.jsx)(tB.Numeric.Label,{className:"w-16",children:A}),(0,tp.jsx)(tB.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})]})})},t)})}),p[24]=C,p[25]=I,p[26]=B,p[27]=S,p[28]=d):d=p[28],d}function us(e){let t,A,n,r,o,i,s,a,l=(0,D.c)(26),{viewportId:c,onClickShade:u}=e,d=void 0===u?ua:u,{t:p}=tP("WindowLevelActionMenu"),{servicesManager:g,commandsManager:m}=(0,k.useSystem)(),{cornerstoneViewportService:h}=g.services,[f,w]=(0,M.useState)(!0),[B,y]=(0,M.useState)(0);l[0]!==m||l[1]!==c?(t=e=>{m.runCommand("setVolumeLighting",{viewportId:c,options:{shade:e}})},l[0]=m,l[1]=c,l[2]=t):t=l[2];let v=t;return l[3]!==h||l[4]!==B||l[5]!==d||l[6]!==c?(A=()=>{let{actor:e}=h.getCornerstoneViewport(c).getActors()[0],t=e.getProperty().getShade();w(t),d(t),y(B+1)},l[3]=h,l[4]=B,l[5]=d,l[6]=c,l[7]=A):A=l[7],l[8]!==h||l[9]!==c?(n=[c,h],l[8]=h,l[9]=c,l[10]=n):n=l[10],(0,M.useEffect)(A,n),l[11]!==p?(r=p("Shade"),l[11]=p,l[12]=r):r=l[12],l[13]!==r?(o=(0,tp.jsx)("span",{className:"flex-grow",children:r}),l[13]=r,l[14]=o):o=l[14],l[15]!==d||l[16]!==v||l[17]!==f?(i=()=>{w(!f),d(!f),v(!f)},l[15]=d,l[16]=v,l[17]=f,l[18]=i):i=l[18],l[19]!==B||l[20]!==f||l[21]!==i?(s=(0,tp.jsx)(tB.Switch,{className:"ml-2 flex-shrink-0",checked:f,onCheckedChange:i},B),l[19]=B,l[20]=f,l[21]=i,l[22]=s):s=l[22],l[23]!==o||l[24]!==s?(a=(0,tp.jsxs)(tp.Fragment,{children:[o,s]}),l[23]=o,l[24]=s,l[25]=a):a=l[25],a}function ua(e){}function ul(e){let t,A,n,r,o,i,s,a,l,c=(0,D.c)(23);c[0]!==e?(t=void 0===e?{}:e,c[0]=e,c[1]=t):t=c[1];let{viewportId:u}=t,{volumeRenderingQualityRange:d}=(0,c6.e)(u),[p,g]=(0,M.useState)(!1),{t:m}=tP("WindowLevelActionMenu");return c[2]!==u||c[3]!==d?(A=(0,tp.jsx)(un,{viewportId:u,volumeRenderingQualityRange:d}),c[2]=u,c[3]=d,c[4]=A):A=c[4],c[5]!==u?(n=(0,tp.jsx)(uo,{viewportId:u}),c[5]=u,c[6]=n):n=c[6],c[7]!==m?(r=m("Lighting"),c[7]=m,c[8]=r):r=c[8],c[9]!==r?(o=(0,tp.jsx)("div",{className:"mt-2 flex h-8 !h-[20px] w-full flex-shrink-0 items-center justify-start px-2 text-base",children:(0,tp.jsx)("div",{className:"text-muted-foreground text-sm",children:r})}),c[9]=r,c[10]=o):o=c[10],c[11]===Symbol.for("react.memo_cache_sentinel")?(i=(0,tp.jsx)("div",{className:"bg-background mt-1 mb-1 h-px w-full"}),c[11]=i):i=c[11],c[12]!==u?(s=(0,tp.jsx)("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 items-center px-2 text-base hover:rounded",children:(0,tp.jsx)(us,{viewportId:u,onClickShade:g})}),c[12]=u,c[13]=s):s=c[13],c[14]!==p||c[15]!==u?(a=(0,tp.jsx)(ui,{viewportId:u,hasShade:p}),c[14]=p,c[15]=u,c[16]=a):a=c[16],c[17]!==A||c[18]!==n||c[19]!==o||c[20]!==s||c[21]!==a?(l=(0,tp.jsxs)(tB.AllInOneMenu.ItemPanel,{children:[A,n,o,i,s,a]}),c[17]=A,c[18]=n,c[19]=o,c[20]=s,c[21]=a,c[22]=l):l=c[22],l}function uc(e){let t,A=(0,D.c)(5),{viewportId:n,align:r,side:o,onVisibilityChange:i}=e;return A[0]!==r||A[1]!==i||A[2]!==o||A[3]!==n?(t=(0,tp.jsx)(uu,{viewportId:n,align:r,side:o,onVisibilityChange:i}),A[0]=r,A[1]=i,A[2]=o,A[3]=n,A[4]=t):t=A[4],t}function uu(e){let t,A,n,r,o,i,s,a,l=(0,D.c)(35),{viewportId:c,align:u,side:d,onVisibilityChange:p}=e,{t:g}=tP("WindowLevelActionMenu"),m=`${c}`,{is3DVolume:h,colorbarProperties:f,windowLevelPresets:w,volumeRenderingPresets:B,volumeRenderingQualityRange:y}=(0,c6.e)(c);return l[0]===Symbol.for("react.memo_cache_sentinel")?(t=AF.t("WindowLevelActionMenu:Back to Display Options"),l[0]=t):t=l[0],l[1]!==h||l[2]!==c?(A=!h&&(0,tp.jsx)(c5,{viewportId:c}),l[1]=h,l[2]=c,l[3]=A):A=l[3],l[4]!==f?.colormaps||l[5]!==h||l[6]!==g||l[7]!==c?(n=f?.colormaps&&!h&&(0,tp.jsx)(tB.AllInOneMenu.SubMenu,{itemLabel:g("Color LUT"),itemIcon:"icon-color-lut",className:"flex h-[calc(100%-32px)] flex-col",children:(0,tp.jsx)(c9,{viewportId:c})},"colorLUTPresets"),l[4]=f?.colormaps,l[5]=h,l[6]=g,l[7]=c,l[8]=n):n=l[8],l[9]!==h||l[10]!==g||l[11]!==c||l[12]!==w?.length?(r=w?.length>0&&!h&&(0,tp.jsx)(tB.AllInOneMenu.SubMenu,{itemLabel:g("Modality Window Presets"),itemIcon:"viewport-window-level",children:(0,tp.jsx)(c7,{viewportId:c})},"windowLevelPresets"),l[9]=h,l[10]=g,l[11]=c,l[12]=w?.length,l[13]=r):r=l[13],l[14]!==h||l[15]!==c||l[16]!==B?(o=B&&h&&(0,tp.jsx)(uA,{viewportId:c}),l[14]=h,l[15]=c,l[16]=B,l[17]=o):o=l[17],l[18]!==h||l[19]!==g||l[20]!==c||l[21]!==y?(i=y&&h&&(0,tp.jsx)(tB.AllInOneMenu.SubMenu,{itemLabel:g("Rendering Options"),children:(0,tp.jsx)(ul,{viewportId:c})}),l[18]=h,l[19]=g,l[20]=c,l[21]=y,l[22]=i):i=l[22],l[23]!==A||l[24]!==n||l[25]!==r||l[26]!==o||l[27]!==i?(s=(0,tp.jsxs)(tB.AllInOneMenu.ItemPanel,{children:[A,n,r,o,i]}),l[23]=A,l[24]=n,l[25]=r,l[26]=o,l[27]=i,l[28]=s):s=l[28],l[29]!==u||l[30]!==m||l[31]!==p||l[32]!==d||l[33]!==s?(a=(0,tp.jsx)(tB.AllInOneMenu.Menu,{isVisible:!0,align:u,side:d,backLabel:t,onVisibilityChange:p,children:s},m),l[29]=u,l[30]=m,l[31]=p,l[32]=d,l[33]=s,l[34]=a):a=l[34],a}function ud(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f=(0,D.c)(45);if(f[0]!==e){let{viewportId:c,location:u,isOpen:d,onOpen:p,onClose:g,disabled:m,isEmbedded:h,onInteraction:w,hasEmbeddedVariantToUse:B,...y}=e;l=c,n=u,s=d,o=p,r=g,t=m,a=h,A=B,i=y,f[0]=e,f[1]=t,f[2]=A,f[3]=n,f[4]=r,f[5]=o,f[6]=i,f[7]=s,f[8]=a,f[9]=l}else t=f[1],A=f[2],n=f[3],r=f[4],o=f[5],i=f[6],s=f[7],a=f[8],l=f[9];let w=void 0!==s&&s,B=void 0!==a&&a,[y]=(0,tB.useViewportGrid)(),v=l||y.activeViewportId,{viewportDisplaySets:S}=(0,cj.N)(v),{servicesManager:C}=(0,k.useSystem)(),{toolbarService:I}=C.services,{IconContainer:b,className:U,containerProps:E}=(0,tB.useIconPresentation)(),{hasColorbar:F,toggleColorbar:Q}=(0,cK.eH)(l);f[10]!==F||f[11]!==B||f[12]!==w||f[13]!==r||f[14]!==o||f[15]!==Q?(c=e=>{let t=F&&!B;if(w&&t&&e){Q(),r?.();return}!w&&e&&t?Q():e?o?.():r?.()},f[10]=F,f[11]=B,f[12]=w,f[13]=r,f[14]=o,f[15]=Q,f[16]=c):c=f[16];let T=c;f[17]!==n||f[18]!==I?(u=I.getAlignAndSide(n),f[17]=n,f[18]=I,f[19]=u):u=f[19];let{align:x,side:O}=u;if(0===S.map(up).length)return null;f[20]!==F||f[21]!==A||f[22]!==U||f[23]!==B?(d=F&&!B&&A?(0,tp.jsx)(tB.Icons.Close,{className:U}):(0,tp.jsx)(tB.Icons.ViewportWindowLevel,{className:U}),f[20]=F,f[21]=A,f[22]=U,f[23]=B,f[24]=d):d=f[24];let M=d;return f[25]!==M||f[26]!==b||f[27]!==E||f[28]!==t||f[29]!==i?(p=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center",children:(0,tp.jsx)("div",{children:b?(0,tp.jsx)(b,{disabled:t,...i,...E,children:M}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,children:M})})}),f[25]=M,f[26]=b,f[27]=E,f[28]=t,f[29]=i,f[30]=p):p=f[30],f[31]!==x||f[32]!==T||f[33]!==O||f[34]!==v?(g=(0,tp.jsx)(uc,{viewportId:v,align:x,side:O,onVisibilityChange:T}),f[31]=x,f[32]=T,f[33]=O,f[34]=v,f[35]=g):g=f[35],f[36]!==x||f[37]!==O||f[38]!==g?(m=(0,tp.jsx)(tB.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:O,align:x,alignOffset:0,sideOffset:5,children:g}),f[36]=x,f[37]=O,f[38]=g,f[39]=m):m=f[39],f[40]!==T||f[41]!==w||f[42]!==p||f[43]!==m?(h=(0,tp.jsxs)(tB.Popover,{open:w,onOpenChange:T,children:[p,m]}),f[40]=T,f[41]=w,f[42]=p,f[43]=m,f[44]=h):h=f[44],h}function up(e){return e.supportsWindowLevel}let ug="minmax",um="manual";function uh(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,children:`${e.SeriesDescription||""}`.trim()},e.displaySetInstanceUID)}let uf=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C=(0,D.c)(68),{viewportId:I,className:b}=e,{servicesManager:U}=(0,k.useSystem)(),{displaySetService:E}=U.services,[F,Q]=(0,M.useState)(ug),{viewportDisplaySets:T}=(0,cj.N)(I),[x,O]=(0,M.useState)(T.length>0?T[0].displaySetInstanceUID:void 0);C[0]!==x?(t={displaySetInstanceUID:x},C[0]=x,C[1]=t):t=C[1];let{voiRange:R,setVOIRange:V,windowLevel:N,setWindowLevel:H}=(0,c6.e)(I,t);if(C[2]!==x||C[3]!==T[0]||C[4]!==T.length?(A=()=>{T.length>0&&!x&&O(T[0].displaySetInstanceUID)},C[2]=x,C[3]=T[0],C[4]=T.length,C[5]=A):A=C[5],C[6]!==x||C[7]!==T?(n=[T,x],C[6]=x,C[7]=T,C[8]=n):n=C[8],(0,M.useEffect)(A,n),!R)return null;let{upper:_,lower:P}=R,{windowWidth:j,windowCenter:G}=N;if(C[9]!==E||C[10]!==x){let e=E.getDisplaySetByUID(x)?.imageIds;if(o=1/0,r=-1/0,e)for(let t of e){let e=L.cache.getImage(t);e&&(o=Math.min(o,e.minPixelValue),r=Math.max(r,e.maxPixelValue))}C[9]=E,C[10]=x,C[11]=r,C[12]=o}else r=C[11],o=C[12];if((o===1/0||r===-1/0)&&(o=0,r=255),C[13]!==x||C[14]!==T){let e;C[16]!==x?(e=e=>e.displaySetInstanceUID===x,C[16]=x,C[17]=e):e=C[17],i=T.find(e),C[13]=x,C[14]=T,C[15]=i}else i=C[15];let K=i;return C[18]!==K?.label||C[19]!==x||C[20]!==T?(s=T.length>1&&(0,tp.jsxs)(tB.Select,{value:x,onValueChange:O,children:[(0,tp.jsx)(tB.SelectTrigger,{children:(0,tp.jsx)(tB.SelectValue,{children:K?.label||"Select Display Set"})}),(0,tp.jsx)(tB.SelectContent,{children:T.map(uh)})]}),C[18]=K?.label,C[19]=x,C[20]=T,C[21]=s):s=C[21],C[22]===Symbol.for("react.memo_cache_sentinel")?(a=(0,tp.jsxs)(tB.TabsList,{className:"w-full flex-1",children:[(0,tp.jsx)(tB.TabsTrigger,{value:ug,className:"flex-1",children:"Min/Max"}),(0,tp.jsx)(tB.TabsTrigger,{value:um,className:"flex-1",children:"Manual"})]}),C[22]=a):a=C[22],C[23]!==s?(l=(0,tp.jsxs)("div",{className:"mb-4 flex items-center space-x-2",children:[s,a]}),C[23]=s,C[24]=l):l=C[24],C[25]!==P||C[26]!==_?(c=[P,_],C[25]=P,C[26]=_,C[27]=c):c=C[27],C[28]!==P||C[29]!==V||C[30]!==_?(u=e=>{let[t,A]=e;(t!==P||A!==_)&&V({lower:t,upper:A})},C[28]=P,C[29]=V,C[30]=_,C[31]=u):u=C[31],C[32]===Symbol.for("react.memo_cache_sentinel")?(d=(0,tp.jsx)(tB.Numeric.DoubleRange,{showNumberInputs:!0}),C[32]=d):d=C[32],C[33]!==r||C[34]!==o||C[35]!==c||C[36]!==u?(p=(0,tp.jsx)(tB.TabsContent,{value:ug,children:(0,tp.jsx)(tB.Numeric.Container,{mode:"doubleRange",min:o,max:r,values:c,step:1,className:"space-y-1",onChange:u,children:d})}),C[33]=r,C[34]=o,C[35]=c,C[36]=u,C[37]=p):p=C[37],C[38]!==H||C[39]!==G||C[40]!==j?(g=e=>{e!==j&&H({windowWidth:e,windowCenter:G})},C[38]=H,C[39]=G,C[40]=j,C[41]=g):g=C[41],C[42]===Symbol.for("react.memo_cache_sentinel")?(m=(0,tp.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,tp.jsx)(tB.Numeric.Label,{children:"W:"}),(0,tp.jsx)(tB.Numeric.SingleRange,{showNumberInput:!0})]}),C[42]=m):m=C[42],C[43]!==r||C[44]!==g||C[45]!==j?(h=(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",min:0,max:r,step:1,value:j,className:"space-y-1",onChange:g,children:m}),C[43]=r,C[44]=g,C[45]=j,C[46]=h):h=C[46],C[47]!==H||C[48]!==G||C[49]!==j?(f=e=>{e!==G&&H({windowWidth:j,windowCenter:e})},C[47]=H,C[48]=G,C[49]=j,C[50]=f):f=C[50],C[51]===Symbol.for("react.memo_cache_sentinel")?(w=(0,tp.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,tp.jsx)(tB.Numeric.Label,{children:"L:"}),(0,tp.jsx)(tB.Numeric.SingleRange,{showNumberInput:!0})]}),C[51]=w):w=C[51],C[52]!==r||C[53]!==o||C[54]!==f||C[55]!==G?(B=(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",min:o,max:r,step:1,value:G,className:"space-y-1",onChange:f,children:w}),C[52]=r,C[53]=o,C[54]=f,C[55]=G,C[56]=B):B=C[56],C[57]!==h||C[58]!==B?(y=(0,tp.jsx)(tB.TabsContent,{value:um,children:(0,tp.jsxs)("div",{className:"space-y-1",children:[h,B]})}),C[57]=h,C[58]=B,C[59]=y):y=C[59],C[60]!==F||C[61]!==p||C[62]!==y||C[63]!==l?(v=(0,tp.jsx)("div",{className:"bg-popover w-72 rounded-lg p-4 shadow-md",children:(0,tp.jsxs)(tB.Tabs,{defaultValue:F,onValueChange:Q,children:[l,p,y]})}),C[60]=F,C[61]=p,C[62]=y,C[63]=l,C[64]=v):v=C[64],C[65]!==b||C[66]!==v?(S=(0,tp.jsx)("div",{className:b,children:v}),C[65]=b,C[66]=v,C[67]=S):S=C[67],S};function uw(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m=(0,D.c)(33);m[0]!==e?({viewportId:s,location:A,isOpen:i,onOpen:r,onClose:n,disabled:t,...o}=e,m[0]=e,m[1]=t,m[2]=A,m[3]=n,m[4]=r,m[5]=o,m[6]=i,m[7]=s):(t=m[1],A=m[2],n=m[3],r=m[4],o=m[5],i=m[6],s=m[7]);let h=void 0!==i&&i,{IconContainer:f,className:w,containerProps:B}=(0,tB.useIconPresentation)();m[8]!==n||m[9]!==r?(a=e=>{e?r?.():n?.()},m[8]=n,m[9]=r,m[10]=a):a=m[10];let y=a,{servicesManager:v}=(0,k.useSystem)(),{toolbarService:S}=v.services;m[11]!==A||m[12]!==S?(l=S.getAlignAndSide(A),m[11]=A,m[12]=S,m[13]=l):l=m[13];let{align:C,side:I}=l;m[14]!==w?(c=(0,tp.jsx)(tB.Icons.WindowLevelAdvanced,{className:w}),m[14]=w,m[15]=c):c=m[15];let b=c;return m[16]!==b||m[17]!==f||m[18]!==B||m[19]!==t||m[20]!==o?(u=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center",children:(0,tp.jsx)("div",{children:f?(0,tp.jsx)(f,{disabled:t,icon:"WindowLevelAdvanced",...o,...B,children:b}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,children:b})})}),m[16]=b,m[17]=f,m[18]=B,m[19]=t,m[20]=o,m[21]=u):u=m[21],m[22]!==s?(d=(0,tp.jsx)(uf,{className:"w-full",viewportId:s}),m[22]=s,m[23]=d):d=m[23],m[24]!==C||m[25]!==I||m[26]!==d?(p=(0,tp.jsx)(tB.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:I,align:C,alignOffset:0,sideOffset:5,children:d}),m[24]=C,m[25]=I,m[26]=d,m[27]=p):p=m[27],m[28]!==y||m[29]!==h||m[30]!==u||m[31]!==p?(g=(0,tp.jsxs)(tB.Popover,{open:h,onOpenChange:y,children:[u,p]}),m[28]=y,m[29]=h,m[30]=u,m[31]=p,m[32]=g):g=m[32],g}function uB(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID)}let uy=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y=(0,D.c)(53),{viewportId:v,className:S}=e,{viewportDisplaySets:C,foregroundDisplaySets:I}=(0,cj.N)(v),[b,U]=(0,M.useState)(I.length>0?I[0].displaySetInstanceUID:void 0);y[0]!==b?(t={displaySetInstanceUID:b},y[0]=b,y[1]=t):t=y[1];let{threshold:E,setThreshold:F,pixelValueRange:Q}=(0,cK.eH)(v,t),{min:T,max:x}=Q,O=E??T;if(y[2]!==I[0]||y[3]!==I.length||y[4]!==b?(A=()=>{I.length>0&&!b&&U(I[0].displaySetInstanceUID)},y[2]=I[0],y[3]=I.length,y[4]=b,y[5]=A):A=y[5],y[6]!==I||y[7]!==b?(n=[I,b],y[6]=I,y[7]=b,y[8]=n):n=y[8],(0,M.useEffect)(A,n),y[9]!==b||y[10]!==C){let e;y[12]!==b?(e=e=>e.displaySetInstanceUID===b,y[12]=b,y[13]=e):e=y[13],r=C.find(e),y[9]=b,y[10]=C,y[11]=r}else r=y[11];let L=r;return y[14]===Symbol.for("react.memo_cache_sentinel")?(o=(0,tp.jsx)("span",{className:"text-muted-foreground text-base",children:"Threshold"}),y[14]=o):o=y[14],y[15]!==L?.label||y[16]!==b||y[17]!==C?(i=C.length>1&&(0,tp.jsx)("div",{className:"w-32",children:(0,tp.jsxs)(tB.Select,{value:b,onValueChange:U,children:[(0,tp.jsx)(tB.SelectTrigger,{children:(0,tp.jsx)(tB.SelectValue,{children:L?.label||"Select Display Set"})}),(0,tp.jsx)(tB.SelectContent,{children:C.map(uB)})]})}),y[15]=L?.label,y[16]=b,y[17]=C,y[18]=i):i=y[18],y[19]!==i?(s=(0,tp.jsxs)("div",{className:"flex items-center space-x-2",children:[o,i]}),y[19]=i,y[20]=s):s=y[20],y[21]!==T||y[22]!==F?(a=(0,tp.jsx)(tB.Button,{size:"sm",variant:"ghost",onClick:()=>F(T),className:"text-sm",children:"Reset"}),y[21]=T,y[22]=F,y[23]=a):a=y[23],y[24]!==s||y[25]!==a?(l=(0,tp.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[s,a]}),y[24]=s,y[25]=a,y[26]=l):l=y[26],y[27]!==F?(c=e=>{"number"==typeof e&&F(e)},y[27]=F,y[28]=c):c=y[28],y[29]===Symbol.for("react.memo_cache_sentinel")?(u=(0,tp.jsx)(tB.Numeric.SingleRange,{}),y[29]=u):u=y[29],y[30]!==T?(d=T.toFixed(0),y[30]=T,y[31]=d):d=y[31],y[32]!==d?(p=(0,tp.jsx)("span",{className:"text-muted-foreground text-sm",children:d}),y[32]=d,y[33]=p):p=y[33],y[34]!==x?(g=x.toFixed(0),y[34]=x,y[35]=g):g=y[35],y[36]!==g?(m=(0,tp.jsx)("span",{className:"text-muted-foreground text-sm",children:g}),y[36]=g,y[37]=m):m=y[37],y[38]!==p||y[39]!==m?(h=(0,tp.jsxs)("div",{className:"mt-1 flex justify-between",children:[p,m]}),y[38]=p,y[39]=m,y[40]=h):h=y[40],y[41]!==x||y[42]!==T||y[43]!==c||y[44]!==h||y[45]!==O?(f=(0,tp.jsxs)(tB.Numeric.Container,{mode:"singleRange",value:O,onChange:c,min:T,max:x,step:.01,children:[u,h]}),y[41]=x,y[42]=T,y[43]=c,y[44]=h,y[45]=O,y[46]=f):f=y[46],y[47]!==f||y[48]!==l?(w=(0,tp.jsxs)("div",{className:"bg-popover w-72 rounded-lg p-4 shadow-md",children:[l,f]}),y[47]=f,y[48]=l,y[49]=w):w=y[49],y[50]!==S||y[51]!==w?(B=(0,tp.jsx)("div",{className:S,children:w}),y[50]=S,y[51]=w,y[52]=B):B=y[52],B};function uv(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m=(0,D.c)(33);m[0]!==e?({viewportId:s,location:A,isOpen:i,onOpen:r,onClose:n,disabled:t,...o}=e,m[0]=e,m[1]=t,m[2]=A,m[3]=n,m[4]=r,m[5]=o,m[6]=i,m[7]=s):(t=m[1],A=m[2],n=m[3],r=m[4],o=m[5],i=m[6],s=m[7]);let h=void 0!==i&&i,{IconContainer:f,className:w,containerProps:B}=(0,tB.useIconPresentation)();m[8]!==n||m[9]!==r?(a=e=>{e?r?.():n?.()},m[8]=n,m[9]=r,m[10]=a):a=m[10];let y=a,{servicesManager:v}=(0,k.useSystem)(),{toolbarService:S}=v.services;m[11]!==A||m[12]!==S?(l=S.getAlignAndSide(A),m[11]=A,m[12]=S,m[13]=l):l=m[13];let{align:C,side:I}=l;m[14]!==w?(c=(0,tp.jsx)(tB.Icons.Threshold,{className:w}),m[14]=w,m[15]=c):c=m[15];let b=c;return m[16]!==b||m[17]!==f||m[18]!==B||m[19]!==t||m[20]!==o?(u=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center",children:(0,tp.jsx)("div",{children:f?(0,tp.jsx)(f,{disabled:t,icon:"Threshold",...o,...B,children:b}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,children:b})})}),m[16]=b,m[17]=f,m[18]=B,m[19]=t,m[20]=o,m[21]=u):u=m[21],m[22]!==s?(d=(0,tp.jsx)(uy,{className:"w-full",viewportId:s}),m[22]=s,m[23]=d):d=m[23],m[24]!==C||m[25]!==I||m[26]!==d?(p=(0,tp.jsx)(tB.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:I,align:C,alignOffset:0,sideOffset:5,children:d}),m[24]=C,m[25]=I,m[26]=d,m[27]=p):p=m[27],m[28]!==y||m[29]!==h||m[30]!==u||m[31]!==p?(g=(0,tp.jsxs)(tB.Popover,{open:h,onOpenChange:y,children:[u,p]}),m[28]=y,m[29]=h,m[30]=u,m[31]=p,m[32]=g):g=m[32],g}let uS=function(e){let t,A,n,r,o,i,s,a,l,c,u=(0,D.c)(21),{viewportId:d,className:p}=e;u[0]===Symbol.for("react.memo_cache_sentinel")?(t={includeForeground:!0,includeBackground:!0},u[0]=t):t=u[0];let{backgroundDisplaySet:g,foregroundDisplaySets:m}=(0,cK.Ne)(d,t);u[1]!==m[0].displaySetInstanceUID?(A={displaySetInstanceUID:m[0].displaySetInstanceUID},u[1]=m[0].displaySetInstanceUID,u[2]=A):A=u[2];let{opacityLinear:h,setOpacityLinear:f}=(0,cK.eH)(d,A),w=void 0!==h?h:0,B=g?.Modality||"",y=m[0]?.Modality||"";return u[3]===Symbol.for("react.memo_cache_sentinel")?(n=(0,tp.jsx)("div",{className:"mb-2 flex items-center justify-center",children:(0,tp.jsx)("span",{className:"text-muted-foreground text-base",children:"Opacity"})}),u[3]=n):n=u[3],u[4]!==f?(r=e=>{"number"==typeof e&&f(e)},u[4]=f,u[5]=r):r=u[5],u[6]!==B?(o=(0,tp.jsx)("span",{className:"text-foreground mr-2 text-sm",children:B}),u[6]=B,u[7]=o):o=u[7],u[8]===Symbol.for("react.memo_cache_sentinel")?(i=(0,tp.jsx)(tB.Numeric.SingleRange,{showNumberInput:!1}),u[8]=i):i=u[8],u[9]!==y?(s=(0,tp.jsx)("span",{className:"text-foreground ml-2 text-sm",children:y}),u[9]=y,u[10]=s):s=u[10],u[11]!==o||u[12]!==s?(a=(0,tp.jsxs)("div",{className:"flex items-center",children:[o,i,s]}),u[11]=o,u[12]=s,u[13]=a):a=u[13],u[14]!==w||u[15]!==r||u[16]!==a?(l=(0,tp.jsxs)("div",{className:"bg-popover w-72 rounded-lg p-3",children:[n,(0,tp.jsx)("div",{className:"",children:(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",value:w,onChange:r,min:0,max:1,step:1e-4,children:a})})]}),u[14]=w,u[15]=r,u[16]=a,u[17]=l):l=u[17],u[18]!==p||u[19]!==l?(c=(0,tp.jsx)("div",{className:p,children:l}),u[18]=p,u[19]=l,u[20]=c):c=u[20],c};function uC(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m=(0,D.c)(33);m[0]!==e?({viewportId:s,location:A,isOpen:i,onOpen:r,onClose:n,disabled:t,...o}=e,m[0]=e,m[1]=t,m[2]=A,m[3]=n,m[4]=r,m[5]=o,m[6]=i,m[7]=s):(t=m[1],A=m[2],n=m[3],r=m[4],o=m[5],i=m[6],s=m[7]);let h=void 0!==i&&i,{IconContainer:f,className:w,containerProps:B}=(0,tB.useIconPresentation)();m[8]!==n||m[9]!==r?(a=e=>{e?r?.():n?.()},m[8]=n,m[9]=r,m[10]=a):a=m[10];let y=a,{servicesManager:v}=(0,k.useSystem)(),{toolbarService:S}=v.services;m[11]!==A||m[12]!==S?(l=S.getAlignAndSide(A),m[11]=A,m[12]=S,m[13]=l):l=m[13];let{align:C,side:I}=l;m[14]!==w?(c=(0,tp.jsx)(tB.Icons.Opacity,{className:w}),m[14]=w,m[15]=c):c=m[15];let b=c;return m[16]!==b||m[17]!==f||m[18]!==B||m[19]!==t||m[20]!==o?(u=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center",children:(0,tp.jsx)("div",{children:f?(0,tp.jsx)(f,{disabled:t,icon:"Opacity",...o,...B,children:b}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,children:b})})}),m[16]=b,m[17]=f,m[18]=B,m[19]=t,m[20]=o,m[21]=u):u=m[21],m[22]!==s?(d=(0,tp.jsx)(uS,{className:"w-full",viewportId:s}),m[22]=s,m[23]=d):d=m[23],m[24]!==C||m[25]!==I||m[26]!==d?(p=(0,tp.jsx)(tB.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:I,align:C,alignOffset:0,sideOffset:5,children:d}),m[24]=C,m[25]=I,m[26]=d,m[27]=p):p=m[27],m[28]!==y||m[29]!==h||m[30]!==u||m[31]!==p?(g=(0,tp.jsxs)(tB.Popover,{open:h,onOpenChange:y,children:[u,p]}),m[28]=y,m[29]=h,m[30]=u,m[31]=p,m[32]=g):g=m[32],g}var uI=x(9433);function ub(e){return e.isOverlayDisplaySet||e?.Modality==="SR"}let uU=function(e){let t,A,n,r,o,i,s,a,l,c,u,d=(0,D.c)(39),{viewportId:p}=e,{commandsManager:g}=(0,tj.useSystem)(),{t:m}=tP("Common");d[0]!==m?(t=m("LOAD"),d[0]=m,d[1]=t):t=d[1];let h=t;d[2]!==p?(A={viewportId:p},d[2]=p,d[3]=A):A=d[3];let{isTracked:f,isLocked:w}=(0,uI.R)(A),{backgroundDisplaySet:B}=(0,cj.N)(p),[y,v]=(0,M.useState)(null);d[4]!==B?(n=[B].filter(Boolean),d[4]=B,d[5]=n):n=d[5];let S=n;d[6]!==S?(r=()=>{v(S.find(ub)||null)},o=[S],d[6]=S,d[7]=r,d[8]=o):(r=d[7],o=d[8]),(0,M.useEffect)(r,o);e:{let e;if(f&&!y){let e;d[9]!==f?(e={type:"SR",isHydrated:!0,isTracked:f,displaySet:null,tooltip:"Currently tracking measurements in this viewport"},d[9]=f,d[10]=e):e=d[10],i=e;break e}if(!y){let e;d[11]===Symbol.for("react.memo_cache_sentinel")?(e={type:null},d[11]=e):e=d[11],i=e;break e}let t=y.Modality,A=y.isHydrated||!1,n=null,r=y.isRehydratable||!1;"SEG"===t?n=A?"This Segmentation is loaded in the segmentation panel":"Click LOAD to load segmentation.":"RTSTRUCT"===t?n=A?"This RTSTRUCT is loaded in the segmentation panel":"Click LOAD to load RTSTRUCT.":"SR"===t&&(n=r?r&&w?"This structured report is currently read-only because you are tracking measurements in another viewport.":`Click ${h} to restore measurements.`:"This structured report is not compatible with this application."),d[12]!==A||d[13]!==r||d[14]!==y||d[15]!==n||d[16]!==t?(e={type:t,isHydrated:A,displaySet:y,isRehydratable:r,tooltip:n},d[12]=A,d[13]=r,d[14]=y,d[15]=n,d[16]=t,d[17]=e):e=d[17],i=e}let C=i;if(!C.type&&!f)return null;d[18]!==w||d[19]!==C.isRehydratable||d[20]!==C.type?(s=()=>"SR"!==C.type?(0,tp.jsx)(tB.Icons.StatusUntracked,{className:"h-4 w-4"}):C.isRehydratable&&!w?(0,tp.jsx)(tB.Icons.ByName,{className:"text-muted-foreground h-4 w-4",name:"status-untracked"}):C.isRehydratable&&w?(0,tp.jsx)(tB.Icons.ByName,{name:"status-locked",className:"h-4 w-4"}):(0,tp.jsx)(tB.Icons.ByName,{name:"status-alert",className:"h-4 w-4"}),d[18]=w,d[19]=C.isRehydratable,d[20]=C.type,d[21]=s):s=d[21];let I=s;d[22]!==I||d[23]!==g||d[24]!==h||d[25]!==C.displaySet||d[26]!==C.isHydrated||d[27]!==C.type||d[28]!==p?(a=()=>C.isHydrated?null:(0,tp.jsxs)("div",{"data-cy":`ModalityLoadBadge-${p}`,className:"text-foreground flex h-6 cursor-default text-sm leading-6",children:[(0,tp.jsxs)("div",{className:"bg-popover flex min-w-[45px] items-center rounded-l-xl rounded-r p-1",children:[(0,tp.jsx)(I,{}),(0,tp.jsx)("span",{className:"ml-1",children:C.type})]}),"SR"!==C.type&&(0,tp.jsx)(tB.ViewportActionButton,{onInteraction:()=>{g.runCommand("hydrateSecondaryDisplaySet",{displaySet:C.displaySet,viewportId:p})},children:h})]}),d[22]=I,d[23]=g,d[24]=h,d[25]=C.displaySet,d[26]=C.isHydrated,d[27]=C.type,d[28]=p,d[29]=a):a=d[29];let b=a;return d[30]!==b||d[31]!==C.tooltip?(l=C.tooltip&&(0,tp.jsxs)(tB.Tooltip,{children:[(0,tp.jsx)(tB.TooltipTrigger,{asChild:!0,children:(0,tp.jsx)("span",{children:(0,tp.jsx)(b,{})})}),(0,tp.jsx)(tB.TooltipContent,{side:"bottom",children:(0,tp.jsx)("div",{children:C.tooltip})})]}),d[30]=b,d[31]=C.tooltip,d[32]=l):l=d[32],d[33]!==b||d[34]!==C.tooltip?(c=!C.tooltip&&(0,tp.jsx)(b,{}),d[33]=b,d[34]=C.tooltip,d[35]=c):c=d[35],d[36]!==c||d[37]!==l?(u=(0,tp.jsxs)(tp.Fragment,{children:[l,c]}),d[36]=c,d[37]=l,d[38]=u):u=d[38],u};function uE(e){return e?.representation?.active}function uF(e){return e?.Modality==="SR"}function uQ(e){return e?.representation?.type!==ta.SegmentationRepresentations.Surface}function uT(e){return e?.Modality==="SR"}function uD(e,t,A){if(A<=0)return 0;let n=(e+t)%A;return n<0&&(n=A-1),n}let ux=function(e){let t,A,n,r,o,i,s,a=(0,D.c)(25),{viewportId:l}=e,{servicesManager:c}=(0,tj.useSystem)(),{segmentationService:u,cornerstoneViewportService:d,measurementService:p}=c.services;a[0]!==l?(t={viewportId:l},a[0]=l,a[1]=t):t=a[1];let{isTracked:g,trackedMeasurementUIDs:m}=(0,uI.R)(t),{viewportDisplaySets:h}=(0,cj.N)(l),[f,w]=(0,M.useState)(0),B=h.some(uT);a[2]!==d||a[3]!==l?(A=d.getCornerstoneViewport(l),a[2]=d,a[3]=l,a[4]=A):A=a[4];let y=A;a[5]!==l?(n={viewportId:l},a[5]=l,a[6]=n):n=a[6];let{segmentationsWithRepresentations:v}=(0,cK.Lt)(n),S=v.length>0&&v.some(uQ)?"segment":B||g?"measurement":null;a[7]!==y||a[8]!==g||a[9]!==f||a[10]!==p||a[11]!==m||a[12]!==h||a[13]!==l?(r=e=>{let t=h.find(uF);if(t){let A=t.measurements;if(A.length<=0)return;let n=uD(f,e,A.length);w(n);let r=A[n];y.setViewReference({referencedImageId:r.imageId});return}if(g&&m.length>0){let t=uD(f,e,m.length);w(t),p.jumpToMeasurement(l,m[t])}},a[7]=y,a[8]=g,a[9]=f,a[10]=p,a[11]=m,a[12]=h,a[13]=l,a[14]=r):r=a[14];let C=r;a[15]!==u||a[16]!==v||a[17]!==l?(o=e=>{if(!v.length)return;let t=v.find(uE).segmentation.segmentationId;pZ.handleSegmentChange({direction:e,segmentationId:t,viewportId:l,selectedSegmentObjectIndex:0,segmentationService:u})},a[15]=u,a[16]=v,a[17]=l,a[18]=o):o=a[18];let I=o;a[19]!==C||a[20]!==I||a[21]!==S?(i=e=>{"segment"===S?I(e):"measurement"===S&&C(e)},a[19]=C,a[20]=I,a[21]=S,a[22]=i):i=a[22];let b=i;return S?(a[23]!==b?(s=(0,tp.jsx)(tB.ViewportActionArrows,{onArrowsClick:b,className:"h-6"}),a[23]=b,a[24]=s):s=a[24],s):null},uO=function(e){let t,A,n,r=(0,D.c)(4),{viewportId:o}=e;r[0]!==o?(t={viewportId:o},r[0]=o,r[1]=t):t=r[1];let{isTracked:i}=(0,uI.R)(t);return i?(r[2]===Symbol.for("react.memo_cache_sentinel")?(A=(0,tp.jsx)(tB.TooltipTrigger,{asChild:!0,children:(0,tp.jsx)("span",{children:(0,tp.jsx)(tB.Icons.StatusTracking,{className:"h-4 w-4 text-highlight"})})}),r[2]=A):A=r[2],r[3]===Symbol.for("react.memo_cache_sentinel")?(n=(0,tp.jsx)(tp.Fragment,{children:(0,tp.jsxs)(tB.Tooltip,{children:[A,(0,tp.jsx)(tB.TooltipContent,{side:"bottom",children:(0,tp.jsx)("div",{children:"Tracking"})})]})}),r[3]=n):n=r[3],n):null},{ViewportColorbar:uM}=R.utilities.voi.colorbar,uL=e=>"top"===e||"bottom"===e,uR=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p=(0,D.c)(49),{viewportId:g,displaySetInstanceUID:m,colormaps:h,activeColormapName:f,volumeId:w,position:B,tickStyles:y,numColorbars:v}=e,[S,C]=(0,M.useState)(null),{servicesManager:I}=(0,k.useSystem)(),{customizationService:b}=I.services,U=(0,k.useViewportElement)(g),{height:E,width:F}=(0,k.useViewportSize)(g);p[0]!==b?(t=b.getCustomization("cornerstone.colorbar"),p[0]=b,p[1]=t):t=p[1];let Q=t,T="left"===B||"right"===B?"left"===B?"right":"left":"top"===B?"bottom":"top",x=Q?.positionTickStyles?.[B];p[2]!==Q?.positionStyles||p[3]!==B?(A=Q?.positionStyles?.[B]||{},p[2]=Q?.positionStyles,p[3]=B,p[4]=A):A=p[4];let O=A;p[5]!==Q?.tickStyles?(n=Q?.tickStyles||{},p[5]=Q?.tickStyles,p[6]=n):n=p[6],p[7]!==x?.style?(r=x?.style||{},p[7]=x?.style,p[8]=r):r=p[8],p[9]!==y?(o=y||{},p[9]=y,p[10]=o):o=p[10],p[11]!==n||p[12]!==r||p[13]!==o?(i={...n,...r,...o},p[11]=n,p[12]=r,p[13]=o,p[14]=i):i=p[14];let L=i,R=`Colorbar-${g}-${m}`;if(p[15]!==f||p[16]!==T||p[17]!==R||p[18]!==h||p[19]!==S||p[20]!==L||p[21]!==U||p[22]!==w?(s=()=>{if(!S||!h||!f||!U||!h?.length)return;let e=new uM({id:R,element:U,container:S,colormaps:h,activeColormapName:f,volumeId:w,ticks:{position:T,style:L}});return()=>{e&&e.destroy()}},p[15]=f,p[16]=T,p[17]=R,p[18]=h,p[19]=S,p[20]=L,p[21]=U,p[22]=w,p[23]=s):s=p[23],p[24]!==f||p[25]!==T||p[26]!==R||p[27]!==h||p[28]!==S||p[29]!==m||p[30]!==L||p[31]!==U||p[32]!==g||p[33]!==w?(a=[g,m,h,f,w,R,T,L,U,S],p[24]=f,p[25]=T,p[26]=R,p[27]=h,p[28]=S,p[29]=m,p[30]=L,p[31]=U,p[32]=g,p[33]=w,p[34]=a):a=p[34],(0,M.useEffect)(s,a),!E||!F)return null;let V=`colorbar-container-${g}-${m}`;return p[35]!==B||p[36]!==F?(l=uL(B)?F/2.5:"17px",p[35]=B,p[36]=F,p[37]=l):l=p[37],p[38]!==E||p[39]!==v||p[40]!==B?(c=uL(B)?"20px":1===v?E/3:E/4,p[38]=E,p[39]=v,p[40]=B,p[41]=c):c=p[41],p[42]!==O||p[43]!==l||p[44]!==c?(u={position:"relative",zIndex:1e3,boxSizing:"border-box",display:"flex",alignItems:"center",pointerEvents:"auto",minWidth:l,minHeight:c,height:"1px",...O},p[42]=O,p[43]=l,p[44]=c,p[45]=u):u=p[45],p[46]!==u||p[47]!==V?(d=(0,tp.jsx)("div",{id:V,ref:C,style:u}),p[46]=u,p[47]=V,p[48]=d):d=p[48],d},uV=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g=(0,D.c)(40),{viewportId:m,location:h}=e;g[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],g[0]=t):t=g[0];let[f,w]=(0,M.useState)(t),{servicesManager:B}=(0,k.useSystem)(),{colorbarService:y,customizationService:v,displaySetService:S}=B.services,{viewportDisplaySets:C,backgroundDisplaySet:I,foregroundDisplaySets:b}=(0,cj.N)(m);g[1]!==h?(A={location:h},g[1]=h,g[2]=A):A=g[2];let{colorbarPosition:U,opacity:E}=(0,c6.A)(m,A);g[3]!==v?(n=v.getCustomization("cornerstone.colorbar"),g[3]=v,g[4]=n):n=g[4];let F=n,Q=F?.colorbarTickPosition,T=F?.colorbarTickPosition||Q;if(g[5]!==y||g[6]!==m?(r=()=>{w(y.getViewportColorbar(m)||[])},o=[m,y],g[5]=y,g[6]=m,g[7]=r,g[8]=o):(r=g[7],o=g[8]),(0,M.useEffect)(r,o),g[9]!==y||g[10]!==m?(i=()=>{let{unsubscribe:e}=y.subscribe(y.EVENTS.STATE_CHANGED,e=>{e.viewportId===m&&w(y.getViewportColorbar(m)||[])});return()=>{e()}},s=[m,y],g[9]=y,g[10]=m,g[11]=i,g[12]=s):(i=g[11],s=g[12]),(0,M.useEffect)(i,s),!f.length)return null;let x=1===C.length;g[13]!==x||g[14]!==U?(a=x||!uL(U),g[13]=x,g[14]=U,g[15]=a):a=g[15];let O=a;g[16]!==I?.displaySetInstanceUID||g[17]!==f||g[18]!==S||g[19]!==b||g[20]!==E||g[21]!==O?(l=O?f:f.filter(e=>{let{displaySetInstanceUID:t}=e,{displaySetInstanceUID:A}=S.getDisplaySetByUID(t)??{};return A===(0===E?I?.displaySetInstanceUID:b[0]?.displaySetInstanceUID)}),g[16]=I?.displaySetInstanceUID,g[17]=f,g[18]=S,g[19]=b,g[20]=E,g[21]=O,g[22]=l):l=g[22];let L=l;if(g[23]===Symbol.for("react.memo_cache_sentinel")?(c={pointerEvents:"auto"},g[23]=c):c=g[23],g[24]===Symbol.for("react.memo_cache_sentinel")?(u={pointerEvents:"auto"},g[24]=u):u=g[24],g[25]!==F?.tickStyles||g[26]!==f.length||g[27]!==L||g[28]!==U||g[29]!==T||g[30]!==m){let e;g[32]!==F?.tickStyles||g[33]!==f.length||g[34]!==U||g[35]!==T||g[36]!==m?(e=e=>{let{colorbar:t,displaySetInstanceUID:A}=e;return(0,tp.jsx)(uR,{viewportId:m,displaySetInstanceUID:A,colormaps:t.colormaps,activeColormapName:t.activeColormapName,volumeId:t.volumeId,position:U,tickPosition:T,tickStyles:F?.tickStyles,numColorbars:f.length},`colorbar-${m}-${A}`)},g[32]=F?.tickStyles,g[33]=f.length,g[34]=U,g[35]=T,g[36]=m,g[37]=e):e=g[37],d=L.map(e),g[25]=F?.tickStyles,g[26]=f.length,g[27]=L,g[28]=U,g[29]=T,g[30]=m,g[31]=d}else d=g[31];return g[38]!==d?(p=(0,tp.jsx)("div",{style:c,children:(0,tp.jsx)("div",{className:"flex h-full flex-col items-center justify-center",style:u,children:d})}),g[38]=d,g[39]=p):p=g[39],p};var uN=x(1016),uH=x(8842);let u_={[uH.ButtonLocation.TopMiddle]:{minX:0,minY:0,maxX:1,maxY:.1},[uH.ButtonLocation.BottomMiddle]:{minX:0,minY:.9,maxX:1,maxY:1},[uH.ButtonLocation.LeftMiddle]:{minX:0,minY:0,maxX:.1,maxY:1},[uH.ButtonLocation.RightMiddle]:{minX:.9,minY:0,maxX:1,maxY:1}},uk=function(e){let t,A,n,r,o,i,s,a,l,c,u=(0,D.c)(43),{viewportId:d,location:p,buttonSection:g}=e;u[0]!==g?(t={buttonSection:g},u[0]=g,u[1]=t):t=u[1];let{onInteraction:m,toolbarButtons:h,isItemOpen:f,isItemLocked:w,openItem:B,closeItem:y,toggleLock:v}=(0,uN.useToolbar)(t),S=(0,uN.useViewportMousePosition)(d),[C,I]=(0,M.useState)(!1),[b,U]=(0,M.useState)(!0),E=(0,M.useRef)(!0),{hasColorbar:F}=(0,cK.eH)(d),[Q,T]=(0,M.useState)(!1);u[2]===Symbol.for("react.memo_cache_sentinel")?(A=()=>{if(E.current){E.current=!1;let e=setTimeout(()=>{U(!1)},3e3);return()=>clearTimeout(e)}},n=[],u[2]=A,u[3]=n):(A=u[2],n=u[3]),(0,M.useEffect)(A,n),u[4]!==p||u[5]!==S||u[6]!==b?(r=()=>{if(!b&&S.isInViewport){let e=u_[p];S.isWithinNormalizedBox(e)?I(!0):I(!1)}},o=[p,S,b],u[4]=p,u[5]=S,u[6]=b,u[7]=r,u[8]=o):(r=u[7],o=u[8]),(0,M.useEffect)(r,o),u[9]!==B?(i=(e,t)=>{B(e,t),T(!0)},u[9]=B,u[10]=i):i=u[10];let x=i;u[11]!==y?(s=(e,t)=>{y(e,t),T(!1)},u[11]=y,u[12]=s):s=u[12];let O=s;if(!h?.length||!F)return null;if(u[13]!==p)a=nr()("flex gap-2",p===uH.ButtonLocation.LeftMiddle||p===uH.ButtonLocation.RightMiddle?"flex-col":"flex-row"),u[13]=p,u[14]=a;else a=u[14];if(u[15]!==O||u[16]!==x||u[17]!==Q||u[18]!==w||u[19]!==f||u[20]!==C||u[21]!==p||u[22]!==m||u[23]!==b||u[24]!==v||u[25]!==h||u[26]!==d){let e;u[28]!==O||u[29]!==x||u[30]!==Q||u[31]!==w||u[32]!==f||u[33]!==C||u[34]!==p||u[35]!==m||u[36]!==b||u[37]!==v||u[38]!==d?(e=e=>{if(!e)return null;let{id:t,Component:A,componentProps:n}=e,r={...n,isOpen:f(t,d),isLocked:w(t,d),onOpen:()=>x(t,d),onClose:()=>O(t,d),onToggleLock:()=>v(t,d),viewportId:d},o=(0,tp.jsx)(A,{id:t,location:p,onInteraction:e=>{m({...e,itemId:t,viewportId:d})},...r},t),i=Q||b||"Colorbar"===t||C;return(0,tp.jsx)("div",{className:i?"opacity-100":"pointer-events-none opacity-0",style:{transition:"opacity 0.2s ease-in-out"},children:o},t)},u[28]=O,u[29]=x,u[30]=Q,u[31]=w,u[32]=f,u[33]=C,u[34]=p,u[35]=m,u[36]=b,u[37]=v,u[38]=d,u[39]=e):e=u[39],l=h.map(e),u[15]=O,u[16]=x,u[17]=Q,u[18]=w,u[19]=f,u[20]=C,u[21]=p,u[22]=m,u[23]=b,u[24]=v,u[25]=h,u[26]=d,u[27]=l}else l=u[27];return u[40]!==a||u[41]!==l?(c=(0,tp.jsx)("div",{className:a,children:l}),u[40]=a,u[41]=l,u[42]=c):c=u[42],c},uP=e=>({disabled:!0,disabledText:e??cB().t("Buttons:Not available on the current viewport")});function uj({viewportId:e,toolbarService:t,button:A,disabledText:n,offModes:r,toolGroupService:o}){let i=o.getToolGroupForViewport(e);if(!i)return;let s=t.getToolNameForButton(A);if(!i?.hasTool(s))return uP(n);let a=r.includes(i.getToolOptions(s).mode);return{className:tB.utils.getToggledClassName(!a)}}let uG={VIEWPORT_ADDED:"event::cornerstone::toolgroupservice:viewportadded",TOOLGROUP_CREATED:"event::cornerstone::toolgroupservice:toolgroupcreated",TOOL_ACTIVATED:"event::cornerstone::toolgroupservice:toolactivated",PRIMARY_TOOL_ACTIVATED:"event::cornerstone::toolgroupservice:primarytoolactivated"};class uK{constructor(e){this.servicesManager=void 0,this.cornerstoneViewportService=void 0,this.viewportGridService=void 0,this.uiNotificationService=void 0,this.customizationService=void 0,this.toolGroupIds=new Set,this.toolBindingsMap=new Map,this.defaultToolBindingsMap=new Map,this.listeners=void 0,this.EVENTS=void 0,this._onToolActivated=e=>{let{toolGroupId:t,toolName:A,toolBindingsOptions:n}=e.detail,r=n.bindings?.some(e=>e.mouseButton===R.Enums.MouseBindings.Primary),o={toolGroupId:t,toolName:A,toolBindingsOptions:n};this._broadcastEvent(uG.TOOL_ACTIVATED,o),r&&this._broadcastEvent(uG.PRIMARY_TOOL_ACTIVATED,o)};const{cornerstoneViewportService:t,viewportGridService:A,uiNotificationService:n,customizationService:r}=e.services;this.cornerstoneViewportService=t,this.viewportGridService=A,this.uiNotificationService=n,this.customizationService=r,this.listeners={},this.EVENTS=uG,Object.assign(this,k.pubSubServiceInterface),this._init()}onModeExit(){this.destroy()}_init(){L.eventTarget.addEventListener(R.Enums.Events.TOOL_ACTIVATED,this._onToolActivated)}getToolGroup(e){let t=e;if(!t){let e=ee(this.viewportGridService);if(!e)return;let{renderingEngineId:A,viewportId:n}=e,r=R.ToolGroupManager.getToolGroupForViewport(n,A);if(!r)return void console.warn("No tool group found for viewportId:",n,"and renderingEngineId:",A);t=r.id}return R.ToolGroupManager.getToolGroup(t)}getToolGroupIds(){return Array.from(this.toolGroupIds)}getToolGroupForViewport(e){let t=this.cornerstoneViewportService.getRenderingEngine();return R.ToolGroupManager.getToolGroupForViewport(e,t.id)}getActiveToolForViewport(e){let t=this.getToolGroupForViewport(e);if(t)return t.getActivePrimaryMouseButtonTool()}destroy(){R.ToolGroupManager.destroy(),this.toolGroupIds=new Set,this.toolBindingsMap.clear(),this.defaultToolBindingsMap.clear(),L.eventTarget.removeEventListener(R.Enums.Events.TOOL_ACTIVATED,this._onToolActivated)}destroyToolGroup(e){R.ToolGroupManager.destroyToolGroup(e),this.toolGroupIds.delete(e)}removeViewportFromToolGroup(e,t,A){let n=R.ToolGroupManager.getToolGroupForViewport(e,t);!n||(n.removeViewports(t,e),0===n.getViewportIds().length&&A&&R.ToolGroupManager.destroyToolGroup(n.id))}addViewportToToolGroup(e,t,A){if(A){let n=R.ToolGroupManager.getToolGroup(A);n||(n=this.createToolGroup(A)),n.addViewport(e,t)}else R.ToolGroupManager.getAllToolGroups().forEach(A=>{A.addViewport(e,t)});this._broadcastEvent(uG.VIEWPORT_ADDED,{viewportId:e,toolGroupId:A})}createToolGroup(e){if(this.getToolGroup(e))throw Error(`ToolGroup ${e} already exists`);let t=R.ToolGroupManager.createToolGroup(e);return this.toolGroupIds.add(e),this._broadcastEvent(uG.TOOLGROUP_CREATED,{toolGroupId:e}),t}addToolsToToolGroup(e,t,A={}){let n=R.ToolGroupManager.getToolGroup(e);this._addTools(n,t,A),this._setToolsMode(n,t),this._loadPersistedBindings(e)}createToolGroupAndAddTools(e,t){let A=this.createToolGroup(e);return this.addToolsToToolGroup(e,t),A}getToolConfiguration(e,t){let A=R.ToolGroupManager.getToolGroup(e);if(!A)return null;let n=A.getToolInstance(t);return n?n.configuration:null}setToolConfiguration(e,t,A){R.ToolGroupManager.getToolGroup(e).getToolInstance(t).configuration=A}getActivePrimaryMouseButtonTool(e){return this.getToolGroup(e)?.getActivePrimaryMouseButtonTool()}getToolBindings(e,t){return this.toolBindingsMap.get(e)?.get(t)}setToolBindings(e,t,A){this.toolBindingsMap.has(e)||this.toolBindingsMap.set(e,new Map),this.toolBindingsMap.get(e).set(t,this._cloneToolBindings(A))}getDefaultToolBindings(e,t){let A=this.defaultToolBindingsMap.get(e)?.get(t);return A?this._cloneToolBindings(A):void 0}persistToolBindings(e,t,A){let n=this._readPersistedToolBindings();n[e]||(n[e]={}),n[e][t]=A,this._writePersistedToolBindings(n)}removePersistedToolBindings(e,t){let A=this._readPersistedToolBindings();A[e]&&(t?(delete A[e][t],Object.keys(A[e]).length||delete A[e]):delete A[e],this._writePersistedToolBindings(A))}applyToolBindings(e,t,A={}){let n=R.ToolGroupManager.getToolGroup(e);if(!n||!n.hasTool(t))return;let r=this.getToolBindings(e,t);if(!r)return;let{mode:o}=n.getToolOptions(t);(o===R.Enums.ToolModes.Active||o===R.Enums.ToolModes.Passive||o===R.Enums.ToolModes.Enabled)&&(A.replaceExisting&&n.setToolDisabled(t),n.setToolActive(t,{bindings:r}))}getAllToolBindings(){let e=[];for(let[t,A]of this.toolBindingsMap)for(let[n,r]of A)e.push({toolGroupId:t,toolName:n,bindings:r});return e}_setToolsMode(e,t){let{active:A,passive:n,enabled:r,disabled:o}=t;A&&A.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolActive(t,{bindings:A})}),n&&n.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolPassive(t)}),r&&r.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolEnabled(t)}),o&&o.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolDisabled(t)})}_setDefaultToolBindingsIfMissing(e,t,A){this.defaultToolBindingsMap.has(e)||this.defaultToolBindingsMap.set(e,new Map);let n=this.defaultToolBindingsMap.get(e);n.has(t)||n.set(t,this._cloneToolBindings(A))}_addTools(e,t){let A=t=>{t.forEach(({toolName:t,parentTool:A,configuration:n})=>{A?e.addToolInstance(t,A,{...n}):e.addTool(t,{...n})})};t.active&&A(t.active),t.passive&&A(t.passive),t.enabled&&A(t.enabled),t.disabled&&A(t.disabled)}_loadPersistedBindings(e){let t=this._readPersistedToolBindings()[e];if(!t)return;let A=R.ToolGroupManager.getToolGroup(e);for(let[n,r]of Object.entries(t)){if(this.setToolBindings(e,n,r),!A||!A.hasTool(n))continue;let{mode:t}=A.getToolOptions(n);t===R.Enums.ToolModes.Active&&this.applyToolBindings(e,n,{replaceExisting:!0})}}_readPersistedToolBindings(){try{let e=localStorage.getItem(this._getToolBindingsStorageKey());if(!e)return{};let t=JSON.parse(e);if(!t||"object"!=typeof t)return{};return t}catch{return{}}}_writePersistedToolBindings(e){let t=this._getToolBindingsStorageKey();Object.keys(e).length?localStorage.setItem(t,JSON.stringify(e)):localStorage.removeItem(t)}_cloneToolBindings(e){return e.map(e=>({...e}))}_getToolBindingsStorageKey(){let e=this.customizationService?.getCustomization("ohif.userPreferences.toolBindingsStorageKey");return"string"==typeof e&&e.length>0?e:"user-preferred-tool-bindings"}}uK.REGISTRATION={name:"toolGroupService",altName:"ToolGroupService",create:({servicesManager:e})=>new uK(e)};let{createSynchronizer:uW}=R.SynchronizerManager,{SEGMENTATION_REPRESENTATION_MODIFIED:uY}=R.Enums.Events,{BlendModes:uz}=L.Enums;function uX(e,{servicesManager:t,...A}){return uW(e,uY,(e,n,r,o)=>uJ(e,n,r,o,{servicesManager:t,options:A}),{eventSource:"eventTarget"})}let uJ=async(e,t,A,n,{servicesManager:r,options:o})=>{let{segmentationId:i,type:s}=n.detail,{segmentationService:a,cornerstoneViewportService:l}=r.services,c=A.viewportId,u=t.viewportId,{viewport:d}=(0,L.getEnabledElementByViewportId)(c),p=l.getViewportInfo(u),g=l.getViewportInfo(c),m=uq(p),h=uq(g),f=m.some(e=>h.includes(e)),w=d.getFrameOfReferenceUID(),B=(0,L.getEnabledElementByViewportId)(u)?.viewport?.getFrameOfReferenceUID();if(!f&&!w||!f&&w!==B||a.getSegmentationRepresentations(c,{segmentationId:i}).length>0)return;let y=(0,es.Ov)(d),{Surface:v,Labelmap:S}=R.Enums.SegmentationRepresentations;await a.addSegmentationRepresentation(c,{segmentationId:i,type:y?v:s&&s!==v?s:S,config:{blendMode:d?.getBlendMode?.()===1?uz.LABELMAP_EDGE_PROJECTION_BLEND:void 0}})};function uq(e){return e.getViewportData().data.map(e=>e.displaySetInstanceUID)}let u$={TOOL_GROUP_CREATED:"event::cornerstone::syncgroupservice:toolgroupcreated"},uZ="imageslice";class u0{constructor(e){this.servicesManager=void 0,this.listeners={},this.EVENTS=void 0,this.synchronizerCreators={cameraposition:R.synchronizers.createCameraPositionSynchronizer,voi:R.synchronizers.createVOISynchronizer,zoompan:R.synchronizers.createZoomPanSynchronizer,stackimage:R.synchronizers.createImageSliceSynchronizer,[uZ]:R.synchronizers.createImageSliceSynchronizer,hydrateseg:uX},this.synchronizersByType={},this.servicesManager=e,this.listeners={},this.EVENTS=u$,Object.assign(this,k.pubSubServiceInterface)}_createSynchronizer(e,t,A){this.synchronizersByType[e]=this.synchronizersByType[e]||[];let n=this.synchronizerCreators[e.toLowerCase()];if(n){let r=n(t,{...A,servicesManager:this.servicesManager});if(r)return this.synchronizersByType[e].push(r),r}else console.debug(`Unknown synchronizer type: ${e}, id: ${t}`)}getSyncCreatorForType(e){return this.synchronizerCreators[e.toLowerCase()]}addSynchronizerType(e,t){this.synchronizerCreators[e.toLowerCase()]=t}getSynchronizer(e){return R.SynchronizerManager.getSynchronizer(e)}registerCustomSynchronizer(e,t){this.synchronizerCreators[e]=t}getSynchronizersOfType(e){return this.synchronizersByType[e]}_getOrCreateSynchronizer(e,t,A){let n=R.SynchronizerManager.getSynchronizer(t);return n||(n=this._createSynchronizer(e,t,A)),n}addViewportToSyncGroup(e,t,A){A&&(Array.isArray(A)?A:[A]).forEach(A=>{let{type:n,target:r=!0,source:o=!0,options:i={},id:s=n}="string"==typeof A?{type:A}:A,a=this._getOrCreateSynchronizer(n,s,i);if(!a)return;a.setOptions(e,i);let l={viewportId:e,renderingEngineId:t};r&&o?a.add(l):o?a.addSource(l):r&&a.addTarget(l)})}destroy(){R.SynchronizerManager.destroy()}getSynchronizersForViewport(e){let t=(0,L.getRenderingEngines)().find(t=>t.getViewports().find(t=>t.id===e))||(0,L.getRenderingEngines)()[0];return R.SynchronizerManager.getAllSynchronizers().filter(A=>A.hasSourceViewport(t.id,e)||A.hasTargetViewport(t.id,e))}removeViewportFromSyncGroup(e,t,A){let n=R.SynchronizerManager.getAllSynchronizers();(A?n.filter(e=>e.id===A):n).forEach(A=>{if(!A)return;this.isImageSliceSyncronizer(A)&&this.unRegisterSpatialRegistration(A),A.remove({viewportId:e,renderingEngineId:t});let n=A.getSourceViewports(),r=A.getTargetViewports();n.length||r.length||R.SynchronizerManager.destroySynchronizer(A.id)})}unRegisterSpatialRegistration(e){let t=e.getSourceViewports().map(e=>e.viewportId),A=e.getTargetViewports().map(e=>e.viewportId);t.map(e=>A.map(t=>[t,e])).reduce((e,t)=>e.concat(t),[]).forEach(e=>{L.utilities.spatialRegistrationMetadataProvider.add(e,void 0)})}isImageSliceSyncronizer(e){return this.getSynchronizerType(e).toLowerCase()===uZ}getSynchronizerType(e){return Object.keys(this.synchronizersByType).find(t=>this.getSynchronizersOfType(t).includes(e))}}u0.REGISTRATION={name:"syncGroupService",altName:"SyncGroupService",create:({servicesManager:e})=>new u0(e)};var u1=x(6336);let u3="cornerstoneStreamingImageVolume",u2="cornerstoneStreamingDynamicImageVolume",{Labelmap:u4,Surface:u6}=R.Enums.SegmentationRepresentations,{state:{updateLabelmapSegmentationImageReferences:u9}}=R.segmentation;class u8{constructor(e){this.service=e}async classifyAndPrepareLabelmapAdd(e,t,A,n,r){let o=(0,es.rX)(e),i=t?.representationData?.[u4],s=!!i&&"volumeId"in i;return o?this.handleVolumeViewportCase(e,t,s):this.handleStackViewportCase(e,t,s,A,n)}async handleVolumeViewportCase(e,t,A){return(0,es.Ov)(e)?{representationTypeToUse:u6,isConverted:!1}:(await this.service.handleVolumeViewport(e,t,A),{representationTypeToUse:u4,isConverted:!1})}async handleStackViewportCase(e,t,A,n,r){return A?{representationTypeToUse:u4,isConverted:await this.service.convertStackToVolumeViewport(e)}:u9(n,r)?{representationTypeToUse:u4,isConverted:!1}:{representationTypeToUse:u4,isConverted:await this.service.attemptStackToVolumeConversion(e,t,n,r)}}assembleSegmentationDataForSEG(e){let{segmentationId:t,derivedImageIds:A,referencedImageIds:n,label:r,fallbackLabel:o,segments:i}=e;return{segmentationId:t,representation:{type:u4,data:{imageIds:A,referencedImageIds:n}},config:{label:r,fallbackLabel:o,segments:i}}}jumpToSegmentCenter(e,t){return!!e?.jumpToWorld&&(e.jumpToWorld(t),!0)}}let{Labelmap:u5}=R.Enums.SegmentationRepresentations,{state:{updateLabelmapSegmentationImageReferences:u7}}=R.segmentation;class de{async classifyAndPrepareLabelmapAdd(e,t,A,n,r){return u7(A,n),{representationTypeToUse:r,isConverted:!1}}assembleSegmentationDataForSEG(e){let{segmentationId:t,segDisplaySet:A,derivedImageIds:n,referencedImageIds:r,label:o,fallbackLabel:i,segments:s}=e,a=A.labelMapImages??[],l={label:o,fallbackLabel:i,segments:s};if(!A.overlappingSegments||a.length<=1)return{segmentationId:t,representation:{type:u5,data:{imageIds:n,referencedImageIds:r}},config:l};let c={},u={};return a.forEach((e,A)=>{let n=`${t}-storage-${A}`;c[n]={labelmapId:n,storageKind:"stack",imageIds:e.map(e=>e.imageId),referencedImageIds:r};let o=new Set;for(let t of e){let e=t.voxelManager?.getScalarData();if(e)for(let t=0;t<e.length;t++){let A=e[t];0!==A&&o.add(A)}}o.forEach(e=>{u[e]={labelmapId:n,labelValue:e}})}),{segmentationId:t,representation:{type:u5,data:{imageIds:n,referencedImageIds:r,labelmaps:c,segmentBindings:u,primaryLabelmapId:`${t}-storage-0`}},config:l}}jumpToSegmentCenter(e,t){return"function"==typeof e.setViewReference&&(e.setViewReference({cameraFocalPoint:t}),e.render(),!0)}}let{DefaultHistoryMemo:dt}=L.utilities.HistoryMemo,{Labelmap:dA,Contour:dn,Surface:dr}=R.Enums.SegmentationRepresentations,{getLabelmapImageIds:di,helpers:{convertStackToVolumeLabelmap:ds},state:{addColorLUT:da},triggerSegmentationEvents:{triggerSegmentationRepresentationModified:dl}}=R.segmentation,dc={SEGMENTATION_MODIFIED:"event::segmentation_modified",SEGMENTATION_ADDED:"event::segmentation_added",SEGMENTATION_DATA_MODIFIED:"event::segmentation_data_modified",SEGMENTATION_REMOVED:"event::segmentation_removed",SEGMENTATION_REPRESENTATION_MODIFIED:"event::segmentation_representation_modified",SEGMENTATION_REPRESENTATION_REMOVED:"event::segmentation_representation_removed",SEGMENT_LOADING_COMPLETE:"event::segment_loading_complete",SEGMENTATION_LOADING_COMPLETE:"event::segmentation_loading_complete",SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED:"event::annotation_cut_merge_process_completed",SEGMENTATION_STYLE_MODIFIED:"event::segmentation_style_modified"};class du extends k.PubSubService{constructor({servicesManager:e}){super(dc),this._segmentationIdToColorLUTIndexMap=void 0,this._segmentationGroupStatsMap=void 0,this._legacySegBackend=void 0,this._nextSegBackend=void 0,this.servicesManager=void 0,this.highlightIntervalId=null,this.EVENTS=dc,this.destroy=()=>{L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_MODIFIED,this._onSegmentationModifiedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_REMOVED,this._onSegmentationRemovedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_DATA_MODIFIED,this._onSegmentationDataModifiedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED,this._onSegmentationRepresentationModifiedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_ADDED,this._onSegmentationRepresentationModifiedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_REMOVED,this._onSegmentationRepresentationRemovedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_ADDED,this._onSegmentationAddedFromSource),this.reset()},this.getStyle=e=>R.segmentation.config.style.getStyle(e),this.setStyle=(e,t,A=!0)=>{R.segmentation.config.style.setStyle(e,t,A),this._broadcastEvent(dc.SEGMENTATION_STYLE_MODIFIED,{specifier:e,style:t,merge:A})},this.resetToGlobalStyle=()=>{R.segmentation.config.style.resetToGlobalStyle()},this.toggleSegmentationRepresentationVisibility=(e,{segmentationId:t,type:A})=>{this._toggleSegmentationRepresentationVisibility(e,t,A)},this.getViewportIdsWithSegmentation=e=>R.segmentation.state.getViewportIdsWithSegmentation(e),this._toggleSegmentationRepresentationVisibility=(e,t,A)=>{let n=0===R.segmentation.config.visibility.getHiddenSegmentIndices(e,{segmentationId:t,type:A}).size;this._setSegmentationRepresentationVisibility(e,t,A,!n)},this._onSegmentationDataModifiedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_DATA_MODIFIED,{segmentationId:t})},this._onSegmentationRepresentationModifiedFromSource=e=>{let{segmentationId:t,viewportId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,{segmentationId:t,viewportId:A})},this._onSegmentationRepresentationRemovedFromSource=e=>{let{segmentationId:t,viewportId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_REMOVED,{segmentationId:t,viewportId:A})},this._onSegmentationModifiedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_MODIFIED,{segmentationId:t})},this._onSegmentationAddedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_ADDED,{segmentationId:t})},this._onSegmentationRemovedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REMOVED,{segmentationId:t})},this._onAnnotationCutMergeProcessCompletedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED,{segmentationId:t})},this._segmentationIdToColorLUTIndexMap=new Map,this.servicesManager=e,this._segmentationGroupStatsMap=new Map,this._legacySegBackend=new u8(this),this._nextSegBackend=new de}_segBackend(e){return(0,nL.Is)(e)?this._nextSegBackend:this._legacySegBackend}onModeEnter(){this._initSegmentationService()}onModeExit(){this.destroy()}getSegmentation(e){return R.segmentation.state.getSegmentation(e)}getSegmentations(){return R.segmentation.state.getSegmentations()}getPresentation(e){let t=[],A=new Map;for(let t of this.getSegmentationRepresentations(e)){if(!t)continue;let{segmentationId:e,type:n}=t;A.set(e,{segmentationId:e,type:n,hydrated:!0,config:t.config||{}})}return t.push(...A.values()),t}getRepresentationsForSegmentation(e){return R.segmentation.state.getSegmentationRepresentationsBySegmentationId(e)}getSegmentationRepresentations(e,t={}){return R.segmentation.state.getSegmentationRepresentations(e,t).map(t=>this._toOHIFSegmentationRepresentation(e,t))}async addSegmentationRepresentation(e,{segmentationId:t,predecessorImageId:A,type:n,config:r,suppressEvents:o=!1}){let i=this.getSegmentation(t);if(!i)return void console.warn(`addSegmentationRepresentation: segmentation "${t}" is not in state yet`);!i.predecessorImageId&&A&&(i.predecessorImageId=A);let s=this.getAndValidateViewport(e);if(!s)return;if(!i)throw Error(`SegmentationService: cannot add representation - segmentation "${t}" not found.`);let a=this._segmentationIdToColorLUTIndexMap.get(t),l=!1,c=(0,es.Ov)(s)?dr:dA,u=n||c;if(u===dA){({representationTypeToUse:u,isConverted:l}=await this._segBackend(s).classifyAndPrepareLabelmapAdd(s,i,e,t,u));let A=i?.representationData?.[dA]?.labelmaps;A&&Object.keys(A).length>1&&(0,nL.Is)(s)&&!L.utilities.viewportIsInVolumeMode(s)&&console.warn(`Overlapping segmentation ${t} has multiple labelmap layers, but viewport ${e} does not render as a volume slice (VTK_VOLUME_SLICE); only the primary layer will be visible. Display the segmentation in an MPR/volume layout to see all overlapping segments.`)}await this._addSegmentationRepresentation(e,t,u,a,l,r),o||this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,{segmentationId:t})}async createLabelmapForDisplaySet(e,t){return this._createSegmentationForDisplaySet(e,dA,t)}async createContourForDisplaySet(e,t){return this._createSegmentationForDisplaySet(e,dn,t)}async _createSegmentationForDisplaySet(e,t,A){let n=A?.segmentationId??`${L.utilities.uuidv4()}`,r=e.isDynamicVolume,o=e.imageIds;if(r){let t=e.dynamicVolumeInfo.timePoints;o=t[Math.floor(t.length/2)]}let i=await L.imageLoader.createAndCacheDerivedLabelmapImages(o),s=this.getSegmentations(),a=A?.label||`Segmentation ${s.length+1}`,l={segmentationId:n,representation:{type:t,data:{imageIds:i.map(e=>e.imageId),referencedImageIds:o}},config:{label:a,labelIsGenerated:A?.labelIsGenerated??!A?.label,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`,segments:A?.segments&&Object.keys(A.segments).length>0?A.segments:{1:{label:`${cB().t("Segment")} 1`,active:!0}},cachedStats:{info:`S${e.SeriesNumber}: ${e.SeriesDescription}`}}};if(!this._segmentationIdToColorLUTIndexMap.has(n)){let e=da([[0,0,0,0]]);this._segmentationIdToColorLUTIndexMap.set(n,e)}return this.addOrUpdateSegmentation(l),n}async createSegmentationForSEGDisplaySet(e,t={type:dA}){let{type:A}=t,{segmentationId:n}=t,{labelMapImages:r}=e;if(A!==dA)throw Error("Only labelmap type is supported for SEG display sets right now");if(!r||!r.length)throw Error("SEG reading failed");n=n??e.displaySetInstanceUID;let o=e.referencedDisplaySetInstanceUID,i=this.servicesManager.services.displaySetService.getDisplaySetByUID(o),s=i.instances;if(!s.length)throw Error("No instances were provided for the referenced display set of the SEG");let a=e.referencedImageIds||i.imageIds||s.map(e=>e.imageId);if(!a?.length)throw Error("referencedDisplaySet has no imageIds for SEG");let l=r?.flat(),c=l.map(e=>e.imageId);e.images=l.map(e=>({...e,...L.metaData.get("instance",e.referencedImageId)})),e.imageIds=c;let u=null;for(let e=0;e<l.length;e++){let t=l[e].voxelManager,A=t.getScalarData();t.setScalarData(A),!u&&A.some(e=>0!==e)&&(u=l[e].referencedImageId)}e.firstSegmentedSliceImageId=u;let d=e.segMetadata.data,p={},g=[];d.forEach((t,A)=>{if(0===A)return void g.push([0,0,0,0]);let{SegmentedPropertyCategoryCodeSequence:n,SegmentNumber:r,SegmentLabel:o,SegmentAlgorithmType:i,SegmentAlgorithmName:s,SegmentedPropertyTypeCodeSequence:a,rgba:l}=t;g.push(l);let c=Number(r),u=e.centroids?.get(A),d=u?.image||{x:0,y:0,z:0},m=u?.world||{x:0,y:0,z:0};p[c]={segmentIndex:c,label:o||`Segment ${r}`,locked:!1,active:!1,cachedStats:{center:{image:[d.x,d.y,d.z],world:[m.x,m.y,m.z]},modifiedTime:e.SeriesDate,category:n?n.CodeMeaning:"",type:a?a.CodeMeaning:"",algorithmType:i,algorithmName:s}}});let m=da(g);this._segmentationIdToColorLUTIndexMap.set(n,m);let h=(ej?this._nextSegBackend:this._legacySegBackend).assembleSegmentationDataForSEG({segmentationId:n,segDisplaySet:e,derivedImageIds:c,referencedImageIds:a,label:e.SeriesDescription,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`,segments:p});return e.isLoaded=!0,this.addOrUpdateSegmentation(h),this._broadcastEvent(dc.SEGMENTATION_LOADING_COMPLETE,{segmentationId:n,segDisplaySet:e}),n}async createSegmentationForRTDisplaySet(e,t={type:dn}){let{type:A}=t,{segmentationId:n}=t;if(A!==dn)throw Error("Only contour type is supported for RT display sets right now");n=n??e.displaySetInstanceUID;let{structureSet:r}=e;if(!r)throw Error("To create the contours from RT displaySet, the displaySet should be loaded first. You can perform rtDisplaySet.load() before calling this method.");let o=e.displaySetInstanceUID,i=this.servicesManager.services.displaySetService.getDisplaySetByUID(e.referencedDisplaySetInstanceUID),s=Array.from(r.ReferencedSOPInstanceUIDsSet),a=i.imageIds;if(e.firstSegmentedSliceImageId=a?.find(e=>s.some(t=>e.includes(t)))||null,!r.ROIContours?.length)throw Error("The structureSet does not contain any ROIContours. Please ensure the structureSet is loaded first.");let l=r.ROIContours.map(({contourPoints:e,ROINumber:t,ROIName:A,colorArray:n,ROIGroup:r})=>{let i=e.map(({points:e,...t})=>{let A=e.map(({x:e,y:t,z:A})=>[e,t,A]);return{...t,points:A}}),s=A||t;return{data:i,id:s,segmentIndex:t,color:n,group:r,geometryId:`${o}:${s}:segmentIndex-${t}`}});l.sort((e,t)=>e.segmentIndex-t.segmentIndex);let c={segmentationId:n,representation:{type:dn,data:{geometryIds:l.map(({geometryId:e})=>e)}},config:{label:e.SeriesDescription,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`}},u={},d={},p=[[0,0,0,0]];for(let t=0;t<l.length;t++){let{data:A,id:n,color:o,segmentIndex:i,geometryId:s,group:a}=l[t];p.push(o);try{d={center:{world:(await L.geometryLoader.createAndCacheGeometry(s,{geometryData:{data:A,id:n,color:o,frameOfReferenceUID:r.frameOfReferenceUID,segmentIndex:i},type:L.Enums.GeometryType.CONTOUR})).data.centroid},modifiedTime:e.SeriesDate},u[i]={label:n,segmentIndex:i,cachedStats:d,locked:!1,active:!1,group:a};let t=Object.keys(d).length,c=Math.round(t/l.length*100);this._broadcastEvent(dc.SEGMENT_LOADING_COMPLETE,{percentComplete:c,numSegments:l.length})}catch(e){console.warn(`Error initializing contour for segment ${i}:`,e);continue}}let g=da(p);return this._segmentationIdToColorLUTIndexMap.set(n,g),c.config.segments=u,this._broadcastEvent(dc.SEGMENTATION_LOADING_COMPLETE,{segmentationId:n,rtDisplaySet:e}),e.isLoaded=!0,this.addOrUpdateSegmentation(c),n}addOrUpdateSegmentation(e){let t=e.segmentationId;R.segmentation.state.getSegmentation(t)?this.updateSegmentationInSource(t,e):"representation"in e&&e.representation?this.addSegmentationToSource(e):console.warn(`addOrUpdateSegmentation: skipping add for ${t} — missing representation`)}setActiveSegmentation(e,t){R.segmentation.activeSegmentation.setActiveSegmentation(e,t)}getActiveSegmentation(e){return R.segmentation.activeSegmentation.getActiveSegmentation(e)}getActiveSegment(e){let t,A=this.getActiveSegmentation(e);if(!A)return;let{segments:n}=A;for(let e of Object.values(n))if(e.active){t=e;break}return t}hasCustomStyles(e){return R.segmentation.config.style.hasCustomStyle(e)}getNextAvailableSegmentIndex(e){let t=Object.keys(this.getCornerstoneSegmentation(e).segments);return 0===t.length?1:Math.max(...t.map(Number))+1}addSegment(e,t={}){if(t?.segmentIndex===0)throw Error(cB().t("Segment")+' index 0 is reserved for "no label"');let A=this.getCornerstoneSegmentation(e),n=t.segmentIndex;n||(n=this.getNextAvailableSegmentIndex(e)),t.label||(t.label=`${cB().t("Segment")} ${n}`);let r=A.segments;R.segmentation.updateSegmentations([{segmentationId:e,payload:{segments:{...r,[n]:{...r[n],segmentIndex:n,cachedStats:{},locked:!1,...t}}}}]),this.setActiveSegment(e,n),void 0!==t.isLocked&&this._setSegmentLockedStatus(e,n,t.isLocked),this.getViewportIdsWithSegmentation(e).forEach(A=>{void 0!==t.color&&this.setSegmentColor(A,e,n,t.color),void 0!==t.visibility&&this.setSegmentVisibility(A,e,n,t.visibility)})}createSegmentIndexMemo(e,t,A){let n,r,o=this.getCornerstoneSegmentation(e),i=o?.segments?.[t];if(!i)return null;let s=this.getViewportIdsWithSegmentation(e);if(s.length>0){let A=s[0],o=this.getSegmentationRepresentations(A,{segmentationId:e}),i=o[0]?.type??dA;n=this.getSegmentColor(A,e,t),r=R.segmentation.config.visibility.getSegmentIndexVisibility(A,{segmentationId:e,type:i},t)}let a={segmentIndex:t,label:i.label,isLocked:i.locked,active:i.active,color:n,visibility:r},l=this;return{id:L.utilities.uuidv4(),operationType:"segmentIndex",restoreMemo(A){!0===A?l.addSegment(e,a):R.segmentation.removeSegment(e,t,{recordHistory:!1})}}}removeSegment(e,t,A){let n;A?.skipRecordingHistory?R.segmentation.removeSegment(e,t,{recordHistory:!1}):(n=this.createSegmentIndexMemo(e,t,{deleting:!0}),dt.startGroupRecording(),R.segmentation.removeSegment(e,t,{recordHistory:!0}),dt.push(n),dt.endGroupRecording())}setSegmentVisibility(e,t,A,n,r){this._setSegmentVisibility(e,t,A,n,r)}setSegmentLocked(e,t,A){this._setSegmentLockedStatus(e,t,A)}toggleSegmentLocked(e,t){let A=R.segmentation.segmentLocking.isSegmentIndexLocked(e,t);this._setSegmentLockedStatus(e,t,!A)}toggleSegmentVisibility(e,t,A,n){let r=R.segmentation.config.visibility.getSegmentIndexVisibility(e,{segmentationId:t,type:n},A);this._setSegmentVisibility(e,t,A,!r,n)}setSegmentColor(e,t,A,n){let{colorLUTIndex:r}=this.getSegmentationRepresentations(e,{segmentationId:t})[0];this._segmentationIdToColorLUTIndexMap.set(t,r),R.segmentation.config.color.setSegmentIndexColor(e,t,A,n)}getSegmentColor(e,t,A){return R.segmentation.config.color.getSegmentIndexColor(e,t,A)}getLabelmapVolume(e){let t=R.segmentation.state.getSegmentation(e).representationData[dA];if(!t||!t.volumeId)return null;let{volumeId:A}=t;return L.cache.getVolume(A)}setSegmentLabel(e,t,A){this._setSegmentLabel(e,t,A)}setActiveSegment(e,t){this._setActiveSegment(e,t)}setRenderInactiveSegmentations(e,t){R.segmentation.config.style.setRenderInactiveSegmentations(e,t)}getRenderInactiveSegmentations(e){return R.segmentation.config.style.getRenderInactiveSegmentations(e)}setSegmentationGroupStats(e,t){let A=this.getGroupId(e);this._segmentationGroupStatsMap.set(A,t)}getSegmentationGroupStats(e){let t=this.getGroupId(e);return this._segmentationGroupStatsMap.get(t)}getGroupId(e){return e.sort().join(",")}clearSegmentationRepresentations(e){this.removeRepresentationsFromViewport(e)}remove(e){R.segmentation.state.removeSegmentation(e)}removeAllSegmentations(){R.segmentation.state.removeAllSegmentations()}removeRepresentationsFromViewport(e,t={}){R.segmentation.removeSegmentationRepresentations(e,t)}jumpToSegmentNext(e,t,A,n=1,r=.9,o=!0,i=750,s=!1,a=ch.EASE_IN_OUT){(A?[A]:this.getViewportIdsWithSegmentation(e)).forEach(A=>{let l=this.getSegmentationRepresentations(A,{segmentationId:e});if(!l||0===l.length)return;let{type:c}=l[0],u=c===dn?this._getSegmentCenter(e,t):void 0;if(c!==dn||u)return void this.jumpToSegmentCenter(e,t,A,r,o,i,s,a,u);let{viewport:d}=(0,L.getEnabledElementByViewportId)(A);if(!d)return;let p=this._getContourViewReferences(e,d,t);if(!p)return;let g=d.getCurrentImageIdIndex(),m=null,h=null;for(let[e]of p.entries())if(n>0?(null===h||e<h)&&(h=e):(null===h||e>h)&&(h=e),n>0){if(e<=g)continue;(null===m||e<m)&&(m=e)}else{if(e>=g)continue;(null===m||e>m)&&(m=e)}if(null===(m=m??h))return;let f=p.get(m);d.setViewReference(f),d.render()})}jumpToSegmentCenter(e,t,A,n=.9,r=!0,o=750,i=!1,s=ch.EASE_IN_OUT,a){let l=a??this._getSegmentCenter(e,t);if(!l)return void console.warn("No center found for segmentation",e,t);let{world:c}=l;(A?[A]:this.getViewportIdsWithSegmentation(e)).forEach(A=>{let{viewport:a}=(0,L.getEnabledElementByViewportId)(A);!a||this._segBackend(a).jumpToSegmentCenter(a,c)&&r&&this.highlightSegment(e,t,A,n,o,i,s)})}highlightSegment(e,t,A,n=.9,r=750,o=!0,i=ch.EASE_IN_OUT){this.highlightIntervalId&&clearInterval(this.highlightIntervalId);let s=this.getCornerstoneSegmentation(e);(A?[A]:this.getViewportIdsWithSegmentation(e)).forEach(A=>{let a=this.getSegmentationRepresentations(A,{segmentationId:e})[0],{type:l}=a,c=s.segments;(l===dA?this._highlightLabelmap.bind(this):this._highlightContour.bind(this))(t,l===dA?n:1-n,o,c,A,r,a,i)})}getAndValidateViewport(e){let t=this.servicesManager.services.cornerstoneViewportService.getCornerstoneViewport(e);return t||(console.warn(`Viewport with id ${e} not found.`),null)}_setSegmentationRepresentationVisibility(e,t,A,n){this.getSegmentationRepresentations(e,{segmentationId:t,type:A})[0]?R.segmentation.config.visibility.setSegmentationRepresentationVisibility(e,{segmentationId:t,type:A},n):console.debug("No segmentation representation found for the given viewportId and segmentationId")}async _addSegmentationRepresentation(e,t,A,n,r,o){let i={type:A,segmentationId:t,config:{colorLUTOrIndex:n,...o}},s=()=>R.segmentation.addSegmentationRepresentations(e,[i]);if(r){let{viewportGridService:e}=this.servicesManager.services;await new Promise(t=>{let{unsubscribe:A}=e.subscribe(e.EVENTS.GRID_STATE_CHANGED,()=>{s(),A(),t()})})}else s()}async handleVolumeViewport(e,t,A){if(A)return;let n=e.getFrameOfReferenceUID(),r=di(t.segmentationId),o=L.cache.getImage(r[0]);o?.FrameOfReferenceUID===n&&await ds(t)}async convertStackToVolumeViewport(e){let{viewportGridService:t,cornerstoneViewportService:A}=this.servicesManager.services,n=t.getState().viewports.get(e.id),r=e.getViewPresentation(),o=e.getViewReference(),{element:i}=A.getCornerstoneViewport(e.id),s=()=>{let t=A.getCornerstoneViewport(e.id);t.setViewPresentation(r),t.setViewReference(o),t.render(),i.removeEventListener(L.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,s)};return i.addEventListener(L.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,s),t.setDisplaySetsForViewport({viewportId:e.id,displaySetInstanceUIDs:n.displaySetInstanceUIDs,viewportOptions:{...n.viewportOptions,viewportType:u1.ViewportType.ORTHOGRAPHIC}}),!0}async attemptStackToVolumeConversion(e,t,A,n){let r=di(t.segmentationId),o=e.getFrameOfReferenceUID(),i=L.cache.getImage(r[0]);if(i?.FrameOfReferenceUID&&o&&i.FrameOfReferenceUID===o){let t=await this.convertStackToVolumeViewport(e);return dl(A,n,dA),t}return!1}addSegmentationToSource(e){R.segmentation.addSegmentations([e])}updateSegmentationInSource(e,t){R.segmentation.updateSegmentations([{segmentationId:e,payload:t}])}_toOHIFSegmentationRepresentation(e,t){let{segmentationId:A,type:n,active:r,visible:o}=t,{colorLUTIndex:i}=t,s={},a=R.segmentation.state.getSegmentation(A);if(!a)throw Error(`Segmentation with ID ${A} not found.`);for(let t of Object.keys(a.segments)){let r=parseInt(t,10),o=R.segmentation.config.color.getSegmentIndexColor(e,A,r),i=R.segmentation.config.visibility.getSegmentIndexVisibility(e,{segmentationId:A,type:n},r);s[r]={color:o,segmentIndex:r,opacity:o[3],visible:i}}let l=R.segmentation.config.style.getStyle({viewportId:e,segmentationId:A,type:n});return{id:`${A}-${n}-${e}`,segmentationId:A,label:a.label,fallbackLabel:a.fallbackLabel,active:r,type:n,visible:o,segments:s,styles:l,viewportId:e,colorLUTIndex:i,config:{}}}_initSegmentationService(){L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_MODIFIED,this._onSegmentationModifiedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_REMOVED,this._onSegmentationRemovedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_DATA_MODIFIED,this._onSegmentationDataModifiedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED,this._onSegmentationRepresentationModifiedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_ADDED,this._onSegmentationRepresentationModifiedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_REMOVED,this._onSegmentationRepresentationRemovedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_ADDED,this._onSegmentationAddedFromSource),L.eventTarget.addEventListener(R.Enums.Events.ANNOTATION_CUT_MERGE_PROCESS_COMPLETED,this._onAnnotationCutMergeProcessCompletedFromSource)}getCornerstoneSegmentation(e){return R.segmentation.state.getSegmentation(e)}_highlightLabelmap(e,t,A,n,r,o,i,s){let{segmentationId:a}=i;if(A)throw Error("hideOthers is not working right now");let{fillAlpha:l}=this.getStyle({viewportId:r,segmentationId:a,type:dA,segmentIndex:e}),c=null,u=t=>{null===c&&(c=t);let A=Math.min((t-c)/o,1),n=cf.get(s);R.segmentation.config.style.setStyle({segmentationId:a,segmentIndex:e,type:dA},{fillAlpha:n(A,l)}),A<1?requestAnimationFrame(u):R.segmentation.config.style.setStyle({segmentationId:a,segmentIndex:e,type:dA},{},!1)};requestAnimationFrame(u)}_highlightContour(e,t,A,n,r,o,i,s){let{segmentationId:a}=i,l=performance.now(),c=R.segmentation.config.style.getStyle({type:dn}).outlineWidth,u=t=>{let A=(t-l)/o;if(A>=1)return void R.segmentation.config.style.resetToGlobalStyle();let n=cf.get(s);R.segmentation.config.style.setStyle({segmentationId:a,segmentIndex:e,type:dn},{outlineWidth:n(A,c,5)}),requestAnimationFrame(u)};requestAnimationFrame(u)}_setActiveSegment(e,t){R.segmentation.segmentIndex.setActiveSegmentIndex(e,t)}_getVolumeIdForDisplaySet(e){let t=e.volumeLoaderSchema??u3;return`${t}:${e.displaySetInstanceUID}`}_getSegmentCenter(e,t){let A=this.getSegmentation(e);if(!A)return;let{segments:n}=A,{cachedStats:r}=n[t];if(r?.center){let{center:e}=r;return e}if(r?.namedStats?.center)return{world:r.namedStats.center.value}}_setSegmentLockedStatus(e,t,A){R.segmentation.segmentLocking.setSegmentIndexLocked(e,t,A)}_setSegmentVisibility(e,t,A,n,r){R.segmentation.config.visibility.setSegmentIndexVisibility(e,{segmentationId:t,type:r},A,n)}_setSegmentLabel(e,t,A){let{segments:n}=this.getCornerstoneSegmentation(e);n[t].label=A,R.segmentation.updateSegmentations([{segmentationId:e,payload:{segments:n}}])}_getContourViewReferences(e,t,A){let n=R.segmentation.state.getSegmentation(e).representationData[dn];if(!n||!n.annotationUIDsMap)return;let r=new Map;if(n.annotationUIDsMap.forEach((e,n)=>{(void 0===A||n===A)&&e.forEach(e=>{let A=R.annotation.state.getAnnotation(e);if(!A?.metadata)return;let{metadata:n}=A;if(!t.isReferenceViewable(n,{withNavigation:!0}))return;let{sliceIndex:o}=n;void 0===o?console.warn("Can't find slice index:",n):r.set(o,n)})}),0!==r.size)return r}}du.REGISTRATION={name:"segmentationService",altName:"SegmentationService",create:({servicesManager:e})=>new du({servicesManager:e})};let dd="stack",dp="volume",dg="orthographic",dm="volume3d",dh="video",df="wholeslide";function dw(e,t,A=ej){let n=t?.[0]?.viewportType?.toLowerCase()||e.toLowerCase();switch(n){case"planarnext":return L.Enums.ViewportType.PLANAR_NEXT;case"volume3dnext":return L.Enums.ViewportType.VOLUME_3D_NEXT;case"videonext":return L.Enums.ViewportType.VIDEO_NEXT;case"wholeslidenext":return L.Enums.ViewportType.WHOLE_SLIDE_NEXT;case"ecgnext":return L.Enums.ViewportType.ECG_NEXT}if(A)switch(n){case dd:case dp:case dg:return L.Enums.ViewportType.PLANAR_NEXT;case dm:return L.Enums.ViewportType.VOLUME_3D_NEXT;case dh:return L.Enums.ViewportType.VIDEO_NEXT;case df:return L.Enums.ViewportType.WHOLE_SLIDE_NEXT;case"ecg":return L.Enums.ViewportType.ECG_NEXT;default:throw Error(`Invalid viewport type: ${e}. Valid types are: stack, volume, orthographic, volume3d, video, wholeslide, ecg`)}if(n===dd)return L.Enums.ViewportType.STACK;if(n===dh)return L.Enums.ViewportType.VIDEO;if(n===df)return L.Enums.ViewportType.WHOLE_SLIDE;if("ecg"===n)return L.Enums.ViewportType.ECG;if(n===dp||n===dg)return L.Enums.ViewportType.ORTHOGRAPHIC;if(n===dm)return L.Enums.ViewportType.VOLUME_3D;throw Error(`Invalid viewport type: ${e}. Valid types are: stack, volume, orthographic, volume3d, video, wholeslide, ecg`)}class dB{constructor(e){this.stackImageIds=new Map,this.volumeImageIds=new Map,this.servicesManager=void 0,this.servicesManager=e}getCacheSize(){return L.cache.getCacheSize()}getCacheFreeSpace(){return L.cache.getBytesAvailable()}async createViewportData(e,t,A,n){let r,o=t.viewportType,i=dw(o,e),s=dw(o,e,!1);return e.length>1&&e.every(e=>e.isReconstructable)&&s===L.Enums.ViewportType.STACK&&i===L.Enums.ViewportType.PLANAR_NEXT&&(s=L.Enums.ViewportType.ORTHOGRAPHIC),(r=s===L.Enums.ViewportType.ORTHOGRAPHIC||s===L.Enums.ViewportType.VOLUME_3D?await this._getVolumeViewportData(A,e,i):s===L.Enums.ViewportType.STACK?await this._getStackViewportData(A,e,n,i):await this._getOtherViewportData(A,e,n,i)).viewportType=i,r.dataShapeType=s,r}async invalidateViewportData(e,t,A,n){let r=e.dataShapeType??e.viewportType;if(r===L.Enums.ViewportType.STACK){let r=n.getDisplaySetByUID(t),o=this._getCornerstoneStackImageIds(r,A);return o.forEach(e=>{L.cache.getImageLoadObject(e)&&L.cache.removeImageLoadObject(e)}),{viewportType:e.viewportType,dataShapeType:L.Enums.ViewportType.STACK,data:{StudyInstanceUID:r.StudyInstanceUID,displaySetInstanceUID:t,imageIds:o}}}let o=`${u3}:${t}`,i=L.cache.getVolume(o);i&&(i.imageIds&&i.imageIds.forEach(e=>{L.cache.getImageLoadObject(e)&&L.cache.removeImageLoadObject(e,{force:!0})}),L.cache._volumeCache.delete(o),this.volumeImageIds.delete(o));let s=e.data.map(({displaySetInstanceUID:e})=>n.getDisplaySetByUID(e)),a=await this._getVolumeViewportData(A,s,e.viewportType);return a.dataShapeType=r,a}async _getOtherViewportData(e,t,A,n){let[r]=t;r.imageIds||(r.imagesIds=this._getCornerstoneStackImageIds(r,e));let{imageIds:o,viewportType:i}=r;return{viewportType:i||n,data:t}}async _getStackViewportData(e,t,A,n){for(let e of t.filter(e=>e.isOverlayDisplaySet))await cn(e,this.servicesManager);let r=[];for(let n of t){let{displaySetInstanceUID:t,StudyInstanceUID:o,isCompositeStack:i}=n;await cn(n,this.servicesManager);let s=this.stackImageIds.get(n.displaySetInstanceUID);s||(s=this._getCornerstoneStackImageIds(n,e),n.imageIds=s,this.stackImageIds.set(n.displaySetInstanceUID,s)),r.push({StudyInstanceUID:o,displaySetInstanceUID:t,isCompositeStack:i,imageIds:s,initialImageIndex:A})}return{viewportType:n,data:r}}async _getVolumeViewportData(e,t,A){let n=[];for(let A of t){let{Modality:t}=A,r="PMAP"===t,o="SEG"===t||"RTSTRUCT"===t;if(A.load instanceof Function&&(await cn(A,this.servicesManager),!r)){n.push({studyInstanceUID:A.StudyInstanceUID,displaySetInstanceUID:A.displaySetInstanceUID});continue}let i=A.volumeLoaderSchema??u3,s=`${i}:${A.displaySetInstanceUID}`,a=this.volumeImageIds.get(A.displaySetInstanceUID),l=L.cache.getVolume(s);r||o||a&&l||(a=this._getCornerstoneVolumeImageIds(A,e),l=await L.volumeLoader.createAndCacheVolume(s,{imageIds:a}),this.volumeImageIds.set(A.displaySetInstanceUID,a),A.imageIds=a),n.push({StudyInstanceUID:A.StudyInstanceUID,displaySetInstanceUID:A.displaySetInstanceUID,volume:l,volumeId:s,imageIds:a,isDynamicVolume:A.isDynamicVolume})}return{viewportType:A,data:n}}_getCornerstoneStackImageIds(e,t){return t.getImageIdsForDisplaySet(e)}_getCornerstoneVolumeImageIds(e,t){return e.imageIds?e.imageIds:this._getCornerstoneStackImageIds(e,t)}}dB.REGISTRATION={name:"cornerstoneCacheService",altName:"CornerstoneCacheService",create:({servicesManager:e})=>new dB(e)};let dy="OHIFCornerstoneRenderingEngine",dv="default",dS=({data:e,displaySetUID:t,imageId:A,viewport:n})=>{if(A&&e.isCompositeStack&&e.imageIds)return!!e.imageIds.find(e=>e===A);if(A&&(e.volumeId||(0,es.tO)(n))){if(!n.getCurrentImageId())return!1;let e=L.utilities.imageIdToURI(A);if(n.hasImageURI(e))return!0}return e.displaySetInstanceUID===t},dC=class{constructor(e){this.viewportId="",this.element=void 0,this.viewportOptions=void 0,this.displaySetOptions=void 0,this.viewportData=void 0,this.renderingEngineId=void 0,this.viewReference=void 0,this.destroy=()=>{this.element=null,this.viewportData=null,this.viewportOptions=null,this.displaySetOptions=null},this.viewportId=e,this.setPublicViewportOptions({}),this.setPublicDisplaySetOptions([{}])}contains(e,t){if(!this.viewportData?.data)return!1;let{viewport:A}=(0,L.getEnabledElementByViewportId)(this.viewportId)||{};return this.viewportData.data.length?!!this.viewportData.data.find(n=>dS({data:n,displaySetUID:e,imageId:t,viewport:A})):dS({data:this.viewportData.data,displaySetUID:e,imageId:t,viewport:A})}setRenderingEngineId(e){this.renderingEngineId=e}getRenderingEngineId(){return this.renderingEngineId}setViewportId(e){this.viewportId=e}setElement(e){this.element=e}setViewportData(e){this.viewportData=e}getViewportData(){return this.viewportData}getElement(){return this.element}getViewportId(){return this.viewportId}getViewReference(){return this.viewportOptions?.viewReference}setPublicDisplaySetOptions(e){let t=this.mapDisplaySetOptions(e);return this.setDisplaySetOptions(t),this.displaySetOptions}hasDisplaySet(e){let t=this.getViewportData(),A=t.dataShapeType??t.viewportType;return A===L.Enums.ViewportType.ORTHOGRAPHIC||A===L.Enums.ViewportType.VOLUME_3D?t.data.some(({displaySetInstanceUID:t})=>t===e):t.data.displaySetInstanceUID===e}setPublicViewportOptions(e,t){let A=t||e.viewportType||"stack",{presentationIds:n}=e,{toolGroupId:r=dv}=e,o=function(e){if(e)switch(e.toLowerCase()){case"axial":return L.Enums.OrientationAxis.AXIAL;case"axial_reformat":return L.Enums.OrientationAxis.AXIAL_REFORMAT;case"sagittal":return L.Enums.OrientationAxis.SAGITTAL;case"sagittal_reformat":return L.Enums.OrientationAxis.SAGITTAL_REFORMAT;case"coronal":return L.Enums.OrientationAxis.CORONAL;case"coronal_reformat":return L.Enums.OrientationAxis.CORONAL_REFORMAT}return L.Enums.OrientationAxis.ACQUISITION}(e.orientation),i=dw(A);return r||(r=dv),this.setViewportOptions({...e,viewportId:this.viewportId,viewportType:i,orientation:o,toolGroupId:r,presentationIds:n}),this.viewportOptions}setViewportOptions(e){this.viewportOptions=e}getViewportOptions(){return this.viewportOptions}getPresentationIds(){let{presentationIds:e}=this.viewportOptions;return e}setDisplaySetOptions(e){this.displaySetOptions=e}getSyncGroups(){return this.viewportOptions.syncGroups||=[],this.viewportOptions.syncGroups}getDisplaySetOptions(){return this.displaySetOptions}getViewportType(){return this.viewportOptions.viewportType||L.Enums.ViewportType.STACK}getToolGroupId(){return this.viewportOptions.toolGroupId}getBackground(){return this.viewportOptions.background||[0,0,0]}getOrientation(){return this.viewportOptions.orientation}setOrientation(e){this.viewportOptions.orientation=e}getDisplayArea(){return this.viewportOptions.displayArea}getInitialImageOptions(){return this.viewportOptions.initialImageOptions}mapDisplaySetOptions(e=[{}]){let t=[];return e.forEach(e=>{let A=e?.options||e;A||(A={blendMode:void 0,slabThickness:void 0,colormap:void 0,voi:{},voiInverted:!1});let n=function(e){if(!e)return L.Enums.BlendModes.COMPOSITE;if("mip"===e.toLowerCase())return L.Enums.BlendModes.MAXIMUM_INTENSITY_BLEND;if("minip"===e.toLowerCase())return L.Enums.BlendModes.MINIMUM_INTENSITY_BLEND;if("avg"===e.toLowerCase())return L.Enums.BlendModes.AVERAGE_INTENSITY_BLEND;throw Error(`Unsupported blend mode: ${e}`)}(A.blendMode);t.push({voi:A.voi,voiInverted:A.voiInverted,colormap:A.colormap,slabThickness:A.slabThickness,blendMode:n,displayPreset:A.displayPreset})}),t}};var dI=((y=dI||{}).First="first",y.Last="last",y.Middle="middle",y);class db{constructor(){this.refCounts=new Map,this.payloads=new Map,this.byViewport=new Map}static dataIdFor(e,t){return"overlay"===t?`${e}::overlay`:e}register(e,t,A){let n=this.refCounts.get(t)??0,r=this.payloads.get(t),o=!!A.volumeId&&!r?.volumeId;(0===n||o)&&(L.utilities.genericViewportDisplaySetMetadataProvider.add(t,A),this.payloads.set(t,A)),this.refCounts.set(t,n+1);let i=this.byViewport.get(e)??[];i.push(t),this.byViewport.set(e,i)}releaseViewport(e){let t=this.byViewport.get(e);if(t){for(let e of t){let t=(this.refCounts.get(e)??1)-1;t<=0?(this.refCounts.delete(e),this.payloads.delete(e),L.utilities.genericViewportDisplaySetMetadataProvider.remove(e)):this.refCounts.set(e,t)}this.byViewport.delete(e)}}destroy(){for(let e of this.refCounts.keys())L.utilities.genericViewportDisplaySetMetadataProvider.remove(e);this.refCounts.clear(),this.payloads.clear(),this.byViewport.clear()}}let dU={withNavigation:!0,withOrientation:!0};class dE{constructor(e){this.service=e,this.registry=new db}dispatchMount(e,t,A,n={}){return(0,es.TF)(e)?this.service._setStackViewport(e,t,A,n):(0,es.rX)(e)?this.service._setVolumeViewport(e,t,A,n):(0,es.Gj)(e)===L.Enums.ViewportType.ECG?this.service._setEcgViewport(e,t):this.service._setOtherViewport(e,t,A,n)}async mountStack(e,t){let{imageIds:A,initialImageIndex:n,properties:r,displayArea:o,rotation:i,flipHorizontal:s,presentations:a,overlayProcessingResults:l}=t;await e.setStack(A,n),e.setProperties({...r}),this.service.setPresentations(e.id,a),await this.service._addOverlayRepresentations(l),o&&e.setDisplayArea(o),i&&e.setProperties({rotation:i}),s&&e.setCamera({flipHorizontal:!0})}async mountVolumes(){return!1}async mountOverlayOnlyVolumes(e,t){await e.setVolumes(t)}async mountEcg(e,t,A){return e.setEcg(A)}async mountOther(e,t){let A=t.imageIds[0],n=L.metaData.get(L.Enums.MetadataModules.WADO_WEB_CLIENT,A);this.registry.register(e.id,A,{kind:"wsi",imageIds:t.imageIds,options:{webClient:n}}),await e.setDisplaySets({displaySetId:A})}remount(e,t,A,n){let r;if((0,es.rX)(e)){let o=n?e.getCamera():void 0;r=this.service._setVolumeViewport(e,t,A).then(()=>{o&&(e.setCamera(o),e.render())})}return(0,es.TF)(e)&&(r=this.service._setStackViewport(e,t,A)),r}getPositionPresentation(e,t,A){return{viewportType:t.getViewportType(),viewReference:(0,es.Ov)(e)?null:e.getViewReference(),viewPresentation:e.getViewPresentation({pan:!0,zoom:!0}),viewportId:A}}setPositionPresentation(e,t){let A=t?.viewReference;A&&(e.isReferenceViewable(A,dU)?e.setViewReference(A):console.warn("Unable to apply reference viewable",A));let n=t?.viewPresentation;n&&e.setViewPresentation(n)}setLutPresentation(e,t){if(!t)return;let{properties:A}=t;(0,es.rX)(e)&&A instanceof Map?A.forEach((t,A)=>{e.setProperties(t,A)}):e.setProperties(A)}registerDataId(){}onViewportDisabled(e){this.registry.releaseViewport(e)}destroy(){this.registry.destroy()}}let dF={withNavigation:!0,withOrientation:!0};function dQ(e){let t=eY[e?.toLowerCase()];if(t)return"auto"===t||(0,L.isRegisteredRenderBackend)(t)?t:void console.warn(`${e}.viewportRendering: "${t}" is not a registered render backend; ignoring.`)}let dT=["displayArea","anchorWorld","anchorCanvas","scale","scaleMode","rotation","flipHorizontal","flipVertical"];class dD{constructor(e){this.service=e,this.registry=new db}dispatchMount(e,t,A,n={}){let r=e.type;if(r===L.Enums.ViewportType.ECG_NEXT)return this.service._setEcgViewport(e,t);if(r===L.Enums.ViewportType.VIDEO_NEXT||r===L.Enums.ViewportType.WHOLE_SLIDE_NEXT)return this.service._setOtherViewport(e,t,A,n);let o=t.dataShapeType,i=t?.data?.[0]??{};return o===L.Enums.ViewportType.ORTHOGRAPHIC||o===L.Enums.ViewportType.VOLUME_3D||void 0===o&&"volume"in i?this.service._setVolumeViewport(e,t,A,n):this.service._setStackViewport(e,t,A,n)}async mountStack(e,t){let{displaySetInstanceUIDs:A,imageIds:n,initialImageIndex:r,properties:o,displayArea:i,rotation:s,flipHorizontal:a,presentations:l,overlayProcessingResults:c}=t;if(!n?.length)return;let u=A[0];this.registerDataId(e.id,u,{kind:"planar",imageIds:n,initialImageIdIndex:r});let d=dQ("stack");if(await e.setDisplaySets({displaySetId:u,options:{orientation:L.Enums.OrientationAxis.ACQUISITION,role:"source",...d?{renderBackend:d}:{}}}),!o.voiRange){let e=function(e){if(!e)return;let t=L.metaData.get("voiLutModule",e),A=Array.isArray(t?.windowCenter)?t.windowCenter[0]:t?.windowCenter,n=Array.isArray(t?.windowWidth)?t.windowWidth[0]:t?.windowWidth;if(null!=A&&null!=n)return L.utilities.windowLevel.toLowHighRange(n,A)}(n[r]??n[0]);e&&(o.voiRange=e)}let p={};o.voiRange&&(p.voiRange=o.voiRange),void 0!==o.invert&&(p.invert=o.invert),o.colormap&&(p.colormap=o.colormap),Object.keys(p).length>0&&e.setDisplaySetPresentation(p);let g={};i&&(g.displayArea=i),s&&(g.rotation=s),a&&(g.flipHorizontal=!0),Object.keys(g).length>0&&e.setViewState(g),R.utilities.stackContextPrefetch.enable(e.element),(l?.positionPresentation||l?.segmentationPresentation)&&this.service.setPresentations(e.id,{positionPresentation:l.positionPresentation,segmentationPresentation:l.segmentationPresentation}),await this.service._addOverlayRepresentations(c)}async mountVolumes(e,t){let{filteredVolumeInputArray:A,volumesProperties:n,viewportInfo:r,overlayProcessingResults:o,presentations:i}=t;return!!A.length&&(await this._setNativeVolumeDisplaySets(e,A,n,r,o),(i?.positionPresentation||i?.lutPresentation||i?.segmentationPresentation)&&this.service.setPresentations(e.id,{positionPresentation:i.positionPresentation,lutPresentation:i.lutPresentation,segmentationPresentation:i.segmentationPresentation}),!0)}async mountOverlayOnlyVolumes(){}async mountEcg(e,t,A){let n=t.displaySetInstanceUID;this.registerDataId(e.id,n,{kind:"ecg",sourceDataId:A}),this.service._trackViewportDisplaySets(e.id,[n]),await e.setDisplaySets({displaySetId:n})}async mountOther(e,t){let A=t.displaySetInstanceUID,n=t.imageIds[0],r=e.type===L.Enums.ViewportType.WHOLE_SLIDE_NEXT?{kind:"wsi",imageIds:t.imageIds,options:{webClient:L.metaData.get(L.Enums.MetadataModules.WADO_WEB_CLIENT,n)}}:{kind:"video",sourceDataId:n};this.registerDataId(e.id,A,r),this.service._trackViewportDisplaySets(e.id,[A]),await e.setDisplaySets({displaySetId:A})}remount(e,t,A,n){let r=n?e.getViewState?.()??{}:void 0;return this.dispatchMount(e,t,A).then(()=>{n&&r&&(e.setViewState?.(r),e.render())})}async _setNativeVolumeDisplaySets(e,t,A,n,r){let o=n.getOrientation(),i=e.type===L.Enums.ViewportType.VOLUME_3D_NEXT,s=[],a=i?void 0:dQ("orthographic");for(let[A,{volumeInput:n}]of t.entries()){let{imageIds:t,volumeId:r,displaySetInstanceUID:l}=n;this.registerDataId(e.id,l,{kind:"planar",imageIds:t,volumeId:r}),s.push({displaySetId:l,options:i?{renderMode:"vtkVolume3d"}:{orientation:o,role:0===A?"source":"overlay",...a?{renderBackend:a}:{}}})}for(let[n,{volumeInput:r}]of(await e.setDisplaySets(...s),t.entries())){let t=r.displaySetInstanceUID,o=A[n]?.properties;if(o){let A={};o.voiRange&&(A.voiRange=o.voiRange),void 0!==o.invert&&(A.invert=o.invert),o.colormap&&!i&&(A.colormap=o.colormap),i||void 0===r.blendMode||(A.blendMode=r.blendMode),i||void 0===r.slabThickness||(A.slabThickness=r.slabThickness),Object.keys(A).length>0&&e.setDisplaySetPresentation(t,A)}if(i&&0===n&&o?.preset){let t=L.CONSTANTS.VIEWPORT_PRESETS?.find(e=>e.name===o.preset),A=e.getDefaultActor?.()?.actor;t&&A&&L.utilities.applyPreset(A,t)}}await this.service._addOverlayRepresentations(r),e.render()}getPositionPresentation(e,t,A){let n=(0,es.Ov)(e),r=n||"function"!=typeof e.getViewState?void 0:e.getViewState();return{viewportType:t.getViewportType(),viewReference:n?null:e.getViewReference(),viewPresentation:r?function(e){let t={};for(let A of dT)void 0!==e[A]&&(t[A]=e[A]);return t}(r):void 0,viewportId:A}}setPositionPresentation(e,t){let A=t?.viewReference;A&&e.isReferenceViewable?.(A,dF)&&e.setViewReference(A);let n=t?.viewPresentation;if(n&&"function"==typeof e.setViewState){let t={};for(let e of dT)void 0!==n[e]&&(t[e]=n[e]);Object.keys(t).length>0&&("displayArea"in t||(t.displayArea=void 0),e.setViewState(t))}}setLutPresentation(e,t){if(!t)return;let{properties:A}=t;if(!A||A instanceof Map)return;let n={};A.voiRange&&(n.voiRange=A.voiRange),void 0!==A.invert&&(n.invert=A.invert),A.colormap&&(n.colormap=A.colormap),Object.keys(n).length>0&&e.setDisplaySetPresentation(n)}registerDataId(e,t,A){this.registry.register(e,t,A)}onViewportDisabled(e){this.registry.releaseViewport(e)}destroy(){this.registry.destroy()}}let dx={VIEWPORT_DATA_CHANGED:"event::cornerstoneViewportService:viewportDataChanged",VIEWPORT_VOLUMES_CHANGED:"event::cornerstoneViewportService:viewportVolumesChanged"},dO=new Set(["vtkVolume","vtkImageSlice"]);function dM(e,t,A){if(t>A.length)return!1;for(let n=0;n<t;n++)if(e[n]!==A[n])return!1;return!0}let dL={withNavigation:!0,withOrientation:!1},dR={withNavigation:!0,withOrientation:!0};class dV extends k.PubSubService{constructor(e){super(dx),this.renderingEngine=void 0,this.viewportsById=new Map,this.viewportGridResizeObserver=void 0,this.viewportsDisplaySets=new Map,this.beforeResizePositionPresentations=new Map,this.servicesManager=null,this.resizeQueue=[],this.viewportResizeTimer=null,this.gridResizeDelay=50,this.gridResizeTimeOut=null,this._backend=null,this.hangingProtocolService=void 0,this.viewportsInfo=void 0,this.sceneVolumeInputs=void 0,this.viewportDivElements=void 0,this.ViewportPropertiesMap=void 0,this.volumeUIDs=void 0,this.displaySetsNeedRerendering=void 0,this.viewportDisplaySets=void 0,this.renderingEngine=null,this.viewportGridResizeObserver=null,this.servicesManager=e}get backend(){return this._backend||(this._backend=ej?new dD(this):new dE(this)),this._backend}enableViewport(e,t){let A=new dC(e);A.setElement(t),this.viewportsById.set(e,A)}getViewportIds(){return Array.from(this.viewportsById.keys())}getRenderingEngine(){let e=(0,L.getRenderingEngine)(dy);return e?this.renderingEngine=e:(!e||e.hasBeenDestroyed)&&(this.renderingEngine=new L.RenderingEngine(dy)),this.renderingEngine}resize(){if(Array.from(this.viewportsById.values()).every(e=>{let t=e.getElement();return 0===t.clientWidth&&0===t.clientHeight}))return void console.warn("Ignoring resize when viewports have size 0");let e=Array.from(this.viewportsById.values()).filter(e=>e.getViewportType()===L.Enums.ViewportType.STACK).length,t=Array.from(this.viewportsById.values()).filter(e=>e.getViewportType()===L.Enums.ViewportType.ORTHOGRAPHIC).length;e<=12&&t<=6?(this.performResize(),this.resetGridResizeTimeout(),this.resizeQueue=[],clearTimeout(this.viewportResizeTimer)):this.enqueueViewportResizeRequest()}destroy(){this._removeResizeObserver(),this.viewportGridResizeObserver=null,this.backend.destroy();try{this.renderingEngine?.destroy?.()}catch(e){console.warn("Rendering engine not destroyed",e)}this.viewportsDisplaySets.clear(),this.renderingEngine=null,L.cache.purgeCache()}disableElement(e){this.backend.onViewportDisabled(e),this.renderingEngine?.disableElement(e),this.viewportsById.delete(e),this.viewportsDisplaySets.delete(e)}_trackViewportDisplaySets(e,t){this.viewportsDisplaySets.set(e,t)}setPresentations(e,t){let A=this.getCornerstoneViewport(e);if(!A||!t)return;let{lutPresentation:n,positionPresentation:r,segmentationPresentation:o}=t;this._setSegmentationPresentation(A,o),this._setLutPresentation(A,n),this._setPositionPresentation(A,{...r,viewportId:e})}storePresentation({viewportId:e}){let t=this.getPresentationIds(e),{syncGroupService:A}=this.servicesManager.services,n=A.getSynchronizersForViewport(e);if(!t||0===Object.keys(t).length)return null;let{lutPresentationId:r,positionPresentationId:o,segmentationPresentationId:i}=t,s=this._getPositionPresentation(e),a=this._getLutPresentation(e),l=this._getSegmentationPresentation(e),{setLutPresentation:c}=tl.I.getState(),{setPositionPresentation:u}=tc.q.getState(),{setSynchronizers:d}=nP.U.getState(),{syncSegmentationPresentation:p}=tu.v.getState();r&&c(r,a),o&&u(o,s),i&&p(i,(l??[]).map(e=>({...e,hydrated:this._getInitialHydrationForSync(e.segmentationId)}))),n?.length&&d(e,n.map(e=>({id:e.id,sourceViewports:[...e.getSourceViewports()],targetViewports:[...e.getTargetViewports()]})))}getPresentations(e){let t=this._getPositionPresentation(e);return{positionPresentation:t,lutPresentation:this._getLutPresentation(e),segmentationPresentation:this._getSegmentationPresentation(e)}}getPresentationIds(e){let t=this.viewportsById.get(e);return t?t.getPresentationIds():null}_getPositionPresentation(e){let t=this.getCornerstoneViewport(e);if(!t)return;let A=this.viewportsById.get(e);return this.backend.getPositionPresentation(t,A,e)}_getLutPresentation(e){let t=this.getCornerstoneViewport(e);if(!t)return;let A=e=>(e?.isComputedVOI&&(delete e?.voiRange,delete e?.VOILUTFunction),e?.colormap&&e.colormap?.opacity?.length===0&&delete e.colormap.opacity,e),n=(0,es.rX)(t)?new Map:A((0,nL.qU)(t).getPresentation());if(n instanceof Map){let e=t.getAllVolumeIds();e?.forEach(e=>{let r=A(t.getProperties(e));n.set(e,r)})}return{viewportType:this.viewportsById.get(e).getViewportType(),properties:n}}_getSegmentationPresentation(e){let{segmentationService:t}=this.servicesManager.services;return t.getPresentation(e)}_getInitialHydrationForSync(e){let{displaySetService:t}=this.servicesManager.services,A=t.getDisplaySetByUID(e);return!A?.referencedDisplaySetInstanceUID||null}setViewportData(e,t,A,n,r){let o=this.getRenderingEngine();if(t.viewportType===L.Enums.ViewportType.STACK&&!t.data[0].imageIds?.length)return;let i=this.viewportsById.get(e);if(this.storePresentation({viewportId:i.getViewportId()}),this.servicesManager.services.segmentationService.clearSegmentationRepresentations(i.getViewportId()),!i)throw Error("element is not enabled for the given viewportId");let s=i.setPublicDisplaySetOptions(n),a=i.setPublicViewportOptions(A,t.viewportType),l=i.getElement(),c=i.getViewportType(),u=i.getBackground(),d=i.getOrientation(),p=i.getDisplayArea();i.setRenderingEngineId(o.id),o.enableElement({viewportId:e,element:l,type:c,defaultOptions:{background:u,orientation:d,displayArea:p}}),i.setViewportOptions(a),i.setDisplaySetOptions(s),i.setViewportData(t),i.setViewportId(e),this.viewportsById.set(e,i);let g=o.getViewport(e);this._setDisplaySets(g,t,i,r).then(()=>{this._broadcastEvent(this.EVENTS.VIEWPORT_DATA_CHANGED,{viewportData:t,viewportId:e})})}getViewportOptions(e){return this.viewportsById.get(e).getViewportOptions()}getCornerstoneViewport(e){return this.getViewportInfo(e)&&this.renderingEngine&&!this.renderingEngine.hasBeenDestroyed?this.renderingEngine.getViewport(e):null}getViewportInfo(e){return this.viewportsById.get(e)}getOrientation(e){return this.getViewportInfo(e).getOrientation()}findNavigationCompatibleViewportId(e,t){let A=this.getCornerstoneViewport(e);if(A||console.warn("No active viewport found for",e),A?.isReferenceViewable(t,dL))return e;for(let e of this.viewportsById.keys()){let A=this.getCornerstoneViewport(e);if(A?.isReferenceViewable(t,dL))return e}for(let{viewportId:e}of this.getViewportAlignmentData(t)){let A=this.getCornerstoneViewport(e);if(A?.isReferenceViewable(t,dR))return e}return null}getViewportAlignmentData(e){let t=[],{viewPlaneNormal:A,planeRestriction:n}=e,r=n?.inPlaneVector1,o=n?.inPlaneVector2;for(let e of this.viewportsById.keys()){let n=nk(this.getCornerstoneViewport(e));if(!n)continue;let i=0;r||o?i=(r?-Math.abs(nR.vec3.dot(n,r)):0)+(o?-Math.abs(nR.vec3.dot(n,o)):0):A&&(i=Math.abs(nR.vec3.dot(n,A))),t.push({viewportId:e,alignmentScore:i})}return t.sort((e,t)=>t.alignmentScore-e.alignmentScore),t}findUpdateableViewportConfiguration(e,t){let{metadata:A,displaySetInstanceUID:n}=t,{displaySetService:r}=this.servicesManager.services,o=r.getDisplaySetByUID(n),i=this.determineTargetViewportType(o,A),s=this.findViewportShowingVolume(A,n,i);if(s)return s;let a=this.findViewportConvertibleToVolume(A,n,i);if(a)return a;let l=this.findViewportWithMatchingOrientation(A,n,i);return l||{viewportId:e,displaySetInstanceUID:n,viewportOptions:{viewportType:i}}}determineTargetViewportType(e,t){let{viewportType:A}=e;return!A&&(t.referencedImageId&&!e.isReconstructable?A=L.Enums.ViewportType.STACK:t.volumeId&&(A="volume")),A}findViewportShowingVolume(e,t,A){if(!e.volumeId)return null;for(let n of this.viewportsById.keys()){let r=this.getCornerstoneViewport(n);if(r?.isReferenceViewable(e,{asVolume:!0,withNavigation:!0}))return{viewportId:n,displaySetInstanceUID:t,viewportOptions:{viewportType:A}}}return null}findViewportConvertibleToVolume(e,t,A){let{viewportGridService:n}=this.servicesManager.services,r={...e,volumeId:null,referencedImageId:null};for(let o of this.viewportsById.keys()){let i=this.getCornerstoneViewport(o),s=n.getDisplaySetsUIDsForViewport(o)?.[0];if(s&&i&&(e.volumeId&&(r.volumeId=s),r.FrameOfReferenceUID=this._getFrameOfReferenceUID(s),i.isReferenceViewable(r,{asVolume:!0,withNavigation:!0})))return{viewportId:o,displaySetInstanceUID:t,viewportOptions:{viewportType:A}}}return null}findViewportWithMatchingOrientation(e,t,A){let n=this.getViewportAlignmentData(e);return n?.length?{...n[0],displaySetInstanceUID:t,viewportOptions:{viewportType:A}}:null}async _setEcgViewport(e,t){let[A]=t.data,n=A.imageIds?.[0];return n?this.backend.mountEcg(e,A,n):void console.error("[CornerstoneViewportService] ECG display set has no imageId")}async _setOtherViewport(e,t,A,n={}){let[r]=t.data;await this.backend.mountOther(e,r);let o=A.getViewReference();o&&e.setViewReference(o)}async _setStackViewport(e,t,A,n={}){let r=A.getDisplaySetOptions(),o=t.data.map(e=>e.displaySetInstanceUID);this.viewportsDisplaySets.set(e.id,[...o]);let{initialImageIndex:i,imageIds:s}=t.data[0],a=n?.positionPresentation?.initialImageIndex??i,{rotation:l,flipHorizontal:c,displayArea:u}=A.getViewportOptions(),d={...n.lutPresentation?.properties};if(!n.lutPresentation?.properties){let{voi:e,voiInverted:t,colormap:A}=r[0];if(e&&(e.windowWidth||e.windowCenter)){let{lower:t,upper:A}=L.utilities.windowLevel.toLowHighRange(e.windowWidth,e.windowCenter);d.voiRange={lower:t,upper:A}}d.invert=t??d.invert,d.colormap=A??d.colormap}e.element.addEventListener(L.Enums.Events.VIEWPORT_NEW_IMAGE_SET,t=>{let{element:A}=t.detail;A===e.element&&R.utilities.stackContextPrefetch.enable(A)});let p=this._processExtraDisplaySetsForViewport(e),g=n?.positionPresentation?.viewReference?.referencedImageId;return g&&s&&(a=s.indexOf(g)),(null==a||a<0)&&(a=this._getInitialImageIndexForViewport(A,s)||0),this.backend.mountStack(e,{displaySetInstanceUIDs:o,imageIds:s,initialImageIndex:a,properties:d,displayArea:u,rotation:l,flipHorizontal:c,presentations:n,viewportInfo:A,overlayProcessingResults:p})}_getInitialImageIndexForViewport(e,t){let A,n=e.getInitialImageOptions();if(!n)return;let{index:r,preset:o}=n,i=e.getViewportType();if(i===L.Enums.ViewportType.STACK)A=t.length;else{if(i!==L.Enums.ViewportType.ORTHOGRAPHIC)return;let t=this.getCornerstoneViewport(e.getViewportId()),n=L.utilities.getImageSliceDataForVolumeViewport(t);if(!n)return;({numberOfSlices:A}=n)}return this._getInitialImageIndex(A,r,o)}_getInitialImageIndex(e,t,A){let n=e-1;return void 0!==t?L.utilities.clip(t,0,n):A===dI.First?0:A===dI.Last?n:A===dI.Middle?n%2==0?n/2:(n+1)/2:0}async _setVolumeViewport(e,t,A,n={}){let{displaySetService:r}=this.servicesManager.services,o=[],i=A.getDisplaySetOptions(),{hangingProtocolService:s}=this.servicesManager.services,a=[],l=[];for(let[e,A]of t.data.entries()){let{imageIds:t,displaySetInstanceUID:n}=A,s=A.volume,c=r.getDisplaySetByUID(n);if(!s&&c.images&&(s=R.utilities.getOrCreateImageVolume(c.images.map(e=>e.imageId))),l.push(n),!s){console.log("Volume display set not found");continue}a.push(s);let u=i[e],{volumeId:d}=s;o.push({imageIds:t,volumeId:d,modality:c.Modality,displaySetInstanceUID:n,blendMode:u.blendMode,slabThickness:this._getSlabThickness(u,d)})}this.viewportsDisplaySets.set(e.id,l);let c=a.filter(e=>!e.loadStatus?.loaded);if(c.length){if(s.getShouldPerformCustomImageLoad())return s.runImageLoadStrategy({viewportId:e.id,volumeInputArray:o});c.forEach(e=>{!e.loadStatus?.loading&&e.load instanceof Function&&e.load()})}return this.setVolumesForViewport(e,o,n)}async setVolumesForViewport(e,t,A){let{displaySetService:n,viewportGridService:r}=this.servicesManager.services,o=this.getViewportInfo(e.id),i=o.getDisplaySetOptions(),s=r.getDisplaySetsUIDsForViewport(e.id),a=n.getDisplaySetByUID(s[0]),l=a?.Modality,c=t.map((e,t)=>({volumeInput:e,displaySetOptions:i[t]})).filter(({volumeInput:e})=>{let t=n.getDisplaySetByUID(e.displaySetInstanceUID);return!t?.isOverlayDisplaySet}),u=c.map(({volumeInput:e,displaySetOptions:t})=>{let{volumeId:A}=e,{voi:n,voiInverted:r,colormap:o,displayPreset:i}=t,s={};if(n&&(n.windowWidth||n.windowCenter)){let{lower:e,upper:t}=L.utilities.windowLevel.toLowHighRange(n.windowWidth,n.windowCenter);s.voiRange={lower:e,upper:t}}return void 0!==r&&(s.invert=r),void 0!==o&&(s.colormap=o),void 0!==i&&(s.preset=i[l]||i.default),{properties:s,volumeId:A}}),d=this._processExtraDisplaySetsForViewport(e)||[];if(await this.backend.mountVolumes(e,{filteredVolumeInputArray:c,volumesProperties:u,viewportInfo:o,overlayProcessingResults:d,presentations:A}))return void this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED,{viewportInfo:o});!c.length&&d?.length&&d.forEach(({imageIds:t,addOverlayFn:A})=>{if(A){let A=t[0],o=n.getDisplaySetsBy(e=>!e.isOverlayDisplaySet&&e.images?.some(e=>e.imageId===A));if(1!==o.length)throw Error("Background display set not found");(0,es.Ov)(e)&&setTimeout(()=>{r.setDisplaySetsForViewport({viewportId:e.id,displaySetInstanceUIDs:[o[0].displaySetInstanceUID]})},0)}});let p=c.map(({volumeInput:e})=>e),g=p.map(e=>e.volumeId),m=(e.getActors?.()??[]).filter(e=>dO.has(e.actor?.getClassName?.()??"")).map(e=>e.referencedId).filter(Boolean),h=!1;if(p.length){let t;if(1===g.length&&m.length>=g.length&&dM(m,g.length,g)&&(t=o.getViewportType(),(0,es.Gj)(e)===t&&(t===L.Enums.ViewportType.ORTHOGRAPHIC||t===L.Enums.ViewportType.VOLUME_3D)))h=!0;else if(m.length&&g.length>m.length&&dM(m,m.length,g)&&"function"==typeof e.addVolumes){let t=p.slice(m.length);t.length&&await e.addVolumes(t)}else await e.setVolumes(p)}else t.length&&await this.backend.mountOverlayOnlyVolumes(e,t);if(await this._addOverlayRepresentations(d),e.render(),u.forEach(({properties:t,volumeId:A})=>{setTimeout(()=>{e.setProperties(t,A),e.render()},0)}),this.setPresentations(e.id,A),e.render(),!A.positionPresentation&&!h){let t=this._getInitialImageIndexForViewport(o);void 0!==t&&L.utilities.jumpToSlice(e.element,{imageIndex:t})}this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED,{viewportInfo:o})}_processExtraDisplaySetsForViewport(e){let{displaySetService:t}=this.servicesManager.services,A=this.viewportsDisplaySets.get(e.id).map(t.getDisplaySetByUID).filter(e=>e?.isOverlayDisplaySet);if(A?.length)return A.map(A=>{let n;return A.referencedDisplaySetInstanceUID&&(n=t.getDisplaySetByUID(A.referencedDisplaySetInstanceUID).images.map(e=>e.imageId)),{imageIds:n,addOverlayFn:()=>this.addOverlayRepresentationForDisplaySet(A,e)}})}addOverlayRepresentationForDisplaySet(e,t){let{segmentationService:A}=this.servicesManager.services,n=e.displaySetInstanceUID,r="SEG"===e.Modality?R.Enums.SegmentationRepresentations.Labelmap:R.Enums.SegmentationRepresentations.Contour,o=()=>{let{predecessorImageId:o}=e,i=A.addSegmentationRepresentation(t.id,{segmentationId:n,predecessorImageId:o,type:r,config:{blendMode:t?.getBlendMode?.()===1?u1.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND:void 0}});return this.storePresentation({viewportId:t.id}),i};return"SEG"===e.Modality?A.getSegmentation(n)?o():new Promise(t=>{let r,i=!1,s=()=>{clearTimeout(r),t()},a=()=>{i=!0,l(),s()},{unsubscribe:l}=A.subscribe(A.EVENTS.SEGMENTATION_LOADING_COMPLETE,async e=>{if(!i&&e.segDisplaySet?.displaySetInstanceUID===n){i=!0,l();try{await o()}catch(e){console.warn(`Failed to apply segmentation representation for "${n}":`,e)}finally{s()}}}),c=e.loadingPromise;c?.catch(e=>{i||(console.warn(`Segmentation "${n}" failed to load; skipping representation setup.`,e),a())}),r=setTimeout(()=>{if(i){console.warn(`Timed out applying segmentation representation for "${n}"; resolving viewport readiness anyway.`),t();return}console.warn(`Timed out waiting for segmentation "${n}" to load; skipping representation setup.`),a()},12e4)}):o()}async _addOverlayRepresentations(e){if(e?.length)for(let t of e)t?.addOverlayFn&&await t.addOverlayFn()}updateViewport(e,t,A=!1){let n=this.getViewportInfo(e),r=this.getCornerstoneViewport(e),o=this.backend.remount(r,t,n,A);o&&o.then(()=>{this._broadcastEvent(this.EVENTS.VIEWPORT_DATA_CHANGED,{viewportData:t,viewportId:e})})}_setDisplaySets(e,t,A,n={}){return this.backend.dispatchMount(e,t,A,n)}_removeResizeObserver(){this.viewportGridResizeObserver&&this.viewportGridResizeObserver.disconnect()}_getSlabThickness(e,t){let{blendMode:A}=e;if(void 0!==A&&void 0!==e.slabThickness){if("number"==typeof e.slabThickness)return e.slabThickness;if("fullvolume"===e.slabThickness.toLowerCase()){let{dimensions:e,spacing:A}=L.cache.getVolume(t);return Math.sqrt(Math.pow(e[0]*A[0],2)+Math.pow(e[1]*A[1],2)+Math.pow(e[2]*A[2],2))}}}_getFrameOfReferenceUID(e){let{displaySetService:t}=this.servicesManager.services,A=t.getDisplaySetByUID(e);if(!A)return;if(A.FrameOfReferenceUID)return A.FrameOfReferenceUID;if("SEG"===A.Modality){let{instance:e}=A;return e.FrameOfReferenceUID}if("RTSTRUCT"===A.Modality){let{instance:e}=A;return e.ReferencedFrameOfReferenceSequence.FrameOfReferenceUID}let{images:n}=A;if(n&&n.length)return n[0].FrameOfReferenceUID}enqueueViewportResizeRequest(){this.resizeQueue.push(!1),clearTimeout(this.viewportResizeTimer),this.viewportResizeTimer=setTimeout(()=>{this.processViewportResizeQueue()},this.gridResizeDelay)}processViewportResizeQueue(){let e=this.resizeQueue.some(e=>e);!(this.resizeQueue.length>0)||e||this.gridResizeTimeOut||this.performResize(),this.resizeQueue=[]}performResize(){try{this.getRenderingEngine().getViewports().forEach(({id:e})=>{let t=this._getPositionPresentation(e);delete t.viewReference?.sliceIndex,this.beforeResizePositionPresentations.set(e,t)});let e=this.renderingEngine;e.resize(!1),e.render(),this.beforeResizePositionPresentations.forEach((e,t)=>{this.setPresentations(t,{positionPresentation:e})}),e.resize(!1),e.render()}catch(e){console.warn("Caught resize exception",e)}}resetGridResizeTimeout(){clearTimeout(this.gridResizeTimeOut),this.gridResizeTimeOut=setTimeout(()=>{this.gridResizeTimeOut=null},this.gridResizeDelay)}_setLutPresentation(e,t){this.backend.setLutPresentation(e,t)}_setPositionPresentation(e,t){this.backend.setPositionPresentation(e,t)}_setSegmentationPresentation(e,t){if(!t)return;let{segmentationService:A,customizationService:n,viewportGridService:r}=this.servicesManager.services,o=ct({viewportType:r.getState().viewports.get(e.id)?.viewportOptions?.viewportType,customizationService:n}),i=new Set(this.viewportsDisplaySets.get(e.id)||[]);t.forEach(t=>{let{segmentationId:n,type:r,hydrated:s}=t,{Labelmap:a,Surface:l}=R.Enums.SegmentationRepresentations,c=(0,es.Ov)(e),u=r;(r!==l||c?r===a&&c&&(u=l):u=a,s&&o)?A.addSegmentationRepresentation(e.id,{segmentationId:n,type:u,config:{blendMode:e?.getBlendMode?.()===1?u1.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND:void 0}}):!1!==s||i.has(n)||A.removeRepresentationsFromViewport(e.id,{segmentationId:n})})}getViewportDisplaySets(e){let{displaySetService:t}=this.servicesManager.services;return(this.viewportsDisplaySets.get(e)||[]).map(e=>t.getDisplaySetByUID(e)).filter(Boolean)}}dV.REGISTRATION={name:"cornerstoneViewportService",altName:"CornerstoneViewportService",create:({servicesManager:e})=>new dV(e)};let dN=((v={}).Removed="removed",v.Added="added",v.Modified="modified",v);class dH extends k.PubSubService{constructor(e){super(dH.EVENTS),this.colorbars={},this.servicesManager=void 0,this.servicesManager=e}addColorbar(e,t,A={}){let{displaySetService:n}=this.servicesManager.services,r=(0,L.getRenderingEngine)(dy).getViewport(e);if(!r)return;let o=(0,nL.qU)(r);if(!o.hasContent())return;let{activeColormapName:i,colormaps:s}=A;t.forEach(t=>{if(n.getDisplaySetByUID(t).isOverlayDisplaySet)return;let r=o.getDataIdForDisplaySet(t),a=o.getPresentation(r),l=a?.colormap;i&&!l&&this.setViewportColormap(e,t,s[i],!0);let c={activeColormapName:l?.name||A?.activeColormapName||"Grayscale",colormaps:A.colormaps?Object.values(A.colormaps):[],volumeId:r,dataId:r};if(this.colorbars[e]){let A=this.colorbars[e].findIndex(e=>e.displaySetInstanceUID===t);-1!==A?this.colorbars[e][A].colorbar=c:this.colorbars[e].push({colorbar:c,displaySetInstanceUID:t})}else this.colorbars[e]=[{colorbar:c,displaySetInstanceUID:t}]}),this._broadcastEvent(dH.EVENTS.STATE_CHANGED,{viewportId:e,changeType:dN.Added})}removeColorbar(e,t){let A=this.colorbars[e];if(A){if(t){let n=A.findIndex(e=>e.displaySetInstanceUID===t);-1!==n&&(A.splice(n,1),0===A.length&&delete this.colorbars[e])}else delete this.colorbars[e];this._broadcastEvent(dH.EVENTS.STATE_CHANGED,{viewportId:e,displaySetInstanceUID:t,changeType:dN.Removed})}}hasColorbar(e){return!!this.colorbars[e]}getState(){return this.colorbars}getViewportColorbar(e){return this.colorbars[e]}onModeExit(){Object.keys(this.colorbars).forEach(e=>{this.removeColorbar(e)})}setViewportColormap(e,t,A,n=!1){let r=(0,L.getRenderingEngine)(dy).getViewport(e);if(!r)return;let o=(0,nL.qU)(r);if(!o.hasContent())return;let i=o.getDataIdForDisplaySet(t);o.setPresentation({colormap:A},i),n&&r.render()}}dH.EVENTS={STATE_CHANGED:"event::ColorbarService:stateChanged"},dH.REGISTRATION={name:"colorbarService",create:({servicesManager:e})=>new dH(e)};class d_ extends k.PubSubService{constructor(){super(d_.EVENTS),this.viewedDataIds=new Set}markDataViewed(e){!e||this.viewedDataIds.has(e)||(this.viewedDataIds.add(e),this._broadcastEvent(this.EVENTS.VIEWED_DATA_CHANGED,{viewedDataId:e}))}isDataViewed(e){return!!e&&this.viewedDataIds.has(e)}clearViewedData(){this.viewedDataIds.clear(),this._broadcastEvent(this.EVENTS.VIEWED_DATA_CHANGED,{viewedDataCleared:!0})}subscribeViewedDataChanges(e){return this.subscribe(this.EVENTS.VIEWED_DATA_CHANGED,e)}}function dk(e){return(dk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dP(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var A=e[Symbol.toPrimitive];if(void 0!==A){var n=A.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(n.key),n)}}function dj(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=Array(t);A<t;A++)n[A]=e[A];return n}function dG(e){for(var t=new Uint8Array(e.length),A=0,n=e.length;A<n;A++)t[A]=e.charCodeAt(A);return t}function dK(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,r=e.length;n&&(r=Math.min(A+n,e.length));for(var o=A;o<r;o++)if(e[o]===t[0]&&function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(A+t.length>e.length)return!1;for(var n=A,r=0;r<t.length;r++){if(t[r]!==e[n])return!1;n+=1}return!0}(e,t,o))return o;return -1}function dW(e){return"object"===dk(e)&&null!==e}function dY(e){return 0===Object.keys(e).length&&e.constructor===Object}d_.EVENTS={VIEWED_DATA_CHANGED:"event::viewedDataChanged"},d_.REGISTRATION={name:"viewedDataService",altName:"ViewedDataService",create:()=>new d_};var dz=function(e){return e[0]},dX={DICOM:"application/dicom",DICOM_JSON:"application/dicom+json",OCTET_STREAM:"application/octet-stream",PDF:"application/pdf",JPEG:"image/jpeg",PNG:"image/png"},dJ=function(){},dq=function(){var e,t;function A(e){if(!(this instanceof A))throw TypeError("Cannot call a class as a function");this.baseURL=e.url,this.baseURL||console.error("no DICOMweb base url provided - calls that require a URL will fail"),"username"in e&&(this.username=e.username,"password"in e||console.error("no password provided to authenticate with DICOMweb service"),this.password=e.password),"qidoURLPrefix"in e?(dJ("use URL prefix for QIDO-RS: ".concat(e.qidoURLPrefix)),this.qidoURL="".concat(this.baseURL,"/").concat(e.qidoURLPrefix)):this.qidoURL=this.baseURL,"wadoURLPrefix"in e?(dJ("use URL prefix for WADO-RS: ".concat(e.wadoURLPrefix)),this.wadoURL="".concat(this.baseURL,"/").concat(e.wadoURLPrefix)):this.wadoURL=this.baseURL,"stowURLPrefix"in e?(dJ("use URL prefix for STOW-RS: ".concat(e.stowURLPrefix)),this.stowURL="".concat(this.baseURL,"/").concat(e.stowURLPrefix)):this.stowURL=this.baseURL,e.singlepart?(dJ("use singlepart",e.singlepart),this.singlepart=!0===e.singlepart?"bulkdata,video,image":e.singlepart):this.singlepart="","requestHooks"in e&&(this.requestHooks=e.requestHooks),this.headers=e.headers||{},this.errorInterceptor=e.errorInterceptor||function(){},this.verbose=!1!==e.verbose,this.setDebug(e.debug)}return e=[{key:"setDebug",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.debugLevel=!!e,dJ=t||e?console.log:function(){}}},{key:"getDebug",value:function(){return this.debugLevel}},{key:"setVerbose",value:function(e){this.verbose=e}},{key:"getVerbose",value:function(){return this.verbose}},{key:"_httpRequest",value:function(e,t){var A=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=this.errorInterceptor,i=this.requestHooks;return new Promise(function(s,a){var l=r.request?r.request:new XMLHttpRequest;l.open(t,e,!0),"responseType"in r&&(l.responseType=r.responseType),"object"===dk(n)&&Object.keys(n).forEach(function(e){l.setRequestHeader(e,n[e])});var c=A.headers;if(Object.keys(c).forEach(function(e){l.setRequestHeader(e,c[e])}),l.onloadstart=function(){dJ("upload started: ",e)},l.onloadend=function(){dJ("upload finished")},l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status){var e=l.getResponseHeader("Content-Type");e&&-1!==e.indexOf("multipart")?s(function(e){var t,A=ArrayBuffer.isView(e)?e:new Uint8Array(e),n=dG("\r\n\r\n"),r=dK(A,n,0,1e3);if(-1===r)throw Error("Response message has no multipart mime header");var o=function(e){for(var t=e.split("\r\n"),A=0;A<t.length;A++)if("--"===t[A].substr(0,2))return t[A];return null}(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=arguments.length>2?arguments[2]:void 0,n=A||e.length-t,r="",o=t;o<t+n;o++)r+=String.fromCharCode(e[o]);return r}(A,0,r));if(!o)throw Error("Header of response message does not specify boundary");for(var i=dG(o),s=i.length,a=[],l=s;-1!==t&&-1!==(t=dK(A,i,l));){var c=dK(A,n,l,1e3);if(-1===c)throw Error("Response message part has no mime header");l=c+n.length;var u=e.slice(l,t-2);a.push(u),l=t+s}return a}(l.response)):"arraybuffer"===l.responseType?s([l.response]):s(l.response)}else if(202===l.status)A.verbose&&console.warn("some resources already existed: ",l),s(l.response);else if(204===l.status)A.verbose&&console.warn("empty response for request: ",l),s([]);else{var t=Error("request failed");t.request=l,t.response=l.response,t.status=l.status,A.verbose&&(console.error("request failed: ",l),console.error(t),console.error(t.response)),o(t),a(t)}},"progressCallback"in r&&"function"==typeof r.progressCallback&&(l.onprogress=r.progressCallback),i&&((u=Array.isArray(i)&&i.every(function(e){return"function"==typeof e&&2===e.length}))||console.warn("Request hooks should have the following signature: function requestHook(request, metadata) { return request; }"),u)){var u,d={method:t,url:e,headers:Object.assign({},n,A.headers)};l=function(e){return i.reduce(function(e,t){return t(e,d)},e)}(l)}"withCredentials"in r&&r.withCredentials&&(l.withCredentials=!0),"data"in r?l.send(r.data):l.send()})}},{key:"_httpGet",value:function(e,t,A,n,r){return this._httpRequest(e,"get",t,{responseType:A,progressCallback:n,withCredentials:r})}},{key:"_httpGetApplicationJson",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=e;"object"!==dk(t)||dY(t)||(o+=A._parseQueryParameters(t));var i={Accept:dX.DICOM_JSON};return this._httpGet(o,i,"json",n,r)}},{key:"_httpGetApplicationPdf",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=e;"object"!==dk(t)||dY(t)||(o+=A._parseQueryParameters(t));var i={Accept:dX.PDF};return this._httpGet(o,i,"json",n,r)}},{key:"_httpGetImage",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==dk(n)||dY(n)||(i+=A._parseQueryParameters(n));var s=A._buildAcceptHeaderFieldValue(t,["image/","image/*","image/jpeg","image/jp2","image/gif","image/png"]);return this._httpGet(i,{Accept:s},"arraybuffer",r,o)}},{key:"_httpGetText",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==dk(n)||dY(n)||(i+=A._parseQueryParameters(n));var s=A._buildAcceptHeaderFieldValue(t,["text/","text/*","text/html","text/plain","text/rtf","text/xml"]);return this._httpGet(i,{Accept:s},"arraybuffer",r,o)}},{key:"_httpGetVideo",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==dk(n)||dY(n)||(i+=A._parseQueryParameters(n));var s=A._buildAcceptHeaderFieldValue(t,["video/","video/*","video/mpeg","video/mp4","video/H265"]);return this._httpGet(i,{Accept:s},"arraybuffer",r,o)}},{key:"_httpGetMultipartImage",value:function(e,t,n,r){var o,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=arguments.length>5?arguments[5]:void 0,a=arguments.length>6?arguments[6]:void 0,l={};return i?o=["image/jpeg","image/gif","image/png","image/jp2"]:(o={"1.2.840.10008.1.2.5":["image/x-dicom-rle"],"1.2.840.10008.1.2.4.50":["image/jpeg"],"1.2.840.10008.1.2.4.51":["image/jpeg"],"1.2.840.10008.1.2.4.57":["image/jpeg"],"1.2.840.10008.1.2.4.70":["image/jpeg"],"1.2.840.10008.1.2.4.80":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.81":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.90":["image/jp2"],"1.2.840.10008.1.2.4.91":["image/jp2"],"1.2.840.10008.1.2.4.92":["image/jpx"],"1.2.840.10008.1.2.4.93":["image/jpx"]},n&&(l.Range=A._buildRangeHeaderFieldValue(n))),l.Accept=A._buildMultipartAcceptHeaderFieldValue(t,o),this._httpGet(e,l,"arraybuffer",s,a)}},{key:"_httpGetMultipartVideo",value:function(e,t,n,r){var o,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=arguments.length>5?arguments[5]:void 0,a=arguments.length>6?arguments[6]:void 0,l={};return i?o=["video/","video/*","video/mpeg2","video/mp4","video/H265"]:(o={"1.2.840.10008.1.2.4.100":["video/mpeg2"],"1.2.840.10008.1.2.4.101":["video/mpeg2"],"1.2.840.10008.1.2.4.102":["video/mp4"],"1.2.840.10008.1.2.4.103":["video/mp4"],"1.2.840.10008.1.2.4.104":["video/mp4"],"1.2.840.10008.1.2.4.105":["video/mp4"],"1.2.840.10008.1.2.4.106":["video/mp4"]},n&&(l.Range=A._buildRangeHeaderFieldValue(n))),l.Accept=A._buildMultipartAcceptHeaderFieldValue(t,o),this._httpGet(e,l,"arraybuffer",s,a)}},{key:"_httpGetMultipartApplicationDicom",value:function(e,t,n,r,o){var i={},s="application/dicom",a=t;return t||(a=[{mediaType:s}]),i.Accept=A._buildMultipartAcceptHeaderFieldValue(a,{"1.2.840.10008.1.2.1":[s],"1.2.840.10008.1.2.5":[s],"1.2.840.10008.1.2.4.50":[s],"1.2.840.10008.1.2.4.51":[s],"1.2.840.10008.1.2.4.57":[s],"1.2.840.10008.1.2.4.70":[s],"1.2.840.10008.1.2.4.80":[s],"1.2.840.10008.1.2.4.81":[s],"1.2.840.10008.1.2.4.90":[s],"1.2.840.10008.1.2.4.91":[s],"1.2.840.10008.1.2.4.92":[s],"1.2.840.10008.1.2.4.93":[s],"1.2.840.10008.1.2.4.100":[s],"1.2.840.10008.1.2.4.101":[s],"1.2.840.10008.1.2.4.102":[s],"1.2.840.10008.1.2.4.103":[s],"1.2.840.10008.1.2.4.104":[s],"1.2.840.10008.1.2.4.105":[s],"1.2.840.10008.1.2.4.106":[s]}),this._httpGet(e,i,"arraybuffer",r,o)}},{key:"_httpGetMultipartApplicationOctetStream",value:function(e,t,n,r,o,i){var s,a={},l={"1.2.840.10008.1.2.1":function(e){if(Array.isArray(e))return dj(e)}(s=Object.values(dX))||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(s)||function(e){if(e){if("string"==typeof e)return dj(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return dj(e,void 0)}}(s)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()},c=t;return t||(c=[{mediaType:"application/octet-stream"}]),n&&(a.Range=A._buildRangeHeaderFieldValue(n)),a.Accept=A._buildMultipartAcceptHeaderFieldValue(c,l),this._httpGet(e,a,"arraybuffer",o,i)}},{key:"_httpPost",value:function(e,t,A,n,r,o){return this._httpRequest(e,"post",t,{data:A,progressCallback:n,withCredentials:r,request:o})}},{key:"_httpPostApplicationJson",value:function(e,t,A,n){var r={"Content-Type":dX.DICOM_JSON};return this._httpPost(e,r,t,A,n)}},{key:"searchForStudies",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};dJ("search for studies");var t=!1,n="".concat(this.qidoURL,"/studies");return"queryParams"in e&&(n+=A._parseQueryParameters(e.queryParams)),"withCredentials"in e&&e.withCredentials&&(t=e.withCredentials),this._httpGetApplicationJson(n,{},!1,t)}},{key:"retrieveStudyMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of study metadata");dJ("retrieve metadata of study ".concat(e.studyInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/metadata"),A=!1;return"withCredentials"in e&&e.withCredentials&&(A=e.withCredentials),this._httpGetApplicationJson(t,{},!1,A)}},{key:"searchForSeries",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.qidoURL;"studyInstanceUID"in e&&(dJ("search series of study ".concat(e.studyInstanceUID)),t+="/studies/".concat(e.studyInstanceUID)),t+="/series","queryParams"in e&&(t+=A._parseQueryParameters(e.queryParams));var n=!1;return"withCredentials"in e&&e.withCredentials&&(n=e.withCredentials),this._httpGetApplicationJson(t,{},!1,n)}},{key:"retrieveSeriesMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of series metadata");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of series metadata");dJ("retrieve metadata of series ".concat(e.seriesInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/metadata"),A=!1;return"withCredentials"in e&&e.withCredentials&&(A=e.withCredentials),this._httpGetApplicationJson(t,{},!1,A)}},{key:"searchForInstances",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.qidoURL,n=!1;return"studyInstanceUID"in e?(t+="/studies/".concat(e.studyInstanceUID),"seriesInstanceUID"in e?(dJ("search for instances of series ".concat(e.seriesInstanceUID)),t+="/series/".concat(e.seriesInstanceUID)):dJ("search for instances of study ".concat(e.studyInstanceUID))):dJ("search for instances"),t+="/instances","queryParams"in e&&(t+=A._parseQueryParameters(e.queryParams)),"withCredentials"in e&&e.withCredentials&&(n=e.withCredentials),this._httpGetApplicationJson(t,{},!1,n)}},{key:"buildInstanceWadoURIUrl",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required.");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required.");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required.");var t=e.contentType||dX.DICOM,A=e.transferSyntax||"*",n=[];n.push("requestType=WADO"),n.push("studyUID=".concat(e.studyInstanceUID)),n.push("seriesUID=".concat(e.seriesInstanceUID)),n.push("objectUID=".concat(e.sopInstanceUID)),n.push("contentType=".concat(t)),n.push("transferSyntax=".concat(A));var r=n.join("&");return"".concat(this.wadoURL,"?").concat(r)}},{key:"retrieveInstanceMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of instance metadata");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of instance metadata");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of instance metadata");dJ("retrieve metadata of instance ".concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/metadata"),A=!1;return"withCredentials"in e&&e.withCredentials&&(A=e.withCredentials),this._httpGetApplicationJson(t,{},!1,A)}},{key:"retrieveInstanceFrames",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of instance frames");dJ("retrieve frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString()),n=e.mediaTypes,r=!1;"withCredentials"in e&&e.withCredentials&&(r=e.withCredentials);var o=!1;if("progressCallback"in e&&(o=e.progressCallback),!n)return this._httpGetMultipartApplicationOctetStream(t,!1,!1,!1,o,r);if(A._getSharedMediaTypes(n).length>1){var i={Accept:A._buildMultipartAcceptHeaderFieldValue(n,{"1.2.840.10008.1.2.1":["application/octet-stream"],"1.2.840.10008.1.2.5":["image/x-dicom-rle"],"1.2.840.10008.1.2.4.50":["image/jpeg"],"1.2.840.10008.1.2.4.51":["image/jpeg"],"1.2.840.10008.1.2.4.57":["image/jpeg"],"1.2.840.10008.1.2.4.70":["image/jpeg"],"1.2.840.10008.1.2.4.80":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.81":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.90":["image/jp2"],"1.2.840.10008.1.2.4.91":["image/jp2"],"1.2.840.10008.1.2.4.92":["image/jpx"],"1.2.840.10008.1.2.4.93":["image/jpx"],"1.2.840.10008.1.2.4.201":["image/jhc"],"1.2.840.10008.1.2.4.202":["image/jhc"]})};return this._httpGet(t,i,"arraybuffer",o,r)}var s=A._getCommonMediaType(n);if(s.startsWith("application"))return this._httpGetMultipartApplicationOctetStream(t,n,!1,!1,o,r);if(s.startsWith("image"))return this._httpGetMultipartImage(t,n,!1,!1,!1,o,r);if(s.startsWith("video"))return this._httpGetMultipartVideo(t,n,!1,!1,!1,o,r);throw Error("Media type ".concat(s," is not supported for retrieval of frames."))}},{key:"retrieveInstanceRendered",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/rendered"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",i,o);var s=A._getCommonMediaType(n);if(s.startsWith("image"))return this._httpGetImage(t,n,r,i,o);if(s.startsWith("video"))return this._httpGetVideo(t,n,r,i,o);if(s.startsWith("text"))return this._httpGetText(t,n,r,i,o);if(s===dX.PDF)return this._httpGetApplicationPdf(t,r,i,o);throw Error("Media type ".concat(s," is not supported ")+"for retrieval of rendered instance.")}},{key:"retrieveInstanceThumbnail",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/thumbnail"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",i,o);var s=A._getCommonMediaType(n);if(s.startsWith("image"))return this._httpGetImage(t,n,r,i,o);throw Error("Media type ".concat(s," is not supported ")+"for retrieval of rendered instance.")}},{key:"retrieveInstanceFramesRendered",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of rendered instance frames");dJ("retrieve rendered frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString(),"/rendered"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",!1,o);var s=A._getCommonMediaType(n);if(s.startsWith("image"))return this._httpGetImage(t,n,r,i,o);if(s.startsWith("video"))return this._httpGetVideo(t,n,r,i,o);throw Error("Media type ".concat(s," is not supported ")+"for retrieval of rendered frame.")}},{key:"retrieveInstanceFramesThumbnail",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of rendered instance frames");console.debug("retrieve rendered frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString(),"/thumbnail"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",i,o);var s=A._getCommonMediaType(n);if(s.startsWith("image"))return this._httpGetImage(t,n,r,i,o);throw Error("Media type ".concat(s," is not supported ")+"for retrieval of rendered frame.")}},{key:"retrieveInstance",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID),n=e.mediaTypes,r=e.withCredentials,o=void 0!==r&&r,i=e.progressCallback,s=void 0!==i&&i;if(!n)return this._httpGetMultipartApplicationDicom(t,!1,!1,s,o).then(dz);var a=A._getCommonMediaType(n);if(a===dX.DICOM)return this._httpGetMultipartApplicationDicom(t,n,!1,s,o).then(dz);throw Error("Media type ".concat(a," is not supported for retrieval of instance."))}},{key:"retrieveSeries",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID),n=e.mediaTypes,r=!1;"withCredentials"in e&&e.withCredentials&&(r=e.withCredentials);var o=!1;if("progressCallback"in e&&(o=e.progressCallback),!n)return this._httpGetMultipartApplicationDicom(t,!1,!1,o,r);var i=A._getCommonMediaType(n);if(i===dX.DICOM)return this._httpGetMultipartApplicationDicom(t,n,!1,o,r);throw Error("Media type ".concat(i," is not supported for retrieval of series."))}},{key:"retrieveStudy",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID),n=e.mediaTypes,r=e.withCredentials,o=void 0!==r&&r,i=e.progressCallback,s=void 0!==i&&i;if(!n)return this._httpGetMultipartApplicationDicom(t,!1,!1,s,o);var a=A._getCommonMediaType(n);if(a===dX.DICOM)return this._httpGetMultipartApplicationDicom(t,n,!1,s,o);throw Error("Media type ".concat(a," is not supported for retrieval of study."))}},{key:"retrieveBulkData",value:function(e){if(!("BulkDataURI"in e))throw Error("BulkDataURI is required.");var t=e.BulkDataURI,n=e.mediaTypes,r=e.byteRange,o=e.withCredentials,i=void 0!==o&&o,s=e.progressCallback,a=void 0!==s&&s;if(-1!==this.singlepart.indexOf("bulkdata"))return this._httpGet(t,e.headers,"arraybuffer",null,i);if(n)try{var l=A._getCommonMediaType(n);if("image/"===l)return this._httpGetMultipartImage(t,n,r,!1,!1,a,i)}catch(e){}return this._httpGetMultipartApplicationOctetStream(t,n,r,!1,a,i)}},{key:"storeInstances",value:function(e){if(!("datasets"in e))throw Error("datasets are required for storing");var t="".concat(this.stowURL,"/studies");"studyInstanceUID"in e&&(t+="/".concat(e.studyInstanceUID));var A=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){function e(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return"".concat(e()+e(),"-").concat(e(),"-").concat(e(),"-").concat(e(),"-").concat(e()).concat(e()).concat(e())}(),A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/dicom",n=dG("\r\n--".concat(t,"\r\n").concat("Content-Type: ".concat(A),"\r\n\r\n")),r=dG("\r\n--".concat(t,"--")),o=n.length,i=r.length,s=0,a=e.map(function(e){var t=new Uint8Array(e),A=t.length;return s+=o+A+i,t}),l=new Uint8Array(s);l.set(n,0);var c=0;return a.forEach(function(e){l.set(n,c),l.set(e,c+o),c+=o+e.length}),l.set(r,c),{data:l.buffer,boundary:t}}(e.datasets),n=A.data,r=A.boundary,o=e.withCredentials;return this._httpPost(t,{"Content-Type":'multipart/related; type="application/dicom"; boundary="'.concat(r,'"')},n,e.progressCallback,void 0!==o&&o,e.request)}}],t=[{key:"_parseQueryParameters",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="?";return Object.keys(e).forEach(function(A,n){0!==n&&(t+="&"),t+="".concat(A,"=").concat(encodeURIComponent(e[A]))}),t}},{key:"_assertMediaTypeIsValid",value:function(e){if(!e)throw Error("Not a valid media type: ".concat(e));var t=e.indexOf("/");if(-1===t||!["application","image","text","video"].includes(e.slice(0,t))||e.slice(t+1).includes("/"))throw Error("Not a valid media type: ".concat(e))}},{key:"_parseMediaType",value:function(e){return A._assertMediaTypeIsValid(e),e.split("/")}},{key:"_buildAcceptHeaderFieldValue",value:function(e,t){if(!Array.isArray(e))throw Error("Acceptable media types must be provided as an Array");return e.map(function(e){var n=e.mediaType;if(A._assertMediaTypeIsValid(n),!t.includes(n))throw Error("Media type ".concat(n," is not supported for requested resource"));return n}).join(", ")}},{key:"_buildMultipartAcceptHeaderFieldValue",value:function(e,t){var n=this;if(!Array.isArray(e))throw Error("Acceptable media types must be provided as an Array");if(!Array.isArray(t)&&!dW(t))throw Error("Supported media types must be provided as an Array or an Object");var r=[];if(e.forEach(function(e){var o=e.transferSyntaxUID,i=e.mediaType;A._assertMediaTypeIsValid(i);var s='multipart/related; type="'.concat(i,'"');if(dW(t)){if(!Object.values(t).flat(1).includes(i)&&(!i.endsWith("/*")||!i.endsWith("/")))return void dJ("Media type ".concat(i," is not supported for requested resource"));if(o){if("*"!==o){if(!Object.keys(t).includes(o))throw Error("Transfer syntax ".concat(o," is not supported for requested resource"));var a=t[o];if(!a.includes(i)){var l=A._parseMediaType(i)[0];a.map(function(e){if(!(l===A._parseMediaType(e)[0]&&(i.endsWith("/*")||i.endsWith("/"))))throw Error("Transfer syntax ".concat(o," is not supported for requested resource"))})}}s+="; transfer-syntax=".concat(o)}}else if(Array.isArray(t)&&!t.includes(i)){n.verbose&&console.warn("Media type ".concat(i," is not supported for requested resource"));return}r.push(s)}),!r.length)throw Error("No acceptable media types found among ".concat(JSON.stringify(e)));return r.join(", ")}},{key:"_buildRangeHeaderFieldValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return 1===e.length?"bytes=".concat(e[0],"-"):2===e.length?"bytes=".concat(e[0],"-").concat(e[1]):"bytes=0-"}},{key:"_getSharedMediaTypes",value:function(e){var t=new Set;return e&&e.length?(e.forEach(function(e){var n=e.mediaType,r=A._parseMediaType(n)[0];t.add("".concat(r,"/"))}),Array.from(t)):t}},{key:"_getCommonMediaType",value:function(e){if(!e||!e.length)throw Error("No acceptable media types provided");var t=A._getSharedMediaTypes(e);if(0===t.length)throw Error("No common acceptable media type could be identified.");if(t.length>1)throw Error("Acceptable media types must have the same type.");return t[0]}}],e&&dP(A.prototype,e),t&&dP(A,t),Object.defineProperty(A,"prototype",{writable:!1}),A}();let d$=e=>{if(e)return"function"==typeof e.getImageId?e.getImageId():e.url},dZ=e=>(Array.isArray(e)?e:[e]).some(e=>!e),d0=e=>e&&e.images&&e.images[0],d1=(e,t=k.DICOMWeb.getAuthorizationHeader())=>fetch(e,t).then(e=>e.arrayBuffer()),d3=e=>L.imageLoader.loadAndCacheImage(e).then(e=>e&&e.data&&e.data.byteArray.buffer),d2=(e,t,A,n,r=k.DICOMWeb.getAuthorizationHeader(),o=k.errorHandler.getHTTPErrorHandler())=>new dq({url:e,headers:r,errorInterceptor:o}).retrieveInstance({studyInstanceUID:t,seriesInstanceUID:A,sopInstanceUID:n}),d4=new class{getLocalData(e,t){let A=d0(e),n=e&&e.instance;if(!A&&!n||!n.imageId?.startsWith("dicomfile"))return;let r=d$(A||n);if(dZ(r)&&(r=((e,t)=>{let{series:A=[]}=e.find(e=>e.displaySets.some(e=>e.displaySetInstanceUID===t)),{instances:n=[]}=A[0]||{};return d$(n[0])})(t,e.displaySetInstanceUID)),!dZ(r))return Y().wadouri.loadFileRequest(r)}getDataByImageType(e){let t=d0(e);if(t){let e,A,n=d$(t),r=d1;switch(A=(e=/^\w+\:/).exec(n),0===e.lastIndex&&A&&A[0]&&A[0].replace(":","")||""){case"dicomfile":r=d3.bind(this,n);break;case"wadors":let o=t.getData().wadoRoot,i=t.getStudyInstanceUID(),s=t.getSeriesInstanceUID(),a=t.getSOPInstanceUID();if(dZ([o,i,s,a]))return;r=d2.bind(this,o,i,s,a);break;case"wadouri":if(dZ(n=n.substring(n.indexOf(":")+1)))return;r=d1.bind(this,n);break;default:return}return r()}}getDataByDatasetType(e){let{StudyInstanceUID:t,SeriesInstanceUID:A,SOPInstanceUID:n,authorizationHeaders:r,wadoRoot:o,wadoUri:i,instance:s}=e;if(!dZ(o))return d2(o,t,A,n,r);if(!dZ(i))return d1(i,{headers:r});if(!dZ(s?.url)){let e=s.url;return d1(e.startsWith("http")?e:e.substring(e.indexOf(":")+1),{headers:r})}}*getLoaderIterator(e,t,A){yield this.getLocalData(e,t),yield this.getDataByImageType(e),yield this.getDataByDatasetType(e)}findDicomDataPromise(e,t,A){for(let n of(e.authorizationHeaders=A,this.getLoaderIterator(e,t)))if(n)return n;throw Error("Invalid dicom data loader")}},d6=JSON.parse('{"UU":"@ohif/extension-cornerstone"}').UU,d9=(e,t,A)=>{let n=(0,L.getRenderingEngine)(A.renderingEngineId);if(!n)throw Error(`No RenderingEngine for Id: ${A.renderingEngineId}`);let r=n.getViewport(t.viewportId),{viewportIndex:o}=e.getOptions(A.viewportId),{viewportIndex:i}=e.getOptions(t.viewportId);if(void 0===o||void 0===i)throw Error("No viewportIndex provided");let s=n.getViewport(A.viewportId),a=r.getSliceIndex()+(Number(o)-Number(i));a!==s.getSliceIndex()&&L.utilities.jumpToSlice(s.element,{imageIndex:a})},d8=e=>R.SynchronizerManager.createSynchronizer(e,L.EVENTS.STACK_VIEWPORT_SCROLL,d9,{auxiliaryEvents:[{name:L.EVENTS.CAMERA_MODIFIED,source:"element"}]});var d5=x(2111),d7=x.n(d5);let{MetadataModules:pe}=L.Enums,{utils:pt}=P(),{denaturalizeDataset:pA}=d7().data.DicomMetaDictionary;function pn(e,t){return e.get(t)?q.dicomWebUtils.transferDenaturalizedDataset(pA(q.dicomWebUtils.fixMultiValueKeys(e.get(t)))):(console.warn("Metadata not already found for",t,"in",e),this.super.getDICOMwebMetadata(t))}let pr=Object.values({TWELVE_LEAD_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.1",GENERAL_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.2",AMBULATORY_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.3",HEMODYNAMIC_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.2.1",CARDIAC_ELECTROPHYSIOLOGY_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.3.1"});var po=x(9692),pi=x(1303);function ps(e){return e.uiState.activeSegmentationUtility}let pa=function(e){let t,A,n,r,o=(0,D.c)(12),{className:i,isActive:s,id:a}=e,l=(0,q.useUIStateStore)(ps),c=s&&"bg-primary/30";o[0]!==i||o[1]!==c?(t=(0,tB.cn)("w-7 h-7 text-primary hover:text-primary hover:!bg-primary/30",i,c),o[0]=i,o[1]=c,o[2]=t):t=o[2];let u=t;o[3]!==l||o[4]!==a?(A=e=>{l===a&&(e.preventDefault(),e.stopPropagation())},o[3]=l,o[4]=a,o[5]=A):A=o[5];let d=A;return o[6]!==e||o[7]!==u?(n=(0,tp.jsx)(tB.ToolButton,{...e,className:u}),o[6]=e,o[7]=u,o[8]=n):n=o[8],o[9]!==d||o[10]!==n?(r=(0,tp.jsx)("div",{onPointerDownCapture:d,children:n}),o[9]=d,o[10]=n,o[11]=r):r=o[11],r};function pl(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,x,O,R,V,N,H,_,k,P,j,G,K,W,Y,z,X,J,$,Z,ee=(0,D.c)(126),{children:et,segmentationRepresentationTypes:eA}=e,{commandsManager:en,servicesManager:er}=(0,tj.useSystem)(),{displaySetService:eo,viewportGridService:ei,toolbarService:es,segmentationService:ea}=er.services,{activeViewportId:el}=ei.getState();ee[0]!==es.sections.contourSegmentationUtilities||ee[1]!==es.sections.labelMapSegmentationUtilities?(t={[ta.SegmentationRepresentations.Labelmap]:es.sections.labelMapSegmentationUtilities,[ta.SegmentationRepresentations.Contour]:es.sections.contourSegmentationUtilities},ee[0]=es.sections.contourSegmentationUtilities,ee[1]=es.sections.labelMapSegmentationUtilities,ee[2]=t):t=ee[2];let ec=t,eu=nG(e=>e.selectedSegmentationsForViewport[el]),ed=eA?eA.reduce((e,t)=>e||(eu?.has(t)?eu?.get(t):void 0),void 0):ea?.getActiveSegmentation(el)?.segmentationId,ep=eA?.[0]?ec[eA[0]]:void 0;ee[3]!==ep?(A={buttonSectionId:ep},ee[3]=ep,ee[4]=A):A=ee[4];let{activeToolOptions:eg}=(0,tj.useActiveToolOptions)(A),{segmentationsWithRepresentations:em,disabled:eh}=(0,po.c)(),ef=(0,q.useUIStateStore)(pc);ee[5]!==el||ee[6]!==ef||ee[7]!==es?(n=()=>{ef("activeSegmentationUtility",null),es.refreshToolbarState({viewportId:el})},r=[el,ef,es],ee[5]=el,ee[6]=ef,ee[7]=es,ee[8]=n,ee[9]=r):(n=ee[8],r=ee[9]),(0,M.useEffect)(n,r),ee[10]!==el||ee[11]!==ef||ee[12]!==es?(o=e=>{e||(ef("activeSegmentationUtility",null),es.refreshToolbarState({viewportId:el}))},ee[10]=el,ee[11]=ef,ee[12]=es,ee[13]=o):o=ee[13];let ew=o,eB=(0,tj.useCustomization)("panelSegmentation.tableMode"),ey=(0,tj.useCustomization)("panelSegmentation.onSegmentationAdd"),ev=(0,tj.useCustomization)("panelSegmentation.disableEditing"),eS=(0,tj.useCustomization)("panelSegmentation.showAddSegment"),eC=(0,tj.useCustomization)("panelSegmentation.customDropdownMenuContent"),eI=(0,tj.useCustomization)("panelSegmentation.customSegmentStatisticsHeader");if(ee[14]!==en?(l=e=>{en.run("setActiveSegmentation",{segmentationId:e})},c=e=>{en.run("addSegment",{segmentationId:e}),en.run("setActiveSegmentation",{segmentationId:e})},u=(e,t)=>{en.run("setActiveSegmentAndCenter",{segmentationId:e,segmentIndex:t})},d=(e,t)=>{en.run("editSegmentLabel",{segmentationId:e,segmentIndex:t})},i=e=>{en.run("editSegmentationLabel",{segmentationId:e})},s=(e,t)=>{en.run("editSegmentColor",{segmentationId:e,segmentIndex:t})},a=(e,t)=>{en.run("deleteSegment",{segmentationId:e,segmentIndex:t})},ee[14]=en,ee[15]=i,ee[16]=s,ee[17]=a,ee[18]=l,ee[19]=c,ee[20]=u,ee[21]=d):(i=ee[15],s=ee[16],a=ee[17],l=ee[18],c=ee[19],u=ee[20],d=ee[21]),ee[22]!==en||ee[23]!==eA?.[0]?(p=eA?.[0]===ta.SegmentationRepresentations.Contour?(e,t)=>{en.run("copyContourSegment",{sourceSegmentInfo:{segmentationId:e,segmentIndex:t}})}:void 0,ee[22]=en,ee[23]=eA?.[0],ee[24]=p):p=ee[24],ee[25]!==en?(g=(e,t,A)=>{en.run("toggleSegmentVisibility",{segmentationId:e,segmentIndex:t,type:A})},m=(e,t)=>{en.run("toggleSegmentLock",{segmentationId:e,segmentIndex:t})},h=(e,t)=>{en.run("toggleSegmentationVisibility",{segmentationId:e,type:t})},f=e=>{en.run("downloadSegmentation",{segmentationId:e})},w=(e,t,A,n)=>{en.run("setSegmentationStyle",{segmentationId:e,type:t,key:A,value:n})},B=()=>{en.run("toggleRenderInactiveSegmentations")},y=e=>{en.run("removeSegmentationFromViewport",{segmentationId:e})},v=e=>{en.run("deleteSegmentation",{segmentationId:e})},S=(e,t)=>{let{type:A}=e;en.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:A}),en.run("setFillAlpha",{type:A,value:t})},C=(e,t)=>{let{type:A}=e;en.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:A}),en.run("setOutlineWidth",{type:A,value:t})},I=(e,t)=>{let{type:A}=e;en.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:A}),en.run("setRenderFill",{type:A,value:t})},b=(e,t)=>{let{type:A}=e;en.run("setRenderFillInactive",{type:A,value:t})},U=(e,t)=>{let{type:A}=e;en.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:A}),en.run("setRenderOutline",{type:A,value:t})},E=(e,t)=>{let{type:A}=e;en.run("setRenderOutlineInactive",{type:A,value:t})},F=(e,t)=>{let{type:A}=e;en.run("setFillAlphaInactive",{type:A,value:t})},Q=()=>en.run("getRenderInactiveSegmentations"),ee[25]=en,ee[26]=g,ee[27]=m,ee[28]=h,ee[29]=f,ee[30]=w,ee[31]=B,ee[32]=y,ee[33]=v,ee[34]=S,ee[35]=C,ee[36]=I,ee[37]=b,ee[38]=U,ee[39]=E,ee[40]=F,ee[41]=Q):(g=ee[26],m=ee[27],h=ee[28],f=ee[29],w=ee[30],B=ee[31],y=ee[32],v=ee[33],S=ee[34],C=ee[35],I=ee[36],b=ee[37],U=ee[38],E=ee[39],F=ee[40],Q=ee[41]),ee[42]!==ev||ee[43]!==eh||ee[44]!==eo||ee[45]!==ey||ee[46]!==eA||ee[47]!==eB||ee[48]!==em||ee[49]!==eS||ee[50]!==i||ee[51]!==s||ee[52]!==a||ee[53]!==p||ee[54]!==g||ee[55]!==m||ee[56]!==h||ee[57]!==f||ee[58]!==w||ee[59]!==B||ee[60]!==y||ee[61]!==v||ee[62]!==S||ee[63]!==C||ee[64]!==I||ee[65]!==b||ee[66]!==U||ee[67]!==E||ee[68]!==F||ee[69]!==Q||ee[70]!==l||ee[71]!==c||ee[72]!==u||ee[73]!==d){let e;if(T={onSegmentationClick:l,onSegmentAdd:c,onSegmentClick:u,onSegmentEdit:d,onSegmentationEdit:i,onSegmentColorClick:s,onSegmentDelete:a,onSegmentCopy:p,onToggleSegmentVisibility:g,onToggleSegmentLock:m,onToggleSegmentationRepresentationVisibility:h,onSegmentationDownload:f,setStyle:w,toggleRenderInactiveSegmentations:B,onSegmentationRemoveFromViewport:y,onSegmentationDelete:v,setFillAlpha:S,setOutlineWidth:C,setRenderFill:I,setRenderFillInactive:b,setRenderOutline:U,setRenderOutlineInactive:E,setFillAlphaInactive:F,getRenderInactiveSegmentations:Q},ee[84]!==eo||ee[85]!==em){let t;ee[87]!==eo?(t=e=>{let{segmentation:t}=e,{representationData:A,segmentationId:n}=t,{Labelmap:r,Contour:o}=A;return r||o?((e,t)=>{if(!e)return!1;let A=e?.imageIds;if(!A?.length||!A.some(e=>{let t=L.cache.getImage(e)?.getPixelData();if(!t)return!1;for(let e=0;e<t.length;e++)if(0!==t[e])return!0}))return!1;let n=e?.referencedImageIds;if(!n)return!1;let r=n[0],o=L.metaData.get("instance",r);if(!o)return!1;let i=o.SOPInstanceUID||o.SopInstanceUID,s=o.SeriesInstanceUID;return!!t.getDisplaySetForSOPInstanceUID(i,s)})(r,eo)||(e=>{if(!e)return!1;let t=e?.annotationUIDsMap;return!!t&&t.size>0})(o)?{segmentationId:n,isExportable:!0}:{segmentationId:n,isExportable:!1}:{segmentationId:n,isExportable:!0}},ee[87]=eo,ee[88]=t):t=ee[88],e=em.map(t),ee[84]=eo,ee[85]=em,ee[86]=e}else e=ee[86];let t=e;x=eh,O=em,R=eB,V=`${eA?.[0]?`${eA[0]} `:""}Segmentations`,N=t,H=ev,_=ey,k=eS,P=T.getRenderInactiveSegmentations(),ee[42]=ev,ee[43]=eh,ee[44]=eo,ee[45]=ey,ee[46]=eA,ee[47]=eB,ee[48]=em,ee[49]=eS,ee[50]=i,ee[51]=s,ee[52]=a,ee[53]=p,ee[54]=g,ee[55]=m,ee[56]=h,ee[57]=f,ee[58]=w,ee[59]=B,ee[60]=y,ee[61]=v,ee[62]=S,ee[63]=C,ee[64]=I,ee[65]=b,ee[66]=U,ee[67]=E,ee[68]=F,ee[69]=Q,ee[70]=l,ee[71]=c,ee[72]=u,ee[73]=d,ee[74]=T,ee[75]=x,ee[76]=O,ee[77]=R,ee[78]=V,ee[79]=N,ee[80]=H,ee[81]=_,ee[82]=k,ee[83]=P}else T=ee[74],x=ee[75],O=ee[76],R=ee[77],V=ee[78],N=ee[79],H=ee[80],_=ee[81],k=ee[82],P=ee[83];ee[89]!==T||ee[90]!==eA||ee[91]!==ed||ee[92]!==x||ee[93]!==O||ee[94]!==R||ee[95]!==V||ee[96]!==N||ee[97]!==H||ee[98]!==_||ee[99]!==k||ee[100]!==P?(j={disabled:x,data:O,mode:R,title:V,exportOptions:N,disableEditing:H,onSegmentationAdd:_,showAddSegment:k,renderInactiveSegmentations:P,segmentationRepresentationTypes:eA,selectedSegmentationIdForType:ed,...T},ee[89]=T,ee[90]=eA,ee[91]=ed,ee[92]=x,ee[93]=O,ee[94]=R,ee[95]=V,ee[96]=N,ee[97]=H,ee[98]=_,ee[99]=k,ee[100]=P,ee[101]=j):j=ee[101];let eb=j;ee[102]!==ep?(G=()=>ep?(0,tp.jsx)(tB.IconPresentationProvider,{size:"large",IconContainer:pa,children:(0,tp.jsx)("div",{className:"flex flex-wrap gap-[3px] bg-transparent pb-[2px] pl-[8px] pt-[6px]",children:(0,tp.jsx)(q.Toolbar,{buttonSection:ep})})}):null,ee[102]=ep,ee[103]=G):G=ee[103];let eU=G;ee[104]!==eI?(K=()=>(0,tp.jsxs)(tB.SegmentationTable.Segments,{children:[(0,tp.jsx)(tB.SegmentationTable.SegmentStatistics.Header,{children:(0,tp.jsx)(eI,{})}),(0,tp.jsx)(tB.SegmentationTable.SegmentStatistics.Body,{})]}),ee[104]=eI,ee[105]=K):K=ee[105];let eE=K;ee[106]!==eC||ee[107]!==eE||ee[108]!==eU||ee[109]!==eb.mode?(W=()=>"collapsed"===eb.mode?(0,tp.jsxs)(tB.SegmentationTable.Collapsed,{children:[eU(),(0,tp.jsxs)(tB.SegmentationTable.Collapsed.Header,{children:[(0,tp.jsx)(tB.SegmentationTable.Collapsed.DropdownMenu,{children:(0,tp.jsx)(eC,{})}),(0,tp.jsx)(tB.SegmentationTable.Collapsed.Selector,{}),(0,tp.jsx)(tB.SegmentationTable.Collapsed.Info,{})]}),(0,tp.jsxs)(tB.SegmentationTable.Collapsed.Content,{children:[(0,tp.jsx)(tB.SegmentationTable.AddSegmentRow,{}),eE()]})]}):(0,tp.jsx)(tp.Fragment,{children:(0,tp.jsxs)(tB.SegmentationTable.Expanded,{children:[eU(),(0,tp.jsxs)(tB.SegmentationTable.Expanded.Header,{children:[(0,tp.jsx)(tB.SegmentationTable.Expanded.DropdownMenu,{children:(0,tp.jsx)(eC,{})}),(0,tp.jsx)(tB.SegmentationTable.Expanded.Label,{}),(0,tp.jsx)(tB.SegmentationTable.Expanded.Info,{})]}),(0,tp.jsxs)(tB.SegmentationTable.Expanded.Content,{children:[(0,tp.jsx)(tB.SegmentationTable.AddSegmentRow,{}),eE()]})]})}),ee[106]=eC,ee[107]=eE,ee[108]=eU,ee[109]=eb.mode,ee[110]=W):W=ee[110];let eF=W,eQ=!!eg;return ee[111]===Symbol.for("react.memo_cache_sentinel")?(Y=(0,tp.jsx)(tB.SegmentationTable.Config,{}),z=(0,tp.jsx)(tB.SegmentationTable.AddSegmentationRow,{}),ee[111]=Y,ee[112]=z):(Y=ee[111],z=ee[112]),ee[113]!==eF?(X=eF(),ee[113]=eF,ee[114]=X):X=ee[114],ee[115]!==et||ee[116]!==X||ee[117]!==eb?(J=(0,tp.jsx)(tB.PopoverAnchor,{children:(0,tp.jsxs)(tB.SegmentationTable,{...eb,children:[et,Y,z,X]})}),ee[115]=et,ee[116]=X,ee[117]=eb,ee[118]=J):J=ee[118],ee[119]!==eg?($=eg&&(0,tp.jsx)(tB.PopoverContent,{side:"left",align:"start",className:"w-auto",children:(0,tp.jsx)(tB.ToolSettings,{options:eg})}),ee[119]=eg,ee[120]=$):$=ee[120],ee[121]!==ew||ee[122]!==eQ||ee[123]!==J||ee[124]!==$?(Z=(0,tp.jsxs)(tB.Popover,{open:eQ,onOpenChange:ew,children:[J,$]}),ee[121]=ew,ee[122]=eQ,ee[123]=J,ee[124]=$,ee[125]=Z):Z=ee[125],Z}function pc(e){return e.setUIState}var pu=x(2051),pd=x.n(pu),pp=x(6285),pg=x.n(pp);let pm=(0,L.getWebWorkerManager)();pm.registerWorker("histogram-worker",()=>new Worker(new URL(x.p+x.u(915),x.b),Object.assign({},{name:"histogram-worker"},{type:void 0})),{maxWorkerInstances:1,autoTerminateOnIdle:{enabled:!0,idleTimeThreshold:1e3}});let ph=async(e,t,A)=>{if(!e.getImageData(t.volumeId))return;let n=t.scalarData;if(n=t.numTimePoints>1?t.voxelManager.getDimensionGroupScalarData(t.numTimePoints):t.voxelManager.getCompleteScalarDataArray(),!n?.length)return;let{dimensions:r,origin:o,direction:i,spacing:s}=t,{minimum:a,maximum:l}=await pm.executeTask("histogram-worker","getRange",{dimensions:r,origin:o,direction:i,spacing:s,scalarData:n});if(a===1/0||l===-1/0)return;let c={numBins:256,min:Math.max(a,A?.min??a),max:Math.min(l,A?.max??l)};return await pm.executeTask("histogram-worker","calcHistogram",{data:n,options:c})},pf=(e,t)=>{if(!e)return;let A=e.getProperty().getScalarOpacity(0),n=[];return A.getNodeValue(t,n),n[1]},pw=async(e,t,A)=>{if(!e)return[];let n=(0,nL.qU)(e),r=n.getVolumeIds();if(!r.length)return[];let{voiRange:o}=n.getPresentation()||{},i=o?{windowWidth:o.upper-o.lower,windowCenter:o.lower+(o.upper-o.lower)/2}:void 0;return(await Promise.all(r.map(async(n,r)=>{let o,s=L.cache.getVolume(n),a=A(e,n),{metadata:l,scaling:c}=s,u=l.Modality,d=await ph(e,s,{min:"PT"===u?.1:-999,max:"PT"===u?5:1e4});if(!d||d.range.min===d.range.max||!t.displaySetOptions||!t.displaySetOptions[r])return null;let{voi:p,colormap:g}=t.displaySetOptions[r];return g&&(o=L.utilities.colormap.getColormap(g.name)??pg().getPresetByName(g.name)),{viewportId:t.viewportId,modality:u,volumeId:n,volumeIndex:r,voi:r?p:i??p,histogram:d,colormap:o,step:c?.PT?.05:1,opacity:a,showOpacitySlider:1===r&&void 0!==a}}))).filter(Boolean)},{Events:pB}=L.Enums,py=(e,t)=>{let A=e.getActors().find(e=>e.referencedId===t)?.actor;return((e,t)=>{if(!t)return!1;let A=L.cache.getVolume(e);if(!A||"PT"!==A.metadata.Modality)return!1;let n=t.getProperty().getScalarOpacity(0);if(2>n.getSize())return!1;let r=[],o=[];if(n.getNodeValue(0,r),n.getNodeValue(1,o),0!==r[0]||0!==r[1]||.1!==o[0])return!1;let i=o[1],s=n.getSize(),a=[];for(let e=2;e<s;e++)if(n.getNodeValue(e,a),a[1]!==i)return!1;return!0})(t,A)?pf(A,1):(e=>{if(!e)return!1;let t=e.getProperty().getScalarOpacity(0),A=t.getSize(),n=[];t.getNodeValue(0,n);let r=n[1];for(let e=0;e<A;e++){let e=[];if(t.getNodeValue(0,e),e[1]!==r)return!1}return!0})(A)?pf(A,0):void 0},pv=e=>{let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B=(0,D.c)(55),{servicesManager:y,viewportId:v}=e,{cornerstoneViewportService:S}=y.services;B[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],B[0]=t):t=B[0];let[C,I]=(0,M.useState)(t);B[1]!==S||B[2]!==v?(A=()=>!(e=>{if(!e||!L.utilities.viewportSupportsVolumeId(e))return!1;let t=e.getAllVolumeIds();return!!t.length&&t.every(e=>L.cache.getVolume(e)?.loadStatus?.loaded===!0)})(S.getCornerstoneViewport(v)),B[1]=S,B[2]=v,B[3]=A):A=B[3];let[b,U]=(0,M.useState)(A),E=(0,k.useActiveViewportDisplaySets)();B[4]!==S?(n=e=>S.getRenderingEngine().getViewports().filter(L.utilities.viewportSupportsVolumeCompatibility).filter(t=>{let A=t.getAllVolumeIds();return e.length===A.length&&e.every(e=>A.includes(e))}),B[4]=S,B[5]=n):n=B[5];let F=n;B[6]!==S||B[7]!==v?(r=()=>{pw(S.getCornerstoneViewport(v),S.getViewportInfo(v),py).then(e=>{I(e)})},B[6]=S,B[7]=v,B[8]=r):r=B[8];let Q=r;B[9]!==C?(o=e=>{let{detail:t}=e,{volumeId:A,range:n}=t,r=C.find(e=>e.volumeId===A);if(!r)return;let o=r.voi,i=n.upper-n.lower,s=n.lower+i/2;if(i===o.windowWidth&&s===o.windowCenter)return;let a={...r,voi:{windowWidth:i,windowCenter:s}};I(C.map(e=>e===r?a:e))},B[9]=C,B[10]=o):o=B[10];let T=o;B[11]!==T?(i=pd()(T,100),B[11]=T,B[12]=i):i=B[12];let x=i;B[13]!==S||B[14]!==v?(s=(e,t)=>{let A=S.getCornerstoneViewport(v),n={lower:t.windowCenter-t.windowWidth/2,upper:t.windowCenter+t.windowWidth/2};A.setProperties({voiRange:n},e),A.render()},B[13]=S,B[14]=v,B[15]=s):s=B[15];let O=s;B[16]!==S||B[17]!==F?(a=(e,t,A,n)=>{let r=S.getCornerstoneViewport(e);r&&F(L.utilities.viewportSupportsVolumeId(r)?r.getAllVolumeIds():[]).forEach(e=>{e.setProperties({colormap:{opacity:n}},A),e.render()})},B[16]=S,B[17]=F,B[18]=a):a=B[18];let R=a;B[19]!==Q?(l=()=>{U(!1),Q()},B[19]=Q,B[20]=l):l=B[20];let V=l;B[21]!==x||B[22]!==V||B[23]!==b||B[24]!==Q?(c=()=>{document.addEventListener(pB.VOI_MODIFIED,x,!0),L.eventTarget.addEventListener(pB.IMAGE_VOLUME_LOADING_COMPLETED,V);let e=b?setInterval(()=>Q(),1e3):void 0;return()=>{document.removeEventListener(pB.VOI_MODIFIED,x,!0),L.eventTarget.removeEventListener(pB.IMAGE_VOLUME_LOADING_COMPLETED,V),clearInterval(e)}},u=[Q,x,V,b],B[21]=x,B[22]=V,B[23]=b,B[24]=Q,B[25]=c,B[26]=u):(c=B[25],u=B[26]),(0,M.useEffect)(c,u),B[27]!==E?(d=E?.map(pS).sort()||[],B[27]=E,B[28]=d):d=B[28];let N=d;if(B[29]!==S||B[30]!==N.length||B[31]!==b||B[32]!==Q||B[33]!==v?(p=()=>{let{unsubscribe:e}=S.subscribe(S.EVENTS.VIEWPORT_VOLUMES_CHANGED,e=>{let{viewportInfo:t}=e;t.viewportId===v&&Q()});return N.length&&!b&&Q(),()=>{e()}},B[29]=S,B[30]=N.length,B[31]=b,B[32]=Q,B[33]=v,B[34]=p):p=B[34],B[35]!==S||B[36]!==N||B[37]!==b||B[38]!==Q||B[39]!==v?(g=[v,S,Q,N,b],B[35]=S,B[36]=N,B[37]=b,B[38]=Q,B[39]=v,B[40]=g):g=B[40],(0,M.useEffect)(p,g),B[41]===Symbol.for("react.memo_cache_sentinel")?(m=(0,tp.jsx)(tB.PanelSection.Header,{children:"Window Level"}),B[41]=m):m=B[41],B[42]!==R||B[43]!==O||B[44]!==C){let e;B[46]!==R||B[47]!==O?(e=(e,t)=>e.histogram?(0,tp.jsx)(tB.WindowLevel,{histogram:e.histogram,voi:e.voi,step:e.step,showOpacitySlider:e.showOpacitySlider,colormap:e.colormap,onVOIChange:t=>O(e.volumeId,t),opacity:e.opacity,onOpacityChange:A=>R(e.viewportId,t,e.volumeId,A)},e.volumeId):null,B[46]=R,B[47]=O,B[48]=e):e=B[48],h=C.map(e),B[42]=R,B[43]=O,B[44]=C,B[45]=h}else h=B[45];return B[49]!==b||B[50]!==C.length?(f=0===C.length&&!b&&(0,tp.jsx)("div",{className:"text-muted-foreground py-2 text-center text-sm",children:"No window level data available"}),B[49]=b,B[50]=C.length,B[51]=f):f=B[51],B[52]!==h||B[53]!==f?(w=(0,tp.jsxs)(tB.PanelSection,{defaultOpen:!0,children:[m,(0,tp.jsxs)(tB.PanelSection.Content,{className:"bg-muted py-1",children:[h,f]})]}),B[52]=h,B[53]=f,B[54]=w):w=B[54],w};function pS(e){return e.displaySetInstanceUID}let pC=e=>{let t,A,n=(0,D.c)(5),{servicesManager:r}=e,[o]=(0,tB.useViewportGrid)(),{activeViewportId:i}=o;return n[0]!==i||n[1]!==r?(t=i&&(0,tp.jsx)(pv,{servicesManager:r,viewportId:i}),n[0]=i,n[1]=r,n[2]=t):t=n[2],n[3]!==t?(A=(0,tp.jsx)(tp.Fragment,{children:t}),n[3]=t,n[4]=A):A=n[4],A};var pI=["color"],pb=(0,M.forwardRef)(function(e,t){var A=e.color,n=function(e,t){if(null==e)return{};var A,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)A=o[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,pI);return(0,M.createElement)("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n,{ref:t}),(0,M.createElement)("path",{d:"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",fill:void 0===A?"currentColor":A,fillRule:"evenodd",clipRule:"evenodd"}))});let pU=e=>{let{group:t,allChildren:A,children:n,childType:r,defaultTypes:o}=e,i=t?.subType;for(let t of A)if(!i||t.props?.subType===i){if(r&&t.type===r)return M.cloneElement(t,{...e,children:t.props.children});if(o?.indexOf(t.type)===-1)return r({...e,children:t})}if(!n)throw Error(`No children defined for ${e.name} CloneChildren in group ${t?.name}`);return M.cloneElement(n,e)},pE=[pD,px,pO];function pF(e){let t,A,n,r,o,i=(0,D.c)(18),{grouping:s,items:a,children:l,sourceChildren:c}=e,u=(0,k.useSystem)(),d=e.defaultValue;if(i[0]!==u||i[1]!==d||i[2]!==s||i[3]!==a){if(t=s.groupingFunction(a,s,u),!d){let e=t.values().find(pQ);d=e?.key||e?.title}i[0]=u,i[1]=d,i[2]=s,i[3]=a,i[4]=t,i[5]=d}else t=i[4],d=i[5];i[6]!==d?(A=Array.isArray(d)&&d||d&&[d]||[],i[6]=d,i[7]=A):A=i[7];let p=A;if(i[8]!==l||i[9]!==c){let e=c?M.Children.toArray(c):[],t=l?M.Children.toArray(l):[];n=e.concat(t),i[8]=l,i[9]=c,i[10]=n}else n=i[10];let g=n,m="grouping "+s.name;return i[11]===Symbol.for("react.memo_cache_sentinel")?(r=(0,tp.jsx)(pT,{name:"DefaultAccordion"}),i[11]=r):r=i[11],i[12]!==g||i[13]!==s||i[14]!==t||i[15]!==m||i[16]!==p?(o=(0,tp.jsx)(pU,{allChildren:g,groups:t,childType:pD,grouping:s,defaultValue:p,name:m,children:r}),i[12]=g,i[13]=s,i[14]=t,i[15]=m,i[16]=p,i[17]=o):o=i[17],o}function pQ(e){return e.isSelected}function pT(e){let t,A,n,r=(0,D.c)(11),{groups:o,defaultValue:i,grouping:s,allChildren:a,asChild:l}=e;if(!a||!o)return null;if(l){let t;return r[0]!==e?(t=M.cloneElement(e.children,e),r[0]=e,r[1]=t):t=r[1],t}let c=s.type||"multiple";return r[2]!==o?(t=[...o.entries()],r[2]=o,r[3]=t):t=r[3],r[4]!==a||r[5]!==t?(A=t.map(e=>{let[,t]=e;return(0,tp.jsxs)(tB.AccordionItem,{value:t.key,children:[(0,tp.jsx)(pU,{allChildren:a,group:t,childType:pO,name:"AccordionGroup.Trigger"}),(0,tp.jsx)(pU,{allChildren:a,group:t,childType:px,defaultTypes:pE,name:"AccordionGroup.Content"})]},t.key+"-i")}),r[4]=a,r[5]=t,r[6]=A):A=r[6],r[7]!==i||r[8]!==c||r[9]!==A?(n=(0,tp.jsx)(tB.Accordion,{type:c,className:"text-foreground",defaultValue:i,children:A}),r[7]=i,r[8]=c,r[9]=A,r[10]=n):n=r[10],n}function pD(e){let{groups:t,children:A}=e;return t?[...t.values()].map(t=>M.cloneElement(A,{...e,children:A.props.children,group:t,...t,key:t.title})):null}function px(e){let t,A,n=(0,D.c)(18),{children:r,asChild:o,...i}=e,{group:s}=e;if(Object.assign(i,s),!s)return null;if(o){let t;if(n[0]!==r||n[1]!==s||n[2]!==e){let A;n[4]!==r.props.children||n[5]!==s||n[6]!==e?(A={...s,...e,children:r.props.children},n[4]=r.props.children,n[5]=s,n[6]=e,n[7]=A):A=n[7],t=M.cloneElement(r,A),n[0]=r,n[1]=s,n[2]=e,n[3]=t}else t=n[3];return t}if(n[8]!==r||n[9]!==s||n[10]!==e){let A;n[12]!==r.props.children||n[13]!==s||n[14]!==e?(A={...s,...e,children:r.props.children},n[12]=r.props.children,n[13]=s,n[14]=e,n[15]=A):A=n[15],t=M.cloneElement(r,A),n[8]=r,n[9]=s,n[10]=e,n[11]=t}else t=n[11];return n[16]!==t?(A=(0,tp.jsx)(tB.AccordionContent,{children:t}),n[16]=t,n[17]=A):A=n[17],A}function pO(e){let t,A,n,r,o,i,s,a,l=(0,D.c)(17);if(l[0]!==e?({children:n,asChild:t,...A}=e,{group:r}=e,Object.assign(A,r),l[0]=e,l[1]=t,l[2]=A,l[3]=n,l[4]=r):(t=l[1],A=l[2],n=l[3],r=l[4]),!r)return null;if(t){let e;return l[5]!==A||l[6]!==n?(e=M.cloneElement(n,A),l[5]=A,l[6]=n,l[7]=e):e=l[7],e}let c=r.value;return l[8]!==A||l[9]!==n?(o=M.cloneElement(n,A),l[8]=A,l[9]=n,l[10]=o):o=l[10],l[11]===Symbol.for("react.memo_cache_sentinel")?(i=(0,tp.jsx)(pb,{className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"},"chevronDown"),l[11]=i):i=l[11],l[12]!==o?(s=(0,tp.jsxs)("div",{children:[o,i]}),l[12]=o,l[13]=s):s=l[13],l[14]!==r.value||l[15]!==s?(a=(0,tp.jsx)(tB.AccordionTrigger,{value:c,asChild:!0,children:s}),l[14]=r.value,l[15]=s,l[16]=a):a=l[16],a}function pM(e){let t,A,n,r,o,i=(0,D.c)(16),{title:s,items:a,group:l,customHeader:c}=e,{commandsManager:u}=(0,k.useSystem)();i[0]!==u||i[1]!==a?(t=(e,t,A)=>{u.run(t,{uid:A,annotationUID:A,displayMeasurements:a})},i[0]=u,i[1]=a,i[2]=t):t=i[2];let d=t,p=s||"Measurements";return i[3]!==c||i[4]!==l.isFirst||i[5]!==e?(A=c&&l.isFirst&&c({...e,items:e.allItems}),i[3]=c,i[4]=l.isFirst,i[5]=e,i[6]=A):A=i[6],i[7]!==A?(n=(0,tp.jsx)(tB.MeasurementTable.Header,{children:A},"measurementTableHeader"),i[7]=A,i[8]=n):n=i[8],i[9]===Symbol.for("react.memo_cache_sentinel")?(r=(0,tp.jsx)(tB.MeasurementTable.Body,{},"measurementTableBody"),i[9]=r):r=i[9],i[10]!==l||i[11]!==a||i[12]!==d||i[13]!==p||i[14]!==n?(o=(0,M.createElement)(tB.MeasurementTable,{title:p,data:a,onAction:d,...l,key:l.key},n,r),i[10]=l,i[11]=a,i[12]=d,i[13]=p,i[14]=n,i[15]=o):o=i[15],o}pF.Content=px,pF.Trigger=pO,pF.Accordion=pD;let{filterNot:pL,filterAdditionalFindings:pR}=k.utils.MeasurementFilters,pV=[{title:"Measurements",filter:pL(pR)},{title:"Additional Findings",filter:pR}],pN=(e,t)=>{let A=new Map,{namedSets:n}=t;for(let e of n){let n=e.id||e.title;A.set(n,{...t,...e,items:[],isFirst:0===A.size,title:n,key:n})}for(let t of(e.forEach(e=>{for(let t of n)if(t.filter(e)){let n=t.id||t.title;A.get(n).items.push(e);return}}),n)){let e=t.id||t.title;A.get(e).items.length||A.delete(e)}return A};function pH(e){let t,A,n,r,o=(0,D.c)(14),{items:i,children:s,grouping:a,customHeader:l,group:c,actions:u}=e;o[0]!==a?(t=void 0===a?{}:a,o[0]=a,o[1]=t):t=o[1];let d=t,p=c?.StudyInstanceUID;return o[2]!==d||o[3]!==p?(A={groupingFunction:pN,name:"measurementsOrAdditional",namedSets:pV,StudyInstanceUID:p,...d},o[2]=d,o[3]=p,o[4]=A):A=o[4],o[5]!==u||o[6]!==l||o[7]!==i?(n=(0,tp.jsx)(pF.Accordion,{noWrapper:"true",children:(0,tp.jsx)(pM,{customHeader:l,allItems:i,actions:u})}),o[5]=u,o[6]=l,o[7]=i,o[8]=n):n=o[8],o[9]!==s||o[10]!==i||o[11]!==A||o[12]!==n?(r=(0,tp.jsx)(pF,{grouping:A,items:i,sourceChildren:s,children:n}),o[9]=s,o[10]=i,o[11]=A,o[12]=n,o[13]=r):r=o[13],r}let{formatDate:p_}=k.utils;function pk(e){let t,A,n,r,o,i=(0,D.c)(9),{StudyInstanceUID:s}=e;if(!s)return null;if(i[0]!==s){r=Symbol.for("react.early_return_sentinel");e:{let e=k.DicomMetadataStore.getStudy(s);if(!e?.series?.length){r=null;break e}let{StudyDate:o,StudyDescription:i}=e.series[0].instances[0];t=i,A=tB.StudySummary,n=p_(o)}i[0]=s,i[1]=t,i[2]=A,i[3]=n,i[4]=r}else t=i[1],A=i[2],n=i[3],r=i[4];return r!==Symbol.for("react.early_return_sentinel")?r:(i[5]!==t||i[6]!==A||i[7]!==n?(o=(0,tp.jsx)(A,{date:n,description:t}),i[5]=t,i[6]=A,i[7]=n,i[8]=o):o=i[8],o)}function pP(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g=(0,D.c)(33),{items:m,StudyInstanceUID:h,measurementFilter:f,actions:w}=e,{commandsManager:B}=(0,k.useSystem)(),{t:y}=tP("MeasurementTable");return m?.length?(g[0]!==h||g[1]!==B||g[2]!==f?(t=()=>{B.runCommand("downloadCSVMeasurementsReport",{StudyInstanceUID:h,measurementFilter:f})},g[0]=h,g[1]=B,g[2]=f,g[3]=t):t=g[3],g[4]===Symbol.for("react.memo_cache_sentinel")?(A=(0,tp.jsx)(tB.Icons.Download,{className:"h-5 w-5"}),n=(0,tp.jsx)("span",{className:"pl-1",children:"CSV"}),g[4]=A,g[5]=n):(A=g[4],n=g[5]),g[6]!==t?(r=(0,tp.jsxs)(tB.Button,{size:"sm",variant:"ghost",className:"pl-1.5",onClick:t,children:[A,n]}),g[6]=t,g[7]=r):r=g[7],g[8]!==h||g[9]!==w||g[10]!==B||g[11]!==f?(o=e=>{(e.stopPropagation(),w?.createSR)?w.createSR({StudyInstanceUID:h,measurementFilter:f}):B.run("promptSaveReport",{StudyInstanceUID:h,measurementFilter:f})},g[8]=h,g[9]=w,g[10]=B,g[11]=f,g[12]=o):o=g[12],g[13]===Symbol.for("react.memo_cache_sentinel")?(i=(0,tp.jsx)(tB.Icons.Add,{}),g[13]=i):i=g[13],g[14]!==y?(s=y("Save"),g[14]=y,g[15]=s):s=g[15],g[16]!==o||g[17]!==s?(a=(0,tp.jsxs)(tB.Button,{size:"sm",variant:"ghost",className:"pl-0.5",onClick:o,children:[i,s]}),g[16]=o,g[17]=s,g[18]=a):a=g[18],g[19]!==w||g[20]!==B||g[21]!==f?(l=e=>{(e.stopPropagation(),w?.onDelete)?w.onDelete():B.runCommand("clearMeasurements",{measurementFilter:f})},g[19]=w,g[20]=B,g[21]=f,g[22]=l):l=g[22],g[23]===Symbol.for("react.memo_cache_sentinel")?(c=(0,tp.jsx)(tB.Icons.Delete,{}),g[23]=c):c=g[23],g[24]!==y?(u=y("Delete"),g[24]=y,g[25]=u):u=g[25],g[26]!==u||g[27]!==l?(d=(0,tp.jsxs)(tB.Button,{size:"sm",variant:"ghost",className:"pl-0.5",onClick:l,children:[c,u]}),g[26]=u,g[27]=l,g[28]=d):d=g[28],g[29]!==d||g[30]!==r||g[31]!==a?(p=(0,tp.jsx)("div",{className:"bg-background flex h-9 w-full items-center rounded pr-0.5",children:(0,tp.jsxs)("div",{className:"flex space-x-1",children:[r,a,d]})}),g[29]=d,g[30]=r,g[31]=a,g[32]=p):p=g[32],p):null}let pj=function(e){let t,A=(0,D.c)(2);return A[0]!==e?(t=(0,tp.jsxs)("div",{children:[(0,tp.jsx)(pk,{...e}),(0,tp.jsx)(pP,{...e})]}),A[0]=e,A[1]=t):t=A[1],t},{MeasurementFilters:pG}=k.utils,pK=(e,t,A)=>{let n,r,o=new Map,{activeStudyUID:i}=t,{displaySetService:s}=A.servicesManager.services;return e.filter(e=>e.displaySetInstanceUID).forEach(e=>{let A=s.getDisplaySetByUID(e.displaySetInstanceUID).instances[0].StudyInstanceUID;if(!o.has(A)){let e=[],s=pG.filterAnd(pG.filterMeasurementsByStudyUID(A),t.filter),a={...t,items:e,displayMeasurements:e,key:A,isSelected:A===i,StudyInstanceUID:A,filter:s,measurementFilter:s};a.isSelected&&!n&&(n=a),r||=a,o.set(A,a)}!n&&r&&(r.isSelected=!0),o.get(A).items.push(e)}),o};function pW(e){let t,A,n,r,o,i,s=(0,D.c)(16),{items:a,grouping:l,children:c}=e;s[0]!==l?(t=void 0===l?{}:l,s[0]=l,s[1]=t):t=s[1];let u=t,d=(0,k.useActiveViewportDisplaySets)(),p=d?.[0]?.StudyInstanceUID;return s[2]!==p||s[3]!==u?(A={name:"groupByStudy",groupingFunction:pK,activeStudyUID:p,...u},s[2]=p,s[3]=u,s[4]=A):A=s[4],s[5]!==p?(n=[p],s[5]=p,s[6]=n):n=s[6],s[7]===Symbol.for("react.memo_cache_sentinel")?(r=(0,tp.jsx)(pF.Trigger,{children:(0,tp.jsx)(pj,{})}),s[7]=r):r=s[7],s[8]!==p?(o=(0,tp.jsx)(pH,{activeStudyUID:p}),s[8]=p,s[9]=o):o=s[9],s[10]!==c||s[11]!==a||s[12]!==A||s[13]!==n||s[14]!==o?(i=(0,tp.jsxs)(pF,{grouping:A,items:a,value:n,sourceChildren:c,children:[r,o]}),s[10]=c,s[11]=a,s[12]=A,s[13]=n,s[14]=o,s[15]=i):i=s[15],i}function pY(e){let t,A,n=(0,D.c)(14),{measurementFilter:r,emptyComponent:o,children:i}=e;n[0]!==r?(t={measurementFilter:r},n[0]=r,n[1]=t):t=n[1];let s=(0,pi.d)(t);if(!s.length){let e;return n[2]!==o||n[3]!==s?(e=o?(0,tp.jsx)(o,{items:s}):(0,tp.jsx)("span",{className:"text-foreground",children:"No Measurements"}),n[2]=o,n[3]=s,n[4]=e):e=n[4],e}if(i){let e;if(n[5]!==i||n[6]!==s||n[7]!==r){let t;n[9]!==s||n[10]!==r?(t=e=>M.cloneElement(e,{items:s,filter:r}),n[9]=s,n[10]=r,n[11]=t):t=n[11],e=M.Children.map(i,t),n[5]=i,n[6]=s,n[7]=r,n[8]=e}else e=n[8];return e}return n[12]!==s?(A=(0,tp.jsx)(pW,{items:s}),n[12]=s,n[13]=A):A=n[13],A}var pz=x(8191),pX=L.Enums.OrientationAxis;function pJ({segmentationService:e,customizationService:t,commandsManager:A}){let n=!1,{unsubscribe:r}=e.subscribeDebounced(e.EVENTS.SEGMENTATION_DATA_MODIFIED,async({segmentationId:r})=>{let o=t.getCustomization("panelSegmentation.disableUpdateSegmentationStats"),i=e.getSegmentation(r);if(!i||o)return;let s=t.getCustomization("panelSegmentation.readableText");for(let e of Object.keys(i.segments).map(e=>parseInt(e)).filter(e=>e>0)){let t=i.segments[e];t?.cachedStats?.namedStats?.bidirectional&&A.runCommand("runSegmentBidirectional",{segmentationId:r,segmentIndex:e})}let a=await l9({segmentation:i,segmentationId:r,readableText:s});!n&&a&&e.getSegmentation(r)&&e.addOrUpdateSegmentation({segmentationId:r,segments:a.segments})},1e3);return{unsubscribe:()=>{n=!0,r()}}}function pq({segmentationService:e}){let{unsubscribe:t}=e.subscribe(e.EVENTS.SEGMENTATION_MODIFIED,async({segmentationId:t})=>{let A=e.getSegmentation(t);if(!A)return;let n=R.annotation.state.getAllAnnotations().filter(e=>e.metadata.toolName===R.SegmentBidirectionalTool.toolName),r=Object.keys(A.segments).map(e=>parseInt(e)).filter(e=>e>0);n.filter(e=>e.metadata.segmentationId===t&&!r.includes(e.metadata.segmentIndex)).map(e=>e.annotationUID).forEach(e=>{R.annotation.state.removeAnnotation(e)})});return{unsubscribe:t}}let p$="RTSTRUCT",pZ={handleSegmentChange:({direction:e,segmentationId:t,viewportId:A,selectedSegmentObjectIndex:n,segmentationService:r})=>{let{segments:o}=r.getSegmentation(t),i=Object.keys(o).length,s=r.getActiveSegment(A);s&&(n=Object.values(o).findIndex(e=>e.segmentIndex===s.segmentIndex));let a=n+e;a>i-1?a=0:a<0&&(a=i-1);let l=Object.values(o)[a]?.segmentIndex;r.setActiveSegment(t,l),r.jumpToSegmentNext(t,l,void 0,e),n=a},isReferenceViewable:(e,t,A,n)=>{let{cornerstoneViewportService:r,displaySetService:o}=e.services;if(!n)return r.getCornerstoneViewport(t).isReferenceViewable(A,{withNavigation:!0,asVolume:!0});if("stack"===n.viewportType)return o.getDisplaySetByUID(A.displaySetInstanceUID).instances.map(e=>e.imageId).includes(A.referencedImageId);let{orientation:i}=n;return function(e,t){let A=e.getDisplaySetByUID(t).instances[0].ImageOrientationPatient;if(A?.length!==6)return;let n=nR.vec3.fromValues(A[0],A[1],A[2]),r=nR.vec3.fromValues(A[3],A[4],A[5]),o=nR.vec3.cross(nR.vec3.create(),n,r),i={[pX.AXIAL]:nR.vec3.fromValues(0,0,1),[pX.CORONAL]:nR.vec3.fromValues(0,1,0),[pX.SAGITTAL]:nR.vec3.fromValues(1,0,0)},s=0,a="";for(let[e,t]of Object.entries(i)){let A=Math.abs(nR.vec3.dot(o,t));A>s&&(s=A,a=e)}return a}(o,A.displaySetInstanceUID)===i},setupSegmentationDataModifiedHandler:pJ,setupSegmentationModifiedHandler:pq,promptHydrationDialog:function({servicesManager:e,viewportId:t,displaySet:A,preHydrateCallbacks:n=[],hydrateCallback:r,type:o}){let{uiViewportDialogService:i,customizationService:s}=e.services,a=e._extensionManager.appConfig,l=a?.measurementTrackingMode==="standard";return new Promise(async function(c,u){var d,p,g,m;let h=("SR"===o?l:!a?.disableConfirmationPrompts)?await (d=i,p=s,g=t,m=o,new Promise(function(e,t){let A=function(e){switch(e){case p$:return"viewportNotification.hydrateRTMessage";case"SEG":return"viewportNotification.hydrateSEGMessage";case"SR":return"viewportNotification.hydrateSRMessage";default:return"viewportNotification.hydrateMessage"}}(m),n=p.getCustomization(A),r=t=>{d.hide(),e(t)};d.show({id:function(e){switch(e){case p$:return"promptHydrateRT";case"SEG":return"promptHydrateSEG";case"SR":return"promptHydrateSR";default:return"promptHydrate"}}(m),viewportId:g,type:"info",message:n,actions:[{id:"no-hydrate",type:"secondary",text:"No",value:0},{id:"yes-hydrate",type:"primary",text:"Yes",value:5}],onSubmit:r,onOutsideClick:()=>{d.hide(),e(0)},onKeyPress:e=>{"Enter"===e.key&&r(5)}})})):5;if(5===h){if(n?.forEach(e=>{e()}),"SEG"===o)window.setTimeout(async()=>{try{let e=await r({segDisplaySet:A,viewportId:t});c(e)}catch(e){u(e)}},0);else if(o===p$)window.setTimeout(async()=>{try{let n=await r({rtDisplaySet:A,viewportId:t,servicesManager:e});c(n)}catch(e){u(e)}},0);else if("SR"===o){let e=await r(A);c({userResponse:h,displaySetInstanceUID:A.displaySetInstanceUID,srSeriesInstanceUID:A.SeriesInstanceUID,viewportId:t,StudyInstanceUID:e?.StudyInstanceUID,SeriesInstanceUIDs:e?.SeriesInstanceUIDs})}}else"SR"===o?c({userResponse:h,displaySetInstanceUID:A.displaySetInstanceUID,srSeriesInstanceUID:A.SeriesInstanceUID,viewportId:t}):c(!1)})},getCenterExtent:nV,createSegmentationForViewport:cy},{Enums:p0}=R,p1=e=>{let{element:t}=e.detail;R.utilities.contours.acceptAutogeneratedInterpolations(t,{})};var p3=x(1752),p2=x.n(p3);function p4(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h=(0,D.c)(36),{group:f,classNames:w}=e,{t:B}=tP("MeasurementTable"),y=(0,k.useSystem)(),[v,S]=(0,M.useState)(!1);if(!f.items?.length)return console.log("No items to iterate",f.items),null;let{items:C}=f,[I]=C,{isSelected:b,isVisible:U}=I;h[0]!==C||h[1]!==y.commandsManager?(t=(e,t,A)=>{let n=C.map(p9);y.commandsManager.run(t,{...A,uid:n,displayMeasurements:C,items:C,event:e})},h[0]=C,h[1]=y.commandsManager,h[2]=t):t=h[2];let E=t,F=`relative ml-2 inline-flex items-center space-x-1 ${w}`,Q=`h-6 w-6 transition-opacity ${b||!U?"opacity-100":"opacity-50 group-hover:opacity-100"}`;h[3]!==U||h[4]!==B?(A=B(U?"Hide":"Show"),h[3]=U,h[4]=B,h[5]=A):A=h[5],h[6]!==E?(n=e=>{e.stopPropagation(),E(e,["jumpToMeasurement","toggleVisibilityMeasurement"])},h[6]=E,h[7]=n):n=h[7],h[8]!==U?(r=U?(0,tp.jsx)(tB.Icons.Hide,{className:"h-6 w-6"}):(0,tp.jsx)(tB.Icons.Show,{className:"h-6 w-6"}),h[8]=U,h[9]=r):r=h[9],h[10]!==Q||h[11]!==A||h[12]!==n||h[13]!==r?(o=(0,tp.jsx)(tB.Button,{size:"icon",variant:"ghost",className:Q,"aria-label":A,onClick:n,children:r}),h[10]=Q,h[11]=A,h[12]=n,h[13]=r,h[14]=o):o=h[14],h[15]===Symbol.for("react.memo_cache_sentinel")?(i=e=>S(e),h[15]=i):i=h[15];let T=`h-6 w-6 transition-opacity ${b||v?"opacity-100":"opacity-50 group-hover:opacity-100"}`;return h[16]===Symbol.for("react.memo_cache_sentinel")?(s=(0,tp.jsx)(tB.Icons.More,{className:"h-6 w-6"}),h[16]=s):s=h[16],h[17]!==T?(a=(0,tp.jsx)(tB.DropdownMenuTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{size:"icon",variant:"ghost",className:T,"aria-label":"Actions",onClick:p6,children:s})}),h[17]=T,h[18]=a):a=h[18],h[19]!==E?(l=e=>E(e,"removeMeasurement"),h[19]=E,h[20]=l):l=h[20],h[21]===Symbol.for("react.memo_cache_sentinel")?(c=(0,tp.jsx)(tB.Icons.Delete,{className:"text-foreground"}),h[21]=c):c=h[21],h[22]!==B?(u=B("Delete"),h[22]=B,h[23]=u):u=h[23],h[24]!==u?(d=(0,tp.jsx)("span",{className:"pl-2",children:u}),h[24]=u,h[25]=d):d=h[25],h[26]!==l||h[27]!==d?(p=(0,tp.jsx)(tB.DropdownMenuContent,{align:"end",children:(0,tp.jsxs)(tB.DropdownMenuItem,{onClick:l,children:[c,d]})}),h[26]=l,h[27]=d,h[28]=p):p=h[28],h[29]!==a||h[30]!==p?(g=(0,tp.jsxs)(tB.DropdownMenu,{onOpenChange:i,children:[a,p]}),h[29]=a,h[30]=p,h[31]=g):g=h[31],h[32]!==F||h[33]!==g||h[34]!==o?(m=(0,tp.jsxs)("div",{className:F,children:[o,g]}),h[32]=F,h[33]=g,h[34]=o,h[35]=m):m=h[35],m}function p6(e){return e.stopPropagation()}function p9(e){return e.uid}function p8(e){let{group:t,onClick:A=t?.onClick}=this;return A?(console.log("onClickDefault"),e.preventDefault(),e.stopPropagation(),A(e,t),!1):void console.log("No onClick function",t)}function p5(e){let t,A,n,r,o,i,s,a,l,c,u,d=(0,D.c)(29),{marginLeft:p,isActive:g,colorHex:m,count:h,text:f,menu:w}=e,B=void 0!==g&&g,y=void 0===w?null:w,v=`${void 0===p?8:p}px`;d[0]!==v?(t={marginLeft:v,padding:0},d[0]=v,d[1]=t):t=d[1];let S=`inline-flex text-base ${B?"bg-popover":"bg-muted"} flex-grow`;d[2]!==e?(A=p8.bind(e),d[2]=e,d[3]=A):A=d[3];let C=`inline-flex rounded-l border-r border-background ${B?"bg-highlight":"bg-muted"}`;return d[4]!==h?(n=void 0!==h?(0,tp.jsx)("span",{className:"px-2",children:h}):null,d[4]=h,d[5]=n):n=d[5],d[6]!==m?(r=m&&(0,tp.jsx)(tB.ColorCircle,{colorHex:m}),d[6]=m,d[7]=r):r=d[7],d[8]!==C||d[9]!==n||d[10]!==r?(o=(0,tp.jsxs)("span",{className:C,children:[n,r]}),d[8]=C,d[9]=n,d[10]=r,d[11]=o):o=d[11],d[12]!==f?(i=(0,tp.jsx)("span",{children:f}),d[12]=f,d[13]=i):i=d[13],d[14]!==o||d[15]!==i||d[16]!==A?(s=(0,tp.jsxs)("button",{onClick:A,children:[o,i]}),d[14]=o,d[15]=i,d[16]=A,d[17]=s):s=d[17],d[18]!==y||d[19]!==e?(a=y&&(0,tp.jsx)(y,{...e,classNames:"justify-end flex-grow"}),d[18]=y,d[19]=e,d[20]=a):a=d[20],d[21]===Symbol.for("react.memo_cache_sentinel")?(l=(0,tp.jsx)(pb,{className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"}),d[21]=l):l=d[21],d[22]!==s||d[23]!==a||d[24]!==S?(c=(0,tp.jsxs)("div",{className:S,children:[s,a,l]}),d[22]=s,d[23]=a,d[24]=S,d[25]=c):c=d[25],d[26]!==c||d[27]!==t?(u=(0,tp.jsx)(tB.AccordionTrigger,{style:t,asChild:!0,children:c}),d[26]=c,d[27]=t,d[28]=u):u=d[28],u}function p7(e){let t,A,n,r=(0,D.c)(10),{index:o,item:i}=e,s=o+1,a=i.toolName||i.label||i.title;return r[0]!==i?(t=[i],r[0]=i,r[1]=t):t=r[1],r[2]!==e.onClick||r[3]!==t?(A={items:t,onClick:e.onClick},r[2]=e.onClick,r[3]=t,r[4]=A):A=r[4],r[5]!==i.isSelected||r[6]!==s||r[7]!==a||r[8]!==A?(n=(0,tp.jsx)(p5,{count:s,text:a,colorHex:"#f00",isActive:i.isSelected,menu:p4,group:A}),r[5]=i.isSelected,r[6]=s,r[7]=a,r[8]=A,r[9]=n):n=r[9],n}function ge(e){let t,A,n,r=(0,D.c)(9),{items:o}=e,i=(0,k.useSystem)();r[0]!==i?(t=(e,t)=>{let{items:A}=t;i.commandsManager.run("jumpToMeasurement",{uid:A[0].uid,displayMeasurements:A,group:t})},r[0]=i,r[1]=t):t=r[1];let s=t;if(r[2]!==o||r[3]!==s){let e;r[5]!==s?(e=(e,t)=>{let{displayText:A}=e,n=void 0===A?{}:A;return(0,tp.jsxs)(tB.AccordionItem,{value:e.uid,children:[(0,tp.jsx)(p7,{item:e,index:t,onClick:s},`measurementItem:${e.uid}`),(0,tp.jsx)(tB.AccordionContent,{children:(0,tp.jsx)("div",{className:"ml-7 px-2 py-2",children:(0,tp.jsx)("div",{className:"text-secondary-foreground flex items-center gap-1 text-base leading-normal",children:n.primary?.length>0&&n.primary.map((t,A)=>(0,tp.jsx)("span",{children:t},`details:${e.uid}:${A}`))})})},`measurementContent:${e.uid}`)]},`measurementAccordion:${e.uid}`)},r[5]=s,r[6]=e):e=r[6],A=o.map(e),r[2]=o,r[3]=s,r[4]=A}else A=r[4];return r[7]!==A?(n=(0,tp.jsx)(tB.Accordion,{type:"multiple",className:"flex-shrink-0 overflow-hidden",children:A}),r[7]=A,r[8]=n):n=r[8],n}let gt=(e,t,A)=>{let n=new Map,{displaySetService:r}=A.servicesManager.services,{activeDisplaySetInstanceUID:o}=t;return e.forEach(e=>{let{displaySetInstanceUID:A}=e;if(!n.has(A)){let e=r.getDisplaySetByUID(A);n.set(A,{header:null,isSelected:A==o,...t,items:[],key:A,title:"Series Measurements",displaySet:e})}n.get(A).items.push(e)}),n};function gA(e){let t,A=(0,D.c)(5),{group:n,isSelected:r,displaySet:o,menu:i}=e,{SeriesNumber:s,SeriesDescription:a}=o,l=`Series #${void 0===s?1:s} ${a}`;return A[0]!==n||A[1]!==r||A[2]!==i||A[3]!==l?(t=(0,tp.jsx)(p5,{text:l,count:n.items.length,isActive:r,group:n,menu:i,marginLeft:"0"}),A[0]=n,A[1]=r,A[2]=i,A[3]=l,A[4]=t):t=A[4],t}function gn(e){let t,A,n,r,o,i,s=(0,D.c)(14),{items:a,grouping:l,children:c}=e;s[0]!==l?(t=void 0===l?{}:l,s[0]=l,s[1]=t):t=s[1];let u=t,d=(0,k.useSystem)(),p=(0,k.useActiveViewportDisplaySets)(d),g=p?.[0]?.displaySetInstanceUID;s[2]!==d?(A=(e,t)=>{let{items:A}=t;d.commandsManager.run("jumpToMeasurement",{uid:A[0].uid,displayMeasurements:A,group:t})},s[2]=d,s[3]=A):A=s[3];let m=A;return s[4]!==g||s[5]!==u||s[6]!==m?(n={groupingFunction:gt,activeDisplaySetInstanceUID:g,...u,onClick:m},s[4]=g,s[5]=u,s[6]=m,s[7]=n):n=s[7],s[8]===Symbol.for("react.memo_cache_sentinel")?(r=(0,tp.jsx)(pF.Trigger,{asChild:!0,children:(0,tp.jsx)(gA,{menu:p4})}),o=(0,tp.jsx)(ge,{}),s[8]=r,s[9]=o):(r=s[8],o=s[9]),s[10]!==c||s[11]!==a||s[12]!==n?(i=(0,tp.jsxs)(pF,{grouping:n,items:a,sourceChildren:c,children:[r,o]}),s[10]=c,s[11]=a,s[12]=n,s[13]=i):i=s[13],i}let{imageRetrieveMetadataProvider:gr}=L.utilities,go=M.lazy(()=>Promise.resolve().then(x.bind(x,7406))),gi=e=>{let t,A,n=(0,D.c)(3);return n[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,tp.jsx)("div",{children:"Loading..."}),n[0]=t):t=n[0],n[1]!==e?(A=(0,tp.jsx)(M.Suspense,{fallback:t,children:(0,tp.jsx)(go,{...e})}),n[1]=e,n[2]=A):A=n[2],A},gs={retrieveOptions:{single:{streaming:!0,decodeLevel:1}}},ga=[],gl={id:d6,onModeEnter:({servicesManager:e,commandsManager:t,extensionManager:A})=>{let{cornerstoneViewportService:n,toolbarService:r,segmentationService:o}=e.services,{unsubscriptions:i}=(({servicesManager:e,commandsManager:t})=>{let{segmentationService:A,customizationService:n,displaySetService:r,viewportGridService:o}=e.services,{unsubscribe:i}=pJ({segmentationService:A,customizationService:n,commandsManager:t}),{unsubscribe:s}=pq({segmentationService:A}),{unsubscribe:a}=A.subscribe(A.EVENTS.SEGMENTATION_ADDED,e=>{let{segmentationId:t}=e;if(r.getDisplaySetByUID(t))return;let n=A.getSegmentation(t),o=n.label,i=n.representationData?.Labelmap?.imageIds??n.representationData?.Contour?.imageIds,s={displaySetInstanceUID:t,SOPClassUID:"1.2.840.10008.5.1.4.1.1.66.4",SOPClassHandlerId:"@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg",SeriesDescription:o,Modality:n.representationData[R.Enums.SegmentationRepresentations.Contour]?"RTSTRUCT":"SEG",numImageFrames:i.length,imageIds:i,isOverlayDisplaySet:!0,label:o,madeInClient:!0,segmentationId:t,isDerived:!0};r.addDisplaySets(s)}),{unsubscribe:l}=A.subscribe(A.EVENTS.SEGMENTATION_REMOVED,({segmentationId:e})=>{let A=r.getDisplaySetByUID(e);if(A){for(let[n,r]of(A.isHydrated=!1,t.runCommand("updateStoredSegmentationPresentation",{displaySet:A,hydrated:!1}),o.getState().viewports.entries()))(r.displaySetInstanceUIDs||[]).includes(e)&&t.runCommand("removeDisplaySetLayer",{viewportId:n,displaySetInstanceUID:e});A.madeInClient&&r.deleteDisplaySet(e)}}),{unsubscribeSelectedSegmentationsForViewportEvents:c}=function({segmentationService:e}){return{unsubscribeSelectedSegmentationsForViewportEvents:[e.EVENTS.SEGMENTATION_MODIFIED,e.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED].map(t=>e.subscribe(t,t=>{let{viewportId:A}=t;if(!A)return;let{selectedSegmentationsForViewport:n,setSelectedSegmentationsForViewport:r}=nG.getState(),o=e.getSegmentationRepresentations(A).find(e=>e.active),i=n[A]??new Map;o?i.set(o.type,o.segmentationId):i.clear(),r(A,i)})).map(e=>e.unsubscribe)}}({segmentationService:A});return{unsubscriptions:[i,s,a,l,...c]}})({servicesManager:e,commandsManager:t});ga.push(...i);let s=(L.eventTarget.addEventListener(p0.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,p1),[()=>{L.eventTarget.removeEventListener(p0.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,p1)}]);ga.push(...s),r.registerEventForToolbarUpdate(n,[n.EVENTS.VIEWPORT_DATA_CHANGED]),r.registerEventForToolbarUpdate(o,[o.EVENTS.SEGMENTATION_REMOVED,o.EVENTS.SEGMENTATION_MODIFIED,o.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED]),r.registerEventForToolbarUpdate(L.eventTarget,[R.Enums.Events.TOOL_ACTIVATED]),gr.clear(),gr.add("volume",L.ProgressiveRetrieveImages.interleavedRetrieveStages);let a=(A?.getActiveDataSource?.()?.[0]?.getConfig?.()??{}).stackRetrieveOptions??{},l=p2()(gs,null!=a&&"object"==typeof a&&Object.keys(a).some(e=>e.startsWith("$"))?a:{$merge:a??{}});gr.add("stack",l)},getPanelModule:({commandsManager:e,servicesManager:t,extensionManager:A})=>{let{toolbarService:n}=t.services,r={[ta.SegmentationRepresentations.Labelmap]:n.sections.labelMapSegmentationToolbox,[ta.SegmentationRepresentations.Contour]:n.sections.contourSegmentationToolbox},o=n=>{let{t:o}=tP("SegmentationPanel"),i=o(`${n.segmentationRepresentationTypes?.[0]??"Segmentation"} tools`);return(0,tp.jsxs)(tp.Fragment,{children:[(0,tp.jsx)(q.Toolbox,{buttonSectionId:r[n.segmentationRepresentationTypes?.[0]],title:i}),(0,tp.jsx)(pl,{commandsManager:e,servicesManager:t,extensionManager:A,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})]})};return[{name:"activeViewportWindowLevel",component:()=>(0,tp.jsx)(pC,{servicesManager:t})},{name:"panelMeasurement",iconName:"tab-linear",iconLabel:"Measure",label:"Measurement",component:pY},{name:"panelSegmentation",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>(0,tp.jsx)(pl,{commandsManager:e,servicesManager:t,extensionManager:A,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationNoHeader",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>(0,tp.jsx)(pl,{commandsManager:e,servicesManager:t,extensionManager:A,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationWithToolsLabelMap",iconName:"tab-segmentation",iconLabel:"Segmentation",label:cB().t("SegmentationPanel:Labelmap"),component:e=>o({...e,segmentationRepresentationTypes:[ta.SegmentationRepresentations.Labelmap,ta.SegmentationRepresentations.Surface]})},{name:"panelSegmentationWithToolsContour",iconName:"tab-contours",iconLabel:"Segmentation",label:cB().t("SegmentationPanel:Contour"),component:e=>o({...e,segmentationRepresentationTypes:[ta.SegmentationRepresentations.Contour]})}]},onModeExit:({servicesManager:e})=>{ga.forEach(e=>e()),ga.length=0;let{cineService:t,segmentationService:A}=e.services;Object.values(L.Enums.RequestType).forEach(e=>{L.imageLoadPoolManager.clearRequestStack(e),L.imageRetrievalPoolManager.clearRequestStack(e)}),V.utilities.clearCacheData(),t.setIsCineEnabled(!1),(0,$.cL)(),tl.I.getState().clearLutPresentationStore(),tc.q.getState().clearPositionPresentationStore(),nP.U.getState().clearSynchronizersStore(),q.useToggleOneUpViewportGridStore.getState().clearToggleOneUpViewportGridStore(),tu.v.getState().clearSegmentationPresentationStore(),nG.getState().clearSelectedSegmentationsForViewportStore(),e.services.viewedDataService?.clearViewedData(),A.removeAllSegmentations()},preRegistration:async function(e){let{servicesManager:t}=e;t.registerService(dV.REGISTRATION),t.registerService(uK.REGISTRATION),t.registerService(u0.REGISTRATION),t.registerService(du.REGISTRATION),t.registerService(dB.REGISTRATION),t.registerService(dH.REGISTRATION),t.registerService(d_.REGISTRATION);let{syncGroupService:A}=t.services;A.registerCustomSynchronizer("frameview",d8),await tm.call(this,e)},getToolbarModule:function({servicesManager:e,extensionManager:t}){let{toolGroupService:A,toolbarService:n,syncGroupService:r,cornerstoneViewportService:o,colorbarService:i,displaySetService:s,viewportGridService:a,segmentationService:l}=e.services;return[{name:"ohif.advancedRenderingControls",defaultComponent:uk},{name:"evaluate.advancedRenderingControls",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!i?.hasColorbar(e)}:{disabled:!0}},{name:"ohif.colorbar",defaultComponent:uV},{name:"ohif.trackingStatus",defaultComponent:uO},{name:"evaluate.trackingStatus",evaluate:({viewportId:e})=>{let t=a.getDisplaySetsUIDsForViewport(e);return t?.length?{disabled:!1}:{disabled:!0}}},{name:"ohif.modalityLoadBadge",defaultComponent:uU},{name:"evaluate.modalityLoadBadge",evaluate:({viewportId:e})=>{let t=a.getDisplaySetsUIDsForViewport(e);return t?.length?{disabled:!t.map(e=>s.getDisplaySetByUID(e)).some(e=>e?.Modality==="SR"||e?.Modality==="SEG"||e?.Modality==="RTSTRUCT")}:{disabled:!0}}},{name:"ohif.navigationComponent",defaultComponent:ux},{name:"evaluate.navigationComponent",evaluate:({viewportId:t})=>{let{trackedMeasurementsService:A}=e.services,n=a.getDisplaySetsUIDsForViewport(t);if(!n?.length)return{disabled:!0};let r=n.map(e=>s.getDisplaySetByUID(e)),o=l.getSegmentationRepresentations(t).length>0;if(!A)return{disabled:!o};let i=r.some(e=>e?.SeriesInstanceUID&&A.isSeriesTracked(e.SeriesInstanceUID)),c=r.some(e=>e?.Modality==="SR");return{disabled:!(o||i||c)}}},{name:"ohif.dataOverlayMenu",defaultComponent:c$},{name:"evaluate.dataOverlayMenu",evaluate:({viewportId:e})=>{if(!o.getCornerstoneViewport(e))return{disabled:!0};let t=a.getDisplaySetsUIDsForViewport(e);return t?.length?{disabled:!1}:{disabled:!0}}},{name:"ohif.orientationMenu",defaultComponent:c4},{name:"evaluate.orientationMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:a.getDisplaySetsUIDsForViewport(e).map(s.getDisplaySetByUID).some(e=>!e?.isReconstructable)}:{disabled:!0}},{name:"ohif.windowLevelMenu",defaultComponent:ud},{name:"ohif.voiManualControlMenu",defaultComponent:uw},{name:"ohif.windowLevelMenuEmbedded",defaultComponent:ud},{name:"evaluate.windowLevelMenuEmbedded",evaluate:()=>({isEmbedded:!0})},{name:"ohif.thresholdMenu",defaultComponent:uv},{name:"ohif.opacityMenu",defaultComponent:uC},{name:"evaluate.windowLevelMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!a.getDisplaySetsUIDsForViewport(e).map(s.getDisplaySetByUID).some(e=>e?.supportsWindowLevel),hasEmbeddedVariantToUse:!!n.isInAnySection("windowLevelMenuEmbedded")}:{disabled:!0}},{name:"evaluate.voiManualControlMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!a.getDisplaySetsUIDsForViewport(e).map(s.getDisplaySetByUID).some(e=>e?.supportsWindowLevel)}:{disabled:!0}},{name:"evaluate.thresholdMenu",evaluate:({viewportId:e})=>{let t=o.getCornerstoneViewport(e);return t&&(0,nL.rK)(t)&&a.getDisplaySetsUIDsForViewport(e).length?{disabled:!1}:{disabled:!0}}},{name:"evaluate.opacityMenu",evaluate:({viewportId:e})=>{let t=o.getCornerstoneViewport(e);if(!t||!(0,nL.rK)(t))return{disabled:!0};let A=a.getDisplaySetsUIDsForViewport(e);return A.length<=1?{disabled:!0}:{disabled:A.map(s.getDisplaySetByUID).some(e=>e?.isOverlayDisplaySet)}}},{name:"evaluate.viewport.supported",evaluate:({viewportId:e,unsupportedViewportTypes:t,disabledText:A})=>{let n=o.getCornerstoneViewport(e);if(n&&t?.includes(n.type))return uP(A)}},{name:"evaluate.modality.supported",evaluate:({viewportId:e,unsupportedModalities:t,supportedModalities:A,disabledText:n})=>{let r=a.getDisplaySetsUIDsForViewport(e);if(!r?.length)return;let o=r.map(s.getDisplaySetByUID);return t?.length&&o.some(e=>t.includes(e?.Modality))?uP(n):A?.length&&!o.some(e=>A.includes(e?.Modality))?uP(n||cB().t("Buttons:Tool not available for this modality")):void 0}},{name:"evaluate.cornerstoneTool",evaluate:({viewportId:e,button:t,toolNames:r,disabledText:o})=>{let i=A.getToolGroupForViewport(e);if(!i)return;let s=n.getToolNameForButton(t);return i&&(i.hasTool(s)||r)?{disabled:!1,isActive:r?r.includes(i.getActivePrimaryMouseButtonTool()):i.getActivePrimaryMouseButtonTool()===s}:uP(o)}},{name:"evaluate.cornerstoneTool.toggleWithModifier",evaluate:({viewportId:e,button:t,disabledText:r,toggledOnIcon:o,defaultIcon:i})=>{let s=A.getToolGroupForViewport(e);if(!s)return;let a=n.getToolNameForButton(t);if(!s.hasTool(a))return uP(r);let{mode:l}=s.getToolOptions(a)??{},c=l===R.Enums.ToolModes.Passive||l===R.Enums.ToolModes.Active||l===R.Enums.ToolModes.Enabled,u=A.getToolBindings(s.id,a),d=u?.some(e=>null!=e.modifierKey)??!1;return{disabled:!1,isActive:!1,isToggled:c,icon:c&&d&&o?o:i??t.props.icon}}},{name:"evaluate.action",evaluate:()=>({disabled:!1})},{name:"evaluate.cornerstoneTool.toggle.ifStrictlyDisabled",evaluate:({viewportId:e,button:t,disabledText:r})=>uj({viewportId:e,button:t,toolbarService:n,disabledText:r,offModes:[R.Enums.ToolModes.Disabled],toolGroupService:A})},{name:"evaluate.cornerstoneTool.toggle",evaluate:({viewportId:e,button:t,disabledText:r})=>uj({viewportId:e,button:t,toolbarService:n,disabledText:r,offModes:[R.Enums.ToolModes.Disabled,R.Enums.ToolModes.Passive],toolGroupService:A})},{name:"evaluate.cornerstone.synchronizer",evaluate:({viewportId:e,button:t})=>{let A=r.getSynchronizersForViewport(e);if(!A?.length||A.length<=1)return{className:tB.utils.getToggledClassName(!1)};let n=Array.isArray(t.props?.commands)?t.props?.commands?.[0].commandOptions.type:t.props?.commands?.commandOptions.type;if(A=r.getSynchronizersOfType(n),!A?.length)return{className:tB.utils.getToggledClassName(!1)};let o=A[0],i=o?._enabled;return{className:tB.utils.getToggledClassName(i)}}},{name:"evaluate.viewportProperties.toggle",evaluate:({viewportId:e,button:t})=>{let A=o.getCornerstoneViewport(e);if(!A||A.isDisabled)return;let n=t.id,r=(0,nL.qU)(A),i=r.getPresentation(),s=r.getViewState(),a=s?.[n]||i?.[n];return a?{className:tB.utils.getToggledClassName(a)}:{disabled:!1}}},{name:"evaluate.displaySetIsReconstructable",evaluate:({viewportId:e,disabledText:t="Selected viewport is not reconstructable"})=>o.getCornerstoneViewport(e)?a.getDisplaySetsUIDsForViewport(e).map(s.getDisplaySetByUID).every(e=>e?.isReconstructable)?{disabled:!1}:uP(t):void 0}]},getHangingProtocolModule:function(){return[{name:cL.id,protocol:cL},{name:cN.id,protocol:cN},{name:cR.id,protocol:cR},{name:cV.id,protocol:cV},{name:ck.id,protocol:ck},{name:cH.id,protocol:cH},{name:c_.id,protocol:c_},{name:cP.id,protocol:cP}]},getViewportModule:({servicesManager:e,commandsManager:t})=>[{name:"cornerstone",component:A=>{let n,r=(0,D.c)(2),{toolbarService:o}=e.services;return r[0]!==A?(n=(0,tp.jsx)(gi,{...A,toolbarService:o,servicesManager:e,commandsManager:t}),r[0]=A,r[1]=n):n=r[1],n},isReferenceViewable:pZ.isReferenceViewable.bind(null,e)}],getCommandsModule:function({servicesManager:e,commandsManager:t,extensionManager:A}){let{viewportGridService:n,toolbarService:r,toolGroupService:o,cineService:i,uiDialogService:s,cornerstoneViewportService:a,uiNotificationService:l,measurementService:c,customizationService:u,colorbarService:d,hangingProtocolService:p,syncGroupService:g,segmentationService:m,displaySetService:h}=e.services;function f(){return ee(n)}function w(e){let t=e?Z(e):f();return t?.viewport}function B(){let e=f(),t=e&&o.getToolGroupForViewport(e.id);return t?.id}function y(e){return!e?.length||e.some(e=>e.mouseButton===R.Enums.MouseBindings.Primary&&null==e.modifierKey&&null==e.numTouchPoints)}function v(){let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e);return{segmentationId:t?.segmentationId,segmentIndex:m.getActiveSegment(e).segmentIndex}}function S(e){let t=o.getToolGroupIds();if(t?.length)for(let A of t){let t=cF.getBrushSizeForToolGroup(A),n="increase"===e?t+3:t-3;t&&(cF.setBrushSizeForToolGroup(A,n),r.refreshToolbarState({toolGroupId:A}))}}let C=t=>({type:A,value:n})=>{let{segmentationService:r}=e.services;A?r.setStyle({type:A},{[t]:n}):(r.setStyle({type:ta.SegmentationRepresentations.Labelmap},{[t]:n}),r.setStyle({type:ta.SegmentationRepresentations.Contour},{[t]:n}))},I={jumpToMeasurementViewport:({annotationUID:e,measurement:A})=>{R.annotation.selection.setAnnotationSelected(e,!0);let{metadata:r}=A,o=n.getActiveViewportId(),i=a.findNavigationCompatibleViewportId(o,r);if(i){let e,t,n=a.getCornerstoneViewport(i);n.setViewReference(r),n.render(),e=n,t=A,n_(e).centerOnMeasurement(e,t)&&n.render();return}let{displaySetInstanceUID:s}=A;if(!s)return void console.warn("ViewportGrid::No display set found in",A);let l=a.findUpdateableViewportConfiguration(o,A);if(!l)return void console.warn("Unable to find a viewport to show this in");let c=p.getViewportsRequireUpdate(l.viewportId,s);c?.[0]?(c[0].viewportOptions=l.viewportOptions,t.run("updateStoredPositionPresentation",{viewportId:l.viewportId,displaySetInstanceUIDs:[s],referencedImageId:A.referencedImageId,options:{...A.metadata}}),t.run("setDisplaySetsForViewports",{viewportsToUpdate:c})):console.warn("ViewportGrid::Unable to navigate to viewport containing",s)},cancelMeasurement:()=>{let e=f()?.viewport?.element;e&&(0,R.cancelActiveManipulations)(e)},loadDisplaySetData:async({displaySet:t,displaySetInstanceUID:A})=>{let n=t??h.getDisplaySetByUID(A);n&&await cn(n,e)},hydrateSecondaryDisplaySet:async({displaySet:e,viewportId:A})=>{if(!e)return;let r=a.getCornerstoneViewport(A);if(e.isOverlayDisplaySet){let A="SEG"!==e.Modality?ta.SegmentationRepresentations.Contour:r&&(0,es.Ov)(r)?ta.SegmentationRepresentations.Surface:ta.SegmentationRepresentations.Labelmap;t.runCommand("updateStoredSegmentationPresentation",{displaySet:e,type:A})}e.isHydrated=!0;let o=e.referencedDisplaySetInstanceUID,i=e=>{t.runCommand("updateStoredPositionPresentation",{viewportId:A,displaySetInstanceUIDs:[e.displaySetInstanceUID]})};if("SEG"===e.Modality||"RTSTRUCT"===e.Modality){let n=h.getDisplaySetByUID(o);i(n);let r=t.runCommand("loadSegmentationDisplaySetsForViewport",{viewportId:A,displaySetInstanceUIDs:[n.displaySetInstanceUID],derivedDisplaySetInstanceUID:e.displaySetInstanceUID,viewportType:nO(e.Modality)});if(u.getCustomization("panelSegmentation.disableEditing")){let t=e.displaySetInstanceUID,A=m.getSegmentation(t);Object.keys(A?.segments??{}).forEach(e=>{m.setSegmentLocked(t,parseInt(e),!0)})}return r}if("SR"===e.Modality){let A=t.runCommand("hydrateStructuredReport",{displaySetInstanceUID:e.displaySetInstanceUID}),{SeriesInstanceUIDs:r}=A,o=h.getDisplaySetsForSeries(r[0]);return o.forEach(i),o.length&&I.setDisplaySetsForViewports({viewportsToUpdate:[{viewportId:n.getActiveViewportId(),displaySetInstanceUIDs:[o[0].displaySetInstanceUID]}]}),A}},runSegmentBidirectional:async({segmentationId:e,segmentIndex:A}={})=>{let{segmentationId:r,segmentIndex:o}=e&&A?{segmentationId:e,segmentIndex:A}:v();if(!R.utilities.segmentation.getUniqueSegmentIndices(r).includes(o))return void l.show({title:cB().t("SegmentationPanel:Segment Bidirectional"),message:cB().t("SegmentationPanel:Draw a segment before using bidirectional measurement"),type:"warning"});let i=await R.utilities.segmentation.getSegmentLargestBidirectional({segmentationId:r,segmentIndices:[o]});if(!i.length)return;let s=n.getActiveViewportId();i.forEach(e=>{let{segmentIndex:t,majorAxis:A,minorAxis:n}=e,i=R.SegmentBidirectionalTool.hydrate(s,[A,n],{segmentIndex:t,segmentationId:r});e.annotationUID=i.annotationUID;let a=function({segmentationId:e,segmentIndex:t,bidirectionalData:A,segmentationService:n,annotation:r}){if(!e||void 0===t||!A)return console.debug("Missing required data for bidirectional stats update"),null;let o=n.getSegmentation(e);if(!o||!o.segments[t])return console.debug("Segment not found:",t,"in segmentation:",e),null;let i={...o},s=i.segments[t];s.cachedStats||(s.cachedStats={namedStats:{}}),s.cachedStats.namedStats||(s.cachedStats.namedStats={});let{majorAxis:a,minorAxis:l,maxMajor:c,maxMinor:u}=A;if(!a||!l)return console.debug("Missing major or minor axis data"),null;let d=!1,p=s.cachedStats.namedStats;return(c>0&&u>0&&(p.bidirectional={name:"bidirectional",label:"Bidirectional",annotationUID:r.annotationUID,value:{maxMajor:c,maxMinor:u,majorAxis:a,minorAxis:l},unit:"mm"},d=!0),d)?i:null}({segmentationId:r,segmentIndex:o,bidirectionalData:e,segmentationService:m,annotation:i});a&&m.addOrUpdateSegmentation({segmentationId:r,segments:a.segments})});let a=i.find(e=>e.segmentIndex===o);t.run("jumpToMeasurement",{uid:a?.annotationUID})},interpolateLabelmap:()=>{let{segmentationId:e,segmentIndex:t}=v();nQ.interpolate({segmentationId:e,segmentIndex:t})},showCornerstoneContextMenu:e=>{let A=f()?.viewport?.element,n={...e,element:A},{useSelectedAnnotation:r,nearbyToolData:o,event:i}=n;if(r&&!o){let e=ew(A);if(!(!n.allowedSelectedTools||n.allowedSelectedTools.includes(e?.metadata?.toolName)))return;n.nearbyToolData=e}n.defaultPointsPosition=[],n.selectorProps={toolName:n.nearbyToolData?.metadata?.toolName,value:n.nearbyToolData,uid:n.nearbyToolData?.annotationUID,nearbyToolData:n.nearbyToolData,event:i,...n.selectorProps},t.run(e,n)},updateStoredSegmentationPresentation:({displaySet:e,type:t,hydrated:A=!0})=>{let{addSegmentationPresentationItem:n,setHydrationForSegmentation:r,segmentationPresentationStore:o}=tu.v.getState(),i=e.referencedDisplaySetInstanceUID,s=e.displaySetInstanceUID;if(!i)return void r(s,{hydrated:A,type:t});let a=o[i]?.find(e=>e.segmentationId===s)?.type;n(i,{segmentationId:s,hydrated:A,type:t??a})},updateStoredPositionPresentation:({viewportId:e,displaySetInstanceUIDs:t,referencedImageId:A,options:n})=>{let r,o=a.getPresentations(e),{positionPresentationStore:i,setPositionPresentation:s,getPositionPresentationId:l}=tc.q.getState();t&&Array.isArray(t)&&t.length>0&&(r=Object.entries(i).find(([A,n])=>t.every(e=>A.includes(e))&&n?.viewportId===e)?.[0]);let c=A||n?.FrameOfReferenceUID?{...o.positionPresentation,viewReference:{referencedImageId:A,...n}}:o.positionPresentation;c&&s(r?r:l({displaySetInstanceUIDs:t,viewportId:e}),c)},getNearbyToolData:({nearbyToolData:e,element:t,canvasCoordinates:A})=>e??R.utilities.getAnnotationNearPoint(t,A),getNearbyAnnotation({element:e,canvasCoordinates:t}){let A=I.getNearbyToolData({nearbyToolData:null,element:e,canvasCoordinates:t});return A?.metadata?.toolName&&(t=>{let A=(0,L.getEnabledElement)(e);if(!A)return;let{renderingEngineId:n,viewportId:r}=A,o=R.ToolGroupManager.getToolGroupForViewport(r,n).getToolInstance(t);return o?.constructor?.isAnnotation??!0})(A.metadata.toolName)?A:null},_handleMeasurementLabelDialog:async e=>{let t=u.getCustomization("measurementLabels"),A=u.getCustomization("ui.labellingComponent"),n=c.getMeasurement(e);if(!n)return void console.debug("No measurement found for label editing");if(!t){let t=await (0,q.callInputDialog)({uiDialogService:s,title:cB().t("Tools:Edit Measurement Label"),placeholder:n.label||cB().t("Tools:Enter new label"),defaultValue:n.label});null!=t&&c.update(e,{...n,label:t},!0);return}let r=await (0,q.callInputDialogAutoComplete)({measurement:n,uiDialogService:s,labelConfig:t,renderContent:A});null!=r&&c.update(e,{...n,label:r},!0)},setMeasurementLabel:async({uid:e})=>{await I._handleMeasurementLabelDialog(e)},renameMeasurement:async({uid:e})=>{await I._handleMeasurementLabelDialog(e)},updateMeasurement:e=>{let{code:t,uid:A,textLabel:n,label:r}=e,{style:o}=e,i=c.getMeasurement(A);if(!i)return void console.warn("No measurement found to update",A);let s={...i};if(void 0!==n&&(s.label=n),void 0!==t){let e=t.type||"finding";if(t.ref&&!t.CodeValue){let e=t.ref.indexOf(":");t.CodeValue=t.ref.substring(e+1),t.CodeMeaning=t.text||r,t.CodingSchemeDesignator=t.ref.substring(0,e)}s[e]=t,"finding"!==e&&(s.findingSites?(s.findingSites=s.findingSites.filter(t=>t.type!==e),s.findingSites.push(t)):s.findingSites=[t])}o||=s.finding?.style,(o||=s.findingSites?.find(e=>e?.style)?.style)&&(o.lineDashSelected||=o.lineDash,R.annotation.config.style.setAnnotationStyles(i.uid,o),i.toolName===ec.PlanarFreehandROI&&(R.annotation.state.getAnnotation(i.uid).data.isOpenUShapeContour=!!o.isOpenUShapeContour)),c.update(s.uid,s,!0)},recordMeasurementsPredecessor:({measurements:e=[],predecessorImageId:t})=>{if(!t)return 0;let A=0;for(let{uid:n}of e){let e=c.getMeasurement(n);if(!e)continue;e.predecessorImageId=t;let r=R.annotation.state.getAnnotation(n);r&&(r.predecessorImageId=t),A++}return A},jumpToMeasurement:({uid:e,displayMeasurements:t=[]})=>{if(e)for(let A of(c.jumpToMeasurement(n.getActiveViewportId(),e),t))A.isActive=A.uid===e},removeMeasurement:({uid:e})=>{Array.isArray(e)?c.removeMany(e):c.remove(e)},toggleLockMeasurement:({uid:e})=>{c.toggleLockMeasurement(e)},toggleVisibilityMeasurement:({uid:e,items:t,visibility:A})=>{void 0===A&&t?.length&&(A=!t[0].isVisible),Array.isArray(e)?c.toggleVisibilityMeasurementMany(e,A):c.toggleVisibilityMeasurement(e,A)},downloadCSVMeasurementsReport:({measurementFilter:e})=>{k.utils.downloadCSVReport(c.getMeasurements(e))},downloadCSVSegmentationReport:({segmentationId:e})=>{let t=m.getSegmentation(e),{representationData:A}=t,{Labelmap:n}=A,{referencedImageIds:r}=n,o=r[0],{SeriesNumber:i,SeriesInstanceUID:s,StudyInstanceUID:a,SeriesDate:l,SeriesTime:c,SeriesDescription:u}=h.getActiveDisplaySets().find(e=>e.imageIds?.some(e=>e===o));!function(e,t){let A=[];A.push(["Segmentation ID",e.segmentationId||""]),A.push(["Segmentation Label",e.label||""]),A.push([]);let n=t.reference;if([["Series Number",n.SeriesNumber],["Series Instance UID",n.SeriesInstanceUID],["Study Instance UID",n.StudyInstanceUID],["Series Date",n.SeriesDate],["Series Time",n.SeriesTime],["Series Description",n.SeriesDescription]].forEach(([e,t])=>{t&&A.push([`reference ${e}`,t])}),A.push([]),A.push(["Segments Statistics"]),e.segments){let t=["Label"];for(let A in e.segments){let n=e.segments[A];t.push(`${n.label||""}`)}A.push(t),A.push(["Segment Index",...Object.values(e.segments).map(e=>e.segmentIndex||"")]),A.push(["Locked",...Object.values(e.segments).map(e=>e.locked?"Yes":"No")]),A.push(["Active",...Object.values(e.segments).map(e=>e.active?"Yes":"No")]);let n=new Set;for(let t of Object.values(e.segments))if(t.cachedStats&&t.cachedStats.namedStats)for(let e in t.cachedStats.namedStats){let A=t.cachedStats.namedStats[e],r=A.label||A.name,o=A.unit?` (${A.unit})`:"";n.add(`${r}${o}`)}for(let t of n){let n=[t];for(let A of Object.values(e.segments)){let e="";if(A.cachedStats&&A.cachedStats.namedStats)for(let n in A.cachedStats.namedStats){let r=A.cachedStats.namedStats[n];if(`${r.label||r.name}${r.unit?` (${r.unit})`:""}`===t){e=void 0!==r.value?r.value:"";break}}n.push(e)}A.push(n)}}let r="";for(let e of A)r+=e.map(e=>{let t=null!=e?e.toString():"";return t.includes(",")||t.includes('"')||t.includes("\n")?'"'+t.replace(/"/g,'""')+'"':t}).join(",")+"\n";l8(r,{filename:`${e.label||"Segmentation"}_Report_${new Date().toISOString().split("T")[0]}.csv`})}(t,{reference:{SeriesNumber:i,SeriesInstanceUID:s,StudyInstanceUID:a,SeriesDate:l,SeriesTime:c,SeriesDescription:u}})},getActiveViewportEnabledElement:f,setViewportActive:({viewportId:e})=>{a.getViewportInfo(e)?n.setActiveViewportId(e):console.warn("No viewport found for viewportId:",e)},arrowTextCallback:async({callback:e,data:t})=>{let A=u.getCustomization("measurementLabels"),n=u.getCustomization("ui.labellingComponent");if(!A){let A=await (0,q.callInputDialog)({uiDialogService:s,title:cB().t("Tools:Edit Arrow Text"),placeholder:t?.data?.label||cB().t("Tools:Enter new text"),defaultValue:t?.data?.label||""});e?.(A);return}let r=await (0,q.callInputDialogAutoComplete)({uiDialogService:s,labelConfig:A,renderContent:n});e?.(r)},toggleCine:()=>{let{viewports:e}=n.getState(),{isCineEnabled:t}=i.getState();i.setIsCineEnabled(!t),e.forEach((e,t)=>i.setCine({id:t,isPlaying:!1}))},setViewportWindowLevel({viewportId:e,windowWidth:t,windowCenter:A,displaySetInstanceUID:n}){let r,o,i=Number(t),s=Number(A),l=a.getRenderingEngine().getViewport(e);if(!l)return;let c=(0,es.rX)(l)?I.getVolumeIdForDisplaySet({viewportId:e,displaySetInstanceUID:n}):void 0;r=l,o={windowWidth:i,windowCenter:s,volumeId:c,displaySetInstanceUID:n},n_(r).setWindowLevel(r,o),l.render()},toggleViewportColorbar:({viewportId:e,displaySetInstanceUIDs:t,options:A={}})=>{d.hasColorbar(e)?d.removeColorbar(e):d.addColorbar(e,t,A)},setWindowLevel(e){let{toolGroupId:t}=e,{viewportId:A}=f(),n=o.getToolGroupForViewport(A);t&&t!==n||I.setViewportWindowLevel({...e,viewportId:A})},setWindowLevelPreset:({presetName:e,presetIndex:t})=>{let A=u.getCustomization("cornerstone.windowLevelPresets"),r=n.getActiveViewportId(),o=a.getCornerstoneViewport(r).getImageData().metadata.Modality;if(!o)return;let i=A[o];if(!i)return;let s=i[e]??Object.values(i)[t];I.setViewportWindowLevel({viewportId:r,windowWidth:s.window,windowCenter:s.level})},getVolumeIdForDisplaySet:({viewportId:e,displaySetInstanceUID:t})=>{let A=a.getCornerstoneViewport(e);return L.utilities.viewportSupportsVolumeId(A)?A.getAllVolumeIds().find(e=>e.includes(t)):null},setToolEnabled:({toolName:e,toggle:t,toolGroupId:A})=>{let{viewports:r}=n.getState();if(!r.size)return;let i=o.getToolGroup(A??null);if(!i||!i.hasTool(e))return;let s=i.getToolOptions(e).mode===R.Enums.ToolModes.Enabled;t&&s?i.setToolDisabled(e):i.setToolEnabled(e),a.getRenderingEngine().render()},toggleEnabledDisabledToolbar({value:e,itemId:t,toolGroupId:A}){let n=t||e;A=A??B();let r=o.getToolGroup(A);r&&r.hasTool(n)&&(r.getToolOptions(n).mode===R.Enums.ToolModes.Enabled?r.setToolDisabled(n):r.setToolEnabled(n))},toggleActiveDisabledToolbar({value:e,itemId:t,toolGroupId:A,toolGroupIds:n}){let r=t||e;(n?.length?n:[A??B()]).forEach(e=>{let t=o.getToolGroup(e);if(!t||!t.hasTool(r))return;if([R.Enums.ToolModes.Active,R.Enums.ToolModes.Enabled,R.Enums.ToolModes.Passive].includes(t.getToolOptions(r).mode)){if(t.setToolDisabled(r),y(o.getToolBindings(e,r))){let A=t.getPrevActivePrimaryToolName();A!==r&&I.setToolActive({toolName:A,toolGroupId:e})}return}let A=o.getToolBindings(e,r);y(A)?I.setToolActive({toolName:r,toolGroupId:e,bindings:A}):t.setToolActive(r,{bindings:A})})},setToolActiveToolbar:({value:e,itemId:t,toolName:A,toolGroupIds:n=[],bindings:r})=>{A=A||t||e,(n=n.length?n:o.getToolGroupIds()).forEach(e=>{I.setToolActive({toolName:A,toolGroupId:e,bindings:r})})},setToolActive:({toolName:e,toolGroupId:t=null,bindings:A=[{mouseButton:R.Enums.MouseBindings.Primary}]})=>{let{viewports:r}=n.getState();if(!r.size)return;let i=o.getToolGroup(t);if(!i||!i?.hasTool(e))return;let s=i.getActivePrimaryMouseButtonTool();if(s){let e=i.getToolConfiguration(s);e?.disableOnPassive?i.setToolDisabled(s):i.setToolPassive(s)}i.setToolActive(e,{bindings:A})},showDownloadViewportModal:()=>{let{activeViewportId:t}=n.getState();if(!a.getCornerstoneViewport(t))return void l.show({title:cB().t("Tools:Download Image"),message:cB().t("Tools:Image cannot be downloaded"),type:"error"});let{uiModalService:A}=e.services;A&&A.show({content:l1,title:cB().t("Tools:Download High Quality Image"),contentProps:{activeViewportId:t,cornerstoneViewportService:a},containerClassName:"max-w-4xl p-4"})},rotateViewportBy:({rotation:e,viewportId:t})=>{I._rotateViewport({rotation:e,viewportId:t,rotationMode:"apply"})},setViewportRotation:({rotation:e,viewportId:t})=>{I._rotateViewport({rotation:e,viewportId:t,rotationMode:"set"})},flipViewportHorizontal:({viewportId:e,newValue:t="toggle"})=>{let A,n,r=w(e);r&&(A=r,n=t,n_(A).flipHorizontal(A,n),r.render())},flipViewportVertical:({viewportId:e,newValue:t="toggle"})=>{let A,n,r=w(e);r&&(A=r,n=t,n_(A).flipVertical(A,n),r.render())},invertViewport:({element:e})=>{let t,A=void 0===e?w():e.viewport;A&&(n_(t=A).invert(t),A.render())},resetViewport:()=>{let e,t=w();t&&(n_(e=t).reset(e),t.render())},scaleViewport:({direction:e})=>{let t,A,n=w();n&&(t=n,A=e,n_(t).scaleBy(t,A),n.render())},jumpToImage:({imageIndex:e,viewport:t})=>{let A;if(t)A=a.getCornerstoneViewport(t.id);else{let e=f();if(!e)return;A=e.viewport}let n=0;if((0,es.TF)(A))n=A.getImageIds().length;else if((0,es.tO)(A))n=L.utilities.getImageSliceDataForVolumeViewport(A).numberOfSlices;else throw Error("Unsupported viewport type");let r=e<0?n+e:e;if(r>=n||r<0)throw Error(`Can't jump to ${e}`);L.utilities.jumpToSlice(A.element,{imageIndex:r})},scroll:e=>{let t=f();if(e.delta??=e.direction||1,e.direction??=e.delta,!t)return;let{viewport:A}=t;L.utilities.scroll(A,e)},setViewportColormap:({viewportId:e,displaySetInstanceUID:t,colormap:A,opacity:r=1,immediate:o=!1})=>{let i,s,l,c=a.getCornerstoneViewport(e),{viewportMatchDetails:u}=p.getActiveProtocol(),d=u.get(e)?.displaySetsInfo;if(d){let e=d.find(e=>e.displaySetInstanceUID===t);l=e?.displaySetOptions?.options?.colormap?.opacity}if(A={...A,opacity:l||r},(0,es.tO)(c)&&!t){let{viewports:A}=n.getState();t=A.get(e)?.displaySetInstanceUIDs[0]}i=c,s={colormap:A,displaySetInstanceUID:t},n_(i).setColormap(i,s),o&&c.render()},changeActiveViewport:({direction:e=1})=>{let{activeViewportId:t,viewports:A}=n.getState(),r=Array.from(A.keys()),o=(r.indexOf(t)+e+r.length)%r.length;n.setActiveViewportId(r[o])},toggleSynchronizer:({type:t,viewports:A,syncId:n})=>{let r=g.getSynchronizer(n);if(r)return void(r.isDisabled()?r.setEnabled(!0):r.setEnabled(!1));let o=cE[t];o&&o({servicesManager:e,viewports:A,syncId:n})},setViewportForToolConfiguration:({viewportId:e,toolName:t})=>{if(!e){let{activeViewportId:t}=n.getState();e=t??"default"}let A=o.getToolGroupForViewport(e);if(!A?.hasTool(t))return;let r=A?.getToolConfiguration(t);A?.setToolConfiguration(t,{...r,sourceViewportId:e},!0),a.getRenderingEngine().render()},storePresentation:({viewportId:e})=>{a.storePresentation({viewportId:e})},updateVolumeData:({volume:e})=>{let{imageData:t,vtkOpenGLTexture:A}=e;[...Array(t.getDimensions()[2]).keys()].forEach(e=>{A.setUpdatedFrame(e)}),t.modified()},attachProtocolViewportDataListener:({protocol:e,stageIndex:A})=>{let n=a.EVENTS.VIEWPORT_DATA_CHANGED,r=e.callbacks.onViewportDataInitialized,o=e.stages?.[A]?.viewports.length??1,i=0,{unsubscribe:s}=a.subscribe(n,e=>{++i===o&&(t.run(...r),s(n))})},setViewportPreset:({viewportId:e,preset:t})=>{let A,n,r=a.getCornerstoneViewport(e);r&&(A=r,n=t,n_(A).setPreset(A,n),r.render())},setVolumeRenderingQulaity:({viewportId:e,volumeQuality:t})=>{let A,n,r=a.getCornerstoneViewport(e);r&&(A=r,n=t,n_(A).setVolumeRenderingQuality(A,n),r.render())},shiftVolumeOpacityPoints:({viewportId:e,shift:t})=>{let A,n,r=a.getCornerstoneViewport(e);r&&(A=r,n=t,n_(A).shiftVolumeOpacityPoints(A,n),r.render())},setVolumeLighting:({viewportId:e,options:t})=>{let A,n,r=a.getCornerstoneViewport(e);r&&(A=r,n=t,n_(A).setVolumeLighting(A,n),r.render())},resetCrosshairs:({viewportId:e})=>{let t=[],A=e=>{let A=o.getToolGroup(e);A?.hasTool("Crosshairs")&&t.push(A.getToolInstance("Crosshairs"))};if(e){let t=o.getToolGroupForViewport(e);t&&A(t.id)}else o.getToolGroupIds().forEach(A);t.forEach(e=>{e?.computeToolCenter()})},createLabelmapForViewport:async({viewportId:t,options:A={}})=>cy(e,{viewportId:t,options:A,segmentationType:ta.SegmentationRepresentations.Labelmap}),createContourForViewport:async({viewportId:t,options:A={}})=>cy(e,{viewportId:t,options:A,segmentationType:ta.SegmentationRepresentations.Contour}),setActiveSegmentation:({segmentationId:t})=>{let{viewportGridService:A,segmentationService:n}=e.services;n.setActiveSegmentation(A.getActiveViewportId(),t)},addSegmentCommand:({segmentationId:t,config:A})=>{let{segmentationService:n}=e.services;n.addSegment(t,A)},setActiveSegmentAndCenterCommand:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n,viewportGridService:r}=e.services;n.setActiveSegmentation(r.getActiveViewportId(),t),n.setActiveSegment(t,A);let{highlightAlpha:o,highlightSegment:i,animationLength:s,animationFunctionType:a}=u.getCustomization("panelSegmentation.jumpToSegmentHighlightAnimationConfig")??{},l=Object.values(ch).includes(a)?a:void 0;n.jumpToSegmentNext(t,A,void 0,o,i,s,void 0,l)},toggleSegmentVisibilityCommand:({segmentationId:t,segmentIndex:A,type:n})=>{let{segmentationService:r,viewportGridService:o}=e.services;r.toggleSegmentVisibility(o.getActiveViewportId(),t,A,n)},toggleSegmentLockCommand:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n}=e.services;n.toggleSegmentLocked(t,A)},toggleSegmentationVisibilityCommand:({segmentationId:t,type:A})=>{let{segmentationService:n,viewportGridService:r}=e.services;n.toggleSegmentationRepresentationVisibility(r.getActiveViewportId(),{segmentationId:t,type:A})},downloadSegmentationCommand:({segmentationId:t})=>{let{segmentationService:A}=e.services;A.downloadSegmentation(t)},storeSegmentationCommand:async A=>{let{segmentationId:n}=A,{segmentationService:r,viewportGridService:o}=e.services,i=await (0,q.createReportAsync)({servicesManager:e,getReport:()=>t.runCommand("storeSegmentation",A),reportType:"Segmentation"});i&&(r.remove(n),o.setDisplaySetsForViewport({viewportId:o.getActiveViewportId(),displaySetInstanceUIDs:i}))},downloadRTSSCommand:({segmentationId:t})=>{let{segmentationService:A}=e.services;A.downloadRTSS(t)},setSegmentationStyleCommand:({type:t,key:A,value:n})=>{let{segmentationService:r}=e.services;r.setStyle({type:t},{[A]:n})},deleteSegmentCommand:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n}=e.services;n.removeSegment(t,A)},deleteSegmentationCommand:({segmentationId:t})=>{let{segmentationService:A}=e.services;A.remove(t)},removeSegmentationFromViewportCommand:({segmentationId:A})=>{let{viewportGridService:n}=e.services,r=n.getActiveViewportId();t.runCommand("removeDisplaySetLayer",{viewportId:r,displaySetInstanceUID:A,unhydrate:!0})},toggleRenderInactiveSegmentationsCommand:()=>{let{segmentationService:t,viewportGridService:A}=e.services,n=A.getActiveViewportId(),r=t.getRenderInactiveSegmentations(n);t.setRenderInactiveSegmentations(n,!r)},editSegmentLabel:async({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n,uiDialogService:r}=e.services,o=n.getSegmentation(t);if(!o)return;let i=o.segments[A];(0,q.callInputDialog)({uiDialogService:r,title:cB().t("Tools:Edit Segment Label"),placeholder:cB().t("Tools:Enter new label"),defaultValue:i.label}).then(e=>{n.setSegmentLabel(t,A,e)})},editSegmentationLabel:({segmentationId:t})=>{let{segmentationService:A,uiDialogService:n}=e.services,r=A.getSegmentation(t);if(!r)return;let{label:o}=r;(0,q.callInputDialog)({uiDialogService:n,title:cB().t("Tools:Edit Segmentation Label"),placeholder:cB().t("Tools:Enter new label"),defaultValue:o}).then(e=>{A.addOrUpdateSegmentation({segmentationId:t,label:e})})},editSegmentColor:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n,uiDialogService:r,viewportGridService:o}=e.services,i=o.getActiveViewportId(),s=n.getSegmentColor(i,t,A),a={r:s[0],g:s[1],b:s[2],a:s[3]/255};r.show({content:q.colorPickerDialog,title:cB().t("Tools:Segment Color"),contentProps:{value:a,onSave:e=>{let r=[e.r,e.g,e.b,255*e.a];n.setSegmentColor(i,t,A,r)}}})},getRenderInactiveSegmentations:()=>{let{segmentationService:t,viewportGridService:A}=e.services;return t.getRenderInactiveSegmentations(A.getActiveViewportId())},deleteActiveAnnotation:()=>{R.annotation.selection.getAnnotationsSelected().forEach(e=>{c.remove(e)})},setDisplaySetsForViewports:({viewportsToUpdate:t})=>{let{cineService:A,viewportGridService:n}=e.services;t.forEach(e=>{let t=A.getState(),n=t.cines?.[e.viewportId];A.setCine({id:e.viewportId,frameRate:n?.frameRate??t.default?.frameRate??24,isPlaying:!1})}),n.setDisplaySetsForViewports(t)},undo:()=>{cU.undo()},redo:()=>{cU.redo()},toggleSegmentPreviewEdit:({toggle:e})=>{let t=cQ({toolGroupService:o});(t=t.filter(e=>!e.toolName.includes("Eraser"))).forEach(t=>{t.configuration={...t.configuration,preview:{...t.configuration.preview,enabled:e}}})},toggleSegmentSelect:({toggle:e})=>{o.getToolGroupIds().forEach(t=>{let A=R.ToolGroupManager.getToolGroup(t);e?A.setToolActive(R.SegmentSelectTool.toolName):A.setToolDisabled(R.SegmentSelectTool.toolName)})},toggleSegmentLabel:({enabled:e})=>{let t=R.SegmentLabelTool.toolName,A=o.getToolGroupIds(),n=A.some(e=>{let A=R.ToolGroupManager.getToolGroup(e);return"Active"===A.getToolInstance(t)?.mode}),r=void 0!==e?e:!n;A.forEach(e=>{let A=R.ToolGroupManager.getToolGroup(e);r?A.setToolActive(t):A.setToolDisabled(t)})},initializeSegmentLabelTool:({tools:t})=>{let{customizationService:A}=e.services,n=A.getCustomization("segmentation.segmentLabel");if(n?.enabledByDefault){let e=t?.active??[];return e.push({toolName:ec.SegmentLabel,configuration:{hoverTimeout:n?.hoverTimeout??1,color:n?.labelColor,background:n?.background}}),t.active=e,t}let r=t?.disabled??[];return r.push({toolName:ec.SegmentLabel,configuration:{hoverTimeout:n?.hoverTimeout??1,color:n?.labelColor}}),t.disabled=r,t},toggleUseCenterSegmentIndex:({toggle:e})=>{let t=cQ({toolGroupService:o});(t=t.filter(e=>!e.toolName.includes("Eraser"))).forEach(t=>{t.configuration={...t.configuration,useCenterSegmentIndex:e}})},_handlePreviewAction:e=>{let{viewport:t}=f();(({toolGroupService:e})=>cQ({toolGroupService:e}).filter(e=>e.acceptPreview||e.rejectPreview))({toolGroupService:o}).forEach(t=>{try{t[`${e}Preview`]()}catch(e){console.debug("Error accepting preview for tool",t.toolName)}}),cT.enabled&&cT[`${e}Preview`](t.element)},acceptPreview:()=>{I._handlePreviewAction("accept")},rejectPreview:()=>{I._handlePreviewAction("reject")},cancelActiveOperation:()=>{try{I.rejectPreview()}catch(e){console.debug("Error rejecting active preview",e)}finally{I.cancelMeasurement()}},clearMarkersForMarkerLabelmap:()=>{let{viewport:e}=f(),t=R.ToolGroupManager.getToolGroupForViewport(e.id).getToolInstance("MarkerLabelmap");t&&t.clearMarkers(e)},interpolateScrollForMarkerLabelmap:()=>{let{viewport:e}=f(),t=R.ToolGroupManager.getToolGroupForViewport(e.id).getToolInstance("MarkerLabelmap");t&&t.interpolateScroll(e,1)},toggleLabelmapAssist:async()=>{let{viewport:e}=f(),t=!cT.enabled;cT.enabled=t,cD||(await cT.initModel(),cD=!0);let A=o.getToolGroupIds();t?I.setToolActiveToolbar({toolName:"CircularBrushForAutoSegmentAI",toolGroupIds:A}):A.forEach(e=>{R.ToolGroupManager.getToolGroup(e).setToolPassive("CircularBrushForAutoSegmentAI")}),cT.enabled&&cT.initViewport(e)},setBrushSize:({value:e})=>{let t=Number(e);o.getToolGroupIds()?.forEach(e=>{cF.setBrushSizeForToolGroup(e,t)})},setThresholdRange:({value:e,toolNames:t=["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic","ThresholdSphereBrushDynamic"]})=>{let A=o.getToolGroupIds();if(A?.length)for(let n of A){let A=o.getToolGroup(n);t?.forEach(t=>{A.setToolConfiguration(t,{threshold:{range:e}})})}},increaseBrushSize:()=>{S("increase")},decreaseBrushSize:()=>{S("decrease")},addNewSegment:()=>{let{segmentationService:t}=e.services,{activeViewportId:A}=n.getState(),r=t.getActiveSegmentation(A);r&&t.addSegment(r.segmentationId)},loadSegmentationDisplaySetsForViewport:({viewportId:t,displaySetInstanceUIDs:A,viewportType:r,derivedDisplaySetInstanceUID:o})=>{let i=function({viewportId:e,servicesManager:t,displaySetInstanceUIDs:A,derivedDisplaySetInstanceUID:n}){let{hangingProtocolService:r,viewportGridService:o}=t.services,{isHangingProtocolLayout:i,viewports:s}=o.getState(),a=function({derivedDisplaySetInstanceUID:e,servicesManager:t}){let{displaySetService:A,customizationService:n}=t.services,r=e?A.getDisplaySetByUID(e):void 0;if(r)return e=>{if(!ct({viewportType:e?.viewportOptions?.viewportType,customizationService:n}))return!1;let t=(e?.displaySetInstanceUIDs||[]).find(e=>{let t=A.getDisplaySetByUID(e);return t&&!t.isOverlayDisplaySet});return!!t&&(0,l5.R)({displaySet:r,backgroundDisplaySet:A.getDisplaySetByUID(t)})}}({derivedDisplaySetInstanceUID:n,servicesManager:t}),l=(({viewportId:e,viewportGridService:t})=>{let{viewports:A,activeViewportId:n}=t.getState();return A.get(e||n)})({viewportId:e,viewportGridService:o}),c=l?.viewportOptions?.viewportId,u=c?r.getViewportsRequireUpdate(c,A[0],i):null;return i?null!=u||a?cA(u,A[0],s,a):u:u?.length?u:cA(null,void 0,s,a)}({viewportId:t,servicesManager:e,displaySetInstanceUIDs:A,derivedDisplaySetInstanceUID:o});if(!i?.length)return;i.forEach(({viewportId:e})=>{let t=a.getCornerstoneViewport(e);t?.setNeedsRender?.()});let s=t||n.getActiveViewportId();I.setDisplaySetsForViewports({viewportsToUpdate:i.map(e=>({viewportId:e.viewportId,displaySetInstanceUIDs:e.displaySetInstanceUIDs,...r&&e.viewportId===s?{viewportOptions:{...e.viewportOptions,viewportType:r}}:{}}))})},setViewportOrientation:({viewportId:e,orientation:t})=>{let A=a.getCornerstoneViewport(e);A&&(0,nL.qU)(A).canReorientInPlace()?n.getDisplaySetsUIDsForViewport(e).map(e=>h.getDisplaySetByUID(e)).some(e=>e.isReconstructable)?(A.setOrientation(t),A.render(),a.getViewportInfo(e).setOrientation(t)):console.warn("Cannot change orientation: No reconstructable display sets in viewport"):console.warn("Orientation can only be set on volume viewports")},toggleViewportHorizontalFlip:({viewportId:e}={})=>{I.flipViewportHorizontal({viewportId:e,newValue:"toggle"})},setViewportHorizontalFlip:({flipped:e,viewportId:t})=>{I.flipViewportHorizontal({viewportId:t,newValue:e})},toggleViewportVerticalFlip:({viewportId:e}={})=>{I.flipViewportVertical({viewportId:e,newValue:"toggle"})},setViewportVerticalFlip:({flipped:e,viewportId:t})=>{I.flipViewportVertical({viewportId:t,newValue:e})},_rotateViewport:({rotation:e,viewportId:t,rotationMode:A="apply"})=>{let n,r,o,i=w(t);i&&(n=i,r=e,o=A,n_(n).rotate(n,r,o),i.render())},startRecordingForAnnotationGroup:()=>{R.AnnotationTool.startGroupRecording()},endRecordingForAnnotationGroup:()=>{R.AnnotationTool.endGroupRecording()},triggerCreateAnnotationMemo:({annotation:e,FrameOfReferenceUID:t,options:A})=>{let{newAnnotation:n,deleting:r}=A,o=(0,L.getRenderingEngines)().flatMap(e=>e.getViewports()).find(e=>e.getFrameOfReferenceUID()===t);o&&R.AnnotationTool.createAnnotationMemo(o.element,e,{newAnnotation:n,deleting:r})},activateSelectedSegmentationOfType:({segmentationRepresentationType:t})=>{let{segmentationService:A,viewportGridService:n}=e.services,r=n.getActiveViewportId(),{selectedSegmentationsForViewport:o}=nG.getState(),i=o[r]?.get(t);i&&A.setActiveSegmentation(r,i)},setDynamicCursorSizeForSculptorTool:({value:e})=>{let t=n.getActiveViewportId(),A=o.getToolGroupForViewport(t).getToolInstance(ec.SculptorTool),r=A.configuration;A.configuration={...r,updateCursorSize:e?"dynamic":""}},setInterpolationToolConfiguration:({value:e,toolNames:t})=>{let A=n.getActiveViewportId(),r=o.getToolGroupForViewport(A),i=o.getActiveToolForViewport(A),s={interpolation:{enabled:e}};r.setToolConfiguration(i,s),t&&Object.values(r.getToolInstances()).forEach(e=>{t?.includes(e.toolName)&&r.setToolConfiguration(e.toolName,s)})},setSimplifiedSplineForSplineContourSegmentationTool:({value:e})=>{let t=n.getActiveViewportId();Object.values(o.getToolGroupForViewport(t).getToolInstances()).forEach(t=>{if(t instanceof R.SplineContourSegmentationTool){let A=t.configuration;t.configuration={...A,simplifiedSpline:e}}})},removeSmallContours:({areaThreshold:e})=>{let t=n.getActiveViewportId(),A=m.getActiveSegmentation(t),r=m.getActiveSegment(t);if(!A||!r)return;let{removeContourIslands:o}=cv.utilities;o(A.segmentationId,r.segmentIndex,{threshold:e}),a.getRenderingEngine().render()},applyLogicalContourOperation:({segmentAInfo:e,segmentBInfo:t,resultSegmentInfo:A,logicalOperation:n})=>{switch(n){case nF.LogicalOperation.Union:cS(e,t,A);break;case nF.LogicalOperation.Intersect:cC(e,t,A);break;case nF.LogicalOperation.Subtract:cI(e,t,A);break;default:throw Error("Unsupported logical operation")}},copyContourSegment:({sourceSegmentInfo:e,targetSegmentInfo:t})=>{if(!t){let A=m.getSegmentation(e.segmentationId),n=A?.segments?.[e.segmentIndex]?.cachedStats;t={segmentationId:e.segmentationId,segmentIndex:m.getNextAvailableSegmentIndex(e.segmentationId)},m.addSegment(t.segmentationId,{segmentIndex:t.segmentIndex,...n&&{cachedStats:L.utilities.deepClone(n)}})}cb(e,t)},smoothContours:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let{smoothContours:r}=cv.utilities;r(t.segmentationId,A.segmentIndex),a.getRenderingEngine().render()},removeContourHoles:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let{removeContourHoles:r}=cv.utilities;r(t.segmentationId,A.segmentIndex),a.getRenderingEngine().render()},decimateContours:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let{decimateContours:r}=cv.utilities;r(t.segmentationId,A.segmentIndex),a.getRenderingEngine().render()},convertContourHoles:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let r={segmentationId:t.segmentationId,segmentIndex:m.getNextAvailableSegmentIndex(t.segmentationId)};m.addSegment(r.segmentationId,{segmentIndex:r.segmentIndex});let{convertContourHoles:o}=cv.utilities;o(t.segmentationId,A.segmentIndex,r.segmentationId,r.segmentIndex),a.getRenderingEngine().render()}},b={showCornerstoneContextMenu:{commandFn:I.showCornerstoneContextMenu,options:{menuCustomizationId:"measurementsContextMenu",commands:[{commandName:"showContextMenu"}]}},getNearbyToolData:{commandFn:I.getNearbyToolData},getNearbyAnnotation:{commandFn:I.getNearbyAnnotation,storeContexts:[],options:{}},toggleViewportColorbar:{commandFn:I.toggleViewportColorbar},setMeasurementLabel:{commandFn:I.setMeasurementLabel},renameMeasurement:{commandFn:I.renameMeasurement},updateMeasurement:{commandFn:I.updateMeasurement},jumpToMeasurement:I.jumpToMeasurement,recordMeasurementsPredecessor:{commandFn:I.recordMeasurementsPredecessor},removeMeasurement:{commandFn:I.removeMeasurement},cancelMeasurement:{commandFn:I.cancelMeasurement},toggleLockMeasurement:{commandFn:I.toggleLockMeasurement},toggleVisibilityMeasurement:{commandFn:I.toggleVisibilityMeasurement},downloadCSVMeasurementsReport:{commandFn:I.downloadCSVMeasurementsReport},setViewportWindowLevel:{commandFn:I.setViewportWindowLevel},setWindowLevel:{commandFn:I.setWindowLevel},setWindowLevelPreset:{commandFn:I.setWindowLevelPreset},setToolActive:{commandFn:I.setToolActive},setToolActiveToolbar:{commandFn:I.setToolActiveToolbar},setToolEnabled:{commandFn:I.setToolEnabled},rotateViewportCW:{commandFn:I.rotateViewportBy,options:{rotation:90}},rotateViewportCCW:{commandFn:I.rotateViewportBy,options:{rotation:-90}},rotateViewportCWSet:{commandFn:I.setViewportRotation,options:{rotation:90}},incrementActiveViewport:{commandFn:I.changeActiveViewport},decrementActiveViewport:{commandFn:I.changeActiveViewport,options:{direction:-1}},flipViewportHorizontal:{commandFn:I.toggleViewportHorizontalFlip},flipViewportVertical:{commandFn:I.toggleViewportVerticalFlip},setViewportHorizontalFlip:{commandFn:I.setViewportHorizontalFlip,options:{flipped:!0}},setViewportVerticalFlip:{commandFn:I.setViewportVerticalFlip,options:{flipped:!0}},invertViewport:{commandFn:I.invertViewport},resetViewport:{commandFn:I.resetViewport},scaleUpViewport:{commandFn:I.scaleViewport,options:{direction:1}},scaleDownViewport:{commandFn:I.scaleViewport,options:{direction:-1}},fitViewportToWindow:{commandFn:I.scaleViewport,options:{direction:0}},nextImage:{commandFn:I.scroll,options:{direction:1}},previousImage:{commandFn:I.scroll,options:{direction:-1}},firstImage:{commandFn:I.jumpToImage,options:{imageIndex:0}},lastImage:{commandFn:I.jumpToImage,options:{imageIndex:-1}},jumpToImage:{commandFn:I.jumpToImage},showDownloadViewportModal:{commandFn:I.showDownloadViewportModal},toggleCine:{commandFn:I.toggleCine},arrowTextCallback:{commandFn:I.arrowTextCallback},setViewportActive:{commandFn:I.setViewportActive},setViewportColormap:{commandFn:I.setViewportColormap},setViewportForToolConfiguration:{commandFn:I.setViewportForToolConfiguration},storePresentation:{commandFn:I.storePresentation},attachProtocolViewportDataListener:{commandFn:I.attachProtocolViewportDataListener},setViewportPreset:{commandFn:I.setViewportPreset},setVolumeRenderingQulaity:{commandFn:I.setVolumeRenderingQulaity},shiftVolumeOpacityPoints:{commandFn:I.shiftVolumeOpacityPoints},setVolumeLighting:{commandFn:I.setVolumeLighting},resetCrosshairs:{commandFn:I.resetCrosshairs},toggleSynchronizer:{commandFn:I.toggleSynchronizer},updateVolumeData:{commandFn:I.updateVolumeData},toggleEnabledDisabledToolbar:{commandFn:I.toggleEnabledDisabledToolbar},toggleActiveDisabledToolbar:{commandFn:I.toggleActiveDisabledToolbar},updateStoredPositionPresentation:{commandFn:I.updateStoredPositionPresentation},updateStoredSegmentationPresentation:{commandFn:I.updateStoredSegmentationPresentation},createLabelmapForViewport:{commandFn:I.createLabelmapForViewport},createContourForViewport:{commandFn:I.createContourForViewport},setActiveSegmentation:{commandFn:I.setActiveSegmentation},addSegment:{commandFn:I.addSegmentCommand},setActiveSegmentAndCenter:{commandFn:I.setActiveSegmentAndCenterCommand},toggleSegmentVisibility:{commandFn:I.toggleSegmentVisibilityCommand},toggleSegmentLock:{commandFn:I.toggleSegmentLockCommand},toggleSegmentationVisibility:{commandFn:I.toggleSegmentationVisibilityCommand},downloadSegmentation:{commandFn:I.downloadSegmentationCommand},storeSegmentation:{commandFn:I.storeSegmentationCommand},downloadRTSS:{commandFn:I.downloadRTSSCommand},setSegmentationStyle:{commandFn:I.setSegmentationStyleCommand},deleteSegment:{commandFn:I.deleteSegmentCommand},deleteSegmentation:{commandFn:I.deleteSegmentationCommand},removeSegmentationFromViewport:{commandFn:I.removeSegmentationFromViewportCommand},toggleRenderInactiveSegmentations:{commandFn:I.toggleRenderInactiveSegmentationsCommand},setFillAlpha:{commandFn:C("fillAlpha")},setOutlineWidth:{commandFn:C("outlineWidth")},setRenderFill:{commandFn:C("renderFill")},setRenderFillInactive:{commandFn:C("renderFillInactive")},setRenderOutline:{commandFn:C("renderOutline")},setRenderOutlineInactive:{commandFn:C("renderOutlineInactive")},setFillAlphaInactive:{commandFn:C("fillAlphaInactive")},editSegmentLabel:{commandFn:I.editSegmentLabel},editSegmentationLabel:{commandFn:I.editSegmentationLabel},editSegmentColor:{commandFn:I.editSegmentColor},getRenderInactiveSegmentations:{commandFn:I.getRenderInactiveSegmentations},deleteActiveAnnotation:{commandFn:I.deleteActiveAnnotation},setDisplaySetsForViewports:I.setDisplaySetsForViewports,undo:I.undo,redo:I.redo,interpolateLabelmap:I.interpolateLabelmap,runSegmentBidirectional:I.runSegmentBidirectional,downloadCSVSegmentationReport:I.downloadCSVSegmentationReport,toggleSegmentPreviewEdit:I.toggleSegmentPreviewEdit,toggleSegmentSelect:I.toggleSegmentSelect,acceptPreview:I.acceptPreview,rejectPreview:I.rejectPreview,cancelActiveOperation:I.cancelActiveOperation,toggleUseCenterSegmentIndex:I.toggleUseCenterSegmentIndex,toggleLabelmapAssist:I.toggleLabelmapAssist,interpolateScrollForMarkerLabelmap:I.interpolateScrollForMarkerLabelmap,clearMarkersForMarkerLabelmap:I.clearMarkersForMarkerLabelmap,setBrushSize:I.setBrushSize,setThresholdRange:I.setThresholdRange,increaseBrushSize:I.increaseBrushSize,decreaseBrushSize:I.decreaseBrushSize,addNewSegment:I.addNewSegment,loadSegmentationDisplaySetsForViewport:I.loadSegmentationDisplaySetsForViewport,setViewportOrientation:I.setViewportOrientation,hydrateSecondaryDisplaySet:I.hydrateSecondaryDisplaySet,loadDisplaySetData:I.loadDisplaySetData,getVolumeIdForDisplaySet:I.getVolumeIdForDisplaySet,triggerCreateAnnotationMemo:I.triggerCreateAnnotationMemo,startRecordingForAnnotationGroup:I.startRecordingForAnnotationGroup,endRecordingForAnnotationGroup:I.endRecordingForAnnotationGroup,toggleSegmentLabel:I.toggleSegmentLabel,jumpToMeasurementViewport:I.jumpToMeasurementViewport,initializeSegmentLabelTool:I.initializeSegmentLabelTool,activateSelectedSegmentationOfType:I.activateSelectedSegmentationOfType,setDynamicCursorSizeForSculptorTool:I.setDynamicCursorSizeForSculptorTool,setSimplifiedSplineForSplineContourSegmentationTool:I.setSimplifiedSplineForSplineContourSegmentationTool,removeSmallContours:I.removeSmallContours,applyLogicalContourOperation:I.applyLogicalContourOperation,copyContourSegment:I.copyContourSegment,smoothContours:I.smoothContours,removeContourHoles:I.removeContourHoles,decimateContours:I.decimateContours,convertContourHoles:I.convertContourHoles,setInterpolationToolConfiguration:I.setInterpolationToolConfiguration};return{actions:I,definitions:b,defaultContext:"CORNERSTONE"}},getCustomizationModule:function({commandsManager:e,servicesManager:t,extensionManager:A}){return[{name:"default",value:{...tw,...function({commandsManager:e,servicesManager:t}){let{segmentationService:A}=t.services,n=!1,{unsubscribe:r}=A.subscribe(A.EVENTS.SEGMENTATION_STYLE_MODIFIED,({specifier:e,style:t})=>{e.type===ta.SegmentationRepresentations.Contour&&null==e.segmentationId&&null==e.viewportId&&null!=t.renderFill&&(r(),n=!0)});return{"panelSegmentation.customDropdownMenuContent":tK,"panelSegmentation.customSegmentStatisticsHeader":tW,"panelSegmentation.disableEditing":!1,"panelSegmentation.showAddSegment":!0,"panelSegmentation.onSegmentationAdd":async({segmentationRepresentationType:r=ta.SegmentationRepresentations.Labelmap})=>{let{viewportGridService:o}=t.services,i=o.getState().activeViewportId;if(r===ta.SegmentationRepresentations.Labelmap)e.run("createLabelmapForViewport",{viewportId:i});else if(r===ta.SegmentationRepresentations.Contour){let t=await e.run("createContourForViewport",{viewportId:i});if(n||A.setStyle({segmentationId:t,type:ta.SegmentationRepresentations.Contour},{renderFill:!0,renderFillInactive:!0},!1),n)return;let{unsubscribe:r}=A.subscribe(A.EVENTS.SEGMENTATION_STYLE_MODIFIED,({specifier:e,style:o})=>{e.type===ta.SegmentationRepresentations.Contour&&null==e.segmentationId&&null==e.viewportId&&null!=o.renderFill&&(n=!0,r(),A.setStyle({segmentationId:t,type:ta.SegmentationRepresentations.Contour},{},!1))})}},"panelSegmentation.tableMode":"collapsed","panelSegmentation.readableText":{min:"Min Value",minLPS:"Min Coord",max:"Max Value",maxLPS:"Max Coord",mean:"Mean Value",stdDev:"Standard Deviation",count:"Voxel Count",median:"Median",skewness:"Skewness",kurtosis:"Kurtosis",peakValue:"Peak Value",peakLPS:"Peak Coord",volume:"Volume",lesionGlycolysis:"Lesion Glycolysis",center:"Center"},"labelMapSegmentationToolbox.config":()=>(0,tp.jsx)(tY,{}),"contourSegmentationToolbox.config":()=>(0,tp.jsx)(tY,{})}}({commandsManager:e,servicesManager:t,extensionManager:A}),...tz,...tX,...tJ,...tq,...tZ,...t3,...t2,...t4,...t6,...Ax,...AL,...AR({commandsManager:e}),...nI,...nU,...nE,"viewportScrollbar.variant":"progress","viewportScrollbar.showLoadedEndpoints":!0,"viewportScrollbar.showLoadedFill":!0,"viewportScrollbar.showViewedFill":!0,"viewportScrollbar.showLoadingPattern":!0,"viewportScrollbar.viewedDwellMs":0,"viewportScrollbar.loadedBatchIntervalMs":200,"viewportScrollbar.indicator":{}}}]},getUtilityModule:({servicesManager:e})=>[{name:"common",exports:{getCornerstoneLibraries:()=>({cornerstone:L,cornerstoneTools:R}),getEnabledElement:$.kJ,dicomLoaderService:d4}},{name:"core",exports:{Enums:L.Enums}},{name:"tools",exports:{toolNames:ec,Enums:R.Enums}},{name:"volumeLoader",exports:{getDynamicVolumeInfo:td.getDynamicVolumeInfo}}],getSopClassHandlerModule:function(e){return[function({servicesManager:e,extensionManager:t}){return{name:"DicomMicroscopySopClassHandler",sopClassUids:["1.2.840.10008.5.1.4.1.1.77.1.6"],getDisplaySetsFromSeries:e=>(function(e,t){let A=t.getActiveDataSource()[0];if(!e||!e.length)throw Error("No instances were provided");let n=e[0],r=n,o=+r.NumberOfFrames||1;for(let t of e){let e=+t.NumberOfFrames||1;e<o&&(r=t,o=e)}let{FrameOfReferenceUID:i,SeriesDescription:s,ContentDate:a,ContentTime:l,SeriesNumber:c,StudyInstanceUID:u,SeriesInstanceUID:d,SOPInstanceUID:p,SOPClassUID:g}=n,m=(e=e.map(e=>(e.FrameOfReferenceUID=n.FrameOfReferenceUID,e))).filter(e=>e).map(e=>e.FrameOfReferenceUID).filter((e,t,A)=>A.indexOf(e)===t);m.length>1&&console.warn("Expected FrameOfReferenceUID of difference instances within a series to be the same, found multiple different values",m);let h={plugin:"microscopy",Modality:"SM",viewportType:L.Enums.ViewportType.WHOLE_SLIDE,altImageText:"Microscopy",displaySetInstanceUID:pt.guid(),SOPInstanceUID:p,SeriesInstanceUID:d,StudyInstanceUID:u,FrameOfReferenceUID:i,SOPClassHandlerId:"@ohif/extension-cornerstone.sopClassHandlerModule.DicomMicroscopySopClassHandler",SOPClassUID:g,SeriesDescription:s||"Microscopy Data",SeriesDate:a,SeriesTime:l,SeriesNumber:c,firstInstance:r,instance:n,numImageFrames:0,numInstances:1,others:e,instances:e,othersFrameOfReferenceUID:m,imageIds:e.map(e=>e.imageId),getThumbnailSrc:A.retrieve.getGetThumbnailSrc?.(r,r.imageId),label:s||`${cB().t("Series")} ${c} - ${cB().t("SM")}`},f=A.retrieve.getWadoDicomWebClient?.(),w=new Map;if(e.forEach(e=>w.set(e.imageId,e)),f){let e=Object.create(f);e.getDICOMwebMetadata=pn.bind(e,w),L.utilities.genericMetadataProvider.addRaw(h.imageIds[0],{type:pe.WADO_WEB_CLIENT,metadata:e})}return[h]})(e,t)}}(e),function({servicesManager:e}){return{name:"DicomEcgSopClassHandler",sopClassUids:pr,getDisplaySetsFromSeries:t=>(function(e,t){let{userAuthenticationService:A}=t.services;return e.map(e=>{let{Modality:t,SOPInstanceUID:n}=e,{SeriesDescription:r,SeriesNumber:o,SeriesDate:i}=e,{SeriesInstanceUID:s,StudyInstanceUID:a,SOPClassUID:l}=e,c=e.imageId;if(c){let t=function(e,t){let A=e?.WaveformSequence;if(!A?.length)return null;let n=A[0],r=n.NumberOfWaveformChannels??0,o=n.NumberOfWaveformSamples??0,i=n.SamplingFrequency??1,s=n.WaveformBitsAllocated??16,a=n.WaveformSampleInterpretation??"SS",l=n.MultiplexGroupLabel??"",c=(n.ChannelDefinitionSequence??[]).map(e=>({channelSourceSequence:{codeMeaning:e?.ChannelSourceSequence?.[0]?.CodeMeaning??e?.ChannelSourceSequence?.[0]?.codeMeaning??""}})),u=async()=>{let e,A=n.WaveformData;if(!A)return console.warn("[ECGViewport] No WaveformData found on instance"),[];if(A.InlineBinary)e=function(e){let t=atob(e),A=new Uint8Array(t.length);for(let e=0;e<t.length;e++)A[e]=t.charCodeAt(e);return A.buffer}(A.InlineBinary);else{if(!A.BulkDataURI)return console.warn("[ECGViewport] WaveformData has no InlineBinary or BulkDataURI"),[];let n={Accept:"application/octet-stream"},r=t?.getAuthorizationHeader?.();r&&Object.assign(n,r);let o=await fetch(A.BulkDataURI,{headers:n});if(!o.ok)throw Error(`[ECGViewport] Failed to fetch waveform BulkDataURI: ${o.status}`);e=await o.arrayBuffer()}return function(e,t,A){let n=new Int16Array(e),r=[];for(let e=0;e<t;e++){let o=new Int16Array(A);for(let r=0;r<A;r++)o[r]=n[r*t+e];r.push(o)}return r}(e,r,o)};return{numberOfWaveformChannels:r,numberOfWaveformSamples:o,samplingFrequency:i,waveformBitsAllocated:s,waveformSampleInterpretation:a,multiplexGroupLabel:l,channelDefinitionSequence:c,waveformData:{retrieveBulkData:u}}}(e,A);t&&L.utilities.genericMetadataProvider.addRaw(c,{type:pe.ECG,metadata:t})}return{Modality:t,displaySetInstanceUID:pt.guid(),SeriesDescription:r,SeriesNumber:o,SeriesDate:i,SOPInstanceUID:n,SeriesInstanceUID:s,StudyInstanceUID:a,SOPClassHandlerId:"@ohif/extension-cornerstone.sopClassHandlerModule.DicomEcgSopClassHandler",SOPClassUID:l,referencedImages:null,measurements:null,viewportType:L.Enums.ViewportType.ECG,instances:[e],instance:e,thumbnailSrc:null,isDerivedDisplaySet:!1,isLoaded:!1,sopClassUids:pr,numImageFrames:0,numInstances:1,imageIds:c?[c]:[],supportsWindowLevel:!1,label:r||"ECG"}})})(t,e)}}(e)]}}})(),O=x.O(O)})());
5
+ `);let t=e.state[u];return void(null==t||JSON.stringify(s.getState())!==JSON.stringify(t)&&h(t))}s.dispatchFromDevtools&&"function"==typeof s.dispatch&&s.dispatch(e)});case"DISPATCH":switch(e.payload.type){case"RESET":if(h(f),void 0===u)return null==p?void 0:p.init(s.getState());return null==p?void 0:p.init(r(d.name));case"COMMIT":if(void 0===u){null==p||p.init(s.getState());break}return null==p?void 0:p.init(r(d.name));case"ROLLBACK":return i(e.state,e=>{if(void 0===u){h(e),null==p||p.init(s.getState());return}h(e[u]),null==p||p.init(r(d.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return i(e.state,e=>{void 0===u?h(e):JSON.stringify(s.getState())!==JSON.stringify(e[u])&&h(e[u])});case"IMPORT_STATE":{let{nextLiftedState:A}=e.payload,n=null==(t=A.computedStates.slice(-1)[0])?void 0:t.state;if(!n)return;void 0===u?h(n):h(n[u]),null==p||p.send(null,A);break}case"PAUSE_RECORDING":return m=!m}return}}),f},i=(e,t)=>{let A;try{A=JSON.parse(e)}catch(e){console.error("[zustand devtools middleware] Could not parse the received json",e)}void 0!==A&&t(A)}}},D={};function x(e){var t=D[e];if(void 0!==t)return t.exports;var A=D[e]={exports:{}};return T[e].call(A.exports,A,A.exports,x),A.exports}x.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return x.d(t,{a:t}),t},x.d=(e,t)=>{for(var A in t)x.o(t,A)&&!x.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},x.u=e=>"dist/"+e+".ohif-extension-cornerstone.umd.js",x.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),x.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),x.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},x.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),F=[],x.O=(e,t,A,n)=>{if(t){n=n||0;for(var r=F.length;r>0&&F[r-1][2]>n;r--)F[r]=F[r-1];F[r]=[t,A,n];return}for(var o=1/0,r=0;r<F.length;r++){for(var[t,A,n]=F[r],i=!0,s=0;s<t.length;s++)(!1&n||o>=n)&&Object.keys(x.O).every(e=>x.O[e](t[s]))?t.splice(s--,1):(i=!1,n<o&&(o=n));if(i){F.splice(r--,1);var a=A();void 0!==a&&(e=a)}}return e},x.F={},x.E=e=>{Object.keys(x.F).map(t=>{x.F[t](e)})},x.p="/",x.b=document.baseURI||self.location.href,Q={509:0},x.F.j=e=>{if(!x.o(Q,e)||void 0===Q[e]){Q[e]=null;var t=document.createElement("link");x.nc&&t.setAttribute("nonce",x.nc),t.rel="prefetch",t.as="script",t.href=x.p+x.u(e),document.head.appendChild(t)}},x.O.j=e=>0===Q[e],x.O(0,[509],()=>{[509].map(x.E)},5);var O={};return(()=>{"use strict";x.r(O),x.d(O,{AccordionGroup:()=>pF,CloneChildren:()=>pU,Colorbar:()=>c5,Colormap:()=>c9,CornerstoneViewportDownloadForm:()=>l1,DYNAMIC_VOLUME_LOADER_SCHEME:()=>u2,DicomUpload:()=>nS,Enums:()=>_,ImageOverlayViewerTool:()=>el,MeasumentsMenu:()=>p4,MeasurementOrAdditionalFindingSets:()=>pV,MeasurementsOrAdditionalFindings:()=>pH,NEXT_FUSION_PT_OPACITY:()=>nD,NEXT_OVERLAY_OPACITY:()=>nx,OHIFCornerstoneViewport:()=>gi,PanelMeasurement:()=>pY,PanelSegmentation:()=>pl,PlanarFreehandROI:()=>eE,RectangleROI:()=>eF,SeriesMeasurementTrigger:()=>gA,SeriesMeasurements:()=>gn,StudyMeasurements:()=>pW,StudyMeasurementsActions:()=>pP,StudySummaryFromMetadata:()=>pk,Types:()=>T,VOLUME_LOADER_SCHEME:()=>u3,VolumeLighting:()=>ui,VolumeRenderingOptions:()=>ul,VolumeRenderingPresets:()=>uA,VolumeRenderingQuality:()=>un,VolumeShade:()=>us,VolumeShift:()=>uo,WindowLevel:()=>c7,WindowLevelActionMenu:()=>uc,WindowLevelActionMenuContent:()=>uu,WindowLevelActionMenuWrapper:()=>ud,default:()=>gl,dicomLoaderService:()=>d4,findNearbyToolData:()=>e7,getActiveViewportEnabledElement:()=>ee,getEnabledElement:()=>$.kJ,getHydrationViewportTypeForModality:()=>nO,getSOPInstanceAttributes:()=>ep,getViewportAdapter:()=>nL.qU,getViewportFocalPoint:()=>nL.sH,groupByDisplaySet:()=>gt,groupByNamedSets:()=>pN,groupByStudy:()=>pK,isNextViewport:()=>nL.Is,isNextViewportsEnabled:()=>eG,isVolumeRenderingViewport:()=>nL.rK,measurementMappingUtils:()=>Q,setEnabledElement:()=>$.ye,toolNames:()=>ec,useActiveViewportSegmentationRepresentations:()=>po.c,useLutPresentationStore:()=>tl.I,useMeasurementTracking:()=>uI.R,useMeasurements:()=>pi.d,usePositionPresentationStore:()=>tc.q,useSegmentationPresentationStore:()=>tu.v,useSegmentations:()=>pz.j,useSelectedSegmentationsForViewportStore:()=>nG,useSynchronizersStore:()=>nP.U,utils:()=>pZ});var e,t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F={};x.r(F),x.d(F,{rM:()=>N,yK:()=>H,Ay:()=>_});var Q={};x.r(Q),x.d(Q,{getDisplayUnit:()=>eB,getFirstAnnotationSelected:()=>ew,getHandlesFromPoints:()=>em,getSOPInstanceAttributes:()=>ep,isAnnotationSelected:()=>eh,setAnnotationSelected:()=>ef});var T={};x.r(T);var D=x(2184),M=x(6326),L=x(6557),R=x(4713),V=x(1223);let N="Cornerstone3DTools",H="0.1",_={CORNERSTONE_3D_TOOLS_SOURCE_NAME:N,CORNERSTONE_3D_TOOLS_SOURCE_VERSION:H};var k=x(1002),P=x.n(k),j=x(8082),G=x(642),K=x.n(G),W=x(2302),Y=x.n(W);let{registerVolumeLoader:z}=L.volumeLoader;var X=x(7268),J=x(6023),q=x(7438),$=x(6499);function Z(e){let{element:t}=(0,$.kJ)(e)||{};return(0,L.getEnabledElement)(t)}function ee(e){let{activeViewportId:t}=e.getState();return Z(t)}let{calibrateImageSpacing:et}=R.utilities;class eA extends R.LengthTool{constructor(...e){super(...e),this._renderingViewport=void 0,this._lengthToolRenderAnnotation=this.renderAnnotation,this.renderAnnotation=(e,t)=>{let{viewport:A}=e;return this._renderingViewport=A,this._lengthToolRenderAnnotation(e,t)}}_getTextLines(e,t){var A,n;let r,o,[i,s]=e.handles.points.map(e=>this._renderingViewport.worldToCanvas(e)),a=Math.round(100*(A=i,n=s,r=A[0]-n[0],Math.sqrt(r*r+(o=A[1]-n[1])*o)))/100;return[`${a}px`]}}eA.toolName="CalibrationLine";var en=x(7141);let er=new Map,eo=(e,t)=>{er.get(e)!==t&&er.set(e,t)},ei=(e,t)=>{if(!Array.isArray(t)&&"overlayPlaneModule"===e)return er.get(t)};L.metaData.addProvider(ei,1e4);var es=x(3117);class ea extends R.AnnotationDisplayTool{constructor(e={},t={supportedInteractionTypes:[],configuration:{fillColor:[255,127,127,255]}}){super(e,t),this.onSetToolDisabled=()=>{},this.renderAnnotation=(e,t)=>{let{viewport:A}=e,n=this.getReferencedImageId(A);if(!n)return;let r=L.metaData.get("overlayPlaneModule",n),o=r?.overlays;if(o?.length)return o.forEach(e=>{e.x||=0,e.y||=0}),ea.addOverlayPlaneModule(n,r),this._getCachedStat(n,r,this.configuration.fillColor).then(A=>{A.overlays.forEach(A=>{this._renderOverlay(e,t,A)})}),!0}}getReferencedImageId(e){if((0,es.tO)(e)||!e.getViewReferenceId?.())return;let t=this.getTargetId(e);return t?.split("imageId:")[1]}_renderOverlay(e,t,A){let{viewport:n}=e,r=this.getReferencedImageId(n);if(!r)return;let{_id:o,columns:i,rows:s,x:a,y:l}=A,c=L.utilities.imageToWorldCoords(r,[a-1,l-1]),u=n.worldToCanvas(c),d=L.utilities.imageToWorldCoords(r,[i,s]),p=n.worldToCanvas(d),g=`image-overlay-${o}`,m=t.getSvgNode(g),h={"data-id":g,width:p[0]-u[0],height:p[1]-u[1],x:u[0],y:u[1],href:A.dataUrl};if(isNaN(h.x)||isNaN(h.y)||isNaN(h.width)||isNaN(h.height))return console.warn("Invalid rendering attribute for image overlay",h["data-id"]),!1;if(m)R.drawing.setAttributesIfNecessary(h,m),t.setNodeTouched(g);else{let e=document.createElementNS("http://www.w3.org/2000/svg","image");R.drawing.setNewAttributesIfValid(h,e),t.appendNode(e,g)}return!0}async _getCachedStat(e,t,A){if(0===t.overlays.filter(e=>e.pixelData&&!e.dataUrl).length)return t;let n=await Promise.all(t.overlays.filter(e=>e.pixelData).map(async(e,t)=>{let n=null;if(e.pixelData.Value)n=e.pixelData.Value;else if(e.pixelData instanceof Array)n=e.pixelData[0];else if(e.pixelData.retrieveBulkData)n=await e.pixelData.retrieveBulkData();else if(e.pixelData.InlineBinary){let t=(0,en.b64toBlob)(e.pixelData.InlineBinary);n=await t.arrayBuffer()}if(!n)return;let r=this._renderOverlayToDataUrl({width:e.columns,height:e.rows},e.color||A,n);return{...e,_id:(0,en.guid)(),dataUrl:r,color:A}}));return t.overlays=n,t}_isSameColor(e,t){return e&&t&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}_renderOverlayToDataUrl({width:e,height:t},A,n){let r=new DataView(n),o=e*t,i=document.createElement("canvas");i.width=e,i.height=t;let s=i.getContext("2d");s.clearRect(0,0,e,t),s.globalCompositeOperation="copy";let a=s.getImageData(0,0,e,t),l=a.data;for(let e=0,t=0,n=0;e<o;e++)r.getUint8(n)&1<<t&&(l[4*e]=A[0],l[4*e+1]=A[1],l[4*e+2]=A[2],l[4*e+3]=A[3]),t>=7?(t=0,n++):t++;return s.putImageData(a,0,0),i.toDataURL()}}ea.toolName="ImageOverlayViewer",ea.addOverlayPlaneModule=eo;let el=ea,ec={Pan:R.PanTool.toolName,ArrowAnnotate:R.ArrowAnnotateTool.toolName,WindowLevel:R.WindowLevelTool.toolName,StackScroll:R.StackScrollTool.toolName,Zoom:R.ZoomTool.toolName,PlanarRotate:R.PlanarRotateTool.toolName,VolumeRotate:R.VolumeRotateTool.toolName,MipJumpToClick:R.MIPJumpToClickTool.toolName,Length:R.LengthTool.toolName,DragProbe:R.DragProbeTool.toolName,Probe:R.ProbeTool.toolName,RectangleROI:R.RectangleROITool.toolName,RectangleROIThreshold:R.RectangleROIThresholdTool.toolName,EllipticalROI:R.EllipticalROITool.toolName,CircleROI:R.CircleROITool.toolName,Bidirectional:R.BidirectionalTool.toolName,Angle:R.AngleTool.toolName,CobbAngle:R.CobbAngleTool.toolName,Magnify:R.MagnifyTool.toolName,Crosshairs:R.CrosshairsTool.toolName,Brush:R.BrushTool.toolName,PaintFill:R.PaintFillTool.toolName,ReferenceLines:R.ReferenceLinesTool.toolName,CalibrationLine:eA.toolName,TrackballRotateTool:R.TrackballRotateTool.toolName,CircleScissors:R.CircleScissorsTool.toolName,RectangleScissors:R.RectangleScissorsTool.toolName,SphereScissors:R.SphereScissorsTool.toolName,ImageOverlayViewer:el.toolName,AdvancedMagnify:R.AdvancedMagnifyTool.toolName,UltrasoundDirectional:R.UltrasoundDirectionalTool.toolName,UltrasoundAnnotation:R.UltrasoundPleuraBLineTool.toolName,SplineROI:R.SplineROITool.toolName,LivewireContour:R.LivewireContourTool.toolName,PlanarFreehandROI:R.PlanarFreehandROITool.toolName,OrientationMarker:R.OrientationMarkerTool.toolName,WindowLevelRegion:R.WindowLevelRegionTool.toolName,PlanarFreehandContourSegmentation:R.PlanarFreehandContourSegmentationTool.toolName,SegmentBidirectional:R.SegmentBidirectionalTool.toolName,SegmentSelect:R.SegmentSelectTool.toolName,SegmentLabel:R.SegmentLabelTool.toolName,LabelmapSlicePropagation:X.LabelmapSlicePropagationTool.toolName,MarkerLabelmap:X.MarkerLabelmapTool.toolName,ClickSegment:R.ClickSegmentTool.toolName,LivewireContourSegmentation:R.LivewireContourSegmentationTool.toolName,SculptorTool:R.SculptorTool.toolName,SplineContourSegmentation:R.SplineContourSegmentationTool.toolName,LabelMapEditWithContourTool:R.LabelMapEditWithContourTool.toolName},eu=["Length","EllipticalROI","CircleROI","Bidirectional","ArrowAnnotate","Angle","CobbAngle","Probe","RectangleROI","PlanarFreehandROI","SplineROI","LivewireContour","UltrasoundDirectionalTool","UltrasoundPleuraBLineTool","SegmentBidirectional"];var ed=x(9195);function ep(e,t,A){if(e){var n;let t;return n=e,{SOPInstanceUID:(t=L.metaData.get("instance",n)).SOPInstanceUID,SeriesInstanceUID:t.SeriesInstanceUID,StudyInstanceUID:t.StudyInstanceUID,frameNumber:t.frameNumber||1}}let{metadata:r}=A,{StudyInstanceUID:o,SeriesInstanceUID:i}=function({metadata:e,displaySetService:t}){let{volumeId:A}=e;if(A){let n=t.getDisplaySetsBy(e=>A.includes(e.uid))[0];if(n)return n;console.warn("Unable to find volumeId",A),e.volumeId=null}if(!e.FrameOfReferenceUID)throw Error("No volumeId and no FrameOfReferenceUID provided. Could not find matching displaySet.");let n=Array.from(t.getDisplaySetCache().values()).find(t=>t.instance?.FrameOfReferenceUID===e.FrameOfReferenceUID);if(!n)throw Error("Could not find matching displaySet for the provided FrameOfReferenceUID.");return n}({metadata:r,displaySetService:t});return{SOPInstanceUID:void 0,SeriesInstanceUID:i,StudyInstanceUID:o}}let eg=e=>{};function em(e){if(e.longAxis&&e.shortAxis){let t={};return t.start=e.longAxis[0],t.end=e.longAxis[1],t.perpendicularStart=e.longAxis[0],t.perpendicularEnd=e.longAxis[1],t}return e.map((e,t)=>t%10==0?{start:e}:{end:e}).reduce((e,t)=>Object.assign(e,{...t}),{})}function eh(e){return R.annotation.selection.isAnnotationSelected(e)}function ef(e,t){eh(e)!==t&&R.annotation.selection.setAnnotationSelected(e,t)}function ew(e){let[t]=R.annotation.selection.getAnnotationsSelected()||[];if(t)return R.annotation.state.getAnnotation(t)}let eB=e=>null==e?"":e,ey=e=>{},ev=(e,t,A)=>{if(Array.isArray(e)&&e.length>0){let n=e.map(e=>k.utils.roundNumber(e,2));return`${A.charAt(0).toUpperCase()+A.slice(1)}: ${n.join(", ")} ${eB(t)}`}let n=k.utils.roundNumber(e,2);return`${A.charAt(0).toUpperCase()+A.slice(1)}: ${n} ${eB(t)}`},eS=e=>{},eC=e=>{},eI=e=>{},eb=e=>{},eU=e=>{},eE={toAnnotation:e=>{},toMeasurement:(e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.debug("PlanarFreehandROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:h,frameNumber:f,StudyInstanceUID:w}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let B=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===o);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"",u=k.utils.roundNumber(r||0,2);return n.primary.push(`${u} ${eB(s)}`),e.forEach(e=>{let{unit:t,max:A,SeriesNumber:r}=e,o=ev(A,t,"max");n.primary.push(o),n.secondary.push(`S: ${r}${l}${c}`)}),n}(function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!r)return;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{mean:u,stdDev:d,max:p,area:g,Modality:m,areaUnit:h,modalityUnit:f}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,Modality:m,unit:f,mean:u,stdDev:d,max:p,area:g,areaUnit:h})}),i}(i,t),o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:a.contour.polyline,textBox:a.handles.textBox,metadata:s,frameNumber:f,referenceSeriesUID:h,referenceStudyUID:w,referencedImageId:p,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:B,data:a.cachedStats,type:n(d),getReport:()=>(function(e,t){let{PlanarFreehandROI:A}=t.getCustomization("cornerstone.measurements"),{report:n}=A,r=[],o=[];r.push("AnnotationType"),o.push("Cornerstone:PlanarFreehandROI");let{metadata:i,data:s}=e,a=s.cachedStats[`imageId:${i.referencedImageId}`];return n.forEach(({displayName:e,value:t})=>{r.push(e),a[t]?o.push(a[t]):o.push("not available")}),i.FrameOfReferenceUID&&(r.push("FrameOfReferenceUID"),o.push(i.FrameOfReferenceUID)),s.contour.polyline&&(r.push("points"),o.push(s.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:r,values:o}})(i,r),isLocked:c,isVisible:u}}},eF={toAnnotation:e=>{},toMeasurement:(e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Rectangle ROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[],s=new Set;return Object.keys(r).forEach(n=>{let a=r[n],{SOPInstanceUID:l,SeriesInstanceUID:c,frameNumber:u}=ep(o,t,e),{SeriesNumber:d}=t.getDisplaySetsForSeries(c)[0],{mean:p,stdDev:g,max:m,area:h,Modality:f,modalityUnit:w,areaUnit:B}=a;f&&s.has(f)||(f&&s.add(f),i.push({SeriesInstanceUID:c,SOPInstanceUID:l,SeriesNumber:d,frameNumber:u,Modality:f,unit:w,mean:p,stdDev:g,metadata:A,max:m,area:h,areaUnit:B}))}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===o);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"",u=k.utils.roundNumber(r||0,2);return n.primary.push(`${u} ${eB(s)}`),e.forEach(e=>{let{unit:t,max:A,SeriesNumber:r}=e;if(Number.isFinite(A)){let e=ev(A,t,"max");n.primary.push(e)}n.secondary.push(`S: ${r}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:RectangleROI"),e.forEach(e=>{let{mean:t,stdDev:A,max:o,area:i,unit:s,areaUnit:a}=e;t&&s&&o&&i&&(n.push("Maximum","Mean","Std Dev","Pixel Unit","Area","Unit"),r.push(o,t,A,s,i,a))}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}}},eQ=e=>{},eT=e=>{},eD=e=>{},ex=e=>{},eO=e=>{},eM=e=>{};var eL=x(3154);let{rM:eR,yK:eV}=F,{removeAnnotation:eN}=R.annotation.state,eH=R.Enums.Events,{DefaultHistoryMemo:e_}=L.utilities.HistoryMemo,ek=function(e){let{cineService:t}=e.services;t.setServiceImplementation({getSyncedViewports:t=>(function(e,t){let{viewportGridService:A,cornerstoneViewportService:n}=e.services,{viewports:r}=A.getState(),o=r.get(t);if(o?.viewportOptions?.viewportType!=="volume")return[];let i=n.getCornerstoneViewport(t),s=i?function(e){if(!e?.getAllVolumeIds)return null;let t=e.getAllVolumeIds().map(e=>L.cache.getVolume(e));return t.find(e=>e.isDynamicVolume())??t[0]}(i):null;if(!s?.isDynamicVolume())return[];let{volumeId:a}=s;return Array.from(r.values()).filter(({viewportId:e})=>{let A=n.getCornerstoneViewport(e);return e!==t&&A?.hasVolumeId?.(a)}).map(({viewportId:e})=>({viewportId:e}))})(e,t),playClip:(e,t)=>R.utilities.cine.playClip(e,t),stopClip:(e,t)=>R.utilities.cine.stopClip(e,t)})},eP=function(e){let{studyPrefetcherService:t}=e.services;t.requestType=L.Enums.RequestType.Prefetch,t.imageLoadPoolManager=L.imageLoadPoolManager,t.imageLoader=L.imageLoader,t.cache={isImageCached:e=>!!L.cache.getImageLoadObject(e)},t.imageLoadEventsManager={addEventListeners:(e,t)=>(L.eventTarget.addEventListener(L.EVENTS.IMAGE_LOADED,e),L.eventTarget.addEventListener(L.EVENTS.IMAGE_LOAD_FAILED,t),[{unsubscribe:()=>L.eventTarget.removeEventListener(L.EVENTS.IMAGE_LOADED,e)},{unsubscribe:()=>L.eventTarget.removeEventListener(L.EVENTS.IMAGE_LOAD_FAILED,t)}])}},ej=!1;function eG(){return ej}let eK={webgl:"gpu",gpu:"gpu",cpu:"cpu",auto:"auto"};function eW(e){if("string"!=typeof e)return;let t=e.trim();if(t)return eK[t.toLowerCase()]??t}let eY={};var ez=x(9863),eX=x.n(ez),eJ=x(5257),eq=x.n(eJ),e$=x(6446),eZ=x.n(e$);let e0=new Map,e1=new Map;function e3({data:{viewportId:e,volumeInputArray:t},displaySetsMatchDetails:A,viewportMatchDetails:n}){for(let A of(e1.set(e,t),t)){let{volumeId:e}=A,t=L.cache.getVolume(e);if(!t)return;if(!e0.has(e)){let{metadata:A}=t;e0.set(e,A.SeriesInstanceUID)}}let r=new Set;e1.forEach((e,t)=>{e.forEach(e=>{let{volumeId:t}=e;r.add(t)})});let o=new Set;if(n.forEach(e=>{let{displaySetsInfo:t}=e;t.forEach(({displaySetInstanceUID:e})=>{o.add(e)})}),r.size!==o.size)return;let i=Array.from(e0.keys()).slice().map(e=>L.cache.getVolume(e)),s=[];i.forEach(e=>{let t=e.getImageLoadRequests?.()??[];if(!t.length||!t[0]||!t[0].imageId)return;let A=(function(e){if(0===e.length)return[];if(1===e.length)return[{imageId:e[0],imageIdIndex:0}];let t=e.length-1,A=Math.floor(e.length/2),n=A,r=A,o=[{imageId:e[A],imageIdIndex:A}],i={currentPositionDownToMinimum:!1,currentPositionUpToMaximum:!1};for(0===A?i.currentPositionDownToMinimum=!0:A===t&&(i.currentPositionUpToMaximum=!0);!i.currentPositionDownToMinimum||!i.currentPositionUpToMaximum;)i.currentPositionDownToMinimum||(o.push({imageId:e[--n],imageIdIndex:n}),0===n&&(i.currentPositionDownToMinimum=!0)),i.currentPositionUpToMaximum||(o.push({imageId:e[++r],imageIdIndex:r}),r===t&&(i.currentPositionUpToMaximum=!0));return o})(t.map(e=>e.imageId)).map(({imageId:e})=>t.find(t=>t.imageId===e));s.push(A)});let a=eq()(eZ()(eX()(...s))),l=[];a.forEach(e=>{let{imageId:t}=e;s.forEach(e=>{let A=e.find(e=>e.imageId===t);A&&l.push(A)})});let c=L.Enums.RequestType.Prefetch;l.forEach(({callLoadImage:e,additionalDetails:t,imageId:A,imageIdIndex:n,options:r})=>{let o=e.bind(null,A,n,r);L.imageLoadPoolManager.addRequest(o,c,t,0)}),e0.clear();let u=new Map(e1);return e1.clear(),u}let e2=new Map,e4=new Map;function e6({data:{viewportId:e,volumeInputArray:t},displaySetsMatchDetails:A}){for(let A of(e4.set(e,t),t)){let{volumeId:e}=A,t=L.cache.getVolume(e);if(!t)return void console.log("interleaveNthLoader::No volume, can't load it");if(!e2.has(e)){let{metadata:A}=t;e2.set(e,A.SeriesInstanceUID)}}let n=function(e){if(!e||!e.length)return[];if(1===e.length)return e[0];let t=[...e],A=[];for(let e=0;t.length>0;e++)for(let n=0;n<t.length;n++){let r=t[n];if(e>=r.length){t.splice(n,1),n--;continue}A.push(r[e])}return A}(Array.from(e2.keys()).slice().map(e=>L.cache.getVolume(e)).map(e=>e.getImageLoadRequests?.()??[]).filter(e=>e?.[0]?.imageId).map(e=>(function(e){let t=[[],[],[],[],[]],A=e.length/2-3,n=A+6;for(let r=0;r<e.length;r++)r<2||r>e.length-4||r>A&&r<n?t[0].push(e[r]):r%7==2?t[1].push(e[r]):r%7==5?t[2].push(e[r]):t[r%2+3].push(e[r]);return[...t[0],...t[1],...t[2],...t[3],...t[4]]})(e))),r=L.Enums.RequestType.Prefetch;n.forEach(({callLoadImage:e,additionalDetails:t,imageId:A,imageIdIndex:n,options:o})=>{let i=e.bind(null,A,n,o);L.imageLoadPoolManager.addRequest(i,r,t,0)}),e2.clear();let o=new Map(e4);return e4.clear(),o}let e9=new Map,e8=new Map;function e5({data:{viewportId:e,volumeInputArray:t},displaySetsMatchDetails:A,viewportMatchDetails:n}){for(let A of(e8.set(e,t),t)){let{volumeId:e}=A,t=L.cache.getVolume(e);if(!t)return;if(!e9.has(e)){let{metadata:A}=t;e9.set(e,A.SeriesInstanceUID)}}let r=new Set;e8.forEach((e,t)=>{e.forEach(e=>{let{volumeId:t}=e;r.add(t)})});let o=new Set;if(n.forEach(e=>{let{displaySetsInfo:t}=e;t.forEach(({displaySetInstanceUID:e})=>{o.add(e)})}),r.size!==o.size)return;let i=Array.from(e9.keys()).slice().map(e=>L.cache.getVolume(e)),s=[];i.forEach(e=>{let t=e.getImageLoadRequests?.()??[];t?.[0]?.imageId&&s.push(t.reverse())});let a=eq()(eZ()(eX()(...s))),l=[];a.forEach(e=>{let{imageId:t}=e;s.forEach(e=>{let A=e.find(e=>e.imageId===t);A&&l.push(A)})});let c=L.Enums.RequestType.Prefetch;l.forEach(({callLoadImage:e,additionalDetails:t,imageId:A,imageIdIndex:n,options:r})=>{let o=e.bind(null,A,n,r);L.imageLoadPoolManager.addRequest(o,c,t,0)}),e9.clear();let u=new Map(e8);return e8.clear(),u}let e7=(e,t)=>{if(!t?.detail)return;let{element:A,currentPoints:n}=t.detail;return e.runCommand("getNearbyAnnotation",{element:A,canvasCoordinates:n?.canvas},"CORNERSTONE")},te=R.Enums.Events,tt=function({cornerstoneViewportService:e,customizationService:t,commandsManager:A}){let n=e=>{let n,r;((e,n)=>{let r=t.getCustomization("cornerstoneViewportClickCommands")[e];if(!r)return;let o=null;r.some(e=>e.commandOptions?.requireNearbyToolData)&&(o=e7(A,n));let i={nearbyToolData:o,event:n};A.run(r,i)})((n=e.detail.event.which,r=[],e.detail.event.altKey&&r.push("alt"),e.detail.event.ctrlKey&&r.push("ctrl"),e.detail.event.shiftKey&&r.push("shift"),r.push("button"),r.push(n),r.join("")),e)};L.eventTarget.addEventListener(L.EVENTS.ELEMENT_ENABLED,(function(t){let{viewportId:A,element:r}=t.detail;e.getViewportInfo(A)&&((0,$.ye)(A,r),r.addEventListener(te.MOUSE_CLICK,n))}).bind(null)),L.eventTarget.addEventListener(L.EVENTS.ELEMENT_DISABLED,(function(e){let{element:t}=e.detail;t.removeEventListener(te.MOUSE_CLICK,n)}).bind(null))},tA=R.Enums.Events,tn=function({customizationService:e,commandsManager:t}){let A=A=>{let n;if(e7(t,A))return;let r=(n=[],A.detail.event.altKey&&n.push("alt"),A.detail.event.ctrlKey&&n.push("ctrl"),A.detail.event.shiftKey&&n.push("shift"),n.push("doubleClick"),n.join("")),o=e.getCustomization("cornerstoneViewportClickCommands")[r];o&&t.run(o)};L.eventTarget.addEventListener(L.EVENTS.ELEMENT_ENABLED,(function(e){let{element:t}=e.detail;t.addEventListener(tA.MOUSE_DOUBLE_CLICK,A)}).bind(null)),L.eventTarget.addEventListener(L.EVENTS.ELEMENT_DISABLED,(function(e){let{element:t}=e.detail;t.removeEventListener(tA.MOUSE_DOUBLE_CLICK,A)}).bind(null))},tr=[],to={viewportsWaiting:0};function ti(e){if("preRender"===e.detail.viewportStatus)return;let{TimingEnum:t}=k.Enums;k.log.timeEnd(t.DISPLAY_SETS_TO_FIRST_IMAGE),k.log.timeEnd(t.STUDY_TO_FIRST_IMAGE),k.log.timeEnd(t.SCRIPT_TO_VIEW),to.viewportsWaiting-=1,e.detail.element.removeEventListener(L.EVENTS.IMAGE_RENDERED,ti),to.viewportsWaiting||k.log.timeEnd(t.DISPLAY_SETS_TO_ALL_IMAGES)}let ts=[{ColorSpace:"RGB",Name:"Grayscale",NanColor:[1,0,0],RGBPoints:[0,0,0,0,1,1,1,1],description:"Grayscale"},{ColorSpace:"RGB",Name:"X Ray",NanColor:[1,0,0],RGBPoints:[0,1,1,1,1,0,0,0],description:"X Ray"},{ColorSpace:"RGB",Name:"Isodose",NanColor:[1,0,0],RGBPoints:[0,0,1,0,.1,.5,1,0,.2,1,1,0,.3,1,.66,0,.4,1,.33,0,.5,1,0,0],description:"Isodose"},{ColorSpace:"RGB",Name:"hsv",RGBPoints:[-1,1,0,0,-.666666,1,0,1,-.333333,0,0,1,0,0,1,1,.33333,0,1,0,.66666,1,1,0,1,1,0,0],description:"HSV"},{ColorSpace:"RGB",Name:"hot_iron",RGBPoints:[0,.0039215686,.0039215686,.0156862745,.00392156862745098,.0039215686,.0039215686,.0156862745,.00784313725490196,.0039215686,.0039215686,.031372549,.011764705882352941,.0039215686,.0039215686,.0470588235,.01568627450980392,.0039215686,.0039215686,.062745098,.0196078431372549,.0039215686,.0039215686,.0784313725,.023529411764705882,.0039215686,.0039215686,.0941176471,.027450980392156862,.0039215686,.0039215686,.1098039216,.03137254901960784,.0039215686,.0039215686,.1254901961,.03529411764705882,.0039215686,.0039215686,.1411764706,.0392156862745098,.0039215686,.0039215686,.1568627451,.043137254901960784,.0039215686,.0039215686,.1725490196,.047058823529411764,.0039215686,.0039215686,.1882352941,.050980392156862744,.0039215686,.0039215686,.2039215686,.054901960784313725,.0039215686,.0039215686,.2196078431,.05882352941176471,.0039215686,.0039215686,.2352941176,.06274509803921569,.0039215686,.0039215686,.2509803922,.06666666666666667,.0039215686,.0039215686,.262745098,.07058823529411765,.0039215686,.0039215686,.2784313725,.07450980392156863,.0039215686,.0039215686,.2941176471,.0784313725490196,.0039215686,.0039215686,.3098039216,.08235294117647059,.0039215686,.0039215686,.3254901961,.08627450980392157,.0039215686,.0039215686,.3411764706,.09019607843137255,.0039215686,.0039215686,.3568627451,.09411764705882353,.0039215686,.0039215686,.3725490196,.09803921568627451,.0039215686,.0039215686,.3882352941,.10196078431372549,.0039215686,.0039215686,.4039215686,.10588235294117647,.0039215686,.0039215686,.4196078431,.10980392156862745,.0039215686,.0039215686,.4352941176,.11372549019607843,.0039215686,.0039215686,.4509803922,.11764705882352942,.0039215686,.0039215686,.4666666667,.12156862745098039,.0039215686,.0039215686,.4823529412,.12549019607843137,.0039215686,.0039215686,.4980392157,.12941176470588237,.0039215686,.0039215686,.5137254902,.13333333333333333,.0039215686,.0039215686,.5294117647,.13725490196078433,.0039215686,.0039215686,.5450980392,.1411764705882353,.0039215686,.0039215686,.5607843137,.1450980392156863,.0039215686,.0039215686,.5764705882,.14901960784313725,.0039215686,.0039215686,.5921568627,.15294117647058825,.0039215686,.0039215686,.6078431373,.1568627450980392,.0039215686,.0039215686,.6235294118,.1607843137254902,.0039215686,.0039215686,.6392156863,.16470588235294117,.0039215686,.0039215686,.6549019608,.16862745098039217,.0039215686,.0039215686,.6705882353,.17254901960784313,.0039215686,.0039215686,.6862745098,.17647058823529413,.0039215686,.0039215686,.7019607843,.1803921568627451,.0039215686,.0039215686,.7176470588,.1843137254901961,.0039215686,.0039215686,.7333333333,.18823529411764706,.0039215686,.0039215686,.7490196078,.19215686274509805,.0039215686,.0039215686,.7607843137,.19607843137254902,.0039215686,.0039215686,.7764705882,.2,.0039215686,.0039215686,.7921568627,.20392156862745098,.0039215686,.0039215686,.8078431373,.20784313725490197,.0039215686,.0039215686,.8235294118,.21176470588235294,.0039215686,.0039215686,.8392156863,.21568627450980393,.0039215686,.0039215686,.8549019608,.2196078431372549,.0039215686,.0039215686,.8705882353,.2235294117647059,.0039215686,.0039215686,.8862745098,.22745098039215686,.0039215686,.0039215686,.9019607843,.23137254901960785,.0039215686,.0039215686,.9176470588,.23529411764705885,.0039215686,.0039215686,.9333333333,.23921568627450984,.0039215686,.0039215686,.9490196078,.24313725490196078,.0039215686,.0039215686,.9647058824,.24705882352941178,.0039215686,.0039215686,.9803921569,.25098039215686274,.0039215686,.0039215686,.9960784314,.2549019607843137,.0039215686,.0039215686,.9960784314,.25882352941176473,.0156862745,.0039215686,.9803921569,.2627450980392157,.031372549,.0039215686,.9647058824,.26666666666666666,.0470588235,.0039215686,.9490196078,.27058823529411763,.062745098,.0039215686,.9333333333,.27450980392156865,.0784313725,.0039215686,.9176470588,.2784313725490196,.0941176471,.0039215686,.9019607843,.2823529411764706,.1098039216,.0039215686,.8862745098,.28627450980392155,.1254901961,.0039215686,.8705882353,.2901960784313726,.1411764706,.0039215686,.8549019608,.29411764705882354,.1568627451,.0039215686,.8392156863,.2980392156862745,.1725490196,.0039215686,.8235294118,.30196078431372547,.1882352941,.0039215686,.8078431373,.3058823529411765,.2039215686,.0039215686,.7921568627,.30980392156862746,.2196078431,.0039215686,.7764705882,.3137254901960784,.2352941176,.0039215686,.7607843137,.3176470588235294,.2509803922,.0039215686,.7490196078,.3215686274509804,.262745098,.0039215686,.7333333333,.3254901960784314,.2784313725,.0039215686,.7176470588,.32941176470588235,.2941176471,.0039215686,.7019607843,.3333333333333333,.3098039216,.0039215686,.6862745098,.33725490196078434,.3254901961,.0039215686,.6705882353,.3411764705882353,.3411764706,.0039215686,.6549019608,.34509803921568627,.3568627451,.0039215686,.6392156863,.34901960784313724,.3725490196,.0039215686,.6235294118,.35294117647058826,.3882352941,.0039215686,.6078431373,.3568627450980392,.4039215686,.0039215686,.5921568627,.3607843137254902,.4196078431,.0039215686,.5764705882,.36470588235294116,.4352941176,.0039215686,.5607843137,.3686274509803922,.4509803922,.0039215686,.5450980392,.37254901960784315,.4666666667,.0039215686,.5294117647,.3764705882352941,.4823529412,.0039215686,.5137254902,.3803921568627451,.4980392157,.0039215686,.4980392157,.3843137254901961,.5137254902,.0039215686,.4823529412,.38823529411764707,.5294117647,.0039215686,.4666666667,.39215686274509803,.5450980392,.0039215686,.4509803922,.396078431372549,.5607843137,.0039215686,.4352941176,.4,.5764705882,.0039215686,.4196078431,.403921568627451,.5921568627,.0039215686,.4039215686,.40784313725490196,.6078431373,.0039215686,.3882352941,.4117647058823529,.6235294118,.0039215686,.3725490196,.41568627450980394,.6392156863,.0039215686,.3568627451,.4196078431372549,.6549019608,.0039215686,.3411764706,.4235294117647059,.6705882353,.0039215686,.3254901961,.42745098039215684,.6862745098,.0039215686,.3098039216,.43137254901960786,.7019607843,.0039215686,.2941176471,.43529411764705883,.7176470588,.0039215686,.2784313725,.4392156862745098,.7333333333,.0039215686,.262745098,.44313725490196076,.7490196078,.0039215686,.2509803922,.4470588235294118,.7607843137,.0039215686,.2352941176,.45098039215686275,.7764705882,.0039215686,.2196078431,.4549019607843137,.7921568627,.0039215686,.2039215686,.4588235294117647,.8078431373,.0039215686,.1882352941,.4627450980392157,.8235294118,.0039215686,.1725490196,.4666666666666667,.8392156863,.0039215686,.1568627451,.4705882352941177,.8549019608,.0039215686,.1411764706,.4745098039215686,.8705882353,.0039215686,.1254901961,.4784313725490197,.8862745098,.0039215686,.1098039216,.48235294117647065,.9019607843,.0039215686,.0941176471,.48627450980392156,.9176470588,.0039215686,.0784313725,.49019607843137253,.9333333333,.0039215686,.062745098,.49411764705882355,.9490196078,.0039215686,.0470588235,.4980392156862745,.9647058824,.0039215686,.031372549,.5019607843137255,.9803921569,.0039215686,.0156862745,.5058823529411764,.9960784314,.0039215686,.0039215686,.5098039215686274,.9960784314,.0156862745,.0039215686,.5137254901960784,.9960784314,.031372549,.0039215686,.5176470588235295,.9960784314,.0470588235,.0039215686,.5215686274509804,.9960784314,.062745098,.0039215686,.5254901960784314,.9960784314,.0784313725,.0039215686,.5294117647058824,.9960784314,.0941176471,.0039215686,.5333333333333333,.9960784314,.1098039216,.0039215686,.5372549019607843,.9960784314,.1254901961,.0039215686,.5411764705882353,.9960784314,.1411764706,.0039215686,.5450980392156862,.9960784314,.1568627451,.0039215686,.5490196078431373,.9960784314,.1725490196,.0039215686,.5529411764705883,.9960784314,.1882352941,.0039215686,.5568627450980392,.9960784314,.2039215686,.0039215686,.5607843137254902,.9960784314,.2196078431,.0039215686,.5647058823529412,.9960784314,.2352941176,.0039215686,.5686274509803921,.9960784314,.2509803922,.0039215686,.5725490196078431,.9960784314,.262745098,.0039215686,.5764705882352941,.9960784314,.2784313725,.0039215686,.5803921568627451,.9960784314,.2941176471,.0039215686,.5843137254901961,.9960784314,.3098039216,.0039215686,.5882352941176471,.9960784314,.3254901961,.0039215686,.592156862745098,.9960784314,.3411764706,.0039215686,.596078431372549,.9960784314,.3568627451,.0039215686,.6,.9960784314,.3725490196,.0039215686,.6039215686274509,.9960784314,.3882352941,.0039215686,.6078431372549019,.9960784314,.4039215686,.0039215686,.611764705882353,.9960784314,.4196078431,.0039215686,.615686274509804,.9960784314,.4352941176,.0039215686,.6196078431372549,.9960784314,.4509803922,.0039215686,.6235294117647059,.9960784314,.4666666667,.0039215686,.6274509803921569,.9960784314,.4823529412,.0039215686,.6313725490196078,.9960784314,.4980392157,.0039215686,.6352941176470588,.9960784314,.5137254902,.0039215686,.6392156862745098,.9960784314,.5294117647,.0039215686,.6431372549019608,.9960784314,.5450980392,.0039215686,.6470588235294118,.9960784314,.5607843137,.0039215686,.6509803921568628,.9960784314,.5764705882,.0039215686,.6549019607843137,.9960784314,.5921568627,.0039215686,.6588235294117647,.9960784314,.6078431373,.0039215686,.6627450980392157,.9960784314,.6235294118,.0039215686,.6666666666666666,.9960784314,.6392156863,.0039215686,.6705882352941176,.9960784314,.6549019608,.0039215686,.6745098039215687,.9960784314,.6705882353,.0039215686,.6784313725490196,.9960784314,.6862745098,.0039215686,.6823529411764706,.9960784314,.7019607843,.0039215686,.6862745098039216,.9960784314,.7176470588,.0039215686,.6901960784313725,.9960784314,.7333333333,.0039215686,.6941176470588235,.9960784314,.7490196078,.0039215686,.6980392156862745,.9960784314,.7607843137,.0039215686,.7019607843137254,.9960784314,.7764705882,.0039215686,.7058823529411765,.9960784314,.7921568627,.0039215686,.7098039215686275,.9960784314,.8078431373,.0039215686,.7137254901960784,.9960784314,.8235294118,.0039215686,.7176470588235294,.9960784314,.8392156863,.0039215686,.7215686274509804,.9960784314,.8549019608,.0039215686,.7254901960784313,.9960784314,.8705882353,.0039215686,.7294117647058823,.9960784314,.8862745098,.0039215686,.7333333333333333,.9960784314,.9019607843,.0039215686,.7372549019607844,.9960784314,.9176470588,.0039215686,.7411764705882353,.9960784314,.9333333333,.0039215686,.7450980392156863,.9960784314,.9490196078,.0039215686,.7490196078431373,.9960784314,.9647058824,.0039215686,.7529411764705882,.9960784314,.9803921569,.0039215686,.7568627450980392,.9960784314,.9960784314,.0039215686,.7607843137254902,.9960784314,.9960784314,.0196078431,.7647058823529411,.9960784314,.9960784314,.0352941176,.7686274509803922,.9960784314,.9960784314,.0509803922,.7725490196078432,.9960784314,.9960784314,.0666666667,.7764705882352941,.9960784314,.9960784314,.0823529412,.7803921568627451,.9960784314,.9960784314,.0980392157,.7843137254901961,.9960784314,.9960784314,.1137254902,.788235294117647,.9960784314,.9960784314,.1294117647,.792156862745098,.9960784314,.9960784314,.1450980392,.796078431372549,.9960784314,.9960784314,.1607843137,.8,.9960784314,.9960784314,.1764705882,.803921568627451,.9960784314,.9960784314,.1921568627,.807843137254902,.9960784314,.9960784314,.2078431373,.8117647058823529,.9960784314,.9960784314,.2235294118,.8156862745098039,.9960784314,.9960784314,.2392156863,.8196078431372549,.9960784314,.9960784314,.2509803922,.8235294117647058,.9960784314,.9960784314,.2666666667,.8274509803921568,.9960784314,.9960784314,.2823529412,.8313725490196079,.9960784314,.9960784314,.2980392157,.8352941176470589,.9960784314,.9960784314,.3137254902,.8392156862745098,.9960784314,.9960784314,.3333333333,.8431372549019608,.9960784314,.9960784314,.3490196078,.8470588235294118,.9960784314,.9960784314,.3647058824,.8509803921568627,.9960784314,.9960784314,.3803921569,.8549019607843137,.9960784314,.9960784314,.3960784314,.8588235294117647,.9960784314,.9960784314,.4117647059,.8627450980392157,.9960784314,.9960784314,.4274509804,.8666666666666667,.9960784314,.9960784314,.4431372549,.8705882352941177,.9960784314,.9960784314,.4588235294,.8745098039215686,.9960784314,.9960784314,.4745098039,.8784313725490196,.9960784314,.9960784314,.4901960784,.8823529411764706,.9960784314,.9960784314,.5058823529,.8862745098039215,.9960784314,.9960784314,.5215686275,.8901960784313725,.9960784314,.9960784314,.537254902,.8941176470588236,.9960784314,.9960784314,.5529411765,.8980392156862745,.9960784314,.9960784314,.568627451,.9019607843137255,.9960784314,.9960784314,.5843137255,.9058823529411765,.9960784314,.9960784314,.6,.9098039215686274,.9960784314,.9960784314,.6156862745,.9137254901960784,.9960784314,.9960784314,.631372549,.9176470588235294,.9960784314,.9960784314,.6470588235,.9215686274509803,.9960784314,.9960784314,.6666666667,.9254901960784314,.9960784314,.9960784314,.6823529412,.9294117647058824,.9960784314,.9960784314,.6980392157,.9333333333333333,.9960784314,.9960784314,.7137254902,.9372549019607843,.9960784314,.9960784314,.7294117647,.9411764705882354,.9960784314,.9960784314,.7450980392,.9450980392156864,.9960784314,.9960784314,.7568627451,.9490196078431372,.9960784314,.9960784314,.7725490196,.9529411764705882,.9960784314,.9960784314,.7882352941,.9568627450980394,.9960784314,.9960784314,.8039215686,.9607843137254903,.9960784314,.9960784314,.8196078431,.9647058823529413,.9960784314,.9960784314,.8352941176,.9686274509803922,.9960784314,.9960784314,.8509803922,.9725490196078431,.9960784314,.9960784314,.8666666667,.9764705882352941,.9960784314,.9960784314,.8823529412,.9803921568627451,.9960784314,.9960784314,.8980392157,.984313725490196,.9960784314,.9960784314,.9137254902,.9882352941176471,.9960784314,.9960784314,.9294117647,.9921568627450981,.9960784314,.9960784314,.9450980392,.996078431372549,.9960784314,.9960784314,.9607843137,1,.9960784314,.9960784314,.9607843137],description:"Hot Iron"},{ColorSpace:"RGB",Name:"red_hot",RGBPoints:[0,0,0,0,.00392156862745098,0,0,0,.00784313725490196,0,0,0,.011764705882352941,0,0,0,.01568627450980392,.0039215686,.0039215686,.0039215686,.0196078431372549,.0039215686,.0039215686,.0039215686,.023529411764705882,.0039215686,.0039215686,.0039215686,.027450980392156862,.0039215686,.0039215686,.0039215686,.03137254901960784,.0039215686,.0039215686,.0039215686,.03529411764705882,.0156862745,0,0,.0392156862745098,.0274509804,0,0,.043137254901960784,.0392156863,0,0,.047058823529411764,.0509803922,0,0,.050980392156862744,.062745098,0,0,.054901960784313725,.0784313725,0,0,.05882352941176471,.0901960784,0,0,.06274509803921569,.1058823529,0,0,.06666666666666667,.1176470588,0,0,.07058823529411765,.1294117647,0,0,.07450980392156863,.1411764706,0,0,.0784313725490196,.1529411765,0,0,.08235294117647059,.1647058824,0,0,.08627450980392157,.1764705882,0,0,.09019607843137255,.1882352941,0,0,.09411764705882353,.2039215686,0,0,.09803921568627451,.2156862745,0,0,.10196078431372549,.2274509804,0,0,.10588235294117647,.2392156863,0,0,.10980392156862745,.2549019608,0,0,.11372549019607843,.2666666667,0,0,.11764705882352942,.2784313725,0,0,.12156862745098039,.2901960784,0,0,.12549019607843137,.3058823529,0,0,.12941176470588237,.3176470588,0,0,.13333333333333333,.3294117647,0,0,.13725490196078433,.3411764706,0,0,.1411764705882353,.3529411765,0,0,.1450980392156863,.3647058824,0,0,.14901960784313725,.3764705882,0,0,.15294117647058825,.3882352941,0,0,.1568627450980392,.4039215686,0,0,.1607843137254902,.4156862745,0,0,.16470588235294117,.431372549,0,0,.16862745098039217,.4431372549,0,0,.17254901960784313,.4588235294,0,0,.17647058823529413,.4705882353,0,0,.1803921568627451,.4823529412,0,0,.1843137254901961,.4941176471,0,0,.18823529411764706,.5098039216,0,0,.19215686274509805,.5215686275,0,0,.19607843137254902,.5333333333,0,0,.2,.5450980392,0,0,.20392156862745098,.5568627451,0,0,.20784313725490197,.568627451,0,0,.21176470588235294,.5803921569,0,0,.21568627450980393,.5921568627,0,0,.2196078431372549,.6078431373,0,0,.2235294117647059,.6196078431,0,0,.22745098039215686,.631372549,0,0,.23137254901960785,.6431372549,0,0,.23529411764705885,.6588235294,0,0,.23921568627450984,.6705882353,0,0,.24313725490196078,.6823529412,0,0,.24705882352941178,.6941176471,0,0,.25098039215686274,.7098039216,0,0,.2549019607843137,.7215686275,0,0,.25882352941176473,.7333333333,0,0,.2627450980392157,.7450980392,0,0,.26666666666666666,.7568627451,0,0,.27058823529411763,.768627451,0,0,.27450980392156865,.7843137255,0,0,.2784313725490196,.7960784314,0,0,.2823529411764706,.8117647059,0,0,.28627450980392155,.8235294118,0,0,.2901960784313726,.8352941176,0,0,.29411764705882354,.8470588235,0,0,.2980392156862745,.862745098,0,0,.30196078431372547,.8745098039,0,0,.3058823529411765,.8862745098,0,0,.30980392156862746,.8980392157,0,0,.3137254901960784,.9137254902,0,0,.3176470588235294,.9254901961,0,0,.3215686274509804,.937254902,0,0,.3254901960784314,.9490196078,0,0,.32941176470588235,.9607843137,0,0,.3333333333333333,.968627451,0,0,.33725490196078434,.9803921569,.0039215686,0,.3411764705882353,.9882352941,.0078431373,0,.34509803921568627,1,.0117647059,0,.34901960784313724,1,.0235294118,0,.35294117647058826,1,.0352941176,0,.3568627450980392,1,.0470588235,0,.3607843137254902,1,.062745098,0,.36470588235294116,1,.0745098039,0,.3686274509803922,1,.0862745098,0,.37254901960784315,1,.0980392157,0,.3764705882352941,1,.1137254902,0,.3803921568627451,1,.1254901961,0,.3843137254901961,1,.137254902,0,.38823529411764707,1,.1490196078,0,.39215686274509803,1,.1647058824,0,.396078431372549,1,.1764705882,0,.4,1,.1882352941,0,.403921568627451,1,.2,0,.40784313725490196,1,.2156862745,0,.4117647058823529,1,.2274509804,0,.41568627450980394,1,.2392156863,0,.4196078431372549,1,.2509803922,0,.4235294117647059,1,.2666666667,0,.42745098039215684,1,.2784313725,0,.43137254901960786,1,.2901960784,0,.43529411764705883,1,.3019607843,0,.4392156862745098,1,.3176470588,0,.44313725490196076,1,.3294117647,0,.4470588235294118,1,.3411764706,0,.45098039215686275,1,.3529411765,0,.4549019607843137,1,.368627451,0,.4588235294117647,1,.3803921569,0,.4627450980392157,1,.3921568627,0,.4666666666666667,1,.4039215686,0,.4705882352941177,1,.4156862745,0,.4745098039215686,1,.4274509804,0,.4784313725490197,1,.4392156863,0,.48235294117647065,1,.4509803922,0,.48627450980392156,1,.4666666667,0,.49019607843137253,1,.4784313725,0,.49411764705882355,1,.4941176471,0,.4980392156862745,1,.5058823529,0,.5019607843137255,1,.5215686275,0,.5058823529411764,1,.5333333333,0,.5098039215686274,1,.5450980392,0,.5137254901960784,1,.5568627451,0,.5176470588235295,1,.568627451,0,.5215686274509804,1,.5803921569,0,.5254901960784314,1,.5921568627,0,.5294117647058824,1,.6039215686,0,.5333333333333333,1,.6196078431,0,.5372549019607843,1,.631372549,0,.5411764705882353,1,.6431372549,0,.5450980392156862,1,.6549019608,0,.5490196078431373,1,.6705882353,0,.5529411764705883,1,.6823529412,0,.5568627450980392,1,.6941176471,0,.5607843137254902,1,.7058823529,0,.5647058823529412,1,.7215686275,0,.5686274509803921,1,.7333333333,0,.5725490196078431,1,.7450980392,0,.5764705882352941,1,.7568627451,0,.5803921568627451,1,.7725490196,0,.5843137254901961,1,.7843137255,0,.5882352941176471,1,.7960784314,0,.592156862745098,1,.8078431373,0,.596078431372549,1,.8196078431,0,.6,1,.831372549,0,.6039215686274509,1,.8470588235,0,.6078431372549019,1,.8588235294,0,.611764705882353,1,.8745098039,0,.615686274509804,1,.8862745098,0,.6196078431372549,1,.8980392157,0,.6235294117647059,1,.9098039216,0,.6274509803921569,1,.9254901961,0,.6313725490196078,1,.937254902,0,.6352941176470588,1,.9490196078,0,.6392156862745098,1,.9607843137,0,.6431372549019608,1,.9764705882,0,.6470588235294118,1,.9803921569,.0039215686,.6509803921568628,1,.9882352941,.0117647059,.6549019607843137,1,.9921568627,.0156862745,.6588235294117647,1,1,.0235294118,.6627450980392157,1,1,.0352941176,.6666666666666666,1,1,.0470588235,.6705882352941176,1,1,.0588235294,.6745098039215687,1,1,.0745098039,.6784313725490196,1,1,.0862745098,.6823529411764706,1,1,.0980392157,.6862745098039216,1,1,.1098039216,.6901960784313725,1,1,.1254901961,.6941176470588235,1,1,.137254902,.6980392156862745,1,1,.1490196078,.7019607843137254,1,1,.1607843137,.7058823529411765,1,1,.1764705882,.7098039215686275,1,1,.1882352941,.7137254901960784,1,1,.2,.7176470588235294,1,1,.2117647059,.7215686274509804,1,1,.2274509804,.7254901960784313,1,1,.2392156863,.7294117647058823,1,1,.2509803922,.7333333333333333,1,1,.262745098,.7372549019607844,1,1,.2784313725,.7411764705882353,1,1,.2901960784,.7450980392156863,1,1,.3019607843,.7490196078431373,1,1,.3137254902,.7529411764705882,1,1,.3294117647,.7568627450980392,1,1,.3411764706,.7607843137254902,1,1,.3529411765,.7647058823529411,1,1,.3647058824,.7686274509803922,1,1,.3803921569,.7725490196078432,1,1,.3921568627,.7764705882352941,1,1,.4039215686,.7803921568627451,1,1,.4156862745,.7843137254901961,1,1,.431372549,.788235294117647,1,1,.4431372549,.792156862745098,1,1,.4549019608,.796078431372549,1,1,.4666666667,.8,1,1,.4784313725,.803921568627451,1,1,.4901960784,.807843137254902,1,1,.5019607843,.8117647058823529,1,1,.5137254902,.8156862745098039,1,1,.5294117647,.8196078431372549,1,1,.5411764706,.8235294117647058,1,1,.5568627451,.8274509803921568,1,1,.568627451,.8313725490196079,1,1,.5843137255,.8352941176470589,1,1,.5960784314,.8392156862745098,1,1,.6078431373,.8431372549019608,1,1,.6196078431,.8470588235294118,1,1,.631372549,.8509803921568627,1,1,.6431372549,.8549019607843137,1,1,.6549019608,.8588235294117647,1,1,.6666666667,.8627450980392157,1,1,.6823529412,.8666666666666667,1,1,.6941176471,.8705882352941177,1,1,.7058823529,.8745098039215686,1,1,.7176470588,.8784313725490196,1,1,.7333333333,.8823529411764706,1,1,.7450980392,.8862745098039215,1,1,.7568627451,.8901960784313725,1,1,.768627451,.8941176470588236,1,1,.7843137255,.8980392156862745,1,1,.7960784314,.9019607843137255,1,1,.8078431373,.9058823529411765,1,1,.8196078431,.9098039215686274,1,1,.8352941176,.9137254901960784,1,1,.8470588235,.9176470588235294,1,1,.8588235294,.9215686274509803,1,1,.8705882353,.9254901960784314,1,1,.8823529412,.9294117647058824,1,1,.8941176471,.9333333333333333,1,1,.9098039216,.9372549019607843,1,1,.9215686275,.9411764705882354,1,1,.937254902,.9450980392156864,1,1,.9490196078,.9490196078431372,1,1,.9607843137,.9529411764705882,1,1,.9725490196,.9568627450980394,1,1,.9882352941,.9607843137254903,1,1,.9882352941,.9647058823529413,1,1,.9921568627,.9686274509803922,1,1,.9960784314,.9725490196078431,1,1,1,.9764705882352941,1,1,1,.9803921568627451,1,1,1,.984313725490196,1,1,1,.9882352941176471,1,1,1,.9921568627450981,1,1,1,.996078431372549,1,1,1,1,1,1,1],description:"Red Hot"},{ColorSpace:"RGB",Name:"s_pet",RGBPoints:[0,.0156862745,.0039215686,.0156862745,.00392156862745098,.0156862745,.0039215686,.0156862745,.00784313725490196,.0274509804,.0039215686,.031372549,.011764705882352941,.0352941176,.0039215686,.0509803922,.01568627450980392,.0392156863,.0039215686,.0666666667,.0196078431372549,.0509803922,.0039215686,.0823529412,.023529411764705882,.062745098,.0039215686,.0980392157,.027450980392156862,.0705882353,.0039215686,.1176470588,.03137254901960784,.0745098039,.0039215686,.1333333333,.03529411764705882,.0862745098,.0039215686,.1490196078,.0392156862745098,.0980392157,.0039215686,.1647058824,.043137254901960784,.1058823529,.0039215686,.1843137255,.047058823529411764,.1098039216,.0039215686,.2,.050980392156862744,.1215686275,.0039215686,.2156862745,.054901960784313725,.1333333333,.0039215686,.231372549,.05882352941176471,.137254902,.0039215686,.2509803922,.06274509803921569,.1490196078,.0039215686,.262745098,.06666666666666667,.1607843137,.0039215686,.2784313725,.07058823529411765,.168627451,.0039215686,.2941176471,.07450980392156863,.1725490196,.0039215686,.3137254902,.0784313725490196,.1843137255,.0039215686,.3294117647,.08235294117647059,.1960784314,.0039215686,.3450980392,.08627450980392157,.2039215686,.0039215686,.3607843137,.09019607843137255,.2078431373,.0039215686,.3803921569,.09411764705882353,.2196078431,.0039215686,.3960784314,.09803921568627451,.231372549,.0039215686,.4117647059,.10196078431372549,.2392156863,.0039215686,.4274509804,.10588235294117647,.2431372549,.0039215686,.4470588235,.10980392156862745,.2509803922,.0039215686,.462745098,.11372549019607843,.262745098,.0039215686,.4784313725,.11764705882352942,.2666666667,.0039215686,.4980392157,.12156862745098039,.2666666667,.0039215686,.4980392157,.12549019607843137,.262745098,.0039215686,.5137254902,.12941176470588237,.2509803922,.0039215686,.5294117647,.13333333333333333,.2431372549,.0039215686,.5450980392,.13725490196078433,.2392156863,.0039215686,.5607843137,.1411764705882353,.231372549,.0039215686,.5764705882,.1450980392156863,.2196078431,.0039215686,.5921568627,.14901960784313725,.2078431373,.0039215686,.6078431373,.15294117647058825,.2039215686,.0039215686,.6235294118,.1568627450980392,.1960784314,.0039215686,.6392156863,.1607843137254902,.1843137255,.0039215686,.6549019608,.16470588235294117,.1725490196,.0039215686,.6705882353,.16862745098039217,.168627451,.0039215686,.6862745098,.17254901960784313,.1607843137,.0039215686,.7019607843,.17647058823529413,.1490196078,.0039215686,.7176470588,.1803921568627451,.137254902,.0039215686,.7333333333,.1843137254901961,.1333333333,.0039215686,.7490196078,.18823529411764706,.1215686275,.0039215686,.7607843137,.19215686274509805,.1098039216,.0039215686,.7764705882,.19607843137254902,.1058823529,.0039215686,.7921568627,.2,.0980392157,.0039215686,.8078431373,.20392156862745098,.0862745098,.0039215686,.8235294118,.20784313725490197,.0745098039,.0039215686,.8392156863,.21176470588235294,.0705882353,.0039215686,.8549019608,.21568627450980393,.062745098,.0039215686,.8705882353,.2196078431372549,.0509803922,.0039215686,.8862745098,.2235294117647059,.0392156863,.0039215686,.9019607843,.22745098039215686,.0352941176,.0039215686,.9176470588,.23137254901960785,.0274509804,.0039215686,.9333333333,.23529411764705885,.0156862745,.0039215686,.9490196078,.23921568627450984,.0078431373,.0039215686,.9647058824,.24313725490196078,.0039215686,.0039215686,.9960784314,.24705882352941178,.0039215686,.0039215686,.9960784314,.25098039215686274,.0039215686,.0196078431,.9647058824,.2549019607843137,.0039215686,.0392156863,.9490196078,.25882352941176473,.0039215686,.0549019608,.9333333333,.2627450980392157,.0039215686,.0745098039,.9176470588,.26666666666666666,.0039215686,.0901960784,.9019607843,.27058823529411763,.0039215686,.1098039216,.8862745098,.27450980392156865,.0039215686,.1254901961,.8705882353,.2784313725490196,.0039215686,.1450980392,.8549019608,.2823529411764706,.0039215686,.1607843137,.8392156863,.28627450980392155,.0039215686,.1803921569,.8235294118,.2901960784313726,.0039215686,.1960784314,.8078431373,.29411764705882354,.0039215686,.2156862745,.7921568627,.2980392156862745,.0039215686,.231372549,.7764705882,.30196078431372547,.0039215686,.2509803922,.7607843137,.3058823529411765,.0039215686,.262745098,.7490196078,.30980392156862746,.0039215686,.2823529412,.7333333333,.3137254901960784,.0039215686,.2980392157,.7176470588,.3176470588235294,.0039215686,.3176470588,.7019607843,.3215686274509804,.0039215686,.3333333333,.6862745098,.3254901960784314,.0039215686,.3529411765,.6705882353,.32941176470588235,.0039215686,.368627451,.6549019608,.3333333333333333,.0039215686,.3882352941,.6392156863,.33725490196078434,.0039215686,.4039215686,.6235294118,.3411764705882353,.0039215686,.4235294118,.6078431373,.34509803921568627,.0039215686,.4392156863,.5921568627,.34901960784313724,.0039215686,.4588235294,.5764705882,.35294117647058826,.0039215686,.4745098039,.5607843137,.3568627450980392,.0039215686,.4941176471,.5450980392,.3607843137254902,.0039215686,.5098039216,.5294117647,.36470588235294116,.0039215686,.5294117647,.5137254902,.3686274509803922,.0039215686,.5450980392,.4980392157,.37254901960784315,.0039215686,.5647058824,.4784313725,.3764705882352941,.0039215686,.5803921569,.462745098,.3803921568627451,.0039215686,.6,.4470588235,.3843137254901961,.0039215686,.6156862745,.4274509804,.38823529411764707,.0039215686,.6352941176,.4117647059,.39215686274509803,.0039215686,.6509803922,.3960784314,.396078431372549,.0039215686,.6705882353,.3803921569,.4,.0039215686,.6862745098,.3607843137,.403921568627451,.0039215686,.7058823529,.3450980392,.40784313725490196,.0039215686,.7215686275,.3294117647,.4117647058823529,.0039215686,.7411764706,.3137254902,.41568627450980394,.0039215686,.7529411765,.2941176471,.4196078431372549,.0039215686,.7960784314,.2784313725,.4235294117647059,.0039215686,.7960784314,.262745098,.42745098039215684,.0392156863,.8039215686,.2509803922,.43137254901960786,.0745098039,.8117647059,.231372549,.43529411764705883,.1098039216,.8196078431,.2156862745,.4392156862745098,.1450980392,.8274509804,.2,.44313725490196076,.1803921569,.8352941176,.1843137255,.4470588235294118,.2156862745,.8431372549,.1647058824,.45098039215686275,.2509803922,.8509803922,.1490196078,.4549019607843137,.2823529412,.8588235294,.1333333333,.4588235294117647,.3176470588,.8666666667,.1176470588,.4627450980392157,.3529411765,.8745098039,.0980392157,.4666666666666667,.3882352941,.8823529412,.0823529412,.4705882352941177,.4235294118,.8901960784,.0666666667,.4745098039215686,.4588235294,.8980392157,.0509803922,.4784313725490197,.4941176471,.9058823529,.0431372549,.48235294117647065,.5294117647,.9137254902,.031372549,.48627450980392156,.5647058824,.9215686275,.0196078431,.49019607843137253,.6,.9294117647,.0078431373,.49411764705882355,.6352941176,.937254902,.0039215686,.4980392156862745,.6705882353,.9450980392,.0039215686,.5019607843137255,.7058823529,.9490196078,.0039215686,.5058823529411764,.7411764706,.9568627451,.0039215686,.5098039215686274,.7725490196,.9607843137,.0039215686,.5137254901960784,.8078431373,.968627451,.0039215686,.5176470588235295,.8431372549,.9725490196,.0039215686,.5215686274509804,.8784313725,.9803921569,.0039215686,.5254901960784314,.9137254902,.9843137255,.0039215686,.5294117647058824,.9490196078,.9921568627,.0039215686,.5333333333333333,.9960784314,.9960784314,.0039215686,.5372549019607843,.9960784314,.9960784314,.0039215686,.5411764705882353,.9960784314,.9921568627,.0039215686,.5450980392156862,.9960784314,.9843137255,.0039215686,.5490196078431373,.9960784314,.9764705882,.0039215686,.5529411764705883,.9960784314,.968627451,.0039215686,.5568627450980392,.9960784314,.9607843137,.0039215686,.5607843137254902,.9960784314,.9529411765,.0039215686,.5647058823529412,.9960784314,.9450980392,.0039215686,.5686274509803921,.9960784314,.937254902,.0039215686,.5725490196078431,.9960784314,.9294117647,.0039215686,.5764705882352941,.9960784314,.9215686275,.0039215686,.5803921568627451,.9960784314,.9137254902,.0039215686,.5843137254901961,.9960784314,.9058823529,.0039215686,.5882352941176471,.9960784314,.8980392157,.0039215686,.592156862745098,.9960784314,.8901960784,.0039215686,.596078431372549,.9960784314,.8823529412,.0039215686,.6,.9960784314,.8745098039,.0039215686,.6039215686274509,.9960784314,.8666666667,.0039215686,.6078431372549019,.9960784314,.8588235294,.0039215686,.611764705882353,.9960784314,.8509803922,.0039215686,.615686274509804,.9960784314,.8431372549,.0039215686,.6196078431372549,.9960784314,.8352941176,.0039215686,.6235294117647059,.9960784314,.8274509804,.0039215686,.6274509803921569,.9960784314,.8196078431,.0039215686,.6313725490196078,.9960784314,.8117647059,.0039215686,.6352941176470588,.9960784314,.8039215686,.0039215686,.6392156862745098,.9960784314,.7960784314,.0039215686,.6431372549019608,.9960784314,.7882352941,.0039215686,.6470588235294118,.9960784314,.7803921569,.0039215686,.6509803921568628,.9960784314,.7725490196,.0039215686,.6549019607843137,.9960784314,.7647058824,.0039215686,.6588235294117647,.9960784314,.7568627451,.0039215686,.6627450980392157,.9960784314,.7490196078,.0039215686,.6666666666666666,.9960784314,.7450980392,.0039215686,.6705882352941176,.9960784314,.737254902,.0039215686,.6745098039215687,.9960784314,.7294117647,.0039215686,.6784313725490196,.9960784314,.7215686275,.0039215686,.6823529411764706,.9960784314,.7137254902,.0039215686,.6862745098039216,.9960784314,.7058823529,.0039215686,.6901960784313725,.9960784314,.6980392157,.0039215686,.6941176470588235,.9960784314,.6901960784,.0039215686,.6980392156862745,.9960784314,.6823529412,.0039215686,.7019607843137254,.9960784314,.6745098039,.0039215686,.7058823529411765,.9960784314,.6666666667,.0039215686,.7098039215686275,.9960784314,.6588235294,.0039215686,.7137254901960784,.9960784314,.6509803922,.0039215686,.7176470588235294,.9960784314,.6431372549,.0039215686,.7215686274509804,.9960784314,.6352941176,.0039215686,.7254901960784313,.9960784314,.6274509804,.0039215686,.7294117647058823,.9960784314,.6196078431,.0039215686,.7333333333333333,.9960784314,.6117647059,.0039215686,.7372549019607844,.9960784314,.6039215686,.0039215686,.7411764705882353,.9960784314,.5960784314,.0039215686,.7450980392156863,.9960784314,.5882352941,.0039215686,.7490196078431373,.9960784314,.5803921569,.0039215686,.7529411764705882,.9960784314,.5725490196,.0039215686,.7568627450980392,.9960784314,.5647058824,.0039215686,.7607843137254902,.9960784314,.5568627451,.0039215686,.7647058823529411,.9960784314,.5490196078,.0039215686,.7686274509803922,.9960784314,.5411764706,.0039215686,.7725490196078432,.9960784314,.5333333333,.0039215686,.7764705882352941,.9960784314,.5254901961,.0039215686,.7803921568627451,.9960784314,.5176470588,.0039215686,.7843137254901961,.9960784314,.5098039216,.0039215686,.788235294117647,.9960784314,.5019607843,.0039215686,.792156862745098,.9960784314,.4941176471,.0039215686,.796078431372549,.9960784314,.4862745098,.0039215686,.8,.9960784314,.4784313725,.0039215686,.803921568627451,.9960784314,.4705882353,.0039215686,.807843137254902,.9960784314,.462745098,.0039215686,.8117647058823529,.9960784314,.4549019608,.0039215686,.8156862745098039,.9960784314,.4470588235,.0039215686,.8196078431372549,.9960784314,.4392156863,.0039215686,.8235294117647058,.9960784314,.431372549,.0039215686,.8274509803921568,.9960784314,.4235294118,.0039215686,.8313725490196079,.9960784314,.4156862745,.0039215686,.8352941176470589,.9960784314,.4078431373,.0039215686,.8392156862745098,.9960784314,.4,.0039215686,.8431372549019608,.9960784314,.3921568627,.0039215686,.8470588235294118,.9960784314,.3843137255,.0039215686,.8509803921568627,.9960784314,.3764705882,.0039215686,.8549019607843137,.9960784314,.368627451,.0039215686,.8588235294117647,.9960784314,.3607843137,.0039215686,.8627450980392157,.9960784314,.3529411765,.0039215686,.8666666666666667,.9960784314,.3450980392,.0039215686,.8705882352941177,.9960784314,.337254902,.0039215686,.8745098039215686,.9960784314,.3294117647,.0039215686,.8784313725490196,.9960784314,.3215686275,.0039215686,.8823529411764706,.9960784314,.3137254902,.0039215686,.8862745098039215,.9960784314,.3058823529,.0039215686,.8901960784313725,.9960784314,.2980392157,.0039215686,.8941176470588236,.9960784314,.2901960784,.0039215686,.8980392156862745,.9960784314,.2823529412,.0039215686,.9019607843137255,.9960784314,.2705882353,.0039215686,.9058823529411765,.9960784314,.2588235294,.0039215686,.9098039215686274,.9960784314,.2509803922,.0039215686,.9137254901960784,.9960784314,.2431372549,.0039215686,.9176470588235294,.9960784314,.231372549,.0039215686,.9215686274509803,.9960784314,.2196078431,.0039215686,.9254901960784314,.9960784314,.2117647059,.0039215686,.9294117647058824,.9960784314,.2,.0039215686,.9333333333333333,.9960784314,.1882352941,.0039215686,.9372549019607843,.9960784314,.1764705882,.0039215686,.9411764705882354,.9960784314,.168627451,.0039215686,.9450980392156864,.9960784314,.1568627451,.0039215686,.9490196078431372,.9960784314,.1450980392,.0039215686,.9529411764705882,.9960784314,.1333333333,.0039215686,.9568627450980394,.9960784314,.1254901961,.0039215686,.9607843137254903,.9960784314,.1137254902,.0039215686,.9647058823529413,.9960784314,.1019607843,.0039215686,.9686274509803922,.9960784314,.0901960784,.0039215686,.9725490196078431,.9960784314,.0823529412,.0039215686,.9764705882352941,.9960784314,.0705882353,.0039215686,.9803921568627451,.9960784314,.0588235294,.0039215686,.984313725490196,.9960784314,.0470588235,.0039215686,.9882352941176471,.9960784314,.0392156863,.0039215686,.9921568627450981,.9960784314,.0274509804,.0039215686,.996078431372549,.9960784314,.0156862745,.0039215686,1,.9960784314,.0156862745,.0039215686],description:"S PET"},{ColorSpace:"RGB",Name:"perfusion",RGBPoints:[0,0,0,0,.00392156862745098,.0078431373,.0235294118,.0235294118,.00784313725490196,.0078431373,.031372549,.0470588235,.011764705882352941,.0078431373,.0392156863,.062745098,.01568627450980392,.0078431373,.0470588235,.0862745098,.0196078431372549,.0078431373,.0549019608,.1019607843,.023529411764705882,.0078431373,.0549019608,.1254901961,.027450980392156862,.0078431373,.062745098,.1411764706,.03137254901960784,.0078431373,.0705882353,.1647058824,.03529411764705882,.0078431373,.0784313725,.1803921569,.0392156862745098,.0078431373,.0862745098,.2039215686,.043137254901960784,.0078431373,.0862745098,.2196078431,.047058823529411764,.0078431373,.0941176471,.2431372549,.050980392156862744,.0078431373,.1019607843,.2666666667,.054901960784313725,.0078431373,.1098039216,.2823529412,.05882352941176471,.0078431373,.1176470588,.3058823529,.06274509803921569,.0078431373,.1176470588,.3215686275,.06666666666666667,.0078431373,.1254901961,.3450980392,.07058823529411765,.0078431373,.1333333333,.3607843137,.07450980392156863,.0078431373,.1411764706,.3843137255,.0784313725490196,.0078431373,.1490196078,.4,.08235294117647059,.0078431373,.1490196078,.4235294118,.08627450980392157,.0078431373,.1568627451,.4392156863,.09019607843137255,.0078431373,.1647058824,.462745098,.09411764705882353,.0078431373,.1725490196,.4784313725,.09803921568627451,.0078431373,.1803921569,.5019607843,.10196078431372549,.0078431373,.1803921569,.5254901961,.10588235294117647,.0078431373,.1882352941,.5411764706,.10980392156862745,.0078431373,.1960784314,.5647058824,.11372549019607843,.0078431373,.2039215686,.5803921569,.11764705882352942,.0078431373,.2117647059,.6039215686,.12156862745098039,.0078431373,.2117647059,.6196078431,.12549019607843137,.0078431373,.2196078431,.6431372549,.12941176470588237,.0078431373,.2274509804,.6588235294,.13333333333333333,.0078431373,.2352941176,.6823529412,.13725490196078433,.0078431373,.2431372549,.6980392157,.1411764705882353,.0078431373,.2431372549,.7215686275,.1450980392156863,.0078431373,.2509803922,.737254902,.14901960784313725,.0078431373,.2588235294,.7607843137,.15294117647058825,.0078431373,.2666666667,.7843137255,.1568627450980392,.0078431373,.2745098039,.8,.1607843137254902,.0078431373,.2745098039,.8235294118,.16470588235294117,.0078431373,.2823529412,.8392156863,.16862745098039217,.0078431373,.2901960784,.862745098,.17254901960784313,.0078431373,.2980392157,.8784313725,.17647058823529413,.0078431373,.3058823529,.9019607843,.1803921568627451,.0078431373,.3058823529,.9176470588,.1843137254901961,.0078431373,.2980392157,.9411764706,.18823529411764706,.0078431373,.3058823529,.9568627451,.19215686274509805,.0078431373,.2980392157,.9803921569,.19607843137254902,.0078431373,.2980392157,.9882352941,.2,.0078431373,.2901960784,.9803921569,.20392156862745098,.0078431373,.2901960784,.9647058824,.20784313725490197,.0078431373,.2823529412,.9568627451,.21176470588235294,.0078431373,.2823529412,.9411764706,.21568627450980393,.0078431373,.2745098039,.9333333333,.2196078431372549,.0078431373,.2666666667,.9176470588,.2235294117647059,.0078431373,.2666666667,.9098039216,.22745098039215686,.0078431373,.2588235294,.9019607843,.23137254901960785,.0078431373,.2588235294,.8862745098,.23529411764705885,.0078431373,.2509803922,.8784313725,.23921568627450984,.0078431373,.2509803922,.862745098,.24313725490196078,.0078431373,.2431372549,.8549019608,.24705882352941178,.0078431373,.2352941176,.8392156863,.25098039215686274,.0078431373,.2352941176,.831372549,.2549019607843137,.0078431373,.2274509804,.8235294118,.25882352941176473,.0078431373,.2274509804,.8078431373,.2627450980392157,.0078431373,.2196078431,.8,.26666666666666666,.0078431373,.2196078431,.7843137255,.27058823529411763,.0078431373,.2117647059,.7764705882,.27450980392156865,.0078431373,.2039215686,.7607843137,.2784313725490196,.0078431373,.2039215686,.7529411765,.2823529411764706,.0078431373,.1960784314,.7450980392,.28627450980392155,.0078431373,.1960784314,.7294117647,.2901960784313726,.0078431373,.1882352941,.7215686275,.29411764705882354,.0078431373,.1882352941,.7058823529,.2980392156862745,.0078431373,.1803921569,.6980392157,.30196078431372547,.0078431373,.1803921569,.6823529412,.3058823529411765,.0078431373,.1725490196,.6745098039,.30980392156862746,.0078431373,.1647058824,.6666666667,.3137254901960784,.0078431373,.1647058824,.6509803922,.3176470588235294,.0078431373,.1568627451,.6431372549,.3215686274509804,.0078431373,.1568627451,.6274509804,.3254901960784314,.0078431373,.1490196078,.6196078431,.32941176470588235,.0078431373,.1490196078,.6039215686,.3333333333333333,.0078431373,.1411764706,.5960784314,.33725490196078434,.0078431373,.1333333333,.5882352941,.3411764705882353,.0078431373,.1333333333,.5725490196,.34509803921568627,.0078431373,.1254901961,.5647058824,.34901960784313724,.0078431373,.1254901961,.5490196078,.35294117647058826,.0078431373,.1176470588,.5411764706,.3568627450980392,.0078431373,.1176470588,.5254901961,.3607843137254902,.0078431373,.1098039216,.5176470588,.36470588235294116,.0078431373,.1019607843,.5098039216,.3686274509803922,.0078431373,.1019607843,.4941176471,.37254901960784315,.0078431373,.0941176471,.4862745098,.3764705882352941,.0078431373,.0941176471,.4705882353,.3803921568627451,.0078431373,.0862745098,.462745098,.3843137254901961,.0078431373,.0862745098,.4470588235,.38823529411764707,.0078431373,.0784313725,.4392156863,.39215686274509803,.0078431373,.0705882353,.431372549,.396078431372549,.0078431373,.0705882353,.4156862745,.4,.0078431373,.062745098,.4078431373,.403921568627451,.0078431373,.062745098,.3921568627,.40784313725490196,.0078431373,.0549019608,.3843137255,.4117647058823529,.0078431373,.0549019608,.368627451,.41568627450980394,.0078431373,.0470588235,.3607843137,.4196078431372549,.0078431373,.0470588235,.3529411765,.4235294117647059,.0078431373,.0392156863,.337254902,.42745098039215684,.0078431373,.031372549,.3294117647,.43137254901960786,.0078431373,.031372549,.3137254902,.43529411764705883,.0078431373,.0235294118,.3058823529,.4392156862745098,.0078431373,.0235294118,.2901960784,.44313725490196076,.0078431373,.0156862745,.2823529412,.4470588235294118,.0078431373,.0156862745,.2745098039,.45098039215686275,.0078431373,.0078431373,.2588235294,.4549019607843137,.0235294118,.0078431373,.2509803922,.4588235294117647,.0078431373,.0078431373,.2352941176,.4627450980392157,.0078431373,.0078431373,.2274509804,.4666666666666667,.0078431373,.0078431373,.2117647059,.4705882352941177,.0078431373,.0078431373,.2039215686,.4745098039215686,.0078431373,.0078431373,.1960784314,.4784313725490197,.0078431373,.0078431373,.1803921569,.48235294117647065,.0078431373,.0078431373,.1725490196,.48627450980392156,.0078431373,.0078431373,.1568627451,.49019607843137253,.0078431373,.0078431373,.1490196078,.49411764705882355,.0078431373,.0078431373,.1333333333,.4980392156862745,.0078431373,.0078431373,.1254901961,.5019607843137255,.0078431373,.0078431373,.1176470588,.5058823529411764,.0078431373,.0078431373,.1019607843,.5098039215686274,.0078431373,.0078431373,.0941176471,.5137254901960784,.0078431373,.0078431373,.0784313725,.5176470588235295,.0078431373,.0078431373,.0705882353,.5215686274509804,.0078431373,.0078431373,.0549019608,.5254901960784314,.0078431373,.0078431373,.0470588235,.5294117647058824,.0235294118,.0078431373,.0392156863,.5333333333333333,.031372549,.0078431373,.0235294118,.5372549019607843,.0392156863,.0078431373,.0156862745,.5411764705882353,.0549019608,.0078431373,0,.5450980392156862,.062745098,.0078431373,0,.5490196078431373,.0705882353,.0078431373,0,.5529411764705883,.0862745098,.0078431373,0,.5568627450980392,.0941176471,.0078431373,0,.5607843137254902,.1019607843,.0078431373,0,.5647058823529412,.1098039216,.0078431373,0,.5686274509803921,.1254901961,.0078431373,0,.5725490196078431,.1333333333,.0078431373,0,.5764705882352941,.1411764706,.0078431373,0,.5803921568627451,.1568627451,.0078431373,0,.5843137254901961,.1647058824,.0078431373,0,.5882352941176471,.1725490196,.0078431373,0,.592156862745098,.1882352941,.0078431373,0,.596078431372549,.1960784314,.0078431373,0,.6,.2039215686,.0078431373,0,.6039215686274509,.2117647059,.0078431373,0,.6078431372549019,.2274509804,.0078431373,0,.611764705882353,.2352941176,.0078431373,0,.615686274509804,.2431372549,.0078431373,0,.6196078431372549,.2588235294,.0078431373,0,.6235294117647059,.2666666667,.0078431373,0,.6274509803921569,.2745098039,0,0,.6313725490196078,.2901960784,.0156862745,0,.6352941176470588,.2980392157,.0235294118,0,.6392156862745098,.3058823529,.0392156863,0,.6431372549019608,.3137254902,.0470588235,0,.6470588235294118,.3294117647,.0549019608,0,.6509803921568628,.337254902,.0705882353,0,.6549019607843137,.3450980392,.0784313725,0,.6588235294117647,.3607843137,.0862745098,0,.6627450980392157,.368627451,.1019607843,0,.6666666666666666,.3764705882,.1098039216,0,.6705882352941176,.3843137255,.1176470588,0,.6745098039215687,.4,.1333333333,0,.6784313725490196,.4078431373,.1411764706,0,.6823529411764706,.4156862745,.1490196078,0,.6862745098039216,.431372549,.1647058824,0,.6901960784313725,.4392156863,.1725490196,0,.6941176470588235,.4470588235,.1803921569,0,.6980392156862745,.462745098,.1960784314,0,.7019607843137254,.4705882353,.2039215686,0,.7058823529411765,.4784313725,.2117647059,0,.7098039215686275,.4862745098,.2274509804,0,.7137254901960784,.5019607843,.2352941176,0,.7176470588235294,.5098039216,.2431372549,0,.7215686274509804,.5176470588,.2588235294,0,.7254901960784313,.5333333333,.2666666667,0,.7294117647058823,.5411764706,.2745098039,0,.7333333333333333,.5490196078,.2901960784,0,.7372549019607844,.5647058824,.2980392157,0,.7411764705882353,.5725490196,.3058823529,0,.7450980392156863,.5803921569,.3215686275,0,.7490196078431373,.5882352941,.3294117647,0,.7529411764705882,.6039215686,.337254902,0,.7568627450980392,.6117647059,.3529411765,0,.7607843137254902,.6196078431,.3607843137,0,.7647058823529411,.6352941176,.368627451,0,.7686274509803922,.6431372549,.3843137255,0,.7725490196078432,.6509803922,.3921568627,0,.7764705882352941,.6588235294,.4,0,.7803921568627451,.6745098039,.4156862745,0,.7843137254901961,.6823529412,.4235294118,0,.788235294117647,.6901960784,.431372549,0,.792156862745098,.7058823529,.4470588235,0,.796078431372549,.7137254902,.4549019608,0,.8,.7215686275,.462745098,0,.803921568627451,.737254902,.4784313725,0,.807843137254902,.7450980392,.4862745098,0,.8117647058823529,.7529411765,.4941176471,0,.8156862745098039,.7607843137,.5098039216,0,.8196078431372549,.7764705882,.5176470588,0,.8235294117647058,.7843137255,.5254901961,0,.8274509803921568,.7921568627,.5411764706,0,.8313725490196079,.8078431373,.5490196078,0,.8352941176470589,.8156862745,.5568627451,0,.8392156862745098,.8235294118,.5725490196,0,.8431372549019608,.8392156863,.5803921569,0,.8470588235294118,.8470588235,.5882352941,0,.8509803921568627,.8549019608,.6039215686,0,.8549019607843137,.862745098,.6117647059,0,.8588235294117647,.8784313725,.6196078431,0,.8627450980392157,.8862745098,.6352941176,0,.8666666666666667,.8941176471,.6431372549,0,.8705882352941177,.9098039216,.6509803922,0,.8745098039215686,.9176470588,.6666666667,0,.8784313725490196,.9254901961,.6745098039,0,.8823529411764706,.9411764706,.6823529412,0,.8862745098039215,.9490196078,.6980392157,0,.8901960784313725,.9568627451,.7058823529,0,.8941176470588236,.9647058824,.7137254902,0,.8980392156862745,.9803921569,.7294117647,0,.9019607843137255,.9882352941,.737254902,0,.9058823529411765,.9960784314,.7450980392,0,.9098039215686274,.9960784314,.7607843137,0,.9137254901960784,.9960784314,.768627451,0,.9176470588235294,.9960784314,.7764705882,0,.9215686274509803,.9960784314,.7921568627,0,.9254901960784314,.9960784314,.8,0,.9294117647058824,.9960784314,.8078431373,0,.9333333333333333,.9960784314,.8235294118,0,.9372549019607843,.9960784314,.831372549,0,.9411764705882354,.9960784314,.8392156863,0,.9450980392156864,.9960784314,.8549019608,0,.9490196078431372,.9960784314,.862745098,.0549019608,.9529411764705882,.9960784314,.8705882353,.1098039216,.9568627450980394,.9960784314,.8862745098,.1647058824,.9607843137254903,.9960784314,.8941176471,.2196078431,.9647058823529413,.9960784314,.9019607843,.2666666667,.9686274509803922,.9960784314,.9176470588,.3215686275,.9725490196078431,.9960784314,.9254901961,.3764705882,.9764705882352941,.9960784314,.9333333333,.431372549,.9803921568627451,.9960784314,.9490196078,.4862745098,.984313725490196,.9960784314,.9568627451,.5333333333,.9882352941176471,.9960784314,.9647058824,.5882352941,.9921568627450981,.9960784314,.9803921569,.6431372549,.996078431372549,.9960784314,.9882352941,.6980392157,1,.9960784314,.9960784314,.7450980392],description:"Perfusion"},{ColorSpace:"RGB",Name:"rainbow_2",RGBPoints:[0,0,0,0,.00392156862745098,.0156862745,0,.0117647059,.00784313725490196,.0352941176,0,.0274509804,.011764705882352941,.0509803922,0,.0392156863,.01568627450980392,.0705882353,0,.0549019608,.0196078431372549,.0862745098,0,.0745098039,.023529411764705882,.1058823529,0,.0901960784,.027450980392156862,.1215686275,0,.1098039216,.03137254901960784,.1411764706,0,.1254901961,.03529411764705882,.1568627451,0,.1490196078,.0392156862745098,.1764705882,0,.168627451,.043137254901960784,.1960784314,0,.1882352941,.047058823529411764,.2117647059,0,.2078431373,.050980392156862744,.2274509804,0,.231372549,.054901960784313725,.2392156863,0,.2470588235,.05882352941176471,.2509803922,0,.2666666667,.06274509803921569,.2666666667,0,.2823529412,.06666666666666667,.2705882353,0,.3019607843,.07058823529411765,.2823529412,0,.3176470588,.07450980392156863,.2901960784,0,.337254902,.0784313725490196,.3019607843,0,.3568627451,.08235294117647059,.3098039216,0,.3725490196,.08627450980392157,.3137254902,0,.3921568627,.09019607843137255,.3215686275,0,.4078431373,.09411764705882353,.3254901961,0,.4274509804,.09803921568627451,.3333333333,0,.4431372549,.10196078431372549,.3294117647,0,.462745098,.10588235294117647,.337254902,0,.4784313725,.10980392156862745,.3411764706,0,.4980392157,.11372549019607843,.3450980392,0,.5176470588,.11764705882352942,.337254902,0,.5333333333,.12156862745098039,.3411764706,0,.5529411765,.12549019607843137,.3411764706,0,.568627451,.12941176470588237,.3411764706,0,.5882352941,.13333333333333333,.3333333333,0,.6039215686,.13725490196078433,.3294117647,0,.6235294118,.1411764705882353,.3294117647,0,.6392156863,.1450980392156863,.3294117647,0,.6588235294,.14901960784313725,.3254901961,0,.6784313725,.15294117647058825,.3098039216,0,.6941176471,.1568627450980392,.3058823529,0,.7137254902,.1607843137254902,.3019607843,0,.7294117647,.16470588235294117,.2980392157,0,.7490196078,.16862745098039217,.2784313725,0,.7647058824,.17254901960784313,.2745098039,0,.7843137255,.17647058823529413,.2666666667,0,.8,.1803921568627451,.2588235294,0,.8196078431,.1843137254901961,.2352941176,0,.8392156863,.18823529411764706,.2274509804,0,.8549019608,.19215686274509805,.2156862745,0,.8745098039,.19607843137254902,.2078431373,0,.8901960784,.2,.1803921569,0,.9098039216,.20392156862745098,.168627451,0,.9254901961,.20784313725490197,.1568627451,0,.9450980392,.21176470588235294,.1411764706,0,.9607843137,.21568627450980393,.1294117647,0,.9803921569,.2196078431372549,.0980392157,0,1,.2235294117647059,.0823529412,0,1,.22745098039215686,.062745098,0,1,.23137254901960785,.0470588235,0,1,.23529411764705885,.0156862745,0,1,.23921568627450984,0,0,1,.24313725490196078,0,.0156862745,1,.24705882352941178,0,.031372549,1,.25098039215686274,0,.062745098,1,.2549019607843137,0,.0823529412,1,.25882352941176473,0,.0980392157,1,.2627450980392157,0,.1137254902,1,.26666666666666666,0,.1490196078,1,.27058823529411763,0,.1647058824,1,.27450980392156865,0,.1803921569,1,.2784313725490196,0,.2,1,.2823529411764706,0,.2156862745,1,.28627450980392155,0,.2470588235,1,.2901960784313726,0,.262745098,1,.29411764705882354,0,.2823529412,1,.2980392156862745,0,.2980392157,1,.30196078431372547,0,.3294117647,1,.3058823529411765,0,.3490196078,1,.30980392156862746,0,.3647058824,1,.3137254901960784,0,.3803921569,1,.3176470588235294,0,.4156862745,1,.3215686274509804,0,.431372549,1,.3254901960784314,0,.4470588235,1,.32941176470588235,0,.4666666667,1,.3333333333333333,0,.4980392157,1,.33725490196078434,0,.5137254902,1,.3411764705882353,0,.5294117647,1,.34509803921568627,0,.5490196078,1,.34901960784313724,0,.5647058824,1,.35294117647058826,0,.5960784314,1,.3568627450980392,0,.6156862745,1,.3607843137254902,0,.631372549,1,.36470588235294116,0,.6470588235,1,.3686274509803922,0,.6823529412,1,.37254901960784315,0,.6980392157,1,.3764705882352941,0,.7137254902,1,.3803921568627451,0,.7333333333,1,.3843137254901961,0,.7647058824,1,.38823529411764707,0,.7803921569,1,.39215686274509803,0,.7960784314,1,.396078431372549,0,.8156862745,1,.4,0,.8470588235,1,.403921568627451,0,.862745098,1,.40784313725490196,0,.8823529412,1,.4117647058823529,0,.8980392157,1,.41568627450980394,0,.9137254902,1,.4196078431372549,0,.9490196078,1,.4235294117647059,0,.9647058824,1,.42745098039215684,0,.9803921569,1,.43137254901960786,0,1,1,.43529411764705883,0,1,.9647058824,.4392156862745098,0,1,.9490196078,.44313725490196076,0,1,.9333333333,.4470588235294118,0,1,.9137254902,.45098039215686275,0,1,.8823529412,.4549019607843137,0,1,.862745098,.4588235294117647,0,1,.8470588235,.4627450980392157,0,1,.831372549,.4666666666666667,0,1,.7960784314,.4705882352941177,0,1,.7803921569,.4745098039215686,0,1,.7647058824,.4784313725490197,0,1,.7490196078,.48235294117647065,0,1,.7333333333,.48627450980392156,0,1,.6980392157,.49019607843137253,0,1,.6823529412,.49411764705882355,0,1,.6666666667,.4980392156862745,0,1,.6470588235,.5019607843137255,0,1,.6156862745,.5058823529411764,0,1,.5960784314,.5098039215686274,0,1,.5803921569,.5137254901960784,0,1,.5647058824,.5176470588235295,0,1,.5294117647,.5215686274509804,0,1,.5137254902,.5254901960784314,0,1,.4980392157,.5294117647058824,0,1,.4823529412,.5333333333333333,0,1,.4470588235,.5372549019607843,0,1,.431372549,.5411764705882353,0,1,.4156862745,.5450980392156862,0,1,.4,.5490196078431373,0,1,.3803921569,.5529411764705883,0,1,.3490196078,.5568627450980392,0,1,.3294117647,.5607843137254902,0,1,.3137254902,.5647058823529412,0,1,.2980392157,.5686274509803921,0,1,.262745098,.5725490196078431,0,1,.2470588235,.5764705882352941,0,1,.231372549,.5803921568627451,0,1,.2156862745,.5843137254901961,0,1,.1803921569,.5882352941176471,0,1,.1647058824,.592156862745098,0,1,.1490196078,.596078431372549,0,1,.1333333333,.6,0,1,.0980392157,.6039215686274509,0,1,.0823529412,.6078431372549019,0,1,.062745098,.611764705882353,0,1,.0470588235,.615686274509804,0,1,.031372549,.6196078431372549,0,1,0,.6235294117647059,.0156862745,1,0,.6274509803921569,.031372549,1,0,.6313725490196078,.0470588235,1,0,.6352941176470588,.0823529412,1,0,.6392156862745098,.0980392157,1,0,.6431372549019608,.1137254902,1,0,.6470588235294118,.1294117647,1,0,.6509803921568628,.1647058824,1,0,.6549019607843137,.1803921569,1,0,.6588235294117647,.2,1,0,.6627450980392157,.2156862745,1,0,.6666666666666666,.2470588235,1,0,.6705882352941176,.262745098,1,0,.6745098039215687,.2823529412,1,0,.6784313725490196,.2980392157,1,0,.6823529411764706,.3137254902,1,0,.6862745098039216,.3490196078,1,0,.6901960784313725,.3647058824,1,0,.6941176470588235,.3803921569,1,0,.6980392156862745,.3960784314,1,0,.7019607843137254,.431372549,1,0,.7058823529411765,.4470588235,1,0,.7098039215686275,.4666666667,1,0,.7137254901960784,.4823529412,1,0,.7176470588235294,.5137254902,1,0,.7215686274509804,.5294117647,1,0,.7254901960784313,.5490196078,1,0,.7294117647058823,.5647058824,1,0,.7333333333333333,.6,1,0,.7372549019607844,.6156862745,1,0,.7411764705882353,.631372549,1,0,.7450980392156863,.6470588235,1,0,.7490196078431373,.662745098,1,0,.7529411764705882,.6980392157,1,0,.7568627450980392,.7137254902,1,0,.7607843137254902,.7333333333,1,0,.7647058823529411,.7490196078,1,0,.7686274509803922,.7803921569,1,0,.7725490196078432,.7960784314,1,0,.7764705882352941,.8156862745,1,0,.7803921568627451,.831372549,1,0,.7843137254901961,.8666666667,1,0,.788235294117647,.8823529412,1,0,.792156862745098,.8980392157,1,0,.796078431372549,.9137254902,1,0,.8,.9490196078,1,0,.803921568627451,.9647058824,1,0,.807843137254902,.9803921569,1,0,.8117647058823529,1,1,0,.8156862745098039,1,.9803921569,0,.8196078431372549,1,.9490196078,0,.8235294117647058,1,.9333333333,0,.8274509803921568,1,.9137254902,0,.8313725490196079,1,.8980392157,0,.8352941176470589,1,.8666666667,0,.8392156862745098,1,.8470588235,0,.8431372549019608,1,.831372549,0,.8470588235294118,1,.8156862745,0,.8509803921568627,1,.7803921569,0,.8549019607843137,1,.7647058824,0,.8588235294117647,1,.7490196078,0,.8627450980392157,1,.7333333333,0,.8666666666666667,1,.6980392157,0,.8705882352941177,1,.6823529412,0,.8745098039215686,1,.6666666667,0,.8784313725490196,1,.6470588235,0,.8823529411764706,1,.631372549,0,.8862745098039215,1,.6,0,.8901960784313725,1,.5803921569,0,.8941176470588236,1,.5647058824,0,.8980392156862745,1,.5490196078,0,.9019607843137255,1,.5137254902,0,.9058823529411765,1,.4980392157,0,.9098039215686274,1,.4823529412,0,.9137254901960784,1,.4666666667,0,.9176470588235294,1,.431372549,0,.9215686274509803,1,.4156862745,0,.9254901960784314,1,.4,0,.9294117647058824,1,.3803921569,0,.9333333333333333,1,.3490196078,0,.9372549019607843,1,.3333333333,0,.9411764705882354,1,.3137254902,0,.9450980392156864,1,.2980392157,0,.9490196078431372,1,.2823529412,0,.9529411764705882,1,.2470588235,0,.9568627450980394,1,.231372549,0,.9607843137254903,1,.2156862745,0,.9647058823529413,1,.2,0,.9686274509803922,1,.1647058824,0,.9725490196078431,1,.1490196078,0,.9764705882352941,1,.1333333333,0,.9803921568627451,1,.1137254902,0,.984313725490196,1,.0823529412,0,.9882352941176471,1,.0666666667,0,.9921568627450981,1,.0470588235,0,.996078431372549,1,.031372549,0,1,1,0,0],description:"Rainbow"},{ColorSpace:"RGB",Name:"suv",RGBPoints:[0,1,1,1,.00392156862745098,1,1,1,.00784313725490196,1,1,1,.011764705882352941,1,1,1,.01568627450980392,1,1,1,.0196078431372549,1,1,1,.023529411764705882,1,1,1,.027450980392156862,1,1,1,.03137254901960784,1,1,1,.03529411764705882,1,1,1,.0392156862745098,1,1,1,.043137254901960784,1,1,1,.047058823529411764,1,1,1,.050980392156862744,1,1,1,.054901960784313725,1,1,1,.05882352941176471,1,1,1,.06274509803921569,1,1,1,.06666666666666667,1,1,1,.07058823529411765,1,1,1,.07450980392156863,1,1,1,.0784313725490196,1,1,1,.08235294117647059,1,1,1,.08627450980392157,1,1,1,.09019607843137255,1,1,1,.09411764705882353,1,1,1,.09803921568627451,1,1,1,.10196078431372549,.737254902,.737254902,.737254902,.10588235294117647,.737254902,.737254902,.737254902,.10980392156862745,.737254902,.737254902,.737254902,.11372549019607843,.737254902,.737254902,.737254902,.11764705882352942,.737254902,.737254902,.737254902,.12156862745098039,.737254902,.737254902,.737254902,.12549019607843137,.737254902,.737254902,.737254902,.12941176470588237,.737254902,.737254902,.737254902,.13333333333333333,.737254902,.737254902,.737254902,.13725490196078433,.737254902,.737254902,.737254902,.1411764705882353,.737254902,.737254902,.737254902,.1450980392156863,.737254902,.737254902,.737254902,.14901960784313725,.737254902,.737254902,.737254902,.15294117647058825,.737254902,.737254902,.737254902,.1568627450980392,.737254902,.737254902,.737254902,.1607843137254902,.737254902,.737254902,.737254902,.16470588235294117,.737254902,.737254902,.737254902,.16862745098039217,.737254902,.737254902,.737254902,.17254901960784313,.737254902,.737254902,.737254902,.17647058823529413,.737254902,.737254902,.737254902,.1803921568627451,.737254902,.737254902,.737254902,.1843137254901961,.737254902,.737254902,.737254902,.18823529411764706,.737254902,.737254902,.737254902,.19215686274509805,.737254902,.737254902,.737254902,.19607843137254902,.737254902,.737254902,.737254902,.2,.737254902,.737254902,.737254902,.20392156862745098,.431372549,0,.568627451,.20784313725490197,.431372549,0,.568627451,.21176470588235294,.431372549,0,.568627451,.21568627450980393,.431372549,0,.568627451,.2196078431372549,.431372549,0,.568627451,.2235294117647059,.431372549,0,.568627451,.22745098039215686,.431372549,0,.568627451,.23137254901960785,.431372549,0,.568627451,.23529411764705885,.431372549,0,.568627451,.23921568627450984,.431372549,0,.568627451,.24313725490196078,.431372549,0,.568627451,.24705882352941178,.431372549,0,.568627451,.25098039215686274,.431372549,0,.568627451,.2549019607843137,.431372549,0,.568627451,.25882352941176473,.431372549,0,.568627451,.2627450980392157,.431372549,0,.568627451,.26666666666666666,.431372549,0,.568627451,.27058823529411763,.431372549,0,.568627451,.27450980392156865,.431372549,0,.568627451,.2784313725490196,.431372549,0,.568627451,.2823529411764706,.431372549,0,.568627451,.28627450980392155,.431372549,0,.568627451,.2901960784313726,.431372549,0,.568627451,.29411764705882354,.431372549,0,.568627451,.2980392156862745,.431372549,0,.568627451,.30196078431372547,.431372549,0,.568627451,.3058823529411765,.2509803922,.3333333333,.6509803922,.30980392156862746,.2509803922,.3333333333,.6509803922,.3137254901960784,.2509803922,.3333333333,.6509803922,.3176470588235294,.2509803922,.3333333333,.6509803922,.3215686274509804,.2509803922,.3333333333,.6509803922,.3254901960784314,.2509803922,.3333333333,.6509803922,.32941176470588235,.2509803922,.3333333333,.6509803922,.3333333333333333,.2509803922,.3333333333,.6509803922,.33725490196078434,.2509803922,.3333333333,.6509803922,.3411764705882353,.2509803922,.3333333333,.6509803922,.34509803921568627,.2509803922,.3333333333,.6509803922,.34901960784313724,.2509803922,.3333333333,.6509803922,.35294117647058826,.2509803922,.3333333333,.6509803922,.3568627450980392,.2509803922,.3333333333,.6509803922,.3607843137254902,.2509803922,.3333333333,.6509803922,.36470588235294116,.2509803922,.3333333333,.6509803922,.3686274509803922,.2509803922,.3333333333,.6509803922,.37254901960784315,.2509803922,.3333333333,.6509803922,.3764705882352941,.2509803922,.3333333333,.6509803922,.3803921568627451,.2509803922,.3333333333,.6509803922,.3843137254901961,.2509803922,.3333333333,.6509803922,.38823529411764707,.2509803922,.3333333333,.6509803922,.39215686274509803,.2509803922,.3333333333,.6509803922,.396078431372549,.2509803922,.3333333333,.6509803922,.4,.2509803922,.3333333333,.6509803922,.403921568627451,.2509803922,.3333333333,.6509803922,.40784313725490196,0,.8,1,.4117647058823529,0,.8,1,.41568627450980394,0,.8,1,.4196078431372549,0,.8,1,.4235294117647059,0,.8,1,.42745098039215684,0,.8,1,.43137254901960786,0,.8,1,.43529411764705883,0,.8,1,.4392156862745098,0,.8,1,.44313725490196076,0,.8,1,.4470588235294118,0,.8,1,.45098039215686275,0,.8,1,.4549019607843137,0,.8,1,.4588235294117647,0,.8,1,.4627450980392157,0,.8,1,.4666666666666667,0,.8,1,.4705882352941177,0,.8,1,.4745098039215686,0,.8,1,.4784313725490197,0,.8,1,.48235294117647065,0,.8,1,.48627450980392156,0,.8,1,.49019607843137253,0,.8,1,.49411764705882355,0,.8,1,.4980392156862745,0,.8,1,.5019607843137255,0,.8,1,.5058823529411764,0,.6666666667,.5333333333,.5098039215686274,0,.6666666667,.5333333333,.5137254901960784,0,.6666666667,.5333333333,.5176470588235295,0,.6666666667,.5333333333,.5215686274509804,0,.6666666667,.5333333333,.5254901960784314,0,.6666666667,.5333333333,.5294117647058824,0,.6666666667,.5333333333,.5333333333333333,0,.6666666667,.5333333333,.5372549019607843,0,.6666666667,.5333333333,.5411764705882353,0,.6666666667,.5333333333,.5450980392156862,0,.6666666667,.5333333333,.5490196078431373,0,.6666666667,.5333333333,.5529411764705883,0,.6666666667,.5333333333,.5568627450980392,0,.6666666667,.5333333333,.5607843137254902,0,.6666666667,.5333333333,.5647058823529412,0,.6666666667,.5333333333,.5686274509803921,0,.6666666667,.5333333333,.5725490196078431,0,.6666666667,.5333333333,.5764705882352941,0,.6666666667,.5333333333,.5803921568627451,0,.6666666667,.5333333333,.5843137254901961,0,.6666666667,.5333333333,.5882352941176471,0,.6666666667,.5333333333,.592156862745098,0,.6666666667,.5333333333,.596078431372549,0,.6666666667,.5333333333,.6,0,.6666666667,.5333333333,.6039215686274509,0,.6666666667,.5333333333,.6078431372549019,.4,1,.4,.611764705882353,.4,1,.4,.615686274509804,.4,1,.4,.6196078431372549,.4,1,.4,.6235294117647059,.4,1,.4,.6274509803921569,.4,1,.4,.6313725490196078,.4,1,.4,.6352941176470588,.4,1,.4,.6392156862745098,.4,1,.4,.6431372549019608,.4,1,.4,.6470588235294118,.4,1,.4,.6509803921568628,.4,1,.4,.6549019607843137,.4,1,.4,.6588235294117647,.4,1,.4,.6627450980392157,.4,1,.4,.6666666666666666,.4,1,.4,.6705882352941176,.4,1,.4,.6745098039215687,.4,1,.4,.6784313725490196,.4,1,.4,.6823529411764706,.4,1,.4,.6862745098039216,.4,1,.4,.6901960784313725,.4,1,.4,.6941176470588235,.4,1,.4,.6980392156862745,.4,1,.4,.7019607843137254,.4,1,.4,.7058823529411765,1,.9490196078,0,.7098039215686275,1,.9490196078,0,.7137254901960784,1,.9490196078,0,.7176470588235294,1,.9490196078,0,.7215686274509804,1,.9490196078,0,.7254901960784313,1,.9490196078,0,.7294117647058823,1,.9490196078,0,.7333333333333333,1,.9490196078,0,.7372549019607844,1,.9490196078,0,.7411764705882353,1,.9490196078,0,.7450980392156863,1,.9490196078,0,.7490196078431373,1,.9490196078,0,.7529411764705882,1,.9490196078,0,.7568627450980392,1,.9490196078,0,.7607843137254902,1,.9490196078,0,.7647058823529411,1,.9490196078,0,.7686274509803922,1,.9490196078,0,.7725490196078432,1,.9490196078,0,.7764705882352941,1,.9490196078,0,.7803921568627451,1,.9490196078,0,.7843137254901961,1,.9490196078,0,.788235294117647,1,.9490196078,0,.792156862745098,1,.9490196078,0,.796078431372549,1,.9490196078,0,.8,1,.9490196078,0,.803921568627451,1,.9490196078,0,.807843137254902,.9490196078,.6509803922,.2509803922,.8117647058823529,.9490196078,.6509803922,.2509803922,.8156862745098039,.9490196078,.6509803922,.2509803922,.8196078431372549,.9490196078,.6509803922,.2509803922,.8235294117647058,.9490196078,.6509803922,.2509803922,.8274509803921568,.9490196078,.6509803922,.2509803922,.8313725490196079,.9490196078,.6509803922,.2509803922,.8352941176470589,.9490196078,.6509803922,.2509803922,.8392156862745098,.9490196078,.6509803922,.2509803922,.8431372549019608,.9490196078,.6509803922,.2509803922,.8470588235294118,.9490196078,.6509803922,.2509803922,.8509803921568627,.9490196078,.6509803922,.2509803922,.8549019607843137,.9490196078,.6509803922,.2509803922,.8588235294117647,.9490196078,.6509803922,.2509803922,.8627450980392157,.9490196078,.6509803922,.2509803922,.8666666666666667,.9490196078,.6509803922,.2509803922,.8705882352941177,.9490196078,.6509803922,.2509803922,.8745098039215686,.9490196078,.6509803922,.2509803922,.8784313725490196,.9490196078,.6509803922,.2509803922,.8823529411764706,.9490196078,.6509803922,.2509803922,.8862745098039215,.9490196078,.6509803922,.2509803922,.8901960784313725,.9490196078,.6509803922,.2509803922,.8941176470588236,.9490196078,.6509803922,.2509803922,.8980392156862745,.9490196078,.6509803922,.2509803922,.9019607843137255,.9490196078,.6509803922,.2509803922,.9058823529411765,.9490196078,.6509803922,.2509803922,.9098039215686274,1,0,0,.9137254901960784,1,0,0,.9176470588235294,1,0,0,.9215686274509803,1,0,0,.9254901960784314,1,0,0,.9294117647058824,1,0,0,.9333333333333333,1,0,0,.9372549019607843,1,0,0,.9411764705882354,1,0,0,.9450980392156864,1,0,0,.9490196078431372,1,0,0,.9529411764705882,1,0,0,.9568627450980394,1,0,0,.9607843137254903,1,0,0,.9647058823529413,1,0,0,.9686274509803922,1,0,0,.9725490196078431,1,0,0,.9764705882352941,1,0,0,.9803921568627451,1,0,0,.984313725490196,1,0,0,.9882352941176471,1,0,0,.9921568627450981,1,0,0,.996078431372549,1,0,0,1,1,0,0],description:"SUV"},{ColorSpace:"RGB",Name:"ge_256",RGBPoints:[0,.0039215686,.0078431373,.0078431373,.00392156862745098,.0039215686,.0078431373,.0078431373,.00784313725490196,.0039215686,.0078431373,.0117647059,.011764705882352941,.0039215686,.0117647059,.0156862745,.01568627450980392,.0039215686,.0117647059,.0196078431,.0196078431372549,.0039215686,.0156862745,.0235294118,.023529411764705882,.0039215686,.0156862745,.0274509804,.027450980392156862,.0039215686,.0196078431,.031372549,.03137254901960784,.0039215686,.0196078431,.0352941176,.03529411764705882,.0039215686,.0235294118,.0392156863,.0392156862745098,.0039215686,.0235294118,.0431372549,.043137254901960784,.0039215686,.0274509804,.0470588235,.047058823529411764,.0039215686,.0274509804,.0509803922,.050980392156862744,.0039215686,.031372549,.0549019608,.054901960784313725,.0039215686,.031372549,.0588235294,.05882352941176471,.0039215686,.0352941176,.062745098,.06274509803921569,.0039215686,.0352941176,.0666666667,.06666666666666667,.0039215686,.0392156863,.0705882353,.07058823529411765,.0039215686,.0392156863,.0745098039,.07450980392156863,.0039215686,.0431372549,.0784313725,.0784313725490196,.0039215686,.0431372549,.0823529412,.08235294117647059,.0039215686,.0470588235,.0862745098,.08627450980392157,.0039215686,.0470588235,.0901960784,.09019607843137255,.0039215686,.0509803922,.0941176471,.09411764705882353,.0039215686,.0509803922,.0980392157,.09803921568627451,.0039215686,.0549019608,.1019607843,.10196078431372549,.0039215686,.0549019608,.1058823529,.10588235294117647,.0039215686,.0588235294,.1098039216,.10980392156862745,.0039215686,.0588235294,.1137254902,.11372549019607843,.0039215686,.062745098,.1176470588,.11764705882352942,.0039215686,.062745098,.1215686275,.12156862745098039,.0039215686,.0666666667,.1254901961,.12549019607843137,.0039215686,.0666666667,.1294117647,.12941176470588237,.0039215686,.0705882353,.1333333333,.13333333333333333,.0039215686,.0705882353,.137254902,.13725490196078433,.0039215686,.0745098039,.1411764706,.1411764705882353,.0039215686,.0745098039,.1450980392,.1450980392156863,.0039215686,.0784313725,.1490196078,.14901960784313725,.0039215686,.0784313725,.1529411765,.15294117647058825,.0039215686,.0823529412,.1568627451,.1568627450980392,.0039215686,.0823529412,.1607843137,.1607843137254902,.0039215686,.0862745098,.1647058824,.16470588235294117,.0039215686,.0862745098,.168627451,.16862745098039217,.0039215686,.0901960784,.1725490196,.17254901960784313,.0039215686,.0901960784,.1764705882,.17647058823529413,.0039215686,.0941176471,.1803921569,.1803921568627451,.0039215686,.0941176471,.1843137255,.1843137254901961,.0039215686,.0980392157,.1882352941,.18823529411764706,.0039215686,.0980392157,.1921568627,.19215686274509805,.0039215686,.1019607843,.1960784314,.19607843137254902,.0039215686,.1019607843,.2,.2,.0039215686,.1058823529,.2039215686,.20392156862745098,.0039215686,.1058823529,.2078431373,.20784313725490197,.0039215686,.1098039216,.2117647059,.21176470588235294,.0039215686,.1098039216,.2156862745,.21568627450980393,.0039215686,.1137254902,.2196078431,.2196078431372549,.0039215686,.1137254902,.2235294118,.2235294117647059,.0039215686,.1176470588,.2274509804,.22745098039215686,.0039215686,.1176470588,.231372549,.23137254901960785,.0039215686,.1215686275,.2352941176,.23529411764705885,.0039215686,.1215686275,.2392156863,.23921568627450984,.0039215686,.1254901961,.2431372549,.24313725490196078,.0039215686,.1254901961,.2470588235,.24705882352941178,.0039215686,.1294117647,.2509803922,.25098039215686274,.0039215686,.1294117647,.2509803922,.2549019607843137,.0078431373,.1254901961,.2549019608,.25882352941176473,.0156862745,.1254901961,.2588235294,.2627450980392157,.0235294118,.1215686275,.262745098,.26666666666666666,.031372549,.1215686275,.2666666667,.27058823529411763,.0392156863,.1176470588,.2705882353,.27450980392156865,.0470588235,.1176470588,.2745098039,.2784313725490196,.0549019608,.1137254902,.2784313725,.2823529411764706,.062745098,.1137254902,.2823529412,.28627450980392155,.0705882353,.1098039216,.2862745098,.2901960784313726,.0784313725,.1098039216,.2901960784,.29411764705882354,.0862745098,.1058823529,.2941176471,.2980392156862745,.0941176471,.1058823529,.2980392157,.30196078431372547,.1019607843,.1019607843,.3019607843,.3058823529411765,.1098039216,.1019607843,.3058823529,.30980392156862746,.1176470588,.0980392157,.3098039216,.3137254901960784,.1254901961,.0980392157,.3137254902,.3176470588235294,.1333333333,.0941176471,.3176470588,.3215686274509804,.1411764706,.0941176471,.3215686275,.3254901960784314,.1490196078,.0901960784,.3254901961,.32941176470588235,.1568627451,.0901960784,.3294117647,.3333333333333333,.1647058824,.0862745098,.3333333333,.33725490196078434,.1725490196,.0862745098,.337254902,.3411764705882353,.1803921569,.0823529412,.3411764706,.34509803921568627,.1882352941,.0823529412,.3450980392,.34901960784313724,.1960784314,.0784313725,.3490196078,.35294117647058826,.2039215686,.0784313725,.3529411765,.3568627450980392,.2117647059,.0745098039,.3568627451,.3607843137254902,.2196078431,.0745098039,.3607843137,.36470588235294116,.2274509804,.0705882353,.3647058824,.3686274509803922,.2352941176,.0705882353,.368627451,.37254901960784315,.2431372549,.0666666667,.3725490196,.3764705882352941,.2509803922,.0666666667,.3764705882,.3803921568627451,.2549019608,.062745098,.3803921569,.3843137254901961,.262745098,.062745098,.3843137255,.38823529411764707,.2705882353,.0588235294,.3882352941,.39215686274509803,.2784313725,.0588235294,.3921568627,.396078431372549,.2862745098,.0549019608,.3960784314,.4,.2941176471,.0549019608,.4,.403921568627451,.3019607843,.0509803922,.4039215686,.40784313725490196,.3098039216,.0509803922,.4078431373,.4117647058823529,.3176470588,.0470588235,.4117647059,.41568627450980394,.3254901961,.0470588235,.4156862745,.4196078431372549,.3333333333,.0431372549,.4196078431,.4235294117647059,.3411764706,.0431372549,.4235294118,.42745098039215684,.3490196078,.0392156863,.4274509804,.43137254901960786,.3568627451,.0392156863,.431372549,.43529411764705883,.3647058824,.0352941176,.4352941176,.4392156862745098,.3725490196,.0352941176,.4392156863,.44313725490196076,.3803921569,.031372549,.4431372549,.4470588235294118,.3882352941,.031372549,.4470588235,.45098039215686275,.3960784314,.0274509804,.4509803922,.4549019607843137,.4039215686,.0274509804,.4549019608,.4588235294117647,.4117647059,.0235294118,.4588235294,.4627450980392157,.4196078431,.0235294118,.462745098,.4666666666666667,.4274509804,.0196078431,.4666666667,.4705882352941177,.4352941176,.0196078431,.4705882353,.4745098039215686,.4431372549,.0156862745,.4745098039,.4784313725490197,.4509803922,.0156862745,.4784313725,.48235294117647065,.4588235294,.0117647059,.4823529412,.48627450980392156,.4666666667,.0117647059,.4862745098,.49019607843137253,.4745098039,.0078431373,.4901960784,.49411764705882355,.4823529412,.0078431373,.4941176471,.4980392156862745,.4901960784,.0039215686,.4980392157,.5019607843137255,.4980392157,.0117647059,.4980392157,.5058823529411764,.5058823529,.0156862745,.4901960784,.5098039215686274,.5137254902,.0235294118,.4823529412,.5137254901960784,.5215686275,.0274509804,.4745098039,.5176470588235295,.5294117647,.0352941176,.4666666667,.5215686274509804,.537254902,.0392156863,.4588235294,.5254901960784314,.5450980392,.0470588235,.4509803922,.5294117647058824,.5529411765,.0509803922,.4431372549,.5333333333333333,.5607843137,.0588235294,.4352941176,.5372549019607843,.568627451,.062745098,.4274509804,.5411764705882353,.5764705882,.0705882353,.4196078431,.5450980392156862,.5843137255,.0745098039,.4117647059,.5490196078431373,.5921568627,.0823529412,.4039215686,.5529411764705883,.6,.0862745098,.3960784314,.5568627450980392,.6078431373,.0941176471,.3882352941,.5607843137254902,.6156862745,.0980392157,.3803921569,.5647058823529412,.6235294118,.1058823529,.3725490196,.5686274509803921,.631372549,.1098039216,.3647058824,.5725490196078431,.6392156863,.1176470588,.3568627451,.5764705882352941,.6470588235,.1215686275,.3490196078,.5803921568627451,.6549019608,.1294117647,.3411764706,.5843137254901961,.662745098,.1333333333,.3333333333,.5882352941176471,.6705882353,.1411764706,.3254901961,.592156862745098,.6784313725,.1450980392,.3176470588,.596078431372549,.6862745098,.1529411765,.3098039216,.6,.6941176471,.1568627451,.3019607843,.6039215686274509,.7019607843,.1647058824,.2941176471,.6078431372549019,.7098039216,.168627451,.2862745098,.611764705882353,.7176470588,.1764705882,.2784313725,.615686274509804,.7254901961,.1803921569,.2705882353,.6196078431372549,.7333333333,.1882352941,.262745098,.6235294117647059,.7411764706,.1921568627,.2549019608,.6274509803921569,.7490196078,.2,.2509803922,.6313725490196078,.7529411765,.2039215686,.2431372549,.6352941176470588,.7607843137,.2117647059,.2352941176,.6392156862745098,.768627451,.2156862745,.2274509804,.6431372549019608,.7764705882,.2235294118,.2196078431,.6470588235294118,.7843137255,.2274509804,.2117647059,.6509803921568628,.7921568627,.2352941176,.2039215686,.6549019607843137,.8,.2392156863,.1960784314,.6588235294117647,.8078431373,.2470588235,.1882352941,.6627450980392157,.8156862745,.2509803922,.1803921569,.6666666666666666,.8235294118,.2549019608,.1725490196,.6705882352941176,.831372549,.2588235294,.1647058824,.6745098039215687,.8392156863,.2666666667,.1568627451,.6784313725490196,.8470588235,.2705882353,.1490196078,.6823529411764706,.8549019608,.2784313725,.1411764706,.6862745098039216,.862745098,.2823529412,.1333333333,.6901960784313725,.8705882353,.2901960784,.1254901961,.6941176470588235,.8784313725,.2941176471,.1176470588,.6980392156862745,.8862745098,.3019607843,.1098039216,.7019607843137254,.8941176471,.3058823529,.1019607843,.7058823529411765,.9019607843,.3137254902,.0941176471,.7098039215686275,.9098039216,.3176470588,.0862745098,.7137254901960784,.9176470588,.3254901961,.0784313725,.7176470588235294,.9254901961,.3294117647,.0705882353,.7215686274509804,.9333333333,.337254902,.062745098,.7254901960784313,.9411764706,.3411764706,.0549019608,.7294117647058823,.9490196078,.3490196078,.0470588235,.7333333333333333,.9568627451,.3529411765,.0392156863,.7372549019607844,.9647058824,.3607843137,.031372549,.7411764705882353,.9725490196,.3647058824,.0235294118,.7450980392156863,.9803921569,.3725490196,.0156862745,.7490196078431373,.9882352941,.3725490196,.0039215686,.7529411764705882,.9960784314,.3843137255,.0156862745,.7568627450980392,.9960784314,.3921568627,.031372549,.7607843137254902,.9960784314,.4039215686,.0470588235,.7647058823529411,.9960784314,.4117647059,.062745098,.7686274509803922,.9960784314,.4235294118,.0784313725,.7725490196078432,.9960784314,.431372549,.0941176471,.7764705882352941,.9960784314,.4431372549,.1098039216,.7803921568627451,.9960784314,.4509803922,.1254901961,.7843137254901961,.9960784314,.462745098,.1411764706,.788235294117647,.9960784314,.4705882353,.1568627451,.792156862745098,.9960784314,.4823529412,.1725490196,.796078431372549,.9960784314,.4901960784,.1882352941,.8,.9960784314,.5019607843,.2039215686,.803921568627451,.9960784314,.5098039216,.2196078431,.807843137254902,.9960784314,.5215686275,.2352941176,.8117647058823529,.9960784314,.5294117647,.2509803922,.8156862745098039,.9960784314,.5411764706,.262745098,.8196078431372549,.9960784314,.5490196078,.2784313725,.8235294117647058,.9960784314,.5607843137,.2941176471,.8274509803921568,.9960784314,.568627451,.3098039216,.8313725490196079,.9960784314,.5803921569,.3254901961,.8352941176470589,.9960784314,.5882352941,.3411764706,.8392156862745098,.9960784314,.6,.3568627451,.8431372549019608,.9960784314,.6078431373,.3725490196,.8470588235294118,.9960784314,.6196078431,.3882352941,.8509803921568627,.9960784314,.6274509804,.4039215686,.8549019607843137,.9960784314,.6392156863,.4196078431,.8588235294117647,.9960784314,.6470588235,.4352941176,.8627450980392157,.9960784314,.6588235294,.4509803922,.8666666666666667,.9960784314,.6666666667,.4666666667,.8705882352941177,.9960784314,.6784313725,.4823529412,.8745098039215686,.9960784314,.6862745098,.4980392157,.8784313725490196,.9960784314,.6980392157,.5137254902,.8823529411764706,.9960784314,.7058823529,.5294117647,.8862745098039215,.9960784314,.7176470588,.5450980392,.8901960784313725,.9960784314,.7254901961,.5607843137,.8941176470588236,.9960784314,.737254902,.5764705882,.8980392156862745,.9960784314,.7450980392,.5921568627,.9019607843137255,.9960784314,.7529411765,.6078431373,.9058823529411765,.9960784314,.7607843137,.6235294118,.9098039215686274,.9960784314,.7725490196,.6392156863,.9137254901960784,.9960784314,.7803921569,.6549019608,.9176470588235294,.9960784314,.7921568627,.6705882353,.9215686274509803,.9960784314,.8,.6862745098,.9254901960784314,.9960784314,.8117647059,.7019607843,.9294117647058824,.9960784314,.8196078431,.7176470588,.9333333333333333,.9960784314,.831372549,.7333333333,.9372549019607843,.9960784314,.8392156863,.7490196078,.9411764705882354,.9960784314,.8509803922,.7607843137,.9450980392156864,.9960784314,.8588235294,.7764705882,.9490196078431372,.9960784314,.8705882353,.7921568627,.9529411764705882,.9960784314,.8784313725,.8078431373,.9568627450980394,.9960784314,.8901960784,.8235294118,.9607843137254903,.9960784314,.8980392157,.8392156863,.9647058823529413,.9960784314,.9098039216,.8549019608,.9686274509803922,.9960784314,.9176470588,.8705882353,.9725490196078431,.9960784314,.9294117647,.8862745098,.9764705882352941,.9960784314,.937254902,.9019607843,.9803921568627451,.9960784314,.9490196078,.9176470588,.984313725490196,.9960784314,.9568627451,.9333333333,.9882352941176471,.9960784314,.968627451,.9490196078,.9921568627450981,.9960784314,.9764705882,.9647058824,.996078431372549,.9960784314,.9882352941,.9803921569,1,.9960784314,.9882352941,.9803921569],description:"GE 256"},{ColorSpace:"RGB",Name:"ge",RGBPoints:[0,.0078431373,.0078431373,.0078431373,.00392156862745098,.0078431373,.0078431373,.0078431373,.00784313725490196,.0078431373,.0078431373,.0078431373,.011764705882352941,.0078431373,.0078431373,.0078431373,.01568627450980392,.0078431373,.0078431373,.0078431373,.0196078431372549,.0078431373,.0078431373,.0078431373,.023529411764705882,.0078431373,.0078431373,.0078431373,.027450980392156862,.0078431373,.0078431373,.0078431373,.03137254901960784,.0078431373,.0078431373,.0078431373,.03529411764705882,.0078431373,.0078431373,.0078431373,.0392156862745098,.0078431373,.0078431373,.0078431373,.043137254901960784,.0078431373,.0078431373,.0078431373,.047058823529411764,.0078431373,.0078431373,.0078431373,.050980392156862744,.0078431373,.0078431373,.0078431373,.054901960784313725,.0078431373,.0078431373,.0078431373,.05882352941176471,.0117647059,.0078431373,.0078431373,.06274509803921569,.0078431373,.0156862745,.0156862745,.06666666666666667,.0078431373,.0235294118,.0235294118,.07058823529411765,.0078431373,.031372549,.031372549,.07450980392156863,.0078431373,.0392156863,.0392156863,.0784313725490196,.0078431373,.0470588235,.0470588235,.08235294117647059,.0078431373,.0549019608,.0549019608,.08627450980392157,.0078431373,.062745098,.062745098,.09019607843137255,.0078431373,.0705882353,.0705882353,.09411764705882353,.0078431373,.0784313725,.0784313725,.09803921568627451,.0078431373,.0901960784,.0862745098,.10196078431372549,.0078431373,.0980392157,.0941176471,.10588235294117647,.0078431373,.1058823529,.1019607843,.10980392156862745,.0078431373,.1137254902,.1098039216,.11372549019607843,.0078431373,.1215686275,.1176470588,.11764705882352942,.0078431373,.1294117647,.1254901961,.12156862745098039,.0078431373,.137254902,.1333333333,.12549019607843137,.0078431373,.1450980392,.1411764706,.12941176470588237,.0078431373,.1529411765,.1490196078,.13333333333333333,.0078431373,.1647058824,.1568627451,.13725490196078433,.0078431373,.1725490196,.1647058824,.1411764705882353,.0078431373,.1803921569,.1725490196,.1450980392156863,.0078431373,.1882352941,.1803921569,.14901960784313725,.0078431373,.1960784314,.1882352941,.15294117647058825,.0078431373,.2039215686,.1960784314,.1568627450980392,.0078431373,.2117647059,.2039215686,.1607843137254902,.0078431373,.2196078431,.2117647059,.16470588235294117,.0078431373,.2274509804,.2196078431,.16862745098039217,.0078431373,.2352941176,.2274509804,.17254901960784313,.0078431373,.2470588235,.2352941176,.17647058823529413,.0078431373,.2509803922,.2431372549,.1803921568627451,.0078431373,.2549019608,.2509803922,.1843137254901961,.0078431373,.262745098,.2509803922,.18823529411764706,.0078431373,.2705882353,.2588235294,.19215686274509805,.0078431373,.2784313725,.2666666667,.19607843137254902,.0078431373,.2862745098,.2745098039,.2,.0078431373,.2941176471,.2823529412,.20392156862745098,.0078431373,.3019607843,.2901960784,.20784313725490197,.0078431373,.3137254902,.2980392157,.21176470588235294,.0078431373,.3215686275,.3058823529,.21568627450980393,.0078431373,.3294117647,.3137254902,.2196078431372549,.0078431373,.337254902,.3215686275,.2235294117647059,.0078431373,.3450980392,.3294117647,.22745098039215686,.0078431373,.3529411765,.337254902,.23137254901960785,.0078431373,.3607843137,.3450980392,.23529411764705885,.0078431373,.368627451,.3529411765,.23921568627450984,.0078431373,.3764705882,.3607843137,.24313725490196078,.0078431373,.3843137255,.368627451,.24705882352941178,.0078431373,.3960784314,.3764705882,.25098039215686274,.0078431373,.4039215686,.3843137255,.2549019607843137,.0078431373,.4117647059,.3921568627,.25882352941176473,.0078431373,.4196078431,.4,.2627450980392157,.0078431373,.4274509804,.4078431373,.26666666666666666,.0078431373,.4352941176,.4156862745,.27058823529411763,.0078431373,.4431372549,.4235294118,.27450980392156865,.0078431373,.4509803922,.431372549,.2784313725490196,.0078431373,.4588235294,.4392156863,.2823529411764706,.0078431373,.4705882353,.4470588235,.28627450980392155,.0078431373,.4784313725,.4549019608,.2901960784313726,.0078431373,.4862745098,.462745098,.29411764705882354,.0078431373,.4941176471,.4705882353,.2980392156862745,.0078431373,.5019607843,.4784313725,.30196078431372547,.0117647059,.5098039216,.4862745098,.3058823529411765,.0196078431,.5019607843,.4941176471,.30980392156862746,.0274509804,.4941176471,.5058823529,.3137254901960784,.0352941176,.4862745098,.5137254902,.3176470588235294,.0431372549,.4784313725,.5215686275,.3215686274509804,.0509803922,.4705882353,.5294117647,.3254901960784314,.0588235294,.462745098,.537254902,.32941176470588235,.0666666667,.4549019608,.5450980392,.3333333333333333,.0745098039,.4470588235,.5529411765,.33725490196078434,.0823529412,.4392156863,.5607843137,.3411764705882353,.0901960784,.431372549,.568627451,.34509803921568627,.0980392157,.4235294118,.5764705882,.34901960784313724,.1058823529,.4156862745,.5843137255,.35294117647058826,.1137254902,.4078431373,.5921568627,.3568627450980392,.1215686275,.4,.6,.3607843137254902,.1294117647,.3921568627,.6078431373,.36470588235294116,.137254902,.3843137255,.6156862745,.3686274509803922,.1450980392,.3764705882,.6235294118,.37254901960784315,.1529411765,.368627451,.631372549,.3764705882352941,.1607843137,.3607843137,.6392156863,.3803921568627451,.168627451,.3529411765,.6470588235,.3843137254901961,.1764705882,.3450980392,.6549019608,.38823529411764707,.1843137255,.337254902,.662745098,.39215686274509803,.1921568627,.3294117647,.6705882353,.396078431372549,.2,.3215686275,.6784313725,.4,.2078431373,.3137254902,.6862745098,.403921568627451,.2156862745,.3058823529,.6941176471,.40784313725490196,.2235294118,.2980392157,.7019607843,.4117647058823529,.231372549,.2901960784,.7098039216,.41568627450980394,.2392156863,.2823529412,.7176470588,.4196078431372549,.2470588235,.2745098039,.7254901961,.4235294117647059,.2509803922,.2666666667,.7333333333,.42745098039215684,.2509803922,.2588235294,.7411764706,.43137254901960786,.2588235294,.2509803922,.7490196078,.43529411764705883,.2666666667,.2509803922,.7490196078,.4392156862745098,.2745098039,.2431372549,.7568627451,.44313725490196076,.2823529412,.2352941176,.7647058824,.4470588235294118,.2901960784,.2274509804,.7725490196,.45098039215686275,.2980392157,.2196078431,.7803921569,.4549019607843137,.3058823529,.2117647059,.7882352941,.4588235294117647,.3137254902,.2039215686,.7960784314,.4627450980392157,.3215686275,.1960784314,.8039215686,.4666666666666667,.3294117647,.1882352941,.8117647059,.4705882352941177,.337254902,.1803921569,.8196078431,.4745098039215686,.3450980392,.1725490196,.8274509804,.4784313725490197,.3529411765,.1647058824,.8352941176,.48235294117647065,.3607843137,.1568627451,.8431372549,.48627450980392156,.368627451,.1490196078,.8509803922,.49019607843137253,.3764705882,.1411764706,.8588235294,.49411764705882355,.3843137255,.1333333333,.8666666667,.4980392156862745,.3921568627,.1254901961,.8745098039,.5019607843137255,.4,.1176470588,.8823529412,.5058823529411764,.4078431373,.1098039216,.8901960784,.5098039215686274,.4156862745,.1019607843,.8980392157,.5137254901960784,.4235294118,.0941176471,.9058823529,.5176470588235295,.431372549,.0862745098,.9137254902,.5215686274509804,.4392156863,.0784313725,.9215686275,.5254901960784314,.4470588235,.0705882353,.9294117647,.5294117647058824,.4549019608,.062745098,.937254902,.5333333333333333,.462745098,.0549019608,.9450980392,.5372549019607843,.4705882353,.0470588235,.9529411765,.5411764705882353,.4784313725,.0392156863,.9607843137,.5450980392156862,.4862745098,.031372549,.968627451,.5490196078431373,.4941176471,.0235294118,.9764705882,.5529411764705883,.4980392157,.0156862745,.9843137255,.5568627450980392,.5058823529,.0078431373,.9921568627,.5607843137254902,.5137254902,.0156862745,.9803921569,.5647058823529412,.5215686275,.0235294118,.9647058824,.5686274509803921,.5294117647,.0352941176,.9490196078,.5725490196078431,.537254902,.0431372549,.9333333333,.5764705882352941,.5450980392,.0509803922,.9176470588,.5803921568627451,.5529411765,.062745098,.9019607843,.5843137254901961,.5607843137,.0705882353,.8862745098,.5882352941176471,.568627451,.0784313725,.8705882353,.592156862745098,.5764705882,.0901960784,.8549019608,.596078431372549,.5843137255,.0980392157,.8392156863,.6,.5921568627,.1098039216,.8235294118,.6039215686274509,.6,.1176470588,.8078431373,.6078431372549019,.6078431373,.1254901961,.7921568627,.611764705882353,.6156862745,.137254902,.7764705882,.615686274509804,.6235294118,.1450980392,.7607843137,.6196078431372549,.631372549,.1529411765,.7490196078,.6235294117647059,.6392156863,.1647058824,.737254902,.6274509803921569,.6470588235,.1725490196,.7215686275,.6313725490196078,.6549019608,.1843137255,.7058823529,.6352941176470588,.662745098,.1921568627,.6901960784,.6392156862745098,.6705882353,.2,.6745098039,.6431372549019608,.6784313725,.2117647059,.6588235294,.6470588235294118,.6862745098,.2196078431,.6431372549,.6509803921568628,.6941176471,.2274509804,.6274509804,.6549019607843137,.7019607843,.2392156863,.6117647059,.6588235294117647,.7098039216,.2470588235,.5960784314,.6627450980392157,.7176470588,.2509803922,.5803921569,.6666666666666666,.7254901961,.2588235294,.5647058824,.6705882352941176,.7333333333,.2666666667,.5490196078,.6745098039215687,.7411764706,.2784313725,.5333333333,.6784313725490196,.7490196078,.2862745098,.5176470588,.6823529411764706,.7490196078,.2941176471,.5019607843,.6862745098039216,.7529411765,.3058823529,.4862745098,.6901960784313725,.7607843137,.3137254902,.4705882353,.6941176470588235,.768627451,.3215686275,.4549019608,.6980392156862745,.7764705882,.3333333333,.4392156863,.7019607843137254,.7843137255,.3411764706,.4235294118,.7058823529411765,.7921568627,.3529411765,.4078431373,.7098039215686275,.8,.3607843137,.3921568627,.7137254901960784,.8078431373,.368627451,.3764705882,.7176470588235294,.8156862745,.3803921569,.3607843137,.7215686274509804,.8235294118,.3882352941,.3450980392,.7254901960784313,.831372549,.3960784314,.3294117647,.7294117647058823,.8392156863,.4078431373,.3137254902,.7333333333333333,.8470588235,.4156862745,.2980392157,.7372549019607844,.8549019608,.4274509804,.2823529412,.7411764705882353,.862745098,.4352941176,.2666666667,.7450980392156863,.8705882353,.4431372549,.2509803922,.7490196078431373,.8784313725,.4549019608,.2431372549,.7529411764705882,.8862745098,.462745098,.2274509804,.7568627450980392,.8941176471,.4705882353,.2117647059,.7607843137254902,.9019607843,.4823529412,.1960784314,.7647058823529411,.9098039216,.4901960784,.1803921569,.7686274509803922,.9176470588,.4980392157,.1647058824,.7725490196078432,.9254901961,.5098039216,.1490196078,.7764705882352941,.9333333333,.5176470588,.1333333333,.7803921568627451,.9411764706,.5294117647,.1176470588,.7843137254901961,.9490196078,.537254902,.1019607843,.788235294117647,.9568627451,.5450980392,.0862745098,.792156862745098,.9647058824,.5568627451,.0705882353,.796078431372549,.9725490196,.5647058824,.0549019608,.8,.9803921569,.5725490196,.0392156863,.803921568627451,.9882352941,.5843137255,.0235294118,.807843137254902,.9921568627,.5921568627,.0078431373,.8117647058823529,.9921568627,.6039215686,.0274509804,.8156862745098039,.9921568627,.6117647059,.0509803922,.8196078431372549,.9921568627,.6196078431,.0745098039,.8235294117647058,.9921568627,.631372549,.0980392157,.8274509803921568,.9921568627,.6392156863,.1215686275,.8313725490196079,.9921568627,.6470588235,.1411764706,.8352941176470589,.9921568627,.6588235294,.1647058824,.8392156862745098,.9921568627,.6666666667,.1882352941,.8431372549019608,.9921568627,.6784313725,.2117647059,.8470588235294118,.9921568627,.6862745098,.2352941176,.8509803921568627,.9921568627,.6941176471,.2509803922,.8549019607843137,.9921568627,.7058823529,.2705882353,.8588235294117647,.9921568627,.7137254902,.2941176471,.8627450980392157,.9921568627,.7215686275,.3176470588,.8666666666666667,.9921568627,.7333333333,.3411764706,.8705882352941177,.9921568627,.7411764706,.3647058824,.8745098039215686,.9921568627,.7490196078,.3843137255,.8784313725490196,.9921568627,.7529411765,.4078431373,.8823529411764706,.9921568627,.7607843137,.431372549,.8862745098039215,.9921568627,.7725490196,.4549019608,.8901960784313725,.9921568627,.7803921569,.4784313725,.8941176470588236,.9921568627,.7882352941,.4980392157,.8980392156862745,.9921568627,.8,.5215686275,.9019607843137255,.9921568627,.8078431373,.5450980392,.9058823529411765,.9921568627,.8156862745,.568627451,.9098039215686274,.9921568627,.8274509804,.5921568627,.9137254901960784,.9921568627,.8352941176,.6156862745,.9176470588235294,.9921568627,.8470588235,.6352941176,.9215686274509803,.9921568627,.8549019608,.6588235294,.9254901960784314,.9921568627,.862745098,.6823529412,.9294117647058824,.9921568627,.8745098039,.7058823529,.9333333333333333,.9921568627,.8823529412,.7294117647,.9372549019607843,.9921568627,.8901960784,.7490196078,.9411764705882354,.9921568627,.9019607843,.7647058824,.9450980392156864,.9921568627,.9098039216,.7882352941,.9490196078431372,.9921568627,.9215686275,.8117647059,.9529411764705882,.9921568627,.9294117647,.8352941176,.9568627450980394,.9921568627,.937254902,.8588235294,.9607843137254903,.9921568627,.9490196078,.8784313725,.9647058823529413,.9921568627,.9568627451,.9019607843,.9686274509803922,.9921568627,.9647058824,.9254901961,.9725490196078431,.9921568627,.9764705882,.9490196078,.9764705882352941,.9921568627,.9843137255,.9725490196,.9803921568627451,.9921568627,.9921568627,.9921568627,.984313725490196,.9921568627,.9921568627,.9921568627,.9882352941176471,.9921568627,.9921568627,.9921568627,.9921568627450981,.9921568627,.9921568627,.9921568627,.996078431372549,.9921568627,.9921568627,.9921568627,1,.9921568627,.9921568627,.9921568627],description:"GE"},{ColorSpace:"RGB",Name:"siemens",RGBPoints:[0,.0078431373,.0039215686,.1254901961,.00392156862745098,.0078431373,.0039215686,.1254901961,.00784313725490196,.0078431373,.0039215686,.1882352941,.011764705882352941,.0117647059,.0039215686,.2509803922,.01568627450980392,.0117647059,.0039215686,.3098039216,.0196078431372549,.0156862745,.0039215686,.3725490196,.023529411764705882,.0156862745,.0039215686,.3725490196,.027450980392156862,.0156862745,.0039215686,.3725490196,.03137254901960784,.0156862745,.0039215686,.3725490196,.03529411764705882,.0156862745,.0039215686,.3725490196,.0392156862745098,.0156862745,.0039215686,.3725490196,.043137254901960784,.0156862745,.0039215686,.3725490196,.047058823529411764,.0156862745,.0039215686,.3725490196,.050980392156862744,.0156862745,.0039215686,.3725490196,.054901960784313725,.0156862745,.0039215686,.3725490196,.05882352941176471,.0156862745,.0039215686,.3725490196,.06274509803921569,.0156862745,.0039215686,.3882352941,.06666666666666667,.0156862745,.0039215686,.4078431373,.07058823529411765,.0156862745,.0039215686,.4235294118,.07450980392156863,.0156862745,.0039215686,.4431372549,.0784313725490196,.0156862745,.0039215686,.462745098,.08235294117647059,.0156862745,.0039215686,.4784313725,.08627450980392157,.0156862745,.0039215686,.4980392157,.09019607843137255,.0196078431,.0039215686,.5137254902,.09411764705882353,.0196078431,.0039215686,.5333333333,.09803921568627451,.0196078431,.0039215686,.5529411765,.10196078431372549,.0196078431,.0039215686,.568627451,.10588235294117647,.0196078431,.0039215686,.5882352941,.10980392156862745,.0196078431,.0039215686,.6039215686,.11372549019607843,.0196078431,.0039215686,.6235294118,.11764705882352942,.0196078431,.0039215686,.6431372549,.12156862745098039,.0235294118,.0039215686,.6588235294,.12549019607843137,.0235294118,.0039215686,.6784313725,.12941176470588237,.0235294118,.0039215686,.6980392157,.13333333333333333,.0235294118,.0039215686,.7137254902,.13725490196078433,.0235294118,.0039215686,.7333333333,.1411764705882353,.0235294118,.0039215686,.7490196078,.1450980392156863,.0235294118,.0039215686,.7647058824,.14901960784313725,.0235294118,.0039215686,.7843137255,.15294117647058825,.0274509804,.0039215686,.8,.1568627450980392,.0274509804,.0039215686,.8196078431,.1607843137254902,.0274509804,.0039215686,.8352941176,.16470588235294117,.0274509804,.0039215686,.8549019608,.16862745098039217,.0274509804,.0039215686,.8745098039,.17254901960784313,.0274509804,.0039215686,.8901960784,.17647058823529413,.0274509804,.0039215686,.9098039216,.1803921568627451,.031372549,.0039215686,.9294117647,.1843137254901961,.031372549,.0039215686,.9254901961,.18823529411764706,.0509803922,.0039215686,.9098039216,.19215686274509805,.0705882353,.0039215686,.8901960784,.19607843137254902,.0901960784,.0039215686,.8705882353,.2,.1137254902,.0039215686,.8509803922,.20392156862745098,.1333333333,.0039215686,.831372549,.20784313725490197,.1529411765,.0039215686,.8117647059,.21176470588235294,.1725490196,.0039215686,.7921568627,.21568627450980393,.1960784314,.0039215686,.7725490196,.2196078431372549,.2156862745,.0039215686,.7529411765,.2235294117647059,.2352941176,.0039215686,.737254902,.22745098039215686,.2509803922,.0039215686,.7176470588,.23137254901960785,.2745098039,.0039215686,.6980392157,.23529411764705885,.2941176471,.0039215686,.6784313725,.23921568627450984,.3137254902,.0039215686,.6588235294,.24313725490196078,.3333333333,.0039215686,.6392156863,.24705882352941178,.3568627451,.0039215686,.6196078431,.25098039215686274,.3764705882,.0039215686,.6,.2549019607843137,.3960784314,.0039215686,.5803921569,.25882352941176473,.4156862745,.0039215686,.5607843137,.2627450980392157,.4392156863,.0039215686,.5411764706,.26666666666666666,.4588235294,.0039215686,.5215686275,.27058823529411763,.4784313725,.0039215686,.5019607843,.27450980392156865,.4980392157,.0039215686,.4823529412,.2784313725490196,.5215686275,.0039215686,.4666666667,.2823529411764706,.5411764706,.0039215686,.4470588235,.28627450980392155,.5607843137,.0039215686,.4274509804,.2901960784313726,.5803921569,.0039215686,.4078431373,.29411764705882354,.6039215686,.0039215686,.3882352941,.2980392156862745,.6235294118,.0039215686,.368627451,.30196078431372547,.6431372549,.0039215686,.3490196078,.3058823529411765,.662745098,.0039215686,.3294117647,.30980392156862746,.6862745098,.0039215686,.3098039216,.3137254901960784,.7058823529,.0039215686,.2901960784,.3176470588235294,.7254901961,.0039215686,.2705882353,.3215686274509804,.7450980392,.0039215686,.2509803922,.3254901960784314,.7647058824,.0039215686,.2352941176,.32941176470588235,.7843137255,.0039215686,.2156862745,.3333333333333333,.8039215686,.0039215686,.1960784314,.33725490196078434,.8235294118,.0039215686,.1764705882,.3411764705882353,.8470588235,.0039215686,.1568627451,.34509803921568627,.8666666667,.0039215686,.137254902,.34901960784313724,.8862745098,.0039215686,.1176470588,.35294117647058826,.9058823529,.0039215686,.0980392157,.3568627450980392,.9294117647,.0039215686,.0784313725,.3607843137254902,.9490196078,.0039215686,.0588235294,.36470588235294116,.968627451,.0039215686,.0392156863,.3686274509803922,.9921568627,.0039215686,.0235294118,.37254901960784315,.9529411765,.0039215686,.0588235294,.3764705882352941,.9529411765,.0078431373,.0549019608,.3803921568627451,.9529411765,.0156862745,.0549019608,.3843137254901961,.9529411765,.0235294118,.0549019608,.38823529411764707,.9529411765,.031372549,.0549019608,.39215686274509803,.9529411765,.0352941176,.0549019608,.396078431372549,.9529411765,.0431372549,.0549019608,.4,.9529411765,.0509803922,.0549019608,.403921568627451,.9529411765,.0588235294,.0549019608,.40784313725490196,.9529411765,.062745098,.0549019608,.4117647058823529,.9529411765,.0705882353,.0549019608,.41568627450980394,.9529411765,.0784313725,.0509803922,.4196078431372549,.9529411765,.0862745098,.0509803922,.4235294117647059,.9568627451,.0941176471,.0509803922,.42745098039215684,.9568627451,.0980392157,.0509803922,.43137254901960786,.9568627451,.1058823529,.0509803922,.43529411764705883,.9568627451,.1137254902,.0509803922,.4392156862745098,.9568627451,.1215686275,.0509803922,.44313725490196076,.9568627451,.1254901961,.0509803922,.4470588235294118,.9568627451,.1333333333,.0509803922,.45098039215686275,.9568627451,.1411764706,.0509803922,.4549019607843137,.9568627451,.1490196078,.0470588235,.4588235294117647,.9568627451,.1568627451,.0470588235,.4627450980392157,.9568627451,.1607843137,.0470588235,.4666666666666667,.9568627451,.168627451,.0470588235,.4705882352941177,.9607843137,.1764705882,.0470588235,.4745098039215686,.9607843137,.1843137255,.0470588235,.4784313725490197,.9607843137,.1882352941,.0470588235,.48235294117647065,.9607843137,.1960784314,.0470588235,.48627450980392156,.9607843137,.2039215686,.0470588235,.49019607843137253,.9607843137,.2117647059,.0470588235,.49411764705882355,.9607843137,.2196078431,.0431372549,.4980392156862745,.9607843137,.2235294118,.0431372549,.5019607843137255,.9607843137,.231372549,.0431372549,.5058823529411764,.9607843137,.2392156863,.0431372549,.5098039215686274,.9607843137,.2470588235,.0431372549,.5137254901960784,.9607843137,.2509803922,.0431372549,.5176470588235295,.9647058824,.2549019608,.0431372549,.5215686274509804,.9647058824,.262745098,.0431372549,.5254901960784314,.9647058824,.2705882353,.0431372549,.5294117647058824,.9647058824,.2745098039,.0431372549,.5333333333333333,.9647058824,.2823529412,.0392156863,.5372549019607843,.9647058824,.2901960784,.0392156863,.5411764705882353,.9647058824,.2980392157,.0392156863,.5450980392156862,.9647058824,.3058823529,.0392156863,.5490196078431373,.9647058824,.3098039216,.0392156863,.5529411764705883,.9647058824,.3176470588,.0392156863,.5568627450980392,.9647058824,.3254901961,.0392156863,.5607843137254902,.9647058824,.3333333333,.0392156863,.5647058823529412,.9647058824,.337254902,.0392156863,.5686274509803921,.968627451,.3450980392,.0392156863,.5725490196078431,.968627451,.3529411765,.0352941176,.5764705882352941,.968627451,.3607843137,.0352941176,.5803921568627451,.968627451,.368627451,.0352941176,.5843137254901961,.968627451,.3725490196,.0352941176,.5882352941176471,.968627451,.3803921569,.0352941176,.592156862745098,.968627451,.3882352941,.0352941176,.596078431372549,.968627451,.3960784314,.0352941176,.6,.968627451,.4,.0352941176,.6039215686274509,.968627451,.4078431373,.0352941176,.6078431372549019,.968627451,.4156862745,.0352941176,.611764705882353,.968627451,.4235294118,.031372549,.615686274509804,.9725490196,.431372549,.031372549,.6196078431372549,.9725490196,.4352941176,.031372549,.6235294117647059,.9725490196,.4431372549,.031372549,.6274509803921569,.9725490196,.4509803922,.031372549,.6313725490196078,.9725490196,.4588235294,.031372549,.6352941176470588,.9725490196,.462745098,.031372549,.6392156862745098,.9725490196,.4705882353,.031372549,.6431372549019608,.9725490196,.4784313725,.031372549,.6470588235294118,.9725490196,.4862745098,.031372549,.6509803921568628,.9725490196,.4941176471,.0274509804,.6549019607843137,.9725490196,.4980392157,.0274509804,.6588235294117647,.9725490196,.5058823529,.0274509804,.6627450980392157,.9764705882,.5137254902,.0274509804,.6666666666666666,.9764705882,.5215686275,.0274509804,.6705882352941176,.9764705882,.5254901961,.0274509804,.6745098039215687,.9764705882,.5333333333,.0274509804,.6784313725490196,.9764705882,.5411764706,.0274509804,.6823529411764706,.9764705882,.5490196078,.0274509804,.6862745098039216,.9764705882,.5529411765,.0274509804,.6901960784313725,.9764705882,.5607843137,.0235294118,.6941176470588235,.9764705882,.568627451,.0235294118,.6980392156862745,.9764705882,.5764705882,.0235294118,.7019607843137254,.9764705882,.5843137255,.0235294118,.7058823529411765,.9764705882,.5882352941,.0235294118,.7098039215686275,.9764705882,.5960784314,.0235294118,.7137254901960784,.9803921569,.6039215686,.0235294118,.7176470588235294,.9803921569,.6117647059,.0235294118,.7215686274509804,.9803921569,.6156862745,.0235294118,.7254901960784313,.9803921569,.6235294118,.0235294118,.7294117647058823,.9803921569,.631372549,.0196078431,.7333333333333333,.9803921569,.6392156863,.0196078431,.7372549019607844,.9803921569,.6470588235,.0196078431,.7411764705882353,.9803921569,.6509803922,.0196078431,.7450980392156863,.9803921569,.6588235294,.0196078431,.7490196078431373,.9803921569,.6666666667,.0196078431,.7529411764705882,.9803921569,.6745098039,.0196078431,.7568627450980392,.9803921569,.6784313725,.0196078431,.7607843137254902,.9843137255,.6862745098,.0196078431,.7647058823529411,.9843137255,.6941176471,.0196078431,.7686274509803922,.9843137255,.7019607843,.0156862745,.7725490196078432,.9843137255,.7098039216,.0156862745,.7764705882352941,.9843137255,.7137254902,.0156862745,.7803921568627451,.9843137255,.7215686275,.0156862745,.7843137254901961,.9843137255,.7294117647,.0156862745,.788235294117647,.9843137255,.737254902,.0156862745,.792156862745098,.9843137255,.7411764706,.0156862745,.796078431372549,.9843137255,.7490196078,.0156862745,.8,.9843137255,.7529411765,.0156862745,.803921568627451,.9843137255,.7607843137,.0156862745,.807843137254902,.9882352941,.768627451,.0156862745,.8117647058823529,.9882352941,.768627451,.0156862745,.8156862745098039,.9843137255,.7843137255,.0117647059,.8196078431372549,.9843137255,.8,.0117647059,.8235294117647058,.9843137255,.8156862745,.0117647059,.8274509803921568,.9803921569,.831372549,.0117647059,.8313725490196079,.9803921569,.8431372549,.0117647059,.8352941176470589,.9803921569,.8588235294,.0078431373,.8392156862745098,.9803921569,.8745098039,.0078431373,.8431372549019608,.9764705882,.8901960784,.0078431373,.8470588235294118,.9764705882,.9058823529,.0078431373,.8509803921568627,.9764705882,.9176470588,.0078431373,.8549019607843137,.9764705882,.9333333333,.0039215686,.8588235294117647,.9725490196,.9490196078,.0039215686,.8627450980392157,.9725490196,.9647058824,.0039215686,.8666666666666667,.9725490196,.9803921569,.0039215686,.8705882352941177,.9725490196,.9960784314,.0039215686,.8745098039215686,.9725490196,.9960784314,.0039215686,.8784313725490196,.9725490196,.9960784314,.0352941176,.8823529411764706,.9725490196,.9960784314,.0666666667,.8862745098039215,.9725490196,.9960784314,.0980392157,.8901960784313725,.9725490196,.9960784314,.1294117647,.8941176470588236,.9725490196,.9960784314,.1647058824,.8980392156862745,.9764705882,.9960784314,.1960784314,.9019607843137255,.9764705882,.9960784314,.2274509804,.9058823529411765,.9764705882,.9960784314,.2549019608,.9098039215686274,.9764705882,.9960784314,.2901960784,.9137254901960784,.9764705882,.9960784314,.3215686275,.9176470588235294,.9803921569,.9960784314,.3529411765,.9215686274509803,.9803921569,.9960784314,.3843137255,.9254901960784314,.9803921569,.9960784314,.4156862745,.9294117647058824,.9803921569,.9960784314,.4509803922,.9333333333333333,.9803921569,.9960784314,.4823529412,.9372549019607843,.9843137255,.9960784314,.5137254902,.9411764705882354,.9843137255,.9960784314,.5450980392,.9450980392156864,.9843137255,.9960784314,.5803921569,.9490196078431372,.9843137255,.9960784314,.6117647059,.9529411764705882,.9843137255,.9960784314,.6431372549,.9568627450980394,.9882352941,.9960784314,.6745098039,.9607843137254903,.9882352941,.9960784314,.7058823529,.9647058823529413,.9882352941,.9960784314,.7411764706,.9686274509803922,.9882352941,.9960784314,.768627451,.9725490196078431,.9882352941,.9960784314,.8,.9764705882352941,.9921568627,.9960784314,.831372549,.9803921568627451,.9921568627,.9960784314,.8666666667,.984313725490196,.9921568627,.9960784314,.8980392157,.9882352941176471,.9921568627,.9960784314,.9294117647,.9921568627450981,.9921568627,.9960784314,.9607843137,.996078431372549,.9960784314,.9960784314,.9607843137,1,.9960784314,.9960784314,.9607843137],description:"Siemens"}];var ta=x(6404),tl=x(6360),tc=x(3500),tu=x(619),td=x(2678),tp=x(6870);let{registerColormap:tg}=L.utilities.colormap;async function tm({servicesManager:e,commandsManager:t,extensionManager:A,appConfig:n}){var r;let o,i;window.PUBLIC_LIB_URL||="./${component}/";let s="true"===new URLSearchParams(window.location.search).get("debug");await (0,L.init)({peerImport:n.peerImport,debug:{statsOverlay:s}}),L.setUseCPURendering(!!n.useCPURendering);let a=n.genericViewports??{},{renderBackend:l,renderBackendByViewportType:c}=function(e){let t={renderBackendByViewportType:{}};if("string"==typeof e)t.renderBackend=eW(e);else if(e&&"object"==typeof e)for(let[A,n]of Object.entries(e)){let e=eW(n);e&&("default"===A?t.renderBackend=e:t.renderBackendByViewportType[A.toLowerCase()]=e)}try{for(let[e,A]of new URLSearchParams(window.location.search).entries()){let n=eW(A);if(n){if("viewportRendering"===e)t.renderBackend=n;else if(e.endsWith(".viewportRendering")){let A=e.slice(0,-18).toLowerCase();A&&(t.renderBackendByViewportType[A]=n)}}}}catch{}return t}(a.viewportRendering);if(l){"cpu"===l?L.setUseCPURendering(!0):"gpu"===l&&L.setUseCPURendering(!1);try{L.setRenderBackend(l)}catch(e){console.warn(`viewportRendering: "${l}" is not a registered render backend; keeping "${L.getRenderBackend()}".`,e)}}eY=c??{},L.setConfiguration({...L.getConfiguration(),rendering:{...L.getConfiguration().rendering,strictZSpacingForVolumeViewport:n.strictZSpacingForVolumeViewport,useGenericViewport:!!n.useGenericViewport}}),ej=!!function(e,t){try{let t=new URLSearchParams(window.location.search);if(t.has(e)){let A=t.get(e);return""===A||"true"===A||"1"===A}}catch{}return!!t}("useNextViewports",a.enabled);let{maxCacheSize:u}=n;u&&L.cache.setMaxCacheSize(u),R.CrosshairsTool.isAnnotation=!1,X.LabelmapSlicePropagationTool.isAnnotation=!1,X.MarkerLabelmapTool.isAnnotation=!1,R.ReferenceLinesTool.isAnnotation=!1,R.AdvancedMagnifyTool.isAnnotation=!1,R.PlanarFreehandContourSegmentationTool.isAnnotation=!1,(0,R.init)({addons:{polySeg:J},computeWorker:{autoTerminateOnIdle:{enabled:!1}}}),(0,R.addTool)(R.PanTool),(0,R.addTool)(R.SegmentBidirectionalTool),(0,R.addTool)(R.WindowLevelTool),(0,R.addTool)(R.StackScrollTool),(0,R.addTool)(R.PlanarRotateTool),(0,R.addTool)(R.VolumeRotateTool),(0,R.addTool)(R.ZoomTool),(0,R.addTool)(R.ProbeTool),(0,R.addTool)(R.MIPJumpToClickTool),(0,R.addTool)(R.LengthTool),(0,R.addTool)(R.RectangleROITool),(0,R.addTool)(R.RectangleROIThresholdTool),(0,R.addTool)(R.EllipticalROITool),(0,R.addTool)(R.CircleROITool),(0,R.addTool)(R.BidirectionalTool),(0,R.addTool)(R.ArrowAnnotateTool),(0,R.addTool)(R.DragProbeTool),(0,R.addTool)(R.AngleTool),(0,R.addTool)(R.CobbAngleTool),(0,R.addTool)(R.MagnifyTool),(0,R.addTool)(R.CrosshairsTool),(0,R.addTool)(R.RectangleScissorsTool),(0,R.addTool)(R.SphereScissorsTool),(0,R.addTool)(R.CircleScissorsTool),(0,R.addTool)(R.BrushTool),(0,R.addTool)(R.PaintFillTool),(0,R.addTool)(R.ReferenceLinesTool),(0,R.addTool)(eA),(0,R.addTool)(R.TrackballRotateTool),(0,R.addTool)(el),(0,R.addTool)(R.AdvancedMagnifyTool),(0,R.addTool)(R.UltrasoundDirectionalTool),(0,R.addTool)(R.UltrasoundPleuraBLineTool),(0,R.addTool)(R.PlanarFreehandROITool),(0,R.addTool)(R.SplineROITool),(0,R.addTool)(R.LivewireContourTool),(0,R.addTool)(R.OrientationMarkerTool),(0,R.addTool)(R.WindowLevelRegionTool),(0,R.addTool)(R.PlanarFreehandContourSegmentationTool),(0,R.addTool)(R.SegmentSelectTool),(0,R.addTool)(R.SegmentLabelTool),(0,R.addTool)(X.LabelmapSlicePropagationTool),(0,R.addTool)(X.MarkerLabelmapTool),(0,R.addTool)(R.ClickSegmentTool),(0,R.addTool)(R.LivewireContourSegmentationTool),(0,R.addTool)(R.SculptorTool),(0,R.addTool)(R.SplineContourSegmentationTool),(0,R.addTool)(R.LabelMapEditWithContourTool),o=R.annotation.config.style.getDefaultToolStyles(),R.annotation.config.style.setDefaultToolStyles({global:{...o.global,textBoxFontSize:"15px",lineWidth:"1.5"}}),L.Settings.getRuntimeSettings().set("useCursors",!!n.useCursors);let{userAuthenticationService:d,customizationService:p,uiModalService:g,uiNotificationService:m,cornerstoneViewportService:h,hangingProtocolService:f,viewportGridService:w,segmentationService:B,measurementService:y,colorbarService:v,displaySetService:S,toolbarService:C}=e.services;C.registerEventForToolbarUpdate(v,[v.EVENTS.STATE_CHANGED]),C.registerEventForToolbarUpdate(B,[B.EVENTS.SEGMENTATION_MODIFIED,B.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,B.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED]),window.services=e.services,window.extensionManager=A,window.commandsManager=t,n.showCPUFallbackMessage&&L.getShouldUseCPURendering()&&function(e,t){let{unsubscribe:A}=t.subscribe(t.EVENTS.PROTOCOL_CHANGED,()=>{(t=>{if(100===t)return e.show({content:tf,title:"OHIF Fell Back to CPU Rendering"}),!0})(100)&&A()})}(g,f);let{getPresentationId:I}=tl.I.getState(),{getPresentationId:b}=tu.v.getState(),{getPresentationId:U}=tc.q.getState();w.addPresentationIdProvider("positionPresentationId",U),w.addPresentationIdProvider("lutPresentationId",I),w.addPresentationIdProvider("segmentationPresentationId",b),B.setStyle({type:ta.SegmentationRepresentations.Contour},{fillAlpha:.5,fillAlphaInactive:.4,renderFill:!1,renderFillInactive:!1});let E=P().classes.MetadataProvider;L.volumeLoader.registerVolumeLoader("cornerstoneStreamingImageVolume",j.cornerstoneStreamingImageVolumeLoader),L.volumeLoader.registerVolumeLoader("cornerstoneStreamingDynamicImageVolume",j.cornerstoneStreamingDynamicImageVolumeLoader),Object.entries({interleaveCenter:e3,interleaveTopToBottom:e5,nth:e6}).forEach(([e,t])=>{f.registerImageLoadStrategy(e,th(t))}),L.imageLoadPoolManager.maxNumRequests={[K().Interaction]:n?.maxNumRequests?.interaction||10,[K().Thumbnail]:n?.maxNumRequests?.thumbnail||5,[K().Prefetch]:n?.maxNumRequests?.prefetch||5,[K().Compute]:n?.maxNumRequests?.compute||10},z("cornerstoneStreamingImageVolume",j.cornerstoneStreamingImageVolumeLoader),z("cornerstoneStreamingDynamicImageVolume",j.cornerstoneStreamingDynamicImageVolumeLoader),Y().init({maxWebWorkers:Math.min(Math.max(navigator.hardwareConcurrency-1,1),n.maxNumberOfWebWorkers),beforeSend:function(e){let t=A.getActiveDataSource()?.[0].getConfig()??{},n=d.getAuthorizationHeader(),r={Accept:k.utils.generateAcceptHeader(t.acceptHeader,t.requestTransferSyntaxUID,t.omitQuotationForMultipartRequest)};return n&&Object.assign(r,n),r},errorInterceptor:e=>{k.errorHandler.getHTTPErrorHandler(e)}}),L.metaData.addProvider(L.utilities.genericMetadataProvider.get,9998),L.metaData.addProvider(L.utilities.calibratedPixelSpacingMetadataProvider.get.bind(L.utilities.calibratedPixelSpacingMetadataProvider)),L.metaData.addProvider(E.get.bind(E),9999),this.measurementServiceSource=(({commandsManager:e,servicesManager:t,extensionManager:A})=>{let{measurementService:n,displaySetService:r,cornerstoneViewportService:o,customizationService:i}=t.services,s=((e,t,A,n)=>{let r,{Length:o,Bidirectional:i,EllipticalROI:s,CircleROI:a,ArrowAnnotate:l,Angle:c,CobbAngle:u,RectangleROI:d,PlanarFreehandROI:p,SplineROI:g,LivewireContour:m,Probe:h,UltrasoundDirectional:f,UltrasoundPleuraBLine:w,SegmentBidirectional:B}=(r=e=>{let{POLYLINE:t,ELLIPSE:A,CIRCLE:n,RECTANGLE:r,BIDIRECTIONAL:o,POINT:i,ANGLE:s}=k.MeasurementService.VALUE_TYPES;return({Length:t,EllipticalROI:A,CircleROI:n,RectangleROI:r,PlanarFreehandROI:t,Bidirectional:o,ArrowAnnotate:i,CobbAngle:s,Angle:s,SplineROI:t,LivewireContour:t,Probe:i,UltrasoundDirectional:t,SegmentBidirectional:o})[e]},{Length:{toAnnotation:eg,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{length:u,unit:d="mm"}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:d,length:u})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,SeriesNumber:o,SOPInstanceUID:i,frameNumber:s,unit:a}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===i);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${s}`:"";if(null==r)return n;let d=k.utils.roundNumber(r,2);return n.primary.push(`${d} ${a}`),n.secondary.push(`S: ${o}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Length"),e.forEach(e=>{let{length:t,unit:A}=e;n.push("Length"),r.push(t),n.push("Unit"),r.push(A)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},Bidirectional:{toAnnotation:ey,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r={}}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{length:u,width:d,unit:p}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:p,length:u,width:d})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,width:o,unit:i,SeriesNumber:s,SOPInstanceUID:a,frameNumber:l}=e[0],c=k.utils.roundNumber(r,2),u=k.utils.roundNumber(o,2),d=t.instances.find(e=>e.SOPInstanceUID===a);d&&(A=d.InstanceNumber);let p=A?` I: ${A}`:"",g=t.isMultiFrame?` F: ${l}`:"";return n.primary.push(`L: ${c} ${eB(i)}`),n.primary.push(`W: ${u} ${eB(i)}`),n.secondary.push(`S: ${s}${p}${g}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Bidirectional"),e.forEach(e=>{let{length:t,width:A,unit:o}=e;n.push("Length","Width","Unit"),r.push(t,A,o)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2},{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},SegmentBidirectional:{toAnnotation:eO,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.debug("SegmentBidirectional tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{length:u,width:d,unit:p}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:p,length:u,width:d})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{length:r,width:o,unit:i,SeriesNumber:s,SOPInstanceUID:a,frameNumber:l}=e[0],c=k.utils.roundNumber(r,2),u=k.utils.roundNumber(o,2),d=t.instances.find(e=>e.SOPInstanceUID===a);d&&(A=d.InstanceNumber);let p=A?` I: ${A}`:"",g=t.isMultiFrame?` F: ${l}`:"";return n.primary.push(`L: ${c} ${eB(i)}`),n.primary.push(`W: ${u} ${eB(i)}`),n.secondary.push(`S: ${s}${p}${g}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:SegmentBidirectional"),e.forEach(e=>{let{length:t,width:A,unit:o}=e;n.push("Length","Width","Unit"),r.push(t,A,o)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2},{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},EllipticalROI:{toAnnotation:eS,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[],s=new Set;return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:l,frameNumber:c}=ep(o,t,e),{SeriesNumber:u}=t.getDisplaySetsForSeries(l)[0],{mean:d,stdDev:p,max:g,area:m,Modality:h,areaUnit:f,modalityUnit:w}=n;h&&s.has(h)||(h&&s.add(h),i.push({SeriesInstanceUID:l,SOPInstanceUID:a,SeriesNumber:u,frameNumber:c,Modality:h,unit:w,areaUnit:f,mean:d,stdDev:p,max:g,area:m}))}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===o);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"",u=k.utils.roundNumber(r,2);return n.primary.push(`${u} ${eB(s)}`),e.forEach(e=>{let{unit:t,max:A,SeriesNumber:r}=e,o=ev(A,t,"max");n.primary.push(o),n.secondary.push(`S: ${r}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,metadata:s,isLocked:c,isVisible:u,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:EllipticalROI"),e.forEach(e=>{let{mean:t,stdDev:A,max:o,area:i,unit:s,areaUnit:a}=e;t&&s&&o&&i&&(n.push(`max (${s})`,`mean (${s})`,`std (${s})`,"Area","Unit"),r.push(o,t,A,i,a))}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.ELLIPSE}]},CircleROI:{toAnnotation:eC,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r={}}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[],s=new Set;return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:a,SeriesInstanceUID:l,frameNumber:c}=ep(o,t,e),{SeriesNumber:u}=t.getDisplaySetsForSeries(l)[0],{mean:d,stdDev:p,max:g,area:m,Modality:h,areaUnit:f,modalityUnit:w,perimeter:B,radiusUnit:y}=n;h&&s.has(h)||(s.add(h),i.push({SeriesInstanceUID:l,SOPInstanceUID:a,SeriesNumber:u,frameNumber:c,Modality:h,unit:w,mean:d,stdDev:p,max:g,area:m,areaUnit:f,perimeter:B,radiusUnit:y}))}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{area:r,SOPInstanceUID:o,frameNumber:i,areaUnit:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===o);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"";if(!isNaN(r)){let e=k.utils.roundNumber(r||0,2);n.primary.push(`${e} ${eB(s)}`)}return e.forEach(e=>{let{unit:t,perimeter:A,radiusUnit:r,max:o,SeriesNumber:i}=e;if(isNaN(o)){if(A&&!isNaN(A)){let e=ev(A,r,"perimeter");n.primary.push(e)}}else{let e=ev(o,t,"max");n.primary.push(e)}n.secondary.push(`S: ${i}${l}${c}`)}),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:CircleROI"),e.forEach(e=>{let{mean:t,stdDev:A,max:o,area:i,unit:s,areaUnit:a}=e;t&&s&&o&&i&&(n.push(`max (${s})`,`mean (${s})`,`std (${s})`,"Area","Unit"),r.push(o,t,A,i,a))}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.CIRCLE}]},RectangleROI:{toAnnotation:eF.toAnnotation,toMeasurement:e=>eF.toMeasurement(e,t,A,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE}]},PlanarFreehandROI:{toAnnotation:eE.toAnnotation,toMeasurement:e=>eE.toMeasurement(e,t,A,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE}]},SplineROI:{toAnnotation:eQ,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("SplineROI tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:h,frameNumber:f,StudyInstanceUID:w}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let B=function(e,t){let A={primary:[],secondary:[]};if(!e||!e.length)return A;let{area:n,SOPInstanceUID:r,frameNumber:o,areaUnit:i}=e[0],s=t.instances.find(e=>e.SOPInstanceUID===r);s&&s.InstanceNumber,t.isMultiFrame;let a=k.utils.roundNumber(n||0,2);return A.primary.push(`${a} ${eB(i)}`),A}(function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return[];let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{mean:u,stdDev:d,max:p,area:g,Modality:m,areaUnit:h,modalityUnit:f}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,Modality:m,unit:f,mean:u,stdDev:d,max:p,area:g,areaUnit:h})}),i}(i,t),o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:a.contour.polyline,textBox:a.handles.textBox,metadata:s,frameNumber:f,referenceSeriesUID:h,referenceStudyUID:w,referencedImageId:p,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:B,data:a.cachedStats,type:n(d),getReport:()=>(function(e,t){let{SplineROI:A}=t.getCustomization("cornerstone.measurements"),{report:n}=A,r=[],o=[];r.push("AnnotationType"),o.push("Cornerstone:SplineROI");let{metadata:i,data:s}=e,a=s.cachedStats[`imageId:${i.referencedImageId}`];return n.forEach(({displayName:e,value:t})=>{r.push(e),a[t]?o.push(a[t]):o.push("not available")}),i.FrameOfReferenceUID&&(r.push("FrameOfReferenceUID"),o.push(i.FrameOfReferenceUID)),s.contour.polyline&&(r.push("points"),o.push(s.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:r,values:o}})(i,r),isLocked:c,isVisible:u}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE}]},LivewireContour:{toAnnotation:eT,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Livewire tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:h,frameNumber:f,StudyInstanceUID:w}=ep(p,t,i);return o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h),{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:a.contour.polyline,textBox:a.handles.textBox,metadata:s,frameNumber:f,referenceSeriesUID:h,referencedImageId:p,referenceStudyUID:w,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,isLocked:c,isVisible:u,displayText:function(e,t,A){let n,{metadata:r,data:o}=e,i={primary:[],secondary:[]};if(!o.cachedStats||!o.cachedStats[`imageId:${r.referencedImageId}`])return i;let{area:s,areaUnit:a}=o.cachedStats[`imageId:${r.referencedImageId}`],{SOPInstanceUID:l,frameNumber:c}=ep(r.referencedImageId,A,e),u=t.instances.find(e=>e.SOPInstanceUID===l);u&&(n=u.InstanceNumber);let d=n?` I: ${n}`:"",p=t.isMultiFrame?` F: ${c}`:"",{SeriesNumber:g}=t,m=null;if(void 0!==g&&(m=`S: ${g}${d}${p}`),s){let e=k.utils.roundNumber(s||0,2);i.primary.push(`${e} ${eB(a)}`)}return m&&i.secondary.push(m),i}(i,o,t),data:a.cachedStats,type:n(d),getReport:()=>(function(e){let t=[],A=[];t.push("AnnotationType"),A.push("Cornerstone:Livewire");let{metadata:n,data:r}=e;return n.FrameOfReferenceUID&&(t.push("FrameOfReferenceUID"),A.push(n.FrameOfReferenceUID)),r.contour.polyline&&(t.push("points"),A.push(r.contour.polyline.map(e=>e.join(" ")).join(";"))),{columns:t,values:A}})(i)}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE}]},ArrowAnnotate:{toAnnotation:eI,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{text:r}=n,{referencedImageId:o}=A,i=[],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0];return i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,text:r}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{SeriesNumber:r,SOPInstanceUID:o,frameNumber:i,text:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===o);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${i}`:"";return s&&n.primary.push(s),n.secondary.push(`S: ${r}${l}${c}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:ArrowAnnote"),e.forEach(e=>{let{text:t}=e;n.push("Text"),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,0),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POINT,points:1}]},Probe:{toAnnotation:eD,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Probe tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w}=a.handles,B=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{value:u,modalityUnit:d}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:d||"",value:u})}),i}(i,t),y=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{value:r,unit:o,SeriesNumber:i,SOPInstanceUID:s,frameNumber:a}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===s);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${a}`:"";if(void 0!==r){let e=k.utils.roundNumber(r,2);n.primary.push(`${e} ${eB(o)}`),n.secondary.push(`S: ${i}${c}${u}`)}return n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,metadata:s,isLocked:c,isVisible:u,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:B?.[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:y,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=B,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Probe"),e.forEach(e=>{let{value:t,unit:A}=e;n.push(`Probe (${A})`),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POINT,points:1}]},CobbAngle:{toAnnotation:eb,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Cobb Angle tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!r||!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{angle:u}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:"°",angle:u})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{angle:r,unit:o,SeriesNumber:i,SOPInstanceUID:s,frameNumber:a}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===s);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${a}`:"";if(void 0===r)return n;let d=k.utils.roundNumber(r,2);return n.primary.push(`${d} ${eB(o)}`),n.secondary.push(`S: ${i}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,referencedImageId:p,frameNumber:y?.[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:CobbAngle"),e.forEach(e=>{let{angle:t,unit:A}=e;n.push(`Angle (${A})`),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}}}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.ANGLE}]},Angle:{toAnnotation:eU,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p,t,i);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h)[0];let{points:w,textBox:B}=a.handles,y=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(A=>{let n=r[A],{SOPInstanceUID:s,SeriesInstanceUID:a,frameNumber:l}=ep(o,t,e),{SeriesNumber:c}=t.getDisplaySetsForSeries(a)[0],{angle:u}=n;i.push({SeriesInstanceUID:a,SOPInstanceUID:s,SeriesNumber:c,frameNumber:l,unit:"°",angle:u})}),i}(i,t),v=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{angle:r,unit:o,SeriesNumber:i,SOPInstanceUID:s,frameNumber:a}=e[0],l=t.instances.find(e=>e.SOPInstanceUID===s);l&&(A=l.InstanceNumber);let c=A?` I: ${A}`:"",u=t.isMultiFrame?` F: ${a}`:"";if(void 0===r)return n;let d=k.utils.roundNumber(r,2);return n.primary.push(`${d} ${eB(o)}`),n.secondary.push(`S: ${i}${c}${u}`),n}(y,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,textBox:B,isLocked:c,isVisible:u,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,frameNumber:y?.[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:v,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=y,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:Angle"),e.forEach(e=>{let{angle:t,unit:A}=e;n.push(`Angle (${A})`),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},referencedImageId:p}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.ANGLE}]},UltrasoundDirectional:{toAnnotation:ex,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h);let{points:w}=a.handles,B=function(e,t){let{metadata:A,data:n}=e,{cachedStats:r}=n,{referencedImageId:o}=A;if(!Object.keys(r).length)return;let i=[];return Object.keys(r).forEach(e=>{let A=r[e];if(!o)throw Error("Non-acquisition plane measurement mapping not supported");let{SOPInstanceUID:n,SeriesInstanceUID:s,frameNumber:a}=ep(o),{SeriesNumber:l}=t.getDisplaySetForSOPInstanceUID(n,s,a),{xValues:c,yValues:u,units:d,isUnitless:p,isHorizontal:g}=A;i.push({SeriesInstanceUID:s,SOPInstanceUID:n,SeriesNumber:l,frameNumber:a,xValues:c,yValues:u,units:d,isUnitless:p,isHorizontal:g})}),i}(i,t),y=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{xValues:r,yValues:o,units:i,isUnitless:s,SeriesNumber:a,SOPInstanceUID:l,frameNumber:c}=e[0],u=t.instances.find(e=>e.SOPInstanceUID===l);u&&(A=u.InstanceNumber);let d=A?` I: ${A}`:"",p=t.isMultiFrame?` F: ${c}`:"",g=`S: ${a}${d}${p}`;if(void 0===r||void 0===o)return n;if(s)n.primary.push(`${k.utils.roundNumber(r[0],2)} ${i[0]}`);else{let e=Math.abs(r[1]-r[0]),t=Math.abs(o[1]-o[0]);n.primary.push(`${k.utils.roundNumber(e)} ${i[0]}`),n.primary.push(`${k.utils.roundNumber(t)} ${i[1]}`)}return n.secondary.push(g),n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,frameNumber:B?.[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:y,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=B,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:UltrasoundDirectional"),e.forEach(e=>{let{xValues:t,yValues:A,units:o,isUnitless:i}=e;if(i)n.push("Length"+o[0]),r.push(k.utils.roundNumber(t[0],2));else{let e=Math.abs(t[1]-t[0]),i=Math.abs(A[1]-A[0]);n.push("Time"+o[0]),r.push(k.utils.roundNumber(e,2)),n.push("Length"+o[1]),r.push(k.utils.roundNumber(i,2))}}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},UltrasoundPleuraBLine:{toAnnotation:eM,toMeasurement:e=>((e,t,A,n,r)=>{let o,{annotation:i}=e,{metadata:s,data:a,annotationUID:l}=i,c=ed.locking.isAnnotationLocked(l),u=ed.visibility.isAnnotationVisible(l);if(!s||!a)return console.warn("UltrasoundPleuraBLine tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=s;if(!eu.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:h,StudyInstanceUID:f}=ep(p);o=m?t.getDisplaySetForSOPInstanceUID(m,h):t.getDisplaySetsForSeries(h);let{points:w}=a.handles,B=function(e,t){let{metadata:A}=e,{annotationType:n}=e.data,{referencedImageId:r}=A,o=[];if(!r)throw Error("Non-acquisition plane measurement mapping not supported");let{SOPInstanceUID:i,SeriesInstanceUID:s,frameNumber:a}=ep(r),{SeriesNumber:l}=t.getDisplaySetForSOPInstanceUID(i,s,a);return o.push({SeriesInstanceUID:s,SOPInstanceUID:i,SeriesNumber:l,frameNumber:a,annotationType:n}),o}(i,t),y=function(e,t){let A,n={primary:[],secondary:[]};if(!e||!e.length)return n;let{annotationType:r,SeriesNumber:o,SOPInstanceUID:i,frameNumber:s}=e[0],a=t.instances.find(e=>e.SOPInstanceUID===i);a&&(A=a.InstanceNumber);let l=A?` I: ${A}`:"",c=t.isMultiFrame?` F: ${s}`:"",u=`S: ${o}${l}${c}`;return n.primary.push(`Annotation : ${r}`),n.secondary.push(u),n}(B,o);return{uid:l,SOPInstanceUID:m,FrameOfReferenceUID:g,points:w,metadata:s,referenceSeriesUID:h,referenceStudyUID:f,frameNumber:B?.[0]?.frameNumber||1,toolName:s.toolName,displaySetInstanceUID:o.displaySetInstanceUID,label:a.label,displayText:y,data:a.cachedStats,type:n(d),getReport:()=>{var e,t,A;let n,r;return e=B,t=w,A=g,r=[],(n=[]).push("AnnotationType"),r.push("Cornerstone:UltrasoundPleuraBLine"),e.forEach(e=>{let{annotationType:t}=e;n.push("AnnotationType"),r.push(t)}),A&&(n.push("FrameOfReferenceUID"),r.push(A)),t&&(n.push("points"),r.push(t.map(e=>e.join(" ")).join(";"))),{columns:n,values:r}},isLocked:c,isVisible:u}})(e,t,0,r,n),matchingCriteria:[{valueType:k.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]}}),y=e.createSource(eR,eV);return e.addMapping(y,"Length",o.matchingCriteria,o.toAnnotation,o.toMeasurement),e.addMapping(y,"Crosshairs",o.matchingCriteria,()=>null,()=>null),e.addMapping(y,"Bidirectional",i.matchingCriteria,i.toAnnotation,i.toMeasurement),e.addMapping(y,"EllipticalROI",s.matchingCriteria,s.toAnnotation,s.toMeasurement),e.addMapping(y,"CircleROI",a.matchingCriteria,a.toAnnotation,a.toMeasurement),e.addMapping(y,"ArrowAnnotate",l.matchingCriteria,l.toAnnotation,l.toMeasurement),e.addMapping(y,"CobbAngle",u.matchingCriteria,u.toAnnotation,u.toMeasurement),e.addMapping(y,"Angle",c.matchingCriteria,c.toAnnotation,c.toMeasurement),e.addMapping(y,"RectangleROI",d.matchingCriteria,d.toAnnotation,d.toMeasurement),e.addMapping(y,"PlanarFreehandROI",p.matchingCriteria,p.toAnnotation,p.toMeasurement),e.addMapping(y,"SplineROI",g.matchingCriteria,g.toAnnotation,g.toMeasurement),e.addMapping(y,"CalibrationLine",o.matchingCriteria,o.toAnnotation,o.toMeasurement),e.addMapping(y,"LivewireContour",m.matchingCriteria,m.toAnnotation,m.toMeasurement),e.addMapping(y,"Probe",h.matchingCriteria,h.toAnnotation,h.toMeasurement),e.addMapping(y,"UltrasoundDirectionalTool",f.matchingCriteria,f.toAnnotation,f.toMeasurement),e.addMapping(y,"UltrasoundPleuraBLineTool",w.matchingCriteria,w.toAnnotation,w.toMeasurement),e.addMapping(y,"SegmentBidirectional",B.matchingCriteria,B.toAnnotation,B.toMeasurement),y})(n,r,o,i);(({servicesManager:e,commandsManager:t,extensionManager:A})=>{let{measurementService:n,cornerstoneViewportService:r,viewportGridService:o}=e.services,{MEASUREMENT_REMOVED:i,MEASUREMENTS_CLEARED:s,MEASUREMENT_UPDATED:a,RAW_MEASUREMENT_ADDED:l}=n.EVENTS;n.subscribe(s,({measurements:e,trackingContext:A})=>{if(Object.keys(e).length){for(let A of(t.run("startRecordingForAnnotationGroup"),Object.values(e))){let{uid:e,source:n}=A;if(n.name!==eR)continue;let r=R.annotation.state.getAnnotation(e);eN(e),t.run("triggerCreateAnnotationMemo",{annotation:r,FrameOfReferenceUID:r.metadata.FrameOfReferenceUID,options:{deleting:!0}})}A&&e_.push({id:L.utilities.uuidv4(),operationType:"trackingState",restoreMemo(e){!0===e?t.run("restoreTrackedSeries",A):!1===e&&t.run("clearTrackedSeries")}}),t.run("endRecordingForAnnotationGroup"),r.getRenderingEngine().render()}}),n.subscribe(a,({source:e,measurement:t,notYetUpdatedAtSource:A})=>{if(!e||e.name!==eR||!1===A)return;let{uid:n,label:i,isLocked:s,isVisible:a}=t,l=R.annotation.state.getAnnotation(n),{data:c,metadata:u}=l;if(!c)return;if(c.label!==i){let e=ee(o)?.viewport.element;(0,eL.setAnnotationLabel)(l,e,i)}R.annotation.locking.setAnnotationLocked(n,s),R.annotation.visibility.setAnnotationVisibility(n,a);let d=r.getRenderingEngine().getViewports().map(e=>e.id);(0,eL.triggerAnnotationRenderForViewportIds)(d)}),n.subscribe(l,({source:e,measurement:A,data:n,dataSource:r})=>{let o;if(e.name!==eR)return;let{referenceSeriesUID:i,referenceStudyUID:s,SOPInstanceUID:a,metadata:l}=A,c=k.DicomMetadataStore.getInstance(s,i,a),u=1;A?.metadata?.referencedImageId?(o=A.metadata.referencedImageId,u=ep(A.metadata.referencedImageId).frameNumber):c&&(o=r.getImageIdsForInstance({instance:c}));let d=R.annotation.state.getAnnotationManager(),p={annotationUID:A.uid,predecessorImageId:A?.predecessorImageId,highlighted:!1,isLocked:!1,invalidated:!0,metadata:{...l,toolName:A.toolName,FrameOfReferenceUID:A.FrameOfReferenceUID,referencedImageId:o},data:{...n.annotation.data||{},text:n.annotation.data.text,handles:{...n.annotation.data.handles},cachedStats:{...n.annotation.data.cachedStats},label:n.annotation.data.label,frameNumber:u}};d.addAnnotation(p),t.run("triggerCreateAnnotationMemo",{annotation:p,FrameOfReferenceUID:p.metadata.FrameOfReferenceUID,options:{newAnnotation:!0}})}),n.subscribe(i,({source:e,measurement:A})=>{if(e?.name&&e.name!==eR)return;t.run("cancelMeasurement");let n=R.annotation.state.getAnnotation(A);eN(A),n&&t.run("triggerCreateAnnotationMemo",{annotation:n,FrameOfReferenceUID:n.metadata.FrameOfReferenceUID,options:{deleting:!0}}),r.getRenderingEngine().render()})})({servicesManager:t,commandsManager:e,extensionManager:A});let{annotationToMeasurement:a,remove:l}=s;function c(e){try{let A=e.detail,{annotation:{metadata:n,annotationUID:r}}=A,{toolName:i}=n;e.type===p&&i===ec.CalibrationLine?(function(e,t){var A,n;let r,o,i,{uiDialogService:s,viewportGridService:a}=e.services,{annotation:{metadata:l,data:c}}=t.detail,{referencedImageId:u}=l,{viewport:d}=ee(a),p=Math.round(100*(A=c.handles.points[0],n=c.handles.points[1],r=A[0]-n[0],o=A[1]-n[1],i=A[2]-n[2],Math.sqrt(r*r+o*o+i*i)))/100;return new Promise((e,t)=>{s?(0,q.callInputDialog)({uiDialogService:s,title:"Calibration",placeholder:"Actual Physical distance (mm)",defaultValue:`${p}`}).then(t=>{var A;A=Number.parseFloat(t),et(u,d.getRenderingEngine(),{type:"User",scale:1/(A/p)}),e(!0)}):t("UIDialogService is not initiated")})})(t,e).then(()=>{console.log("Calibration applied.")},()=>!0).finally(()=>{eN(r),u(e),o.resize()}):(A.uid=r,a(i,A))}catch(e){console.warn("Failed to add measurement:",e)}}function u(e){try{let t=e.detail,{annotation:{annotationUID:A}}=t;n.getMeasurement(A)&&l(A,t)}catch(e){console.warn("Failed to remove measurement:",e)}}let d=eH.ANNOTATION_ADDED,p=eH.ANNOTATION_COMPLETED,g=eH.ANNOTATION_MODIFIED,m=eH.ANNOTATION_REMOVED,h=eH.ANNOTATION_SELECTION_CHANGE;return L.eventTarget.addEventListener(d,c),L.eventTarget.addEventListener(p,c),L.eventTarget.addEventListener(g,function(e){try{let t=e.detail,{annotation:{metadata:A,annotationUID:r}}=t;if(!n.getMeasurement(r))return;let{toolName:o}=A;t.uid=r,a(o,t,!0)}catch(e){console.warn("Failed to update measurement:",e)}}),L.eventTarget.addEventListener(m,u),L.eventTarget.addEventListener(h,function(e){try{let{added:t,removed:A}=e.detail;A&&A.forEach(e=>n.setMeasurementSelected(e,!1)),t&&t.forEach(e=>n.setMeasurementSelected(e,!0))}catch(e){console.warn("Failed to select/unselect measurements:",e)}}),s})({servicesManager:e,commandsManager:t,extensionManager:A}),ek(e),eP(e),y.subscribe(y.EVENTS.JUMP_TO_MEASUREMENT,e=>{let{measurement:A}=e,{uid:n}=A;t.runCommand("jumpToMeasurementViewport",{measurement:A,annotationUID:n,evt:e})}),f.subscribe(f.EVENTS.CUSTOM_IMAGE_LOAD_PERFORMED,e=>{let{lutPresentationStore:t}=tl.I.getState(),{segmentationPresentationStore:A}=tu.v.getState(),{positionPresentationStore:n}=tc.q.getState();for(let r of e.entries()){let[e,o]=r,i=h.getCornerstoneViewport(e),{presentationIds:s}=h.getViewportInfo(e).getViewportOptions(),a={positionPresentation:n[s?.positionPresentationId],lutPresentation:t[s?.lutPresentationId],segmentationPresentation:A[s?.segmentationPresentationId]};h.setVolumesForViewport(i,o,a)}}),tt({cornerstoneViewportService:h,customizationService:p,commandsManager:t}),tn({customizationService:p,commandsManager:t});let F=({detail:e})=>{k.errorHandler.getHTTPErrorHandler()(e.error)};L.eventTarget.addEventListener(L.EVENTS.IMAGE_LOAD_FAILED,F),L.eventTarget.addEventListener(L.EVENTS.IMAGE_LOAD_ERROR,F),L.eventTarget.addEventListener(L.EVENTS.ELEMENT_ENABLED,(function(e){let{element:A}=e.detail,{viewport:n}=(0,L.getEnabledElement)(A);if(!function({element:e}){if(!tr.length){let{TimingEnum:e}=k.Enums;tr.push(e.DISPLAY_SETS_TO_ALL_IMAGES,e.DISPLAY_SETS_TO_FIRST_IMAGE,e.STUDY_TO_FIRST_IMAGE)}tr.find(e=>k.log.timingKeys[e])&&(to.viewportsWaiting+=1,e.addEventListener(L.EVENTS.IMAGE_RENDERED,ti))}({element:A}),A.addEventListener(L.EVENTS.CAMERA_RESET,e=>{let{element:A}=e.detail,n=(0,L.getEnabledElement)(A);if(!n)return;let{viewportId:r}=n;t.runCommand("resetCrosshairs",{viewportId:r})}),n.type!==L.Enums.ViewportType.ORTHOGRAPHIC)return}).bind(null)),ts.forEach(tg),L.eventTarget.addEventListenerDebounced(L.EVENTS.ERROR_EVENT,({detail:e})=>{let t=`cornerstone-error-${e.type}-${e.message.substring(0,50)}`;m.show({title:e.type,message:e.message,type:"error",id:t,allowDuplicates:!1,deduplicationInterval:3e4})},100),r=e.services.uiNotificationService,i=new Map,L.eventTarget.addEventListener(L.EVENTS.WEB_WORKER_PROGRESS,({detail:e})=>{let t,A=!1;try{let{progress:n,type:o,id:s}=e;if(o===R.Enums.WorkerTypes.COMPUTE_STATISTICS)return;if(t=`worker-task-${o.toLowerCase().replace(/\s+/g,"-")}`,0===n)if(i.has(t))console.debug(`Already tracking a "${o}" task, skipping duplicate notification`);else{let e=new Promise((e,A)=>{try{i.set(t,{resolve:e,reject:A,originalId:s,type:o})}catch(e){throw console.error(`Error setting active worker task for type "${o}":`,e),A(e),e}});try{r.show({id:t,title:`${o}`,message:"Computing...",autoClose:!1,allowDuplicates:!1,deduplicationInterval:6e4,promise:e,promiseMessages:{loading:"Computing...",success:"Completed successfully",error:"Web Worker failed"}})}catch(e){throw console.error(`Error showing web worker notification for type "${o}":`,e),A=!0,e}}else if(100===n){let e=i.get(t);if(e){let{resolve:t}=e;t({progress:n,type:o}),A=!0,console.debug(`Worker task "${o}" completed successfully`)}}}catch(t){console.error(`Error in web worker progress handler for type "${e?.type}":`,t),A=!0}finally{if(A&&t)try{i.delete(t)}catch(t){console.error(`Error cleaning up active worker task for type "${e?.type}":`,t)}}})}window.cornerstone=L,window.cornerstoneTools=R;let th=e=>t=>{let A=td.imageRetrieveMetadataProvider.clone();td.imageRetrieveMetadataProvider.clear();try{return e(t)}finally{setTimeout(()=>{td.imageRetrieveMetadataProvider.restore(A)},10)}};function tf(){let e,t=(0,D.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,tp.jsx)("div",{children:(0,tp.jsx)("p",{children:"Your computer does not have enough GPU power to support the default GPU rendering mode. OHIF has switched to CPU rendering mode. Please note that CPU rendering does not support all features such as Volume Rendering, Multiplanar Reconstruction, and Segmentation Overlays."})}),t[0]=e):e=t[0],e}let tw={"viewportOverlay.topLeft":[{id:"StudyDate",inheritsFrom:"ohif.overlayItem",label:"",title:"Study date",condition:({referenceInstance:e})=>e?.StudyDate,contentF:({referenceInstance:e,formatters:{formatDate:t}})=>t(e.StudyDate)},{id:"SeriesDescription",inheritsFrom:"ohif.overlayItem",label:"",title:"Series description",condition:({referenceInstance:e})=>e&&e.SeriesDescription,contentF:({referenceInstance:e})=>e.SeriesDescription}],"viewportOverlay.topRight":[],"viewportOverlay.bottomLeft":[{id:"WindowLevel",inheritsFrom:"ohif.overlayItem.windowLevel",title:"Window Level"},{id:"ZoomLevel",inheritsFrom:"ohif.overlayItem.zoomLevel",condition:e=>"Zoom"===e.toolGroupService.getActiveToolForViewport(e.viewportId)}],"viewportOverlay.bottomRight":[{id:"InstanceNumber",inheritsFrom:"ohif.overlayItem.instanceNumber",title:"Instance Number"}]};var tB=x(55);function ty(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function tv(e){return(tv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tS(e){var t=function(e,t){if("object"!=tv(e)||!e)return e;var A=e[Symbol.toPrimitive];if(void 0!==A){var n=A.call(e,t||"default");if("object"!=tv(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==tv(t)?t:t+""}function tC(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,tS(n.key),n)}}function tI(e,t,A){return t&&tC(e.prototype,t),A&&tC(e,A),Object.defineProperty(e,"prototype",{writable:!1}),e}x(9741),Object.create(null);var tb=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,tU={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},tE=function(e){return tU[e]},tF={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:function(e){return e.replace(tb,tE)}},tQ=(0,M.createContext)(),tT=function(){function e(){ty(this,e),this.usedNamespaces={}}return tI(e,[{key:"addUsedNamespaces",value:function(e){var t=this;e.forEach(function(e){t.usedNamespaces[e]||(t.usedNamespaces[e]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function tD(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=Array(t);A<t;A++)n[A]=e[A];return n}function tx(e,t,A){return(t=tS(t))in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function tO(){if(console&&console.warn){for(var e,t=arguments.length,A=Array(t),n=0;n<t;n++)A[n]=arguments[n];"string"==typeof A[0]&&(A[0]="react-i18next:: ".concat(A[0])),(e=console).warn.apply(e,A)}}var tM={};function tL(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];"string"==typeof t[0]&&tM[t[0]]||("string"==typeof t[0]&&(tM[t[0]]=new Date),tO.apply(void 0,t))}var tR=function(e,t){return function(){e.isInitialized?t():e.on("initialized",function A(){setTimeout(function(){e.off("initialized",A)},0),t()})}};function tV(e,t,A){e.loadNamespaces(t,tR(e,A))}function tN(e,t,A,n){"string"==typeof A&&(A=[A]),A.forEach(function(t){0>e.options.ns.indexOf(t)&&e.options.ns.push(t)}),e.loadLanguages(t,tR(e,n))}function tH(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),A.push.apply(A,n)}return A}function t_(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?tH(Object(A),!0).forEach(function(t){tx(e,t,A[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):tH(Object(A)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))})}return e}var tk=function(e,t){var A=(0,M.useRef)();return(0,M.useEffect)(function(){A.current=t?A.current:e},[e,t]),A.current};function tP(e){var t,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=A.i18n,r=(0,M.useContext)(tQ)||{},o=r.i18n,i=r.defaultNS,s=n||o||S;if(s&&!s.reportNamespaces&&(s.reportNamespaces=new tT),!s){tL("You will need to pass in an i18next instance by using initReactI18next");var a=function(e,t){return"string"==typeof t?t:t&&"object"===tv(t)&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e},l=[a,{},!1];return l.t=a,l.i18n={},l.ready=!1,l}s.options.react&&void 0!==s.options.react.wait&&tL("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var c=t_(t_(t_({},tF),s.options.react),A),u=c.useSuspense,d=c.keyPrefix,p=e||i||s.options&&s.options.defaultNS;p="string"==typeof p?[p]:p||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(p);var g=(s.isInitialized||s.initializedStoreOnce)&&p.every(function(e){return function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0===t.options.ignoreJSONStructure?function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.languages[0],r=!!t.options&&t.options.fallbackLng,o=t.languages[t.languages.length-1];if("cimode"===n.toLowerCase())return!0;var i=function(e,A){var n=t.services.backendConnector.state["".concat(e,"|").concat(A)];return -1===n||2===n};return(!(A.bindI18n&&A.bindI18n.indexOf("languageChanging")>-1)||!t.services.backendConnector.backend||!t.isLanguageChangingTo||!!i(t.isLanguageChangingTo,e))&&!!(t.hasResourceBundle(n,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||i(n,e)&&(!r||i(o,e)))}(e,t,A):t.hasLoadedNamespace(e,{lng:A.lng,precheck:function(t,n){if(A.bindI18n&&A.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!n(t.isLanguageChangingTo,e))return!1}}):(tL("i18n.languages were undefined or empty",t.languages),!0)}(e,s,c)});function m(){return s.getFixedT(A.lng||null,"fallback"===c.nsMode?p:p[0],d)}var h=function(e){if(Array.isArray(e))return e}(t=(0,M.useState)(m))||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var A,n,r,o,i=[],s=!0,a=!1;try{r=(t=t.call(e)).next,!1;for(;!(s=(A=r.call(t)).done)&&(i.push(A.value),2!==i.length);s=!0);}catch(e){a=!0,n=e}finally{try{if(!s&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(a)throw n}}return i}}(t)||function(e){if(e){if("string"==typeof e)return tD(e,2);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?tD(e,2):void 0}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),f=h[0],w=h[1],B=p.join();A.lng&&(B="".concat(A.lng).concat(B));var y=tk(B),v=(0,M.useRef)(!0);(0,M.useEffect)(function(){var e=c.bindI18n,t=c.bindI18nStore;function n(){v.current&&w(m)}return v.current=!0,g||u||(A.lng?tN(s,A.lng,p,function(){v.current&&w(m)}):tV(s,p,function(){v.current&&w(m)})),g&&y&&y!==B&&v.current&&w(m),e&&s&&s.on(e,n),t&&s&&s.store.on(t,n),function(){v.current=!1,e&&s&&e.split(" ").forEach(function(e){return s.off(e,n)}),t&&s&&t.split(" ").forEach(function(e){return s.store.off(e,n)})}},[s,B]);var C=(0,M.useRef)(!0);(0,M.useEffect)(function(){v.current&&!C.current&&w(m),C.current=!1},[s,d]);var I=[f,s,g];if(I.t=f,I.i18n=s,I.ready=g,g||!g&&!u)return I;throw new Promise(function(e){A.lng?tN(s,A.lng,p,function(){return e()}):tV(s,p,function(){return e()})})}var tj=x(1459);let tG=e=>{let t,A,n,r,o,i,s,a,l,c,u=(0,D.c)(33),{segmentationId:d,segmentationRepresentationType:p,allowExport:g,actions:m}=e,{t:h}=tP("SegmentationPanel");u[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,tp.jsx)(tB.Icons.Export,{className:"text-foreground"}),u[0]=t):t=u[0],u[1]!==h?(A=h("Save"),u[1]=h,u[2]=A):A=u[2],u[3]!==A?(n=(0,tp.jsxs)(tB.DropdownMenuSubTrigger,{className:"pl-1",children:[t,(0,tp.jsx)("span",{className:"pl-2",children:A})]}),u[3]=A,u[4]=n):n=u[4],u[5]!==m||u[6]!==g||u[7]!==d||u[8]!==p||u[9]!==h?(r=p===ta.SegmentationRepresentations.Labelmap&&(0,tp.jsx)(tB.DropdownMenuItem,{onClick:e=>{e.preventDefault(),m.downloadCSVSegmentationReport(d)},disabled:!g,children:h("CSV Report")}),u[5]=m,u[6]=g,u[7]=d,u[8]=p,u[9]=h,u[10]=r):r=u[10],u[11]!==m||u[12]!==g||u[13]!==d||u[14]!==p||u[15]!==h?(o=p===ta.SegmentationRepresentations.Labelmap&&(0,tp.jsx)(tB.DropdownMenuItem,{onClick:e=>{e.preventDefault(),m.storeSegmentation(d,"SEG")},disabled:!g,children:h("DICOM SEG")}),u[11]=m,u[12]=g,u[13]=d,u[14]=p,u[15]=h,u[16]=o):o=u[16],u[17]!==m||u[18]!==d?(i=e=>{e.preventDefault(),m.storeSegmentation(d,"RTSTRUCT")},u[17]=m,u[18]=d,u[19]=i):i=u[19];let f=!g;return u[20]!==h?(s=h("DICOM RTSS"),u[20]=h,u[21]=s):s=u[21],u[22]!==i||u[23]!==f||u[24]!==s?(a=(0,tp.jsx)(tB.DropdownMenuItem,{onClick:i,disabled:f,children:s}),u[22]=i,u[23]=f,u[24]=s,u[25]=a):a=u[25],u[26]!==r||u[27]!==o||u[28]!==a?(l=(0,tp.jsx)(tB.DropdownMenuPortal,{children:(0,tp.jsxs)(tB.DropdownMenuSubContent,{children:[r,o,a]})}),u[26]=r,u[27]=o,u[28]=a,u[29]=l):l=u[29],u[30]!==l||u[31]!==n?(c=(0,tp.jsxs)(tB.DropdownMenuSub,{children:[n,l]}),u[30]=l,u[31]=n,u[32]=c):c=u[32],c},tK=()=>{let e,t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C=(0,D.c)(64),{commandsManager:I}=(0,tj.useSystem)(),{t:b}=tP("SegmentationPanel"),{onSegmentationAdd:U,onSegmentationRemoveFromViewport:E,onSegmentationEdit:F,onSegmentationDelete:Q,exportOptions:T,activeSegmentation:x,activeSegmentationId:O,segmentationRepresentationTypes:M,disableEditing:L}=(0,tB.useSegmentationTableContext)("CustomDropdownMenu"),R=(0,tB.useSegmentationExpanded)(),V=R?R.segmentation:x,N=R?R.segmentation.segmentationId:O,H=!1;if(!V||!N)return null;if(T){let e;if(C[0]!==T||C[1]!==N){let t;C[3]!==N?(t=e=>e.segmentationId===N,C[3]=N,C[4]=t):t=C[4],e=T.find(t),C[0]=T,C[1]=N,C[2]=e}else e=C[2];let t=e;H=t?.isExportable||!1}C[5]!==I?(e={storeSegmentation:async(e,t)=>{I.run({commandName:"storeSegmentation",commandOptions:{segmentationId:e,modality:void 0===t?"SEG":t},context:"CORNERSTONE"})},downloadCSVSegmentationReport:e=>{I.run("downloadCSVSegmentationReport",{segmentationId:e})}},C[5]=I,C[6]=e):e=C[6];let _=e;C[7]!==L||C[8]!==U||C[9]!==N||C[10]!==M?.[0]||C[11]!==b?(t=!L&&(0,tp.jsxs)(tB.DropdownMenuItem,{onClick:()=>U({segmentationId:N,segmentationRepresentationType:M?.[0]}),children:[(0,tp.jsx)(tB.Icons.Add,{className:"text-foreground"}),(0,tp.jsx)("span",{className:"pl-2",children:b("Create New Segmentation")})]}),C[7]=L,C[8]=U,C[9]=N,C[10]=M?.[0],C[11]=b,C[12]=t):t=C[12],C[13]===Symbol.for("react.memo_cache_sentinel")?(A=(0,tp.jsx)(tB.DropdownMenuSeparator,{}),C[13]=A):A=C[13],C[14]!==b?(n=b("Manage Current Segmentation"),C[14]=b,C[15]=n):n=C[15],C[16]!==n?(r=(0,tp.jsx)(tB.DropdownMenuLabel,{children:n}),C[16]=n,C[17]=r):r=C[17],C[18]!==E||C[19]!==N?(o=()=>E(N),C[18]=E,C[19]=N,C[20]=o):o=C[20],C[21]===Symbol.for("react.memo_cache_sentinel")?(i=(0,tp.jsx)(tB.Icons.Series,{className:"text-foreground"}),C[21]=i):i=C[21],C[22]!==b?(s=b("Remove from Viewport"),C[22]=b,C[23]=s):s=C[23],C[24]!==s?(a=(0,tp.jsx)("span",{className:"pl-2",children:s}),C[24]=s,C[25]=a):a=C[25],C[26]!==o||C[27]!==a?(l=(0,tp.jsxs)(tB.DropdownMenuItem,{onClick:o,children:[i,a]}),C[26]=o,C[27]=a,C[28]=l):l=C[28],C[29]!==F||C[30]!==N?(c=()=>F(N),C[29]=F,C[30]=N,C[31]=c):c=C[31],C[32]===Symbol.for("react.memo_cache_sentinel")?(u=(0,tp.jsx)(tB.Icons.Rename,{className:"text-foreground"}),C[32]=u):u=C[32],C[33]!==b?(d=b("Rename"),C[33]=b,C[34]=d):d=C[34],C[35]!==d?(p=(0,tp.jsx)("span",{className:"pl-2",children:d}),C[35]=d,C[36]=p):p=C[36],C[37]!==c||C[38]!==p?(g=(0,tp.jsxs)(tB.DropdownMenuItem,{onClick:c,children:[u,p]}),C[37]=c,C[38]=p,C[39]=g):g=C[39];let k=M?.[0];return C[40]!==_||C[41]!==H||C[42]!==N||C[43]!==k?(m=(0,tp.jsx)(tG,{segmentationId:N,segmentationRepresentationType:k,allowExport:H,actions:_}),C[40]=_,C[41]=H,C[42]=N,C[43]=k,C[44]=m):m=C[44],C[45]===Symbol.for("react.memo_cache_sentinel")?(h=(0,tp.jsx)(tB.DropdownMenuSeparator,{}),C[45]=h):h=C[45],C[46]!==Q||C[47]!==N?(f=()=>Q(N),C[46]=Q,C[47]=N,C[48]=f):f=C[48],C[49]===Symbol.for("react.memo_cache_sentinel")?(w=(0,tp.jsx)(tB.Icons.Delete,{className:"text-red-600"}),C[49]=w):w=C[49],C[50]!==b?(B=b("Delete"),C[50]=b,C[51]=B):B=C[51],C[52]!==B?(y=(0,tp.jsx)("span",{className:"pl-2 text-red-600",children:B}),C[52]=B,C[53]=y):y=C[53],C[54]!==f||C[55]!==y?(v=(0,tp.jsxs)(tB.DropdownMenuItem,{onClick:f,children:[w,y]}),C[54]=f,C[55]=y,C[56]=v):v=C[56],C[57]!==t||C[58]!==g||C[59]!==m||C[60]!==v||C[61]!==r||C[62]!==l?(S=(0,tp.jsxs)(tB.DropdownMenuContent,{align:"start",children:[t,A,r,l,g,m,h,v]}),C[57]=t,C[58]=g,C[59]=m,C[60]=v,C[61]=r,C[62]=l,C[63]=S):S=C[63],S},tW=e=>{let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F=(0,D.c)(86),{segmentationId:Q,segmentIndex:T}=e,{servicesManager:x,commandsManager:O}=(0,tj.useSystem)(),{segmentationService:M}=x.services,{t:L}=tP("SegmentationPanel");if(F[0]!==O||F[1]!==T||F[2]!==Q||F[3]!==M||F[4]!==L){o=Symbol.for("react.early_return_sentinel");e:{let e=M.getSegmentation(Q).segments[T].cachedStats.namedStats;if(!e){o=null;break e}if(!(t=e.bidirectional)){let e,t,A,n,r,i,s,a,l,c;F[11]!==O||F[12]!==T||F[13]!==Q?(e=()=>{O.run("runSegmentBidirectional",{segmentationId:Q,segmentIndex:T})},F[11]=O,F[12]=T,F[13]=Q,F[14]=e):e=F[14],F[15]===Symbol.for("react.memo_cache_sentinel")?(t=(0,tp.jsx)(tB.Icons.ToolBidirectionalSegment,{className:"h-5 w-5"}),F[15]=t):t=F[15],F[16]!==L?(A=L("Compute Largest Bidirectional"),F[16]=L,F[17]=A):A=F[17],F[18]!==A?(n=(0,tp.jsx)("span",{children:A}),F[18]=A,F[19]=n):n=F[19],F[20]!==e||F[21]!==n?(r=(0,tp.jsx)(tB.TooltipTrigger,{asChild:!0,children:(0,tp.jsxs)(tB.Button,{variant:"ghost",size:"sm",className:"text-primary flex items-center gap-2",onClick:e,children:[t,n]})}),F[20]=e,F[21]=n,F[22]=r):r=F[22],F[23]!==L?(i=L("Add bidirectional measurement"),F[23]=L,F[24]=i):i=F[24],F[25]!==i?(s=(0,tp.jsx)(tB.TooltipContent,{side:"bottom",children:i}),F[25]=i,F[26]=s):s=F[26],F[27]!==r||F[28]!==s?(a=(0,tp.jsx)("div",{className:"flex",children:(0,tp.jsxs)(tB.Tooltip,{children:[r,s]})}),F[27]=r,F[28]=s,F[29]=a):a=F[29],F[30]===Symbol.for("react.memo_cache_sentinel")?(l=(0,tp.jsx)(tB.Separator,{className:"bg-input"}),F[30]=l):l=F[30],F[31]!==a?(c=(0,tp.jsxs)("div",{className:"-mt-2 space-y-2",children:[a,l]}),F[31]=a,F[32]=c):c=F[32],o=c;break e}let{value:s,unit:a}=t;i=a;let l=s.maxMajor,c=s.maxMinor;A=Math.max(l,c),n=Math.min(l,c),r=R.annotation.visibility.isAnnotationVisible(t.annotationUID)}F[0]=O,F[1]=T,F[2]=Q,F[3]=M,F[4]=L,F[5]=t,F[6]=A,F[7]=n,F[8]=r,F[9]=o,F[10]=i}else t=F[5],A=F[6],n=F[7],r=F[8],o=F[9],i=F[10];if(o!==Symbol.for("react.early_return_sentinel"))return o;let V=r;return F[33]!==A?(s=(0,en.roundNumber)(A),F[33]=A,F[34]=s):s=F[34],F[35]!==s||F[36]!==i?(a=(0,tp.jsxs)("div",{children:["L: ",s," ",i]}),F[35]=s,F[36]=i,F[37]=a):a=F[37],F[38]!==n?(l=(0,en.roundNumber)(n),F[38]=n,F[39]=l):l=F[39],F[40]!==l||F[41]!==i?(c=(0,tp.jsxs)("div",{children:["W: ",l," ",i]}),F[40]=l,F[41]=i,F[42]=c):c=F[42],F[43]!==a||F[44]!==c?(u=(0,tp.jsxs)("div",{className:"text-foreground",children:[a,c]}),F[43]=a,F[44]=c,F[45]=u):u=F[45],F[46]!==t.annotationUID||F[47]!==V||F[48]!==T||F[49]!==Q||F[50]!==M?(d=e=>{e.stopPropagation(),R.annotation.visibility.setAnnotationVisibility(t.annotationUID,!V),M.addOrUpdateSegmentation({segmentationId:Q,segmentIndex:T})},F[46]=t.annotationUID,F[47]=V,F[48]=T,F[49]=Q,F[50]=M,F[51]=d):d=F[51],F[52]!==V?(p=V?(0,tp.jsx)(tB.Icons.Hide,{className:"h-6 w-6"}):(0,tp.jsx)(tB.Icons.Show,{className:"h-6 w-6"}),F[52]=V,F[53]=p):p=F[53],F[54]!==d||F[55]!==p?(g=(0,tp.jsx)(tB.TooltipTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{size:"icon",variant:"ghost",className:"h-6 w-6 transition-opacity",onClick:d,children:p})}),F[54]=d,F[55]=p,F[56]=g):g=F[56],F[57]!==L?(m=L("Toggle visibility"),F[57]=L,F[58]=m):m=F[58],F[59]!==m?(h=(0,tp.jsx)(tB.TooltipContent,{side:"bottom",children:m}),F[59]=m,F[60]=h):h=F[60],F[61]!==g||F[62]!==h?(f=(0,tp.jsxs)(tB.Tooltip,{children:[g,h]}),F[61]=g,F[62]=h,F[63]=f):f=F[63],F[64]!==t.annotationUID||F[65]!==O?(w=()=>{t.annotationUID&&O.run("jumpToMeasurement",{uid:t.annotationUID})},F[64]=t.annotationUID,F[65]=O,F[66]=w):w=F[66],F[67]===Symbol.for("react.memo_cache_sentinel")?(B=(0,tp.jsx)(tB.Icons.JumpToSlice,{}),F[67]=B):B=F[67],F[68]!==w?(y=(0,tp.jsx)(tB.TooltipTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",onClick:w,children:B})}),F[68]=w,F[69]=y):y=F[69],F[70]!==L?(v=L("Jump to measurement"),F[70]=L,F[71]=v):v=F[71],F[72]!==v?(S=(0,tp.jsx)(tB.TooltipContent,{side:"bottom",children:v}),F[72]=v,F[73]=S):S=F[73],F[74]!==y||F[75]!==S?(C=(0,tp.jsxs)(tB.Tooltip,{children:[y,S]}),F[74]=y,F[75]=S,F[76]=C):C=F[76],F[77]!==f||F[78]!==C?(I=(0,tp.jsxs)("div",{className:"flex gap-2",children:[f,C]}),F[77]=f,F[78]=C,F[79]=I):I=F[79],F[80]!==I||F[81]!==u?(b=(0,tp.jsxs)("div",{className:"flex items-center justify-between",children:[u,I]}),F[80]=I,F[81]=u,F[82]=b):b=F[82],F[83]===Symbol.for("react.memo_cache_sentinel")?(U=(0,tp.jsx)(tB.Separator,{className:"bg-input"}),F[83]=U):U=F[83],F[84]!==b?(E=(0,tp.jsxs)("div",{className:"-mt-2 space-y-2",children:[b,U]}),F[84]=b,F[85]=E):E=F[85],E};function tY(){let e,t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v=(0,D.c)(53),{commandsManager:S}=(0,k.useSystem)(),{t:C}=tP("SegmentationPanel"),[I,b]=(0,M.useState)(!1),[U,E]=(0,M.useState)(!1),[F,Q]=(0,M.useState)(!1),[T,x]=(0,M.useState)(!1);v[0]!==S?(e=e=>{b(e),S.run("toggleSegmentPreviewEdit",{toggle:e})},v[0]=S,v[1]=e):e=v[1];let O=e;v[2]!==S?(t=e=>{Q(e),S.run("toggleSegmentSelect",{toggle:e})},v[2]=S,v[3]=t):t=v[3];let L=t;v[4]!==S?(A=e=>{x(e),S.run("toggleUseCenterSegmentIndex",{toggle:e})},v[4]=S,v[5]=A):A=v[5];let R=A;v[6]!==S?(n=e=>{E(e),S.run("toggleSegmentLabel",{enabled:e})},v[6]=S,v[7]=n):n=v[7];let V=n;return v[8]!==O||v[9]!==I?(r=(0,tp.jsx)(tB.Switch,{checked:I,onCheckedChange:O}),v[8]=O,v[9]=I,v[10]=r):r=v[10],v[11]!==C?(o=C("Preview edits before creating"),v[11]=C,v[12]=o):o=v[12],v[13]!==o?(i=(0,tp.jsx)("span",{className:"text-foreground text-base",children:o}),v[13]=o,v[14]=i):i=v[14],v[15]!==r||v[16]!==i?(s=(0,tp.jsxs)("div",{className:"flex items-center gap-2",children:[r,i]}),v[15]=r,v[16]=i,v[17]=s):s=v[17],v[18]!==R||v[19]!==T?(a=(0,tp.jsx)(tB.Switch,{checked:T,onCheckedChange:R}),v[18]=R,v[19]=T,v[20]=a):a=v[20],v[21]!==C?(l=C("Use center as segment index"),v[21]=C,v[22]=l):l=v[22],v[23]!==l?(c=(0,tp.jsx)("span",{className:"text-foreground text-base",children:l}),v[23]=l,v[24]=c):c=v[24],v[25]!==c||v[26]!==a?(u=(0,tp.jsxs)("div",{className:"flex items-center gap-2",children:[a,c]}),v[25]=c,v[26]=a,v[27]=u):u=v[27],v[28]!==L||v[29]!==F?(d=(0,tp.jsx)(tB.Switch,{checked:F,onCheckedChange:L}),v[28]=L,v[29]=F,v[30]=d):d=v[30],v[31]!==C?(p=C("Hover on segment border to activate"),v[31]=C,v[32]=p):p=v[32],v[33]!==p?(g=(0,tp.jsx)("span",{className:"text-foreground text-base",children:p}),v[33]=p,v[34]=g):g=v[34],v[35]!==d||v[36]!==g?(m=(0,tp.jsxs)("div",{className:"flex items-center gap-2",children:[d,g]}),v[35]=d,v[36]=g,v[37]=m):m=v[37],v[38]!==V||v[39]!==U?(h=(0,tp.jsx)(tB.Switch,{checked:U,onCheckedChange:V}),v[38]=V,v[39]=U,v[40]=h):h=v[40],v[41]!==C?(f=C("Show segment name on hover"),v[41]=C,v[42]=f):f=v[42],v[43]!==f?(w=(0,tp.jsx)("span",{className:"text-foreground text-base",children:f}),v[43]=f,v[44]=w):w=v[44],v[45]!==h||v[46]!==w?(B=(0,tp.jsxs)("div",{className:"flex items-center gap-2",children:[h,w]}),v[45]=h,v[46]=w,v[47]=B):B=v[47],v[48]!==u||v[49]!==m||v[50]!==B||v[51]!==s?(y=(0,tp.jsxs)("div",{className:"bg-muted flex flex-col gap-2 border-b border-b-[2px] border-background px-2 py-3",children:[s,u,m,B]}),v[48]=u,v[49]=m,v[50]=B,v[51]=s,v[52]=y):y=v[52],y}let tz={"layoutSelector.advancedPresetGenerator":({servicesManager:e})=>(({servicesManager:e})=>{let{hangingProtocolService:t,viewportGridService:A,displaySetService:n}=e.services,r=Array.from(t.protocols.values()),o=A.getActiveViewportId();if(!o)return[];let i=A.getDisplaySetsUIDsForViewport(o);if(!i)return[];let s=i.map(e=>{let t=n.getDisplaySetByUID(e),A=t?.measurements?.[0]?.displaySetInstanceUID;return"SR"===t.Modality&&A?n.getDisplaySetByUID(A):t});return r.map(e=>{if(!e.isPreset)return null;let A=!e.displaySetSelectors||0===Object.values(e.displaySetSelectors).length||t.areRequiredSelectorsValid(Object.values(e.displaySetSelectors),s[0]);return{icon:e.icon,title:e.name,commandOptions:{protocolId:e.id},disabled:!A}}).filter(e=>null!==e)})({servicesManager:e}),"layoutSelector.commonPresets":[{icon:"layout-common-1x1",commandOptions:{numRows:1,numCols:1}},{icon:"layout-common-1x2",commandOptions:{numRows:1,numCols:2}},{icon:"layout-common-2x2",commandOptions:{numRows:2,numCols:2}},{icon:"layout-common-2x3",commandOptions:{numRows:2,numCols:3}}]},tX={"cornerstone.overlayViewportTools":{active:[{toolName:ec.WindowLevel,bindings:[{mouseButton:R.Enums.MouseBindings.Primary}]},{toolName:ec.Pan,bindings:[{mouseButton:R.Enums.MouseBindings.Auxiliary}]},{toolName:ec.Zoom,bindings:[{mouseButton:R.Enums.MouseBindings.Secondary},{numTouchPoints:2}]},{toolName:ec.StackScroll,bindings:[{mouseButton:R.Enums.MouseBindings.Wheel},{numTouchPoints:3}]}],enabled:[{toolName:ec.PlanarFreehandContourSegmentation,configuration:{displayOnePointAsCrosshairs:!0}}]}},tJ={cornerstoneViewportClickCommands:{doubleClick:["toggleOneUp"],button1:["closeContextMenu"],button3:[{commandName:"showCornerstoneContextMenu",commandOptions:{requireNearbyToolData:!0,menuId:"measurementsContextMenu"}}]}},tq={"cornerstone.measurements":{Angle:{displayText:[],report:[]},CobbAngle:{displayText:[],report:[]},ArrowAnnotate:{displayText:[],report:[]},RectangleROi:{displayText:[],report:[]},CircleROI:{displayText:[],report:[]},EllipticalROI:{displayText:[],report:[]},Bidirectional:{displayText:[],report:[]},Length:{displayText:[],report:[]},LivewireContour:{displayText:[],report:[]},SplineROI:{displayText:[{displayName:"Areas",value:"area",type:"value"},{value:"areaUnits",for:["area"],type:"unit"}],report:[{displayName:"Area",value:"area",type:"value"},{displayName:"Unit",value:"areaUnits",type:"value"}]},PlanarFreehandROI:{displayTextOpen:[{displayName:"Length",value:"length",type:"value"}],displayText:[{displayName:"Mean",value:"mean",type:"value"},{displayName:"Max",value:"max",type:"value"},{displayName:"Area",value:"area",type:"value"},{value:"pixelValueUnits",for:["mean","max"],type:"unit"},{value:"areaUnits",for:["area"],type:"unit"}],report:[{displayName:"Mean",value:"mean",type:"value"},{displayName:"Max",value:"max",type:"value"},{displayName:"Area",value:"area",type:"value"},{displayName:"Unit",value:"unit",type:"value"}]}}},{VIEWPORT_PRESETS:t$}=L.CONSTANTS,tZ={"cornerstone.3dVolumeRendering":{volumeRenderingPresets:t$,volumeRenderingQualityRange:{min:1,max:4,step:1}}},t0="bottom",t1={bottom:{position:"top",style:{labelOffset:5,labelMargin:13}},right:{position:"left",style:{labelMargin:5}},left:{position:"right",style:{labelMargin:5}},top:{position:"bottom",style:{labelMargin:5}}},t3={"cornerstone.colorbar":{colorbarTickPosition:"bottom"===(e=t0)?"top":"top"===e?"bottom":"left"===e?"right":"right"===e?"left":t1[e]?.position||"top",colormaps:ts,colorbarContainerPosition:t0,colorbarInitialColormap:"Grayscale",positionStyles:{left:{width:"15px"},right:{width:"15px"},bottom:{height:"15px"}},positionTickStyles:t1,containerStyles:{cursor:"initial"},tickStyles:{font:"12px Arial",color:"#fff",maxNumTicks:6,tickSize:5,tickWidth:1}}},t2={"cornerstone.modalityOverlayDefaultColorMaps":{defaultSettings:{PT:{colormap:"hsv",opacity:.5},RTDOSE:{colormap:"Isodose",opacity:.5}}}},t4={"cornerstone.segmentation.autoHydrateViewportTypes":null},t6={"cornerstone.windowLevelPresets":{CT:[{id:"ct-soft-tissue",description:"Soft tissue",window:"400",level:"40"},{id:"ct-lung",description:"Lung",window:"1500",level:"-600"},{id:"ct-liver",description:"Liver",window:"150",level:"90"},{id:"ct-bone",description:"Bone",window:"2500",level:"480"},{id:"ct-brain",description:"Brain",window:"80",level:"40"}],PT:[{id:"pt-default",description:"Default",window:"5",level:"2.5"},{id:"pt-suv-3",description:"SUV",window:"0",level:"3"},{id:"pt-suv-5",description:"SUV",window:"0",level:"5"},{id:"pt-suv-7",description:"SUV",window:"0",level:"7"},{id:"pt-suv-8",description:"SUV",window:"0",level:"8"},{id:"pt-suv-10",description:"SUV",window:"0",level:"10"},{id:"pt-suv-15",description:"SUV",window:"0",level:"15"}]}};function t9(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(A);"function"==typeof Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(A).filter(function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable})),n.forEach(function(t){tx(e,t,A[t])})}return e}function t8(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function t5(e,t){if(t&&("object"==tv(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return t8(e)}function t7(e){return(t7=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ae(e,t){return(Ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function At(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ae(e,t)}var AA={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){console&&console[e]&&console[e].apply(console,t)}},An=new(function(){function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ty(this,e),this.init(t,A)}return tI(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||AA,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,A,n){return n&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(A).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,t9({},{prefix:"".concat(this.prefix,":").concat(t,":")},this.options))}}]),e}()),Ar=function(){function e(){ty(this,e),this.observers={}}return tI(e,[{key:"on",value:function(e,t){var A=this;return e.split(" ").forEach(function(e){A.observers[e]=A.observers[e]||[],A.observers[e].push(t)}),this}},{key:"off",value:function(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e]=this.observers[e].filter(function(e){return e!==t})}}},{key:"emit",value:function(e){for(var t=arguments.length,A=Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];this.observers[e]&&[].concat(this.observers[e]).forEach(function(e){e.apply(void 0,A)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(function(t){t.apply(t,[e].concat(A))})}}]),e}();function Ao(){var e,t,A=new Promise(function(A,n){e=A,t=n});return A.resolve=e,A.reject=t,A}function Ai(e){return null==e?"":""+e}function As(e,t,A){function n(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function r(){return!e||"string"==typeof e}for(var o="string"!=typeof t?[].concat(t):t.split(".");o.length>1;){if(r())return{};var i=n(o.shift());!e[i]&&A&&(e[i]=new A),e=Object.prototype.hasOwnProperty.call(e,i)?e[i]:{}}return r()?{}:{obj:e,k:n(o.shift())}}function Aa(e,t,A){var n=As(e,t,Object);n.obj[n.k]=A}function Al(e,t){var A=As(e,t),n=A.obj,r=A.k;if(n)return n[r]}function Ac(e,t,A){var n=Al(e,A);return void 0!==n?n:Al(t,A)}function Au(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Ad={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function Ap(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return Ad[e]}):e}var Ag="u">typeof window&&window.navigator&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,Am=function(e){function t(e){var A,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return ty(this,t),A=t5(this,t7(t).call(this)),Ag&&Ar.call(t8(A)),A.data=e||{},A.options=n,void 0===A.options.keySeparator&&(A.options.keySeparator="."),A}return At(t,e),tI(t,[{key:"addNamespaces",value:function(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,o=[e,t];return A&&"string"!=typeof A&&(o=o.concat(A)),A&&"string"==typeof A&&(o=o.concat(r?A.split(r):A)),e.indexOf(".")>-1&&(o=e.split(".")),Al(this.data,o)}},{key:"addResource",value:function(e,t,A,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},o=this.options.keySeparator;void 0===o&&(o=".");var i=[e,t];A&&(i=i.concat(o?A.split(o):A)),e.indexOf(".")>-1&&(i=e.split("."),n=t,t=i[1]),this.addNamespaces(t),Aa(this.data,i,n),r.silent||this.emit("added",e,t,A,n)}},{key:"addResources",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var r in A)("string"==typeof A[r]||"[object Array]"===Object.prototype.toString.apply(A[r]))&&this.addResource(e,t,r,A[r],{silent:!0});n.silent||this.emit("added",e,t,A)}},{key:"addResourceBundle",value:function(e,t,A,n,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},i=[e,t];e.indexOf(".")>-1&&(i=e.split("."),n=A,A=t,t=i[1]),this.addNamespaces(t);var s=Al(this.data,i)||{};n?function e(t,A,n){for(var r in A)"__proto__"!==r&&"constructor"!==r&&(r in t?"string"==typeof t[r]||t[r]instanceof String||"string"==typeof A[r]||A[r]instanceof String?n&&(t[r]=A[r]):e(t[r],A[r],n):t[r]=A[r]);return t}(s,A,r):s=t9({},s,A),Aa(this.data,i,s),o.silent||this.emit("added",e,t,A)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return(t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI)?t9({},{},this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"toJSON",value:function(){return this.data}}]),t}(Ar),Ah={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,A,n,r){var o=this;return e.forEach(function(e){o.processors[e]&&(t=o.processors[e].process(t,A,n,r))}),t}},Af={},Aw=function(e){function t(e){var A,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ty(this,t),r=t5(this,t7(t).call(this)),Ag&&Ar.call(t8(r)),A=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],n=t8(r),A.forEach(function(t){e[t]&&(n[t]=e[t])}),r.options=o,void 0===r.options.keySeparator&&(r.options.keySeparator="."),r.logger=An.create("translator"),r}return At(t,e),tI(t,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},A=this.resolve(e,t);return A&&void 0!==A.res}},{key:"extractFromKey",value:function(e,t){var A=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===A&&(A=":");var n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,r=t.ns||this.options.defaultNS;if(A&&e.indexOf(A)>-1){var o=e.match(this.interpolator.nestingRegexp);if(o&&o.length>0)return{key:e,namespaces:r};var i=e.split(A);(A!==n||A===n&&this.options.ns.indexOf(i[0])>-1)&&(r=i.shift()),e=i.join(n)}return"string"==typeof r&&(r=[r]),{key:e,namespaces:r}}},{key:"translate",value:function(e,A,n){var r=this;if("object"!==tv(A)&&this.options.overloadTranslationOptionHandler&&(A=this.options.overloadTranslationOptionHandler(arguments)),A||(A={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var o=void 0!==A.keySeparator?A.keySeparator:this.options.keySeparator,i=this.extractFromKey(e[e.length-1],A),s=i.key,a=i.namespaces,l=a[a.length-1],c=A.lng||this.language,u=A.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c&&"cimode"===c.toLowerCase())return u?l+(A.nsSeparator||this.options.nsSeparator)+s:s;var d=this.resolve(e,A),p=d&&d.res,g=d&&d.usedKey||s,m=d&&d.exactUsedKey||s,h=Object.prototype.toString.apply(p),f=void 0!==A.joinArrays?A.joinArrays:this.options.joinArrays,w=!this.i18nFormat||this.i18nFormat.handleAsObject,B="string"!=typeof p&&"boolean"!=typeof p&&"number"!=typeof p;if(w&&p&&B&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(h)&&("string"!=typeof f||"[object Array]"!==h)){if(!A.returnObjects&&!this.options.returnObjects)return this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,A):"key '".concat(s," (").concat(this.language,")' returned an object instead of string.");if(o){var y="[object Array]"===h,v=y?[]:{},S=y?m:g;for(var C in p)if(Object.prototype.hasOwnProperty.call(p,C)){var I="".concat(S).concat(o).concat(C);v[C]=this.translate(I,t9({},A,{joinArrays:!1,ns:a})),v[C]===I&&(v[C]=p[C])}p=v}}else if(w&&"string"==typeof f&&"[object Array]"===h)(p=p.join(f))&&(p=this.extendTranslation(p,e,A,n));else{var b=!1,U=!1,E=void 0!==A.count&&"string"!=typeof A.count,F=t.hasDefaultValue(A),Q=E?this.pluralResolver.getSuffix(c,A.count):"",T=A["defaultValue".concat(Q)]||A.defaultValue;!this.isValidLookup(p)&&F&&(b=!0,p=T),this.isValidLookup(p)||(U=!0,p=s);var D=F&&T!==p&&this.options.updateMissing;if(U||b||D){if(this.logger.log(D?"updateKey":"missingKey",c,l,s,D?T:p),o){var x=this.resolve(s,t9({},A,{keySeparator:!1}));x&&x.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var O=[],M=this.languageUtils.getFallbackCodes(this.options.fallbackLng,A.lng||this.language);if("fallback"===this.options.saveMissingTo&&M&&M[0])for(var L=0;L<M.length;L++)O.push(M[L]);else"all"===this.options.saveMissingTo?O=this.languageUtils.toResolveHierarchy(A.lng||this.language):O.push(A.lng||this.language);var R=function(e,t,n){r.options.missingKeyHandler?r.options.missingKeyHandler(e,l,t,D?n:p,D,A):r.backendConnector&&r.backendConnector.saveMissing&&r.backendConnector.saveMissing(e,l,t,D?n:p,D,A),r.emit("missingKey",e,l,t,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&E?O.forEach(function(e){r.pluralResolver.getSuffixes(e).forEach(function(t){R([e],s+t,A["defaultValue".concat(t)]||T)})}):R(O,s,T))}p=this.extendTranslation(p,e,A,d,n),U&&p===s&&this.options.appendNamespaceToMissingKey&&(p="".concat(l,":").concat(s)),U&&this.options.parseMissingKeyHandler&&(p=this.options.parseMissingKeyHandler(p))}return p}},{key:"extendTranslation",value:function(e,t,A,n,r){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,A,n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!A.skipInterpolation){A.interpolation&&this.interpolator.init(t9({},A,{interpolation:t9({},this.options.interpolation,A.interpolation)}));var i,s=A.interpolation&&A.interpolation.skipOnVariables||this.options.interpolation.skipOnVariables;if(s){var a=e.match(this.interpolator.nestingRegexp);i=a&&a.length}var l=A.replace&&"string"!=typeof A.replace?A.replace:A;if(this.options.interpolation.defaultVariables&&(l=t9({},this.options.interpolation.defaultVariables,l)),e=this.interpolator.interpolate(e,l,A.lng||this.language,A),s){var c=e.match(this.interpolator.nestingRegexp);i<(c&&c.length)&&(A.nest=!1)}!1!==A.nest&&(e=this.interpolator.nest(e,function(){for(var e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];return r&&r[0]===n[0]&&!A.context?(o.logger.warn("It seems you are nesting recursively key: ".concat(n[0]," in key: ").concat(t[0])),null):o.translate.apply(o,n.concat([t]))},A)),A.interpolation&&this.interpolator.reset()}var u=A.postProcess||this.options.postProcess,d="string"==typeof u?[u]:u;return null!=e&&d&&d.length&&!1!==A.applyPostProcessor&&(e=Ah.handle(d,e,t,this.options&&this.options.postProcessPassResolved?t9({i18nResolved:n},A):A,this)),e}},{key:"resolve",value:function(e){var t,A,n,r,o,i=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(function(e){if(!i.isValidLookup(t)){var a=i.extractFromKey(e,s),l=a.key;A=l;var c=a.namespaces;i.options.fallbackNS&&(c=c.concat(i.options.fallbackNS));var u=void 0!==s.count&&"string"!=typeof s.count,d=void 0!==s.context&&"string"==typeof s.context&&""!==s.context,p=s.lngs?s.lngs:i.languageUtils.toResolveHierarchy(s.lng||i.language,s.fallbackLng);c.forEach(function(e){i.isValidLookup(t)||(o=e,!Af["".concat(p[0],"-").concat(e)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(o)&&(Af["".concat(p[0],"-").concat(e)]=!0,i.logger.warn('key "'.concat(A,'" for languages "').concat(p.join(", "),'" won\'t get resolved as namespace "').concat(o,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),p.forEach(function(A){if(!i.isValidLookup(t)){r=A;var o,a,c=l,p=[c];for(i.i18nFormat&&i.i18nFormat.addLookupKeys?i.i18nFormat.addLookupKeys(p,l,A,e,s):(u&&(o=i.pluralResolver.getSuffix(A,s.count)),u&&d&&p.push(c+o),d&&p.push(c+="".concat(i.options.contextSeparator).concat(s.context)),u&&p.push(c+=o));a=p.pop();)i.isValidLookup(t)||(n=a,t=i.getResource(A,e,a,s))}}))})}}),{res:t,usedKey:A,exactUsedKey:n,usedLng:r,usedNS:o}}},{key:"isValidLookup",value:function(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,A){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,A,n):this.resourceStore.getResource(e,t,A,n)}}],[{key:"hasDefaultValue",value:function(e){var t="defaultValue";for(var A in e)if(Object.prototype.hasOwnProperty.call(e,A)&&t===A.substring(0,t.length)&&void 0!==e[A])return!0;return!1}}]),t}(Ar);function AB(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Ay=function(){function e(t){ty(this,e),this.options=t,this.whitelist=this.options.supportedLngs||!1,this.supportedLngs=this.options.supportedLngs||!1,this.logger=An.create("languageUtils")}return tI(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return null;var t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],A=e.split("-");return this.options.lowerCaseLng?A=A.map(function(e){return e.toLowerCase()}):2===A.length?(A[0]=A[0].toLowerCase(),A[1]=A[1].toUpperCase(),t.indexOf(A[1].toLowerCase())>-1&&(A[1]=AB(A[1].toLowerCase()))):3===A.length&&(A[0]=A[0].toLowerCase(),2===A[1].length&&(A[1]=A[1].toUpperCase()),"sgn"!==A[0]&&2===A[2].length&&(A[2]=A[2].toUpperCase()),t.indexOf(A[1].toLowerCase())>-1&&(A[1]=AB(A[1].toLowerCase())),t.indexOf(A[2].toLowerCase())>-1&&(A[2]=AB(A[2].toLowerCase()))),A.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isWhitelisted",value:function(e){return this.logger.deprecate("languageUtils.isWhitelisted",'function "isWhitelisted" will be renamed to "isSupportedCode" in the next major - please make sure to rename it\'s usage asap.'),this.isSupportedCode(e)}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,A=this;return e?(e.forEach(function(e){if(!t){var n=A.formatLanguageCode(e);(!A.options.supportedLngs||A.isSupportedCode(n))&&(t=n)}}),!t&&this.options.supportedLngs&&e.forEach(function(e){if(!t){var n=A.getLanguagePartFromCode(e);if(A.isSupportedCode(n))return t=n;t=A.options.supportedLngs.find(function(e){if(0===e.indexOf(n))return e})}}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var A=e[t];return A||(A=e[this.getScriptPartFromCode(t)]),A||(A=e[this.formatLanguageCode(t)]),A||(A=e[this.getLanguagePartFromCode(t)]),A||(A=e.default),A||[]}},{key:"toResolveHierarchy",value:function(e,t){var A=this,n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],o=function(e){e&&(A.isSupportedCode(e)?r.push(e):A.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),n.forEach(function(e){0>r.indexOf(e)&&o(A.formatLanguageCode(e))}),r}}]),e}(),Av=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","kk","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],AS={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(+(1!=e&&(e%10!=1||e%100==11)))},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:3*(e%100==3||e%100==4))},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},AC=function(){function e(t){var A,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ty(this,e),this.languageUtils=t,this.options=n,this.logger=An.create("pluralResolver"),this.rules=(A={},Av.forEach(function(e){e.lngs.forEach(function(t){A[t]={numbers:e.nr,plurals:AS[e.fc]}})}),A)}return tI(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=this.getRule(e);return t&&t.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){return this.getSuffixes(e).map(function(e){return t+e})}},{key:"getSuffixes",value:function(e){var t=this,A=this.getRule(e);return A?A.numbers.map(function(A){return t.getSuffix(e,A)}):[]}},{key:"getSuffix",value:function(e,t){var A=this,n=this.getRule(e);if(n){var r=n.noAbs?n.plurals(t):n.plurals(Math.abs(t)),o=n.numbers[r];this.options.simplifyPluralSuffix&&2===n.numbers.length&&1===n.numbers[0]&&(2===o?o="plural":1===o&&(o=""));var i=function(){return A.options.prepend&&o.toString()?A.options.prepend+o.toString():o.toString()};return"v1"===this.options.compatibilityJSON?1===o?"":"number"==typeof o?"_plural_".concat(o.toString()):i():"v2"===this.options.compatibilityJSON?i():this.options.simplifyPluralSuffix&&2===n.numbers.length&&1===n.numbers[0]?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}return this.logger.warn("no plural rule found for: ".concat(e)),""}}]),e}(),AI=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ty(this,e),this.logger=An.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return tI(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:Ap,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?Au(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?Au(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?Au(t.nestingPrefix):t.nestingPrefixEscaped||Au("$t("),this.nestingSuffix=t.nestingSuffix?Au(t.nestingSuffix):t.nestingSuffixEscaped||Au(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=RegExp(t,"g");var A="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=RegExp(A,"g")}},{key:"interpolate",value:function(e,t,A,n){var r,o,i,s=this,a=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}var c=function(e){if(0>e.indexOf(s.formatSeparator)){var r=Ac(t,a,e);return s.alwaysFormat?s.format(r,void 0,A):r}var o=e.split(s.formatSeparator),i=o.shift().trim(),l=o.join(s.formatSeparator).trim();return s.format(Ac(t,a,i),l,A,n)};this.resetRegExp();var u=n&&n.missingInterpolationHandler||this.options.missingInterpolationHandler,d=n&&n.interpolation&&n.interpolation.skipOnVariables||this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return l(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?l(s.escape(e)):l(e)}}].forEach(function(t){for(i=0;r=t.regex.exec(e);){if(void 0===(o=c(r[1].trim())))if("function"==typeof u){var A=u(e,r,n);o="string"==typeof A?A:""}else if(d){o=r[0];continue}else s.logger.warn("missed to pass in variable ".concat(r[1]," for interpolating ").concat(e)),o="";else"string"==typeof o||s.useRawValueToEscape||(o=Ai(o));if(e=e.replace(r[0],t.safeValue(o)),t.regex.lastIndex=0,++i>=s.maxReplaces)break}}),e}},{key:"nest",value:function(e,t){var A,n,r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=t9({},o);function s(e,t){var A=this.nestingOptionsSeparator;if(0>e.indexOf(A))return e;var n=e.split(new RegExp("".concat(A,"[ ]*{"))),r="{".concat(n[1]);e=n[0],r=(r=this.interpolate(r,i)).replace(/'/g,'"');try{i=JSON.parse(r),t&&(i=t9({},t,i))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(A).concat(r)}return delete i.defaultValue,e}for(i.applyPostProcessor=!1,delete i.defaultValue;A=this.nestingRegexp.exec(e);){var a=[],l=!1;if(A[0].includes(this.formatSeparator)&&!/{.*}/.test(A[1])){var c=A[1].split(this.formatSeparator).map(function(e){return e.trim()});A[1]=c.shift(),a=c,l=!0}if((n=t(s.call(this,A[1].trim(),i),i))&&A[0]===e&&"string"!=typeof n)return n;"string"!=typeof n&&(n=Ai(n)),n||(this.logger.warn("missed to resolve ".concat(A[1]," for nesting ").concat(e)),n=""),l&&(n=a.reduce(function(e,t){return r.format(e,t,o.lng,o)},n.trim())),e=e.replace(A[0],n),this.regexp.lastIndex=0}return e}}]),e}(),Ab=function(e){function t(e,A,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return ty(this,t),r=t5(this,t7(t).call(this)),Ag&&Ar.call(t8(r)),r.backend=e,r.store=A,r.services=n,r.languageUtils=n.languageUtils,r.options=o,r.logger=An.create("backendConnector"),r.state={},r.queue=[],r.backend&&r.backend.init&&r.backend.init(n,o.backend,o),r}return At(t,e),tI(t,[{key:"queueLoad",value:function(e,t,A,n){var r=this,o=[],i=[],s=[],a=[];return e.forEach(function(e){var n=!0;t.forEach(function(t){var s="".concat(e,"|").concat(t);!A.reload&&r.store.hasResourceBundle(e,t)?r.state[s]=2:r.state[s]<0||(1===r.state[s]?0>i.indexOf(s)&&i.push(s):(r.state[s]=1,n=!1,0>i.indexOf(s)&&i.push(s),0>o.indexOf(s)&&o.push(s),0>a.indexOf(t)&&a.push(t)))}),n||s.push(e)}),(o.length||i.length)&&this.queue.push({pending:i,loaded:{},errors:[],callback:n}),{toLoad:o,pending:i,toLoadLanguages:s,toLoadNamespaces:a}}},{key:"loaded",value:function(e,t,A){var n=e.split("|"),r=n[0],o=n[1];t&&this.emit("failedLoading",r,o,t),A&&this.store.addResourceBundle(r,o,A),this.state[e]=t?-1:2;var i={};this.queue.forEach(function(A){n=A.loaded,(a=(s=As(n,[r],Object)).obj)[l=s.k]=a[l]||[],a[l].push(o);for(var n,s,a,l,c=A.pending,u=c.indexOf(e);-1!==u;)c.splice(u,1),u=c.indexOf(e);t&&A.errors.push(t),0!==A.pending.length||A.done||(Object.keys(A.loaded).forEach(function(e){i[e]||(i[e]=[]),A.loaded[e].length&&A.loaded[e].forEach(function(t){0>i[e].indexOf(t)&&i[e].push(t)})}),A.done=!0,A.errors.length?A.callback(A.errors):A.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(function(e){return!e.done})}},{key:"read",value:function(e,t,A){var n=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:350,i=arguments.length>5?arguments[5]:void 0;return e.length?this.backend[A](e,t,function(s,a){s&&a&&r<5?setTimeout(function(){n.read.call(n,e,t,A,r+1,2*o,i)},o):i(s,a)}):i(null,{})}},{key:"prepareLoading",value:function(e,t){var A=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var o=this.queueLoad(e,t,n,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach(function(e){A.loadOne(e)})}},{key:"load",value:function(e,t,A){this.prepareLoading(e,t,{},A)}},{key:"reload",value:function(e,t,A){this.prepareLoading(e,t,{reload:!0},A)}},{key:"loadOne",value:function(e){var t=this,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e.split("|"),r=n[0],o=n[1];this.read(r,o,"read",void 0,void 0,function(n,i){n&&t.logger.warn("".concat(A,"loading namespace ").concat(o," for language ").concat(r," failed"),n),!n&&i&&t.logger.log("".concat(A,"loaded namespace ").concat(o," for language ").concat(r),i),t.loaded(e,n,i)})}},{key:"saveMissing",value:function(e,t,A,n,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)?this.logger.warn('did not save key "'.concat(A,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"):null==A||""===A||(this.backend&&this.backend.create&&this.backend.create(e,t,A,n,null,t9({},o,{isUpdate:r})),e&&e[0]&&this.store.addResource(e[0],t,A,n))}}]),t}(Ar);function AU(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&(e.whitelist&&0>e.whitelist.indexOf("cimode")&&(e.whitelist=e.whitelist.concat(["cimode"])),e.supportedLngs=e.whitelist),e.nonExplicitWhitelist&&(e.nonExplicitSupportedLngs=e.nonExplicitWhitelist),e.supportedLngs&&0>e.supportedLngs.indexOf("cimode")&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function AE(){}var AF=new(function(e){function t(){var e,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(ty(this,t),e=t5(this,t7(t).call(this)),Ag&&Ar.call(t8(e)),e.options=AU(A),e.services={},e.logger=An,e.modules={external:[]},n&&!e.isInitialized&&!A.isClone){if(!e.options.initImmediate)return e.init(A,n),t5(e,t8(e));setTimeout(function(){e.init(A,n)},0)}return e}return At(t,e),tI(t,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=arguments.length>1?arguments[1]:void 0;function n(e){return e?"function"==typeof e?new e:e:null}if("function"==typeof t&&(A=t,t={}),t.whitelist&&!t.supportedLngs&&this.logger.deprecate("whitelist",'option "whitelist" will be renamed to "supportedLngs" in the next major - please make sure to rename this option asap.'),t.nonExplicitWhitelist&&!t.nonExplicitSupportedLngs&&this.logger.deprecate("whitelist",'options "nonExplicitWhitelist" will be renamed to "nonExplicitSupportedLngs" in the next major - please make sure to rename this option asap.'),this.options=t9({},{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===tv(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===tv(e[2])||"object"===tv(e[3])){var A=e[3]||e[2];Object.keys(A).forEach(function(e){t[e]=A[e]})}return t},interpolation:{escapeValue:!0,format:function(e,t,A,n){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!1}},this.options,AU(t)),this.format=this.options.interpolation.format,A||(A=AE),!this.options.isClone){this.modules.logger?An.init(n(this.modules.logger),this.options):An.init(null,this.options);var r=new Ay(this.options);this.store=new Am(this.options.resources,this.options);var o=this.services;o.logger=An,o.resourceStore=this.store,o.languageUtils=r,o.pluralResolver=new AC(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),o.interpolator=new AI(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new Ab(n(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",function(t){for(var A=arguments.length,n=Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];e.emit.apply(e,[t].concat(n))}),this.modules.languageDetector&&(o.languageDetector=n(this.modules.languageDetector),o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=n(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new Aw(this.services,this.options),this.translator.on("*",function(t){for(var A=arguments.length,n=Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];e.emit.apply(e,[t].concat(n))}),this.modules.external.forEach(function(t){t.init&&t.init(e)})}if(this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var i=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);i.length>0&&"dev"!==i[0]&&(this.options.lng=i[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(function(t){e[t]=function(){var A;return(A=e.store)[t].apply(A,arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(function(t){e[t]=function(){var A;return(A=e.store)[t].apply(A,arguments),e}});var s=Ao(),a=function(){var t=function(t,n){e.isInitialized&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),s.resolve(n),A(t,n)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?a():setTimeout(a,0),s}},{key:"loadResources",value:function(e){var t=this,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:AE,n=A,r="string"==typeof e?e:this.language;if("function"==typeof e&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&"cimode"===r.toLowerCase())return n();var o=[],i=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach(function(e){0>o.indexOf(e)&&o.push(e)})};r?i(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function(e){return i(e)}),this.options.preload&&this.options.preload.forEach(function(e){return i(e)}),this.services.backendConnector.load(o,this.options.ns,n)}else n(null)}},{key:"reloadResources",value:function(e,t,A){var n=Ao();return e||(e=this.languages),t||(t=this.options.ns),A||(A=AE),this.services.backendConnector.reload(e,t,function(e){n.resolve(),A(e)}),n}},{key:"use",value:function(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&Ah.addPostProcessor(e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"changeLanguage",value:function(e,t){var A=this;this.isLanguageChangingTo=e;var n=Ao();this.emit("languageChanging",e);var r=function(e,r){r?(A.language=r,A.languages=A.services.languageUtils.toResolveHierarchy(r),A.translator.changeLanguage(r),A.isLanguageChangingTo=void 0,A.emit("languageChanged",r),A.logger.log("languageChanged",r)):A.isLanguageChangingTo=void 0,n.resolve(function(){return A.t.apply(A,arguments)}),t&&t(e,function(){return A.t.apply(A,arguments)})},o=function(e){var t="string"==typeof e?e:A.services.languageUtils.getBestMatchFromCodes(e);t&&(A.language||(A.language=t,A.languages=A.services.languageUtils.toResolveHierarchy(t)),A.translator.language||A.translator.changeLanguage(t),A.services.languageDetector&&A.services.languageDetector.cacheUserLanguage(t)),A.loadResources(t,function(e){r(e,t)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(o):o(e):o(this.services.languageDetector.detect()),n}},{key:"getFixedT",value:function(e,t){var A=this,n=function e(t,n){var r;if("object"!==tv(n)){for(var o=arguments.length,i=Array(o>2?o-2:0),s=2;s<o;s++)i[s-2]=arguments[s];r=A.options.overloadTranslationOptionHandler([t,n].concat(i))}else r=t9({},n);return r.lng=r.lng||e.lng,r.lngs=r.lngs||e.lngs,r.ns=r.ns||e.ns,A.t(t,r)};return"string"==typeof e?n.lng=e:n.lngs=e,n.ns=t,n}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var t=this,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var n=this.languages[0],r=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;var i=function(e,A){var n=t.services.backendConnector.state["".concat(e,"|").concat(A)];return -1===n||2===n};if(A.precheck){var s=A.precheck(this,i);if(void 0!==s)return s}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||i(n,e)&&(!r||i(o,e)))}},{key:"loadNamespaces",value:function(e,t){var A=this,n=Ao();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(function(e){0>A.options.ns.indexOf(e)&&A.options.ns.push(e)}),this.loadResources(function(e){n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var A=Ao();"string"==typeof e&&(e=[e]);var n=this.options.preload||[],r=e.filter(function(e){return 0>n.indexOf(e)});return r.length?(this.options.preload=n.concat(r),this.loadResources(function(e){A.resolve(),t&&t(e)}),A):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){return(e||(e=this.languages&&this.languages.length>0?this.languages[0]:this.language),e)?["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam"].indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>=0?"rtl":"ltr":"rtl"}},{key:"createInstance",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=arguments.length>1?arguments[1]:void 0;return new t(e,A)}},{key:"cloneInstance",value:function(){var e=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:AE,r=t9({},this.options,A,{isClone:!0}),o=new t(r);return["store","services","language"].forEach(function(t){o[t]=e[t]}),o.services=t9({},this.services),o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o.translator=new Aw(o.services,o.options),o.translator.on("*",function(e){for(var t=arguments.length,A=Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];o.emit.apply(o,[e].concat(A))}),o.init(r,n),o.translator.options=o.options,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}}]),t}(Ar));let{TOOLBAR_SECTIONS:AQ}=k.ToolbarService,AT=e=>[{commandName:"setViewportForToolConfiguration",commandOptions:{toolName:e}}],AD={commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:["default","mpr","SRToolGroup","volume3d"]}},Ax={"cornerstone.toolbarButtons":[{id:"MeasurementTools",uiType:"ohif.toolButtonList",props:{buttonSection:!0}},{id:"MoreTools",uiType:"ohif.toolButtonList",props:{buttonSection:!0}},{id:"AdvancedRenderingControls",uiType:"ohif.advancedRenderingControls",props:{buttonSection:!0}},{id:"modalityLoadBadge",uiType:"ohif.modalityLoadBadge",props:{icon:"Status",label:AF.t("Buttons:Status"),tooltip:AF.t("Buttons:Status"),evaluate:{name:"evaluate.modalityLoadBadge",hideWhenDisabled:!0}}},{id:"navigationComponent",uiType:"ohif.navigationComponent",props:{icon:"Navigation",label:AF.t("Buttons:Navigation"),tooltip:AF.t("Buttons:Navigate between segments/measurements and manage their visibility"),evaluate:{name:"evaluate.navigationComponent",hideWhenDisabled:!0}}},{id:"trackingStatus",uiType:"ohif.trackingStatus",props:{icon:"TrackingStatus",label:AF.t("Buttons:Tracking Status"),tooltip:AF.t("Buttons:View and manage tracking status of measurements and annotations"),evaluate:{name:"evaluate.trackingStatus",hideWhenDisabled:!0}}},{id:"dataOverlayMenu",uiType:"ohif.dataOverlayMenu",props:{icon:"ViewportViews",label:AF.t("Buttons:Data Overlay"),tooltip:AF.t("Buttons:Configure data overlay options and manage foreground/background display sets"),evaluate:"evaluate.dataOverlayMenu"}},{id:"orientationMenu",uiType:"ohif.orientationMenu",props:{icon:"OrientationSwitch",label:AF.t("Buttons:Orientation"),tooltip:AF.t("Buttons:Change viewport orientation between axial, sagittal, coronal and reformat planes"),evaluate:{name:"evaluate.orientationMenu"}}},{id:"windowLevelMenuEmbedded",uiType:"ohif.windowLevelMenuEmbedded",props:{icon:"WindowLevel",label:AF.t("Buttons:Window Level"),tooltip:AF.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:{name:"evaluate.windowLevelMenuEmbedded",hideWhenDisabled:!0}}},{id:"windowLevelMenu",uiType:"ohif.windowLevelMenu",props:{icon:"WindowLevel",label:AF.t("Buttons:Window Level"),tooltip:AF.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:{name:"evaluate.windowLevelMenu"}}},{id:"voiManualControlMenu",uiType:"ohif.voiManualControlMenu",props:{icon:"WindowLevelAdvanced",label:AF.t("Buttons:Advanced Window Level"),tooltip:AF.t("Buttons:Advanced window/level settings with manual controls and presets"),evaluate:"evaluate.voiManualControlMenu"}},{id:"thresholdMenu",uiType:"ohif.thresholdMenu",props:{icon:"Threshold",label:AF.t("Buttons:Threshold"),tooltip:AF.t("Buttons:Image threshold settings"),evaluate:{name:"evaluate.thresholdMenu",hideWhenDisabled:!0}}},{id:"opacityMenu",uiType:"ohif.opacityMenu",props:{icon:"Opacity",label:AF.t("Buttons:Opacity"),tooltip:AF.t("Buttons:Image opacity settings"),evaluate:{name:"evaluate.opacityMenu",hideWhenDisabled:!0}}},{id:"Colorbar",uiType:"ohif.colorbar",props:{type:"tool",label:AF.t("Buttons:Colorbar")}},{id:"Reset",uiType:"ohif.toolButton",props:{icon:"tool-reset",label:AF.t("Buttons:Reset View"),tooltip:AF.t("Buttons:Reset View"),commands:"resetViewport",evaluate:"evaluate.action"}},{id:"rotate-right",uiType:"ohif.toolButton",props:{icon:"tool-rotate-right",label:AF.t("Buttons:Rotate Right"),tooltip:AF.t("Buttons:Rotate +90"),commands:"rotateViewportCW",evaluate:["evaluate.action",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"flipHorizontal",uiType:"ohif.toolButton",props:{icon:"tool-flip-horizontal",label:AF.t("Buttons:Flip Horizontal"),tooltip:AF.t("Buttons:Flip Horizontally"),commands:"flipViewportHorizontal",evaluate:["evaluate.viewportProperties.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video","volume3d"]}]}},{id:"ImageSliceSync",uiType:"ohif.toolButton",props:{icon:"link",label:AF.t("Buttons:Image Slice Sync"),tooltip:AF.t("Buttons:Enable position synchronization on stack viewports"),commands:{commandName:"toggleSynchronizer",commandOptions:{type:"imageSlice"}},listeners:{[L.EVENTS.VIEWPORT_NEW_IMAGE_SET]:{commandName:"toggleImageSliceSync",commandOptions:{toggledState:!0}}},evaluate:["evaluate.cornerstone.synchronizer",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video","volume3d"]}]}},{id:"ReferenceLines",uiType:"ohif.toolButton",props:{icon:"tool-referenceLines",label:AF.t("Buttons:Reference Lines"),tooltip:AF.t("Buttons:Show Reference Lines"),commands:"toggleEnabledDisabledToolbar",listeners:{[k.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:AT("ReferenceLines"),[k.ViewportGridService.EVENTS.VIEWPORTS_READY]:AT("ReferenceLines")},evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"ImageOverlayViewer",uiType:"ohif.toolButton",props:{icon:"toggle-dicom-overlay",label:AF.t("Buttons:Image Overlay"),tooltip:AF.t("Buttons:Toggle Image Overlay"),commands:"toggleEnabledDisabledToolbar",evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"StackScroll",uiType:"ohif.toolButton",props:{icon:"tool-stack-scroll",label:AF.t("Buttons:Stack Scroll"),tooltip:AF.t("Buttons:Stack Scroll"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"invert",uiType:"ohif.toolButton",props:{icon:"tool-invert",label:AF.t("Buttons:Invert"),tooltip:AF.t("Buttons:Invert Colors"),commands:"invertViewport",evaluate:["evaluate.viewportProperties.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"Probe",uiType:"ohif.toolButton",props:{icon:"tool-probe",label:AF.t("Buttons:Probe"),tooltip:AF.t("Buttons:Probe"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"Cine",uiType:"ohif.toolButton",props:{icon:"tool-cine",label:AF.t("Buttons:Cine"),tooltip:AF.t("Buttons:Cine"),commands:"toggleCine",evaluate:["evaluate.cine",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["volume3d"]}]}},{id:"Angle",uiType:"ohif.toolButton",props:{icon:"tool-angle",label:AF.t("Buttons:Angle"),tooltip:AF.t("Buttons:Angle"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"CobbAngle",uiType:"ohif.toolButton",props:{icon:"icon-tool-cobb-angle",label:AF.t("Buttons:Cobb Angle"),tooltip:AF.t("Buttons:Cobb Angle"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"Magnify",uiType:"ohif.toolButton",props:{icon:"tool-magnify",label:AF.t("Buttons:Zoom-in"),tooltip:AF.t("Buttons:Zoom-in"),commands:AD,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"CalibrationLine",uiType:"ohif.toolButton",props:{icon:"tool-calibration",label:AF.t("Buttons:Calibration"),tooltip:AF.t("Buttons:Calibration Line"),commands:AD,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"TagBrowser",uiType:"ohif.toolButton",props:{icon:"dicom-tag-browser",label:AF.t("Buttons:Dicom Tag Browser"),tooltip:AF.t("Buttons:Dicom Tag Browser"),commands:"openDICOMTagViewer"}},{id:"AdvancedMagnify",uiType:"ohif.toolButton",props:{icon:"icon-tool-loupe",label:AF.t("Buttons:Magnify Probe"),tooltip:AF.t("Buttons:Magnify Probe"),commands:"toggleActiveDisabledToolbar",evaluate:["evaluate.cornerstoneTool.toggle.ifStrictlyDisabled",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"UltrasoundDirectionalTool",uiType:"ohif.toolButton",props:{icon:"icon-tool-ultrasound-bidirectional",label:AF.t("Buttons:Ultrasound Directional"),tooltip:AF.t("Buttons:Ultrasound Directional"),commands:AD,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.modality.supported",supportedModalities:["US"]}]}},{id:"WindowLevelRegion",uiType:"ohif.toolButton",props:{icon:"icon-tool-window-region",label:AF.t("Buttons:Window Level Region"),tooltip:AF.t("Buttons:Window Level Region"),commands:AD,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"Length",uiType:"ohif.toolButton",props:{icon:"tool-length",label:AF.t("Buttons:Length"),tooltip:AF.t("Buttons:Length Tool"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"Bidirectional",uiType:"ohif.toolButton",props:{icon:"tool-bidirectional",label:AF.t("Buttons:Bidirectional"),tooltip:AF.t("Buttons:Bidirectional Tool"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"ArrowAnnotate",uiType:"ohif.toolButton",props:{icon:"tool-annotate",label:AF.t("Buttons:Annotation"),tooltip:AF.t("Buttons:Arrow Annotate"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"EllipticalROI",uiType:"ohif.toolButton",props:{icon:"tool-ellipse",label:AF.t("Buttons:Ellipse"),tooltip:AF.t("Buttons:Ellipse ROI"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"RectangleROI",uiType:"ohif.toolButton",props:{icon:"tool-rectangle",label:AF.t("Buttons:Rectangle"),tooltip:AF.t("Buttons:Rectangle ROI"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"CircleROI",uiType:"ohif.toolButton",props:{icon:"tool-circle",label:AF.t("Buttons:Circle"),tooltip:AF.t("Buttons:Circle Tool"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"PlanarFreehandROI",uiType:"ohif.toolButton",props:{icon:"icon-tool-freehand-roi",label:AF.t("Buttons:Freehand ROI"),tooltip:AF.t("Buttons:Freehand ROI"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"SplineROI",uiType:"ohif.toolButton",props:{icon:"icon-tool-spline-roi",label:AF.t("Buttons:Spline ROI"),tooltip:AF.t("Buttons:Spline ROI"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"LivewireContour",uiType:"ohif.toolButton",props:{icon:"icon-tool-livewire",label:AF.t("Buttons:Livewire tool"),tooltip:AF.t("Buttons:Livewire tool"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"WindowLevel",uiType:"ohif.toolButton",props:{icon:"tool-window-level",label:AF.t("Buttons:Window Level"),commands:AD,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["wholeSlide"]}]}},{id:"Pan",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-move",label:AF.t("Buttons:Pan"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"Zoom",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-zoom",label:AF.t("Buttons:Zoom"),commands:AD,evaluate:"evaluate.cornerstoneTool"}},{id:"TrackballRotate",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-3d-rotate",label:AF.t("Buttons:3D Rotate"),commands:AD,evaluate:{name:"evaluate.cornerstoneTool",disabledText:AF.t("Buttons:Select a 3D viewport to enable this tool")}}},{id:"Capture",uiType:"ohif.toolButton",props:{icon:"tool-capture",label:AF.t("Buttons:Capture"),commands:"showDownloadViewportModal",evaluate:["evaluate.action",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video","wholeSlide"]}]}},{id:"Layout",uiType:"ohif.layoutSelector",props:{rows:3,columns:4,evaluate:"evaluate.action"}},{id:"Crosshairs",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-crosshair",label:AF.t("Buttons:Crosshairs"),tooltip:AF.t("Buttons:Click to toggle on or off"),commands:{commandName:"toggleActiveDisabledToolbar",commandOptions:{toolGroupIds:["mpr"]}},evaluate:{name:"evaluate.cornerstoneTool.toggleWithModifier",disabledText:AF.t("Buttons:Select an MPR viewport to enable this tool"),toggledOnIcon:"tool-crosshair-checked",defaultIcon:"tool-crosshair"}}},{id:"SegmentLabelTool",uiType:"ohif.toolBoxButton",props:{icon:"tool-segment-label",label:AF.t("Buttons:Segment Label Display"),tooltip:AF.t("Buttons:Click to show or hide segment labels when hovering with your mouse."),commands:{commandName:"toggleSegmentLabel"},evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.cornerstone.hasSegmentation"}]}}],"cornerstone.toolbarSections":{[AQ.primary]:["MeasurementTools","Zoom","Pan","TrackballRotate","WindowLevel","Capture","Layout","Crosshairs","MoreTools"],[AQ.viewportActionMenu.topLeft]:["orientationMenu","dataOverlayMenu"],[AQ.viewportActionMenu.bottomMiddle]:["AdvancedRenderingControls"],AdvancedRenderingControls:["windowLevelMenuEmbedded","voiManualControlMenu","Colorbar","opacityMenu","thresholdMenu"],[AQ.viewportActionMenu.topRight]:["modalityLoadBadge","trackingStatus","navigationComponent"],[AQ.viewportActionMenu.bottomLeft]:["windowLevelMenu"],MeasurementTools:["Length","Bidirectional","ArrowAnnotate","EllipticalROI","RectangleROI","CircleROI","PlanarFreehandROI","SplineROI","LivewireContour"],MoreTools:["Reset","rotate-right","flipHorizontal","ImageSliceSync","ReferenceLines","ImageOverlayViewer","StackScroll","invert","Probe","Cine","Angle","CobbAngle","Magnify","CalibrationLine","TagBrowser","AdvancedMagnify","UltrasoundDirectionalTool","WindowLevelRegion","SegmentLabelTool"]}},{TOOLBAR_SECTIONS:AO}=k.ToolbarService,AM=e=>[{commandName:"setViewportForToolConfiguration",commandOptions:{toolName:e}}],AL={"cornerstone.segmentationToolbarButtons":[{id:"BrushTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"LabelMapUtilities",uiType:"ohif.Toolbar",props:{buttonSection:!0}},{id:"ContourUtilities",uiType:"ohif.Toolbar",props:{buttonSection:!0}},{id:"LabelMapTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"ContourTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"PlanarFreehandContourSegmentationTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-freehand-roi",label:AF.t("Buttons:Freehand Segmentation"),tooltip:AF.t("Buttons:Freehand Segmentation"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["PlanarFreehandContourSegmentationTool"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:[{commandName:"setToolActiveToolbar",commandOptions:{bindings:[{mouseButton:1},{mouseButton:1,modifierKey:16}]}},{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AF.t("Buttons:Interpolate Contours"),type:"switch",id:"planarFreehandInterpolateContours",value:!1,commands:{commandName:"setInterpolationToolConfiguration"}}]}},{id:"LivewireContourSegmentationTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-livewire",label:AF.t("Buttons:Livewire Contour"),tooltip:AF.t("Buttons:Livewire Contour"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["LivewireContourSegmentationTool"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:[{commandName:"setToolActiveToolbar",commandOptions:{bindings:[{mouseButton:1},{mouseButton:1,modifierKey:16}]}},{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AF.t("Buttons:Interpolate Contours"),type:"switch",id:"livewireInterpolateContours",value:!1,commands:{commandName:"setInterpolationToolConfiguration"}}]}},{id:"SplineContourSegmentationTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-spline-roi",label:AF.t("Buttons:Spline Contour Segmentation Tool"),tooltip:AF.t("Buttons:Spline Contour Segmentation Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CatmullRomSplineROI","LinearSplineROI","BSplineROI"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AF.t("Buttons:Spline Type"),type:"select",id:"splineTypeSelect",value:"CatmullRomSplineROI",values:[{id:"CatmullRomSplineROI",value:"CatmullRomSplineROI",label:AF.t("Buttons:Catmull Rom Spline")},{id:"LinearSplineROI",value:"LinearSplineROI",label:AF.t("Buttons:Linear Spline")},{id:"BSplineROI",value:"BSplineROI",label:AF.t("Buttons:B-Spline")}],commands:{commandName:"setToolActiveToolbar",commandOptions:{bindings:[{mouseButton:1},{mouseButton:1,modifierKey:16}]}}},{name:AF.t("Buttons:Simplified Spline"),type:"switch",id:"simplifiedSpline",value:!0,commands:{commandName:"setSimplifiedSplineForSplineContourSegmentationTool"}},{name:AF.t("Buttons:Interpolate Contours"),type:"switch",id:"splineInterpolateContours",value:!1,commands:{commandName:"setInterpolationToolConfiguration",commandOptions:{toolNames:["CatmullRomSplineROI","LinearSplineROI","BSplineROI"]}}}]}},{id:"SculptorTool",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-sculptor",label:AF.t("Buttons:Sculptor Tool"),tooltip:AF.t("Buttons:Sculptor Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["SculptorTool"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Contour"}],commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Contour"}}],options:[{name:AF.t("Buttons:Dynamic Cursor Size"),type:"switch",id:"dynamicCursorSize",value:!0,commands:{commandName:"setDynamicCursorSizeForSculptorTool"}}]}},{id:"Brush",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-brush",label:AF.t("Buttons:Brush"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircularBrush","SphereBrush"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"brush-radius"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},options:[{name:AF.t("Buttons:Radius (mm)"),id:"brush-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:[{commandName:"setBrushSize",commandOptions:{toolNames:["CircularBrush","SphereBrush"]}}]},{name:AF.t("Buttons:Shape"),type:"radio",id:"brush-mode",value:"CircularBrush",values:[{value:"CircularBrush",label:AF.t("Buttons:Circle")},{value:"SphereBrush",label:AF.t("Buttons:Sphere")}],commands:["setToolActiveToolbar"]}]}},{id:"InterpolateLabelmap",uiType:"ohif.toolButton",props:{icon:"actions-interpolate",label:AF.t("Buttons:Interpolate Labelmap"),tooltip:AF.t("Buttons:Automatically fill in missing slices between drawn segments. Use brush or threshold tools on at least two slices, then click to interpolate across slices. Works in any direction. Volume must be reconstructable."),evaluate:[{name:"evaluate.cornerstone.segmentation"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"},{name:"evaluate.displaySetIsReconstructable",disabledText:AF.t("Buttons:The current viewport cannot handle interpolation.")}],commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},"interpolateLabelmap"]}},{id:"SegmentBidirectional",uiType:"ohif.toolButton",props:{icon:"actions-bidirectional",label:AF.t("Buttons:Segment Bidirectional"),tooltip:AF.t("Buttons:Automatically detects the largest length and width across slices for the selected segment and displays a bidirectional measurement."),evaluate:[{name:"evaluate.cornerstone.segmentation",disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},"runSegmentBidirectional"]}},{id:"ClickSegment",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-click-segment",label:AF.t("Buttons:Click to Segment"),tooltip:AF.t("Buttons:PET only. Click-to-segment lesions with no configuration. Hover for visual feedback—click when a plus sign appears to segment the lesion."),evaluate:[{name:"evaluate.modality.supported",supportedModalities:["PT"],disabledText:AF.t("Buttons:Tool not available for this modality")},{name:"evaluate.cornerstone.segmentation",toolNames:["ClickSegment"],disabledText:AF.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}]}},{id:"LabelmapSlicePropagation",uiType:"ohif.toolBoxButton",props:{icon:"icon-labelmap-slice-propagation",label:AF.t("Buttons:Labelmap Assist"),tooltip:AF.t("Buttons:Toggle AI assistance for segmenting nearby slices. After drawing on a slice, scroll to preview predictions. Press Enter to accept or Esc to skip."),evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],listeners:{[k.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:AM("LabelmapSlicePropagation"),[k.ViewportGridService.EVENTS.VIEWPORTS_READY]:AM("LabelmapSlicePropagation")},commands:[{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},"toggleEnabledDisabledToolbar"]}},{id:"MarkerLabelmap",uiType:"ohif.toolBoxButton",props:{icon:"icon-marker-labelmap",label:AF.t("Buttons:Marker Guided Labelmap"),tooltip:AF.t("Buttons:Use include/exclude markers to guide AI (SAM) segmentation. Click to place markers, Enter to accept results, Esc to reject, and N to go to the next slice while keeping markers."),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["MarkerLabelmap","MarkerInclude","MarkerExclude"]},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}],listeners:{[k.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:AM("MarkerLabelmap"),[k.ViewportGridService.EVENTS.VIEWPORTS_READY]:AM("MarkerLabelmap")},options:[{name:AF.t("Buttons:Marker Mode"),type:"radio",id:"marker-mode",value:"markerInclude",values:[{value:"markerInclude",label:AF.t("Buttons:Include")},{value:"markerExclude",label:AF.t("Buttons:Exclude")}],commands:({commandsManager:e,options:t})=>{"markerInclude"===t.find(e=>"marker-mode"===e.id).value?e.run("setToolActive",{toolName:"MarkerInclude"}):e.run("setToolActive",{toolName:"MarkerExclude"})}},{name:AF.t("Buttons:Clear Markers"),type:"button",id:"clear-markers",commands:"clearMarkersForMarkerLabelmap"}]}},{id:"Eraser",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-eraser",label:AF.t("Buttons:Eraser"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircularEraser","SphereEraser"]},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"eraser-radius"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],options:[{name:AF.t("Buttons:Radius (mm)"),id:"eraser-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularEraser","SphereEraser"]}}},{name:AF.t("Buttons:Shape"),type:"radio",id:"eraser-mode",value:"CircularEraser",values:[{value:"CircularEraser",label:AF.t("Buttons:Circle")},{value:"SphereEraser",label:AF.t("Buttons:Sphere")}],commands:"setToolActiveToolbar"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}}},{id:"Threshold",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-threshold",label:AF.t("Buttons:Threshold Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic","ThresholdSphereBrushDynamic"]},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"threshold-radius"},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},options:[{name:AF.t("Buttons:Radius (mm)"),id:"threshold-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic","ThresholdSphereBrushDynamic"]}}},{name:AF.t("Buttons:Shape"),type:"radio",id:"threshold-shape",value:"ThresholdCircularBrush",values:[{value:"ThresholdCircularBrush",label:AF.t("Buttons:Circle")},{value:"ThresholdSphereBrush",label:AF.t("Buttons:Sphere")}],commands:({value:e,commandsManager:t,options:A})=>{"ThresholdDynamic"===A.find(e=>"dynamic-mode"===e.id).value?t.run("setToolActive",{toolName:"ThresholdCircularBrush"===e?"ThresholdCircularBrushDynamic":"ThresholdSphereBrushDynamic"}):t.run("setToolActive",{toolName:e})}},{name:AF.t("Buttons:Threshold"),type:"radio",id:"dynamic-mode",value:"ThresholdDynamic",values:[{value:"ThresholdDynamic",label:AF.t("Buttons:Dynamic")},{value:"ThresholdRange",label:AF.t("Buttons:Range")}],commands:({value:e,commandsManager:t,options:A})=>{let n=A.find(e=>"threshold-shape"===e.id);if("ThresholdDynamic"===e)t.run("setToolActiveToolbar",{toolName:"ThresholdCircularBrush"===n.value?"ThresholdCircularBrushDynamic":"ThresholdSphereBrushDynamic"});else{t.run("setToolActiveToolbar",{toolName:n.value});let e=A.find(e=>"threshold-range"===e.id).value;t.run("setThresholdRange",{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"],value:e})}}},{name:"ThresholdRange",type:"double-range",id:"threshold-range",min:0,max:1e3,allowTypedExpansion:!0,step:1,value:[50,600],condition:({options:e})=>"ThresholdRange"===e.find(e=>"dynamic-mode"===e.id).value,commands:{commandName:"setThresholdRange",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"]}}}]}},{id:"Shapes",uiType:"ohif.toolBoxButton",props:{icon:"icon-tool-shape",label:AF.t("Buttons:Shapes"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircleScissor","SphereScissor","RectangleScissor"],disabledText:AF.t("Buttons:Create new segmentation to enable shapes tool.")},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}],commands:{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}},options:[{name:AF.t("Buttons:Shape"),type:"radio",value:"CircleScissor",id:"shape-mode",values:[{value:"CircleScissor",label:AF.t("Buttons:Circle")},{value:"SphereScissor",label:AF.t("Buttons:Sphere")},{value:"RectangleScissor",label:AF.t("Buttons:Rectangle")}],commands:"setToolActiveToolbar"}]}},{id:"SimplifyContours",uiType:"ohif.toolButton",props:{icon:"actions-simplify",label:"Simplify Contours",tooltip:"Simplify Contours",commands:["toggleActiveSegmentationUtility"],evaluate:[{name:"cornerstone.isActiveSegmentationUtility"}],options:"cornerstone.SimplifyContourOptions"}},{id:"SmoothContours",uiType:"ohif.toolButton",props:{icon:"actions-smooth",label:"Smooth Contours",tooltip:"Smooth Contours",commands:["toggleActiveSegmentationUtility"],evaluate:[{name:"cornerstone.isActiveSegmentationUtility"}],options:"cornerstone.SmoothContoursOptions"}},{id:"LogicalContourOperations",uiType:"ohif.toolButton",props:{icon:"actions-combine",label:"Combine Contours",tooltip:"Combine Contours",commands:["toggleActiveSegmentationUtility"],evaluate:[{name:"cornerstone.isActiveSegmentationUtility"}],options:"cornerstone.LogicalContourOperationsOptions"}},{id:"LabelMapEditWithContour",uiType:"ohif.toolBoxButton",props:{icon:"tool-labelmap-edit-with-contour",label:AF.t("Buttons:Labelmap Edit with Contour Tool"),tooltip:AF.t("Buttons:Labelmap Edit with Contour Tool"),commands:["setToolActiveToolbar",{commandName:"activateSelectedSegmentationOfType",commandOptions:{segmentationRepresentationType:"Labelmap"}}],evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["LabelMapEditWithContour"],disabledText:"Create new segmentation to enable this tool."},{name:"evaluate.cornerstone.hasSegmentationOfType",segmentationRepresentationType:"Labelmap"}]}}],"cornerstone.segmentationToolbarSections":{[AO.labelMapSegmentationToolbox]:["LabelMapTools"],[AO.contourSegmentationToolbox]:["ContourTools"],[AO.labelMapSegmentationUtilities]:["LabelMapUtilities"],[AO.contourSegmentationUtilities]:["ContourUtilities"],LabelMapTools:["LabelmapSlicePropagation","BrushTools","MarkerLabelmap","ClickSegment","Shapes","LabelMapEditWithContour"],ContourTools:["PlanarFreehandContourSegmentationTool","SculptorTool","SplineContourSegmentationTool","LivewireContourSegmentationTool"],LabelMapUtilities:["InterpolateLabelmap","SegmentBidirectional"],ContourUtilities:["LogicalContourOperations","SimplifyContours","SmoothContours"],BrushTools:["Brush","Eraser","Threshold"]},"cornerstone.segmentationModeToolbarSections":{[AO.primary]:["WindowLevel","Pan","Zoom","TrackballRotate","Capture","Layout","Crosshairs","MoreTools"],[AO.viewportActionMenu.topLeft]:["orientationMenu","dataOverlayMenu"],[AO.viewportActionMenu.bottomMiddle]:["AdvancedRenderingControls"],AdvancedRenderingControls:["windowLevelMenuEmbedded","voiManualControlMenu","Colorbar","opacityMenu","thresholdMenu"],[AO.viewportActionMenu.topRight]:["modalityLoadBadge","trackingStatus","navigationComponent"],[AO.viewportActionMenu.bottomLeft]:["windowLevelMenu"],MoreTools:["Reset","rotate-right","flipHorizontal","ReferenceLines","ImageOverlayViewer","StackScroll","invert","Cine","Magnify","TagBrowser"]}},AR=function({commandsManager:e}){let t=[{toolName:"CatmullRomSplineROI",parentTool:ec.SplineContourSegmentation,configuration:{spline:{type:"CATMULLROM",enableTwoPointPreview:!0}}},{toolName:"LinearSplineROI",parentTool:ec.SplineContourSegmentation,configuration:{spline:{type:"LINEAR",enableTwoPointPreview:!0}}},{toolName:"BSplineROI",parentTool:ec.SplineContourSegmentation,configuration:{spline:{type:"BSPLINE",enableTwoPointPreview:!0}}}];return{"cornerstone.segmentationTools":{passive:[{toolName:"CircularBrush",parentTool:"Brush",configuration:{activeStrategy:"FILL_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5}},{toolName:"CircularEraser",parentTool:"Brush",configuration:{activeStrategy:"ERASE_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5}},{toolName:"SphereBrush",parentTool:"Brush",configuration:{activeStrategy:"FILL_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5}},{toolName:"SphereEraser",parentTool:"Brush",configuration:{activeStrategy:"ERASE_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5}},{toolName:"ThresholdCircularBrush",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5}},{toolName:"ThresholdSphereBrush",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5}},{toolName:"ThresholdCircularBrushDynamic",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_CIRCLE",minRadius:.5,maxRadius:99.5,threshold:{isDynamic:!0,dynamicRadius:3}}},{toolName:"ThresholdSphereBrushDynamic",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_SPHERE",minRadius:.5,maxRadius:99.5,threshold:{isDynamic:!0,dynamicRadius:3}}},{toolName:ec.LabelmapSlicePropagation},{toolName:ec.MarkerLabelmap},{toolName:ec.ClickSegment},{toolName:ec.LabelMapEditWithContourTool},{toolName:ec.SegmentSelect},{toolName:ec.CircleScissors},{toolName:ec.RectangleScissors},{toolName:ec.SphereScissors},{toolName:ec.LivewireContourSegmentation},{toolName:ec.SculptorTool},...t]},"cornerstone.annotationTools":{passive:[{toolName:ec.Length},{toolName:ec.ArrowAnnotate,configuration:{getTextCallback:(t,A)=>{e.runCommand("arrowTextCallback",{callback:t,eventDetails:A})},changeTextCallback:(t,A,n)=>{e.runCommand("arrowTextCallback",{callback:n,data:t,eventDetails:A})}}},{toolName:ec.Bidirectional},{toolName:ec.Probe},{toolName:ec.DragProbe},{toolName:ec.EllipticalROI},{toolName:ec.CircleROI},{toolName:ec.RectangleROI},{toolName:ec.Angle},{toolName:ec.CobbAngle},{toolName:ec.SplineROI},{toolName:ec.LivewireContour}]}}};var AV=x(7598),AN=x.n(AV);function AH(e,t,A,n){return new(A||(A=Promise))(function(r,o){function i(e){try{a(n.next(e))}catch(e){o(e)}}function s(e){try{a(n.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?r(e.value):((t=e.value)instanceof A?t:new A(function(e){e(t)})).then(i,s)}a((n=n.apply(e,t||[])).next())})}function A_(e,t){var A,n,r,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(a){var l=[s,a];if(A)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(o=0)),o;)try{if(A=1,n&&(r=2&l[0]?n.return:l[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,l[1])).done)return r;switch(n=0,r&&(l=[2&l[0],r.value]),l[0]){case 0:case 1:r=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,n=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(r=(r=o.trys).length>0&&r[r.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]<r[3])){o.label=l[1];break}if(6===l[0]&&o.label<r[1]){o.label=r[1],r=l;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(l);break}r[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],n=0}finally{A=r=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var Ak=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function AP(e,t){var A=function(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var A=t.split(".").pop().toLowerCase(),n=Ak.get(A);n&&Object.defineProperty(e,"type",{value:n,writable:!1,configurable:!1,enumerable:!0})}return e}(e);if("string"!=typeof A.path){var n=e.webkitRelativePath;Object.defineProperty(A,"path",{value:"string"==typeof t?t:"string"==typeof n&&n.length>0?n:e.name,writable:!1,configurable:!1,enumerable:!0})}return A}var Aj=[".DS_Store","Thumbs.db"];function AG(e){return AH(this,void 0,void 0,function(){return A_(this,function(t){var A;return[2,e.dataTransfer&&e.dataTransfer?function(e,t){return AH(this,void 0,void 0,function(){var A;return A_(this,function(n){switch(n.label){case 0:if(!e.items)return[3,2];if(A=AW(e.items).filter(function(e){return"file"===e.kind}),"drop"!==t)return[2,A];return[4,Promise.all(A.map(AY))];case 1:return[2,AK(function e(t){return t.reduce(function(t,A){return function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(function(e,t){var A="function"==typeof Symbol&&e[Symbol.iterator];if(!A)return e;var n,r,o=A.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(A=o.return)&&A.call(o)}finally{if(r)throw r.error}}return i}(arguments[t]));return e}(t,Array.isArray(A)?e(A):[A])},[])}(n.sent()))];case 2:return[2,AK(AW(e.files).map(function(e){return AP(e)}))]}})})}(e.dataTransfer,e.type):(null!==(A=e).target&&A.target.files?AW(A.target.files):[]).map(function(e){return AP(e)})]})})}function AK(e){return e.filter(function(e){return -1===Aj.indexOf(e.name)})}function AW(e){for(var t=[],A=0;A<e.length;A++){var n=e[A];t.push(n)}return t}function AY(e){if("function"!=typeof e.webkitGetAsEntry)return Az(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?AJ(t):Az(e)}function Az(e){var t=e.getAsFile();return t?Promise.resolve(AP(t)):Promise.reject(e+" is not a File")}function AX(e){return AH(this,void 0,void 0,function(){return A_(this,function(t){return[2,e.isDirectory?AJ(e):function(e){return AH(this,void 0,void 0,function(){return A_(this,function(t){return[2,new Promise(function(t,A){e.file(function(A){t(AP(A,e.fullPath))},function(e){A(e)})})]})})}(e)]})})}function AJ(e){var t=e.createReader();return new Promise(function(e,A){var n=[];!function r(){var o=this;t.readEntries(function(t){return AH(o,void 0,void 0,function(){var o;return A_(this,function(i){switch(i.label){case 0:if(t.length)return[3,5];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,Promise.all(n)];case 2:return e(i.sent()),[3,4];case 3:return A(i.sent()),[3,4];case 4:return[3,6];case 5:o=Promise.all(t.map(AX)),n.push(o),r(),i.label=6;case 6:return[2]}})})},function(e){A(e)})}()})}var Aq=x(6309);function A$(e,t){return"application/x-moz-file"===e.type||(0,Aq.A)(e,t)}function AZ(e,t,A){if(A0(e.size)){if(A0(t)&&A0(A))return e.size>=t&&e.size<=A;else if(A0(t))return e.size>=t;else if(A0(A))return e.size<=A}return!0}function A0(e){return null!=e}function A1(e){return"function"==typeof e.isPropagationStopped?e.isPropagationStopped():void 0!==e.cancelBubble&&e.cancelBubble}function A3(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(e){return"Files"===e||"application/x-moz-file"===e}):!!e.target&&!!e.target.files}function A2(e){e.preventDefault()}function A4(){for(var e=arguments.length,t=Array(e),A=0;A<e;A++)t[A]=arguments[A];return function(e){for(var A=arguments.length,n=Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];return t.some(function(t){return!A1(e)&&t&&t.apply(void 0,[e].concat(n)),A1(e)})}}function A6(e){return function(e){if(Array.isArray(e)){for(var t=0,A=Array(e.length);t<e.length;t++)A[t]=e[t];return A}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance")}()}function A9(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),A.push.apply(A,n)}return A}function A8(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?A9(A,!0).forEach(function(t){A5(e,t,A[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):A9(A).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))})}return e}function A5(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function A7(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)A=o[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)A=o[n],!(t.indexOf(A)>=0)&&Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}var ne=(0,M.forwardRef)(function(e,t){var A=e.children,n=function(){var e,t,A,n,r,o,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=i.accept,a=i.disabled,l=void 0!==a&&a,c=i.getFilesFromEvent,u=void 0===c?AG:c,d=i.maxSize,p=void 0===d?1/0:d,g=i.minSize,m=void 0===g?0:g,h=i.multiple,f=void 0===h||h,w=i.onDragEnter,B=i.onDragLeave,y=i.onDragOver,v=i.onDrop,S=i.onDropAccepted,C=i.onDropRejected,I=i.onFileDialogCancel,b=i.preventDropOnDocument,U=void 0===b||b,E=i.noClick,F=void 0!==E&&E,Q=i.noKeyboard,T=void 0!==Q&&Q,D=i.noDrag,x=void 0!==D&&D,O=i.noDragEventsBubbling,L=void 0!==O&&O,R=(0,M.useRef)(null),V=(0,M.useRef)(null),N=function(e){if(Array.isArray(e))return e}(e=(0,M.useReducer)(nA,nt))||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var t=[],A=!0,n=!1,r=void 0;try{for(var o,i=e[Symbol.iterator]();!(A=(o=i.next()).done)&&(t.push(o.value),2!==t.length);A=!0);}catch(e){n=!0,r=e}finally{try{A||null==i.return||i.return()}finally{if(n)throw r}}return t}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance")}(),H=N[0],_=N[1],k=H.isFocused,P=H.isFileDialogActive,j=H.draggedFiles,G=(0,M.useCallback)(function(){V.current&&(_({type:"openDialog"}),V.current.value=null,V.current.click())},[_]),K=function(){P&&setTimeout(function(){V.current&&(V.current.files.length||(_({type:"closeDialog"}),"function"==typeof I&&I()))},300)};(0,M.useEffect)(function(){return window.addEventListener("focus",K,!1),function(){window.removeEventListener("focus",K,!1)}},[V,P,I]);var W=(0,M.useCallback)(function(e){R.current&&R.current.isEqualNode(e.target)&&(32===e.keyCode||13===e.keyCode)&&(e.preventDefault(),G())},[R,V]),Y=(0,M.useCallback)(function(){_({type:"focus"})},[]),z=(0,M.useCallback)(function(){_({type:"blur"})},[]),X=(0,M.useCallback)(function(){F||(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return -1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/")}()?setTimeout(G,0):G())},[V,F]),J=(0,M.useRef)([]),q=function(e){R.current&&R.current.contains(e.target)||(e.preventDefault(),J.current=[])};(0,M.useEffect)(function(){return U&&(document.addEventListener("dragover",A2,!1),document.addEventListener("drop",q,!1)),function(){U&&(document.removeEventListener("dragover",A2),document.removeEventListener("drop",q))}},[R,U]);var $=(0,M.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),-1===J.current.indexOf(e.target)&&(J.current=[].concat(A6(J.current),[e.target])),A3(e)&&Promise.resolve(u(e)).then(function(t){(!A1(e)||L)&&(_({draggedFiles:t,isDragActive:!0,type:"setDraggedFiles"}),w&&w(e))})},[u,w,L]),Z=(0,M.useCallback)(function(e){if(e.preventDefault(),e.persist(),eo(e),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}return A3(e)&&y&&y(e),!1},[y,L]),ee=(0,M.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e);var t=J.current.filter(function(t){return t!==e.target&&R.current&&R.current.contains(t)});J.current=t,!(t.length>0)&&(_({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),A3(e)&&B&&B(e))},[R,B,L]),et=(0,M.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),J.current=[],A3(e)&&Promise.resolve(u(e)).then(function(t){if(!A1(e)||L){var A=[],n=[];t.forEach(function(e){A$(e,s)&&AZ(e,m,p)?A.push(e):n.push(e)}),!f&&A.length>1&&n.push.apply(n,A6(A.splice(0))),_({acceptedFiles:A,rejectedFiles:n,type:"setFiles"}),v&&v(A,n,e),n.length>0&&C&&C(n,e),A.length>0&&S&&S(A,e)}}),_({type:"reset"})},[f,s,m,p,u,v,S,C,L]),eA=function(e){return l?null:e},en=function(e){return T?null:eA(e)},er=function(e){return x?null:eA(e)},eo=function(e){L&&e.stopPropagation()},ei=(0,M.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,A=e.onKeyDown,n=e.onFocus,r=e.onBlur,o=e.onClick,i=e.onDragEnter,s=e.onDragOver,a=e.onDragLeave,c=e.onDrop,u=A7(e,["refKey","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"]);return A8(A5({onKeyDown:en(A4(A,W)),onFocus:en(A4(n,Y)),onBlur:en(A4(r,z)),onClick:eA(A4(o,X)),onDragEnter:er(A4(i,$)),onDragOver:er(A4(s,Z)),onDragLeave:er(A4(a,ee)),onDrop:er(A4(c,et))},void 0===t?"ref":t,R),l||T?{}:{tabIndex:0},{},u)}},[R,W,Y,z,X,$,Z,ee,et,T,x,l]),es=(0,M.useCallback)(function(e){e.stopPropagation()},[]),ea=(0,M.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,A=e.onChange,n=e.onClick,r=A7(e,["refKey","onChange","onClick"]);return A8({},A5({accept:s,multiple:f,type:"file",style:{display:"none"},onChange:eA(A4(A,et)),onClick:eA(A4(n,es)),autoComplete:"off",tabIndex:-1},void 0===t?"ref":t,V),{},r)}},[V,s,f,et,l]),el=j.length,ec=el>0&&(A=(t={files:j,accept:s,minSize:m,maxSize:p,multiple:f}).files,n=t.accept,r=t.minSize,o=t.maxSize,(!!t.multiple||!(A.length>1))&&A.every(function(e){return A$(e,n)&&AZ(e,r,o)}));return A8({},H,{isDragAccept:ec,isDragReject:el>0&&!ec,isFocused:k&&!l,getRootProps:ei,getInputProps:ea,rootRef:R,inputRef:V,open:eA(G)})}(A7(e,["children"])),r=n.open,o=A7(n,["open"]);return(0,M.useImperativeHandle)(t,function(){return{open:r}},[r]),M.createElement(M.Fragment,null,A(A8({},o,{open:r})))});ne.displayName="Dropzone",ne.propTypes={children:AN().func,accept:AN().oneOfType([AN().string,AN().arrayOf(AN().string)]),multiple:AN().bool,preventDropOnDocument:AN().bool,noClick:AN().bool,noKeyboard:AN().bool,noDrag:AN().bool,noDragEventsBubbling:AN().bool,minSize:AN().number,maxSize:AN().number,disabled:AN().bool,getFilesFromEvent:AN().func,onFileDialogCancel:AN().func,onDragEnter:AN().func,onDragLeave:AN().func,onDragOver:AN().func,onDrop:AN().func,onDropAccepted:AN().func,onDropRejected:AN().func};var nt={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]};function nA(e,t){switch(t.type){case"focus":return A8({},e,{isFocused:!0});case"blur":return A8({},e,{isFocused:!1});case"openDialog":return A8({},e,{isFileDialogActive:!0});case"closeDialog":return A8({},e,{isFileDialogActive:!1});case"setDraggedFiles":var A=t.isDragActive;return A8({},e,{draggedFiles:t.draggedFiles,isDragActive:A});case"setFiles":return A8({},e,{acceptedFiles:t.acceptedFiles,rejectedFiles:t.rejectedFiles});case"reset":return A8({},e,{isFileDialogActive:!1,isDragActive:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]});default:return e}}var nn=x(5530),nr=x.n(nn);let no={PROGRESS:"event:DicomFileUploader:progress"},ni=((t={})[t.NotStarted=0]="NotStarted",t[t.InProgress=1]="InProgress",t[t.Success=2]="Success",t[t.Failed=3]="Failed",t[t.Cancelled=4]="Cancelled",t);class ns{constructor(e,t){this.message=void 0,this.status=void 0,this.message=t,this.status=e}}class na extends k.PubSubService{constructor(e,t){super(no),this._file=void 0,this._fileId=void 0,this._dataSource=void 0,this._loadPromise=void 0,this._abortController=new AbortController,this._status=ni.NotStarted,this._percentComplete=0,this._file=e,this._fileId=Y().wadouri.fileManager.add(e),this._dataSource=t}getFileId(){return this._fileId}getFileName(){return this._file.name}getFileSize(){return this._file.size}cancel(){this._abortController.abort()}getStatus(){return this._status}getPercentComplete(){return this._percentComplete}async load(){return this._loadPromise||(this._loadPromise=new Promise((e,t)=>{let A={progress:e=>{e.lengthComputable&&(this._status=ni.InProgress,this._percentComplete=Math.round(100*e.loaded/e.total),this._broadcastEvent(no.PROGRESS,{fileId:this._fileId,percentComplete:this._percentComplete}))},timeout:()=>{this._reject(t,new ns(ni.Failed,"The request timed out."))},abort:()=>{this._reject(t,new ns(ni.Cancelled,"Cancelled"))},error:()=>{this._reject(t,new ns(ni.Failed,"The request failed."))}};Y().wadouri.loadFileRequest(this._fileId).then(n=>{if(this._abortController.signal.aborted)return void this._reject(t,new ns(ni.Cancelled,"Cancelled"));if(!this._checkDicomFile(n))return void this._reject(t,new ns(ni.Failed,"Not a valid DICOM file."));let r=new XMLHttpRequest;return this._addRequestCallbacks(r,A),this._dataSource.store.dicom(n,r).then(()=>{this._status=ni.Success,e()}).catch(e=>{this._reject(t,e)})}).catch(e=>{this._reject(t,e)})})),this._loadPromise}_isRejected(){return this._status===ni.Failed||this._status===ni.Cancelled}_reject(e,t){if(!this._isRejected()){if(t instanceof ns){this._status=t.status,e(t);return}if(this._status=ni.Failed,t.message)return void e(new ns(ni.Failed,t.message));e(new ns(ni.Failed,t))}}_addRequestCallbacks(e,t){let A=()=>e.abort();for(let[n,r]of(this._abortController.signal.addEventListener("abort",A),Object.entries(t)))e.upload.addEventListener(n,r);let n=()=>{for(let[n,r]of(this._abortController.signal.removeEventListener("abort",A),Object.entries(t)))e.upload.removeEventListener(n,r);e.removeEventListener("loadend",n)};e.addEventListener("loadend",n)}_checkDicomFile(e){if(e.length<=132)return!1;let t=new Uint8Array(e.slice(128,132));return Array.from("DICM").every((e,A)=>e.charCodeAt(0)===t[A])}}let nl=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f=(0,D.c)(37),{dicomFileUploader:w}=e;f[0]!==w?(t=w.getPercentComplete(),f[0]=w,f[1]=t):t=f[1];let[B,y]=(0,M.useState)(t),[v,S]=(0,M.useState)("");f[2]!==w?(A=w.getStatus(),f[2]=w,f[3]=A):A=f[3];let[C,I]=(0,M.useState)(A);f[4]!==C?(n=()=>C===ni.Failed||C===ni.Cancelled||C===ni.Success,f[4]=C,f[5]=n):n=f[5];let b=n;f[6]!==w?(r=()=>{let e=w.subscribe(no.PROGRESS,e=>{y(e.percentComplete),I(w.getStatus())});return w.load().catch(e=>{I(e.status),S(e.message??"")}).finally(()=>I(w.getStatus())),()=>e.unsubscribe()},f[6]=w,f[7]=r):r=f[7],f[8]===Symbol.for("react.memo_cache_sentinel")?(o=[],f[8]=o):o=f[8],(0,M.useEffect)(r,o),f[9]!==w?(i=()=>{w.cancel()},f[9]=w,f[10]=i):i=f[10];let U=i;f[11]!==C?(s=()=>{switch(C){case ni.Success:return(0,tp.jsx)(tB.Icons.ByName,{name:"status-tracked",className:"text-highlight"});case ni.InProgress:return(0,tp.jsx)(tB.Icons.ByName,{name:"icon-transferring",className:"text-highlight"});case ni.Failed:return(0,tp.jsx)(tB.Icons.ByName,{name:"icon-alert-small",className:"text-destructive"});case ni.Cancelled:return(0,tp.jsx)(tB.Icons.ByName,{name:"icon-alert-outline",className:"text-highlight"});default:return(0,tp.jsx)(tp.Fragment,{})}},f[11]=C,f[12]=s):s=f[12];let E=s;return f[13]!==E?(a=(0,tp.jsx)("div",{className:"flex w-6 shrink-0 items-center justify-center",children:E()}),f[13]=E,f[14]=a):a=f[14],f[15]!==w?(l=w.getFileName(),f[15]=w,f[16]=l):l=f[16],f[17]!==l?(c=(0,tp.jsx)("div",{className:"text-foreground overflow-hidden text-ellipsis whitespace-nowrap",children:l}),f[17]=l,f[18]=c):c=f[18],f[19]!==c||f[20]!==a?(u=(0,tp.jsxs)("div",{className:"flex gap-4",children:[a,c]}),f[19]=c,f[20]=a,f[21]=u):u=f[21],f[22]!==v?(d=v&&(0,tp.jsx)("div",{className:"text-foreground pl-10",children:v}),f[22]=v,f[23]=d):d=f[23],f[24]!==u||f[25]!==d?(p=(0,tp.jsxs)("div",{className:"self-top flex w-0 shrink grow flex-col gap-1",children:[u,d]}),f[24]=u,f[25]=d,f[26]=p):p=f[26],f[27]!==U||f[28]!==b||f[29]!==B||f[30]!==C?(g=!b()&&(0,tp.jsxs)(tp.Fragment,{children:[C===ni.InProgress&&(0,tp.jsxs)("div",{className:"text-foreground w-10 text-right",children:[B,"%"]}),(0,tp.jsx)("div",{className:"ml-auto flex cursor-pointer",children:(0,tp.jsx)(tB.Icons.Close,{className:"text-primary self-center",onClick:U})})]}),f[27]=U,f[28]=b,f[29]=B,f[30]=C,f[31]=g):g=f[31],f[32]!==g?(m=(0,tp.jsx)("div",{className:"flex w-24 items-center",children:g}),f[32]=g,f[33]=m):m=f[33],f[34]!==p||f[35]!==m?(h=(0,tp.jsxs)("div",{className:"min-h-14 border-input flex w-full items-center overflow-hidden border-b p-2.5 text-lg",children:[p,m]}),f[34]=p,f[35]=m,f[36]=h):h=f[36],h},nc="text-ellipsis whitespace-nowrap overflow-hidden";function nu(e){return(0,tp.jsx)(nl,{dicomFileUploader:e},e.getFileId())}function nd(e){return!e}function np(e){return e.unsubscribe()}function ng(e){return e+1}function nm(e){return e+1}function nh(e,t){return e+t.getFileSize()}let nf=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v=(0,D.c)(60),{dicomFileUploaderArr:S,onComplete:C}=e,{servicesManager:I}=(0,k.useSystem)();v[0]!==I.services.customizationService?(t=I.services.customizationService.getCustomization("ui.progressLoadingBar"),v[0]=I.services.customizationService,v[1]=t):t=v[1];let b=t;v[2]!==S?(A=S.reduce(nh,0),v[2]=S,v[3]=A):A=v[3];let[U]=(0,M.useState)(A),E=(0,M.useRef)(0),F=(0,M.useRef)(0),[Q,T]=(0,M.useState)(null),[x,O]=(0,M.useState)(0),[L,R]=(0,M.useState)(0),[V,N]=(0,M.useState)(0),[H,_]=(0,M.useState)(!1),[P,j]=(0,M.useState)(null);v[4]!==U?(n=()=>{let e,t=0,A=Date.now(),n=()=>{let r=E.current-t,o=Date.now();F.current=r/(o-A),t=E.current,A=o,U-E.current>0&&(e=F.current>=75?setTimeout(n,15e3):setTimeout(n,3e4))};return e=setTimeout(n,15e3),()=>{clearTimeout(e)}},v[4]=U,v[5]=n):n=v[5],v[6]===Symbol.for("react.memo_cache_sentinel")?(r=[],v[6]=r):r=v[6],(0,M.useEffect)(n,r),v[7]!==S||v[8]!==U?(o=()=>{let e=null,t=S.map(t=>{let A=0,n=n=>{let r=A;if(A=Math.round(n/100*t.getFileSize()),E.current=Math.min(U,E.current-r+A),O(E.current/U*100),0!==F.current){let t=Math.round((U-E.current)/F.current);if(null===e)return void T(e=t);if(t<6e4){let A=Math.ceil(t/1e3)-Math.ceil(e/1e3);(A<0||A>2)&&T(e=t);return}if(t<36e5){let A=Math.ceil(t/6e4)-Math.ceil(e/6e4);(A<0||A>2)&&T(e=t);return}T(e=t)}};return t.load().catch(e=>{e.status===ni.Failed&&N(nm)}).finally(()=>{n(100),R(ng)}),t.subscribe(no.PROGRESS,e=>{n(e.percentComplete)})});return()=>{t.forEach(np)}},v[7]=S,v[8]=U,v[9]=o):o=v[9],v[10]===Symbol.for("react.memo_cache_sentinel")?(i=[],v[10]=i):i=v[10],(0,M.useEffect)(o,i),v[11]!==S?(s=async()=>{for(let e of S)new Promise((t,A)=>{setTimeout(()=>{e.cancel(),t()},0)})},v[11]=S,v[12]=s):s=v[12];let G=s;v[13]!==Q?(a=()=>{if(null==Q)return"";if(Q<6e4){let e=Math.ceil(Q/1e3);return`${e} ${1===e?"second":"seconds"}`}if(Q<36e5){let e=Math.ceil(Q/6e4);return`${e} ${1===e?"minute":"minutes"}`}let e=Math.ceil(Q/36e5);return`${e} ${1===e?"hour":"hours"}`},v[13]=Q,v[14]=a):a=v[14];let K=a;v[15]!==x?(l=()=>Math.min(100,Math.round(x)),v[15]=x,v[16]=l):l=v[16];let W=l;v[17]!==W||v[18]!==x||v[19]!==P?.offsetWidth?(c=()=>1>W()&&(P?.offsetWidth??0)*(x/100)<1,v[17]=W,v[18]=x,v[19]=P?.offsetWidth,v[20]=c):c=v[20];let Y=c;v[21]!==S.length||v[22]!==L?(u=()=>{let e=L.toString().length+S.length.toString().length;return{width:`${e+3}ch`}},v[21]=S.length,v[22]=L,v[23]=u):u=v[23];let z=u;v[24]!==G||v[25]!==S.length||v[26]!==K||v[27]!==z||v[28]!==L||v[29]!==C||v[30]!==Q?(d=()=>(0,tp.jsx)("div",{className:"bg-muted text-foreground flex h-14 items-center px-1 pb-4 text-lg",children:L===S.length?(0,tp.jsxs)(tp.Fragment,{children:[(0,tp.jsx)("span",{className:nc,children:`${S.length} ${S.length>1?"files":"file"} completed.`}),(0,tp.jsx)(tB.Button,{disabled:!1,className:"ml-auto",onClick:C,children:"Close"})]}):(0,tp.jsxs)(tp.Fragment,{children:[(0,tp.jsxs)("div",{className:"flex flex-wrap",children:[(0,tp.jsxs)("span",{style:z(),className:nr()(nc,"text-right"),children:[`${L} of ${S.length}`," "]}),(0,tp.jsx)("span",{className:nc,children:" files completed."}),(0,tp.jsx)("br",{}),(0,tp.jsx)("span",{children:Q?`Less than ${K()} remaining. `:""})]}),(0,tp.jsx)("span",{className:"text-primary hover:text-highlight active:text-muted-foreground ml-auto cursor-pointer whitespace-nowrap",onClick:G,children:"Cancel All Uploads"})]})}),v[24]=G,v[25]=S.length,v[26]=K,v[27]=z,v[28]=L,v[29]=C,v[30]=Q,v[31]=d):d=v[31];let X=d;v[32]!==V?(p=()=>(0,tp.jsx)("div",{className:"ml-auto flex w-6 justify-center",children:V>0&&(0,tp.jsx)("div",{onClick:()=>_(nd),children:(0,tp.jsx)(tB.Icons.ByName,{className:"cursor-pointer",name:"icon-status-alert"})})}),v[32]=V,v[33]=p):p=v[33];let J=p;v[34]!==b||v[35]!==S.length||v[36]!==W||v[37]!==J||v[38]!==V||v[39]!==L||v[40]!==x||v[41]!==Y?(g=()=>(0,tp.jsx)("div",{className:"ohif-scrollbar border-input overflow-y-scroll border-b px-2",children:(0,tp.jsx)("div",{className:"min-h-14 flex w-full items-center p-2.5",children:L===S.length?(0,tp.jsxs)(tp.Fragment,{children:[(0,tp.jsx)("div",{className:"text-highlight text-xl",children:V>0?`Completed with ${V} ${V>1?"errors":"error"}!`:"Completed!"}),J()]}):(0,tp.jsxs)(tp.Fragment,{children:[(0,tp.jsx)("div",{ref:j,className:"flex-grow",children:(0,tp.jsx)(b,{progress:Y()?void 0:Math.min(100,x)})}),(0,tp.jsxs)("div",{className:"ml-1 flex w-24 items-center",children:[(0,tp.jsx)("div",{className:"text-foreground w-10 text-right",children:`${W()}%`}),J()]})]})})}),v[34]=b,v[35]=S.length,v[36]=W,v[37]=J,v[38]=V,v[39]=L,v[40]=x,v[41]=Y,v[42]=g):g=v[42];let q=g;if(v[43]!==X?(m=X(),v[43]=X,v[44]=m):m=v[44],v[45]!==q?(h=q(),v[45]=q,v[46]=h):h=v[46],v[47]!==S||v[48]!==H){let e;v[50]!==H?(e=e=>!H||e.getStatus()===ni.Failed,v[50]=H,v[51]=e):e=v[51],f=S.filter(e).map(nu),v[47]=S,v[48]=H,v[49]=f}else f=v[49];return v[52]!==f?(w=(0,tp.jsx)("div",{className:"ohif-scrollbar h-1 grow overflow-y-scroll px-2",children:f}),v[52]=f,v[53]=w):w=v[53],v[54]!==h||v[55]!==w?(B=(0,tp.jsxs)("div",{className:"flex grow flex-col overflow-hidden bg-background text-lg",children:[h,w]}),v[54]=h,v[55]=w,v[56]=B):B=v[56],v[57]!==m||v[58]!==B?(y=(0,tp.jsxs)("div",{className:"flex grow flex-col",children:[m,B]}),v[57]=m,v[58]=B,v[59]=y):y=v[59],y};function nw(e){let{getRootProps:t,getInputProps:A}=e;return(0,tp.jsx)("div",{...t(),children:(0,tp.jsxs)(tB.Button,{variant:"secondary",size:"lg",disabled:!1,onClick:nB,children:["Add folder",(0,tp.jsx)("input",{...A(),webkitdirectory:"true",mozdirectory:"true",style:{display:"none"}})]})})}function nB(){}function ny(e){let{getRootProps:t,getInputProps:A}=e;return(0,tp.jsx)("div",{...t(),children:(0,tp.jsxs)(tB.Button,{variant:"default",size:"lg",disabled:!1,onClick:nv,children:["Add files",(0,tp.jsx)("input",{...A(),style:{display:"none"}})]})})}function nv(){}let nS=function(e){let t,A,n,r=(0,D.c)(8),{dataSource:o,onComplete:i,onStarted:s}=e;r[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],r[0]=t):t=r[0];let[a,l]=(0,M.useState)(t);if(r[1]!==o||r[2]!==s){let e=async e=>{s(),l(e.map(e=>new na(e,o)))};A=()=>(0,tp.jsx)(ne,{onDrop:t=>{e(t)},noClick:!0,children:t=>{let{getRootProps:A}=t;return(0,tp.jsxs)("div",{...A(),className:"m-5 flex h-full flex-col items-center justify-center rounded-2xl border",style:{borderColor:"hsl(var(--muted-foreground) / 0.25)"},children:[(0,tp.jsxs)("div",{className:"flex gap-2",children:[(0,tp.jsx)(ne,{onDrop:e,noDrag:!0,children:ny}),(0,tp.jsx)(ne,{onDrop:e,noDrag:!0,children:nw})]}),(0,tp.jsx)("div",{className:"text-foreground pt-6 text-base",children:"or drag images or folders here"}),(0,tp.jsx)("div",{className:"text-muted-foreground pt-1 text-base",children:"(DICOM files supported)"})]})}}),r[1]=o,r[2]=s,r[3]=A}else A=r[3];let c=A;return r[4]!==a||r[5]!==c||r[6]!==i?(n=(0,tp.jsx)(tp.Fragment,{children:a.length?(0,tp.jsx)("div",{className:nr()("h-[calc(100vh-300px)]","min-h-[375px] flex flex-col bg-background select-none rounded-lg overflow-hidden"),children:(0,tp.jsx)(nf,{dicomFileUploaderArr:Array.from(a),onComplete:i})}):(0,tp.jsx)("div",{className:nr()("h-[480px]","min-h-[375px] flex flex-col bg-background select-none rounded-lg overflow-hidden"),children:c()})}),r[4]=a,r[5]=c,r[6]=i,r[7]=n):n=r[7],n},nC=Object.assign(nS,{containerClassName:"max-w-3xl"}),nI={cinePlayer:tB.CinePlayer,autoCineModalities:["OT","US"],"panelMeasurement.disableEditing":!1,onBeforeSRAddMeasurement:({measurement:e,StudyInstanceUID:t,SeriesInstanceUID:A})=>e,onBeforeDicomStore:({dicomDict:e,measurementData:t,naturalizedReport:A})=>e,dicomUploadComponent:nC,codingValues:{}},nb="image",nU={"ohif.captureViewportModal":function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,x,O,L,R,V,N,H=(0,D.c)(106),{onClose:_,defaultSize:k,fileTypeOptions:P,viewportId:j,showAnnotations:G,onAnnotationsChange:K,dimensions:W,warningState:Y,onDimensionsChange:z,onEnableViewport:X,onDisableViewport:J,onDownload:q,onCopyToClipboard:$}=e,[Z,ee]=(0,M.useState)(null),[et,eA]=(0,M.useState)(!0),[en,er]=(0,M.useState)(nb),[eo,ei]=(0,M.useState)("jpg"),{t:es}=tP("CaptureViewportModal");return H[0]!==J||H[1]!==X||H[2]!==Z?(t=()=>{if(Z)return X(Z),()=>{J()}},A=[J,X,Z],H[0]=J,H[1]=X,H[2]=Z,H[3]=t,H[4]=A):(t=H[3],A=H[4]),(0,M.useEffect)(t,A),H[5]!==W.height||H[6]!==W.width?(n={height:W.height,width:W.width,position:"relative"},H[5]=W.height,H[6]=W.width,H[7]=n):n=H[7],H[8]!==et||H[9]!==Y.enabled||H[10]!==Y.value?(r=Y.enabled&&et&&(0,tp.jsx)("div",{className:"text-foreground absolute left-1/2 bottom-[5px] z-[1000] -translate-x-1/2 whitespace-nowrap rounded bg-background p-3 text-xs font-bold",style:{fontSize:"12px"},children:Y.value}),H[8]=et,H[9]=Y.enabled,H[10]=Y.value,H[11]=r):r=H[11],H[12]!==n||H[13]!==r||H[14]!==j?(o=(0,tp.jsx)(tB.ImageModal.ImageVisual,{children:(0,tp.jsx)("div",{style:n,"data-viewport-uid":j,ref:ee,children:r})}),H[12]=n,H[13]=r,H[14]=j,H[15]=o):o=H[15],H[16]===Symbol.for("react.memo_cache_sentinel")?(i=e=>er(e.target.value),H[16]=i):i=H[16],H[17]!==es?(s=es("File name"),H[17]=es,H[18]=s):s=H[18],H[19]!==en||H[20]!==s?(a=(0,tp.jsx)(tB.ImageModal.Filename,{value:en,onChange:i,children:s}),H[19]=en,H[20]=s,H[21]=a):a=H[21],H[22]!==eo||H[23]!==P?(l=(0,tp.jsx)(tB.ImageModal.Filetype,{selected:eo,onSelect:ei,options:P}),H[22]=eo,H[23]=P,H[24]=l):l=H[24],H[25]!==a||H[26]!==l?(c=(0,tp.jsxs)("div",{className:"flex items-end space-x-2",children:[a,l]}),H[25]=a,H[26]=l,H[27]=c):c=H[27],H[28]!==W.width?(u=W.width.toString(),H[28]=W.width,H[29]=u):u=H[29],H[30]!==W.height?(d=W.height.toString(),H[30]=W.height,H[31]=d):d=H[31],H[32]!==es?(p=es("Width"),H[32]=es,H[33]=p):p=H[33],H[34]!==es?(g=es("Height"),H[34]=es,H[35]=g):g=H[35],H[36]!==es?(m=es("Width"),H[36]=es,H[37]=m):m=H[37],H[38]!==es?(h=es("Height"),H[38]=es,H[39]=h):h=H[39],H[40]!==k||H[41]!==W||H[42]!==z?(f=e=>{z({...W,width:parseInt(e.target.value)||k})},w=e=>{z({...W,height:parseInt(e.target.value)||k})},H[40]=k,H[41]=W,H[42]=z,H[43]=f,H[44]=w):(f=H[43],w=H[44]),H[45]===Symbol.for("react.memo_cache_sentinel")?(B="10000",y="10000",H[45]=B,H[46]=y):(B=H[45],y=H[46]),H[47]!==es?(v=es("Image size in pixels"),H[47]=es,H[48]=v):v=H[48],H[49]!==u||H[50]!==d||H[51]!==p||H[52]!==g||H[53]!==m||H[54]!==h||H[55]!==f||H[56]!==w||H[57]!==v?(S=(0,tp.jsx)(tB.ImageModal.ImageSize,{width:u,height:d,widthLabel:p,heightLabel:g,widthPlaceholder:m,heightPlaceholder:h,onWidthChange:f,onHeightChange:w,maxWidth:B,maxHeight:y,children:v}),H[49]=u,H[50]=d,H[51]=p,H[52]=g,H[53]=m,H[54]=h,H[55]=f,H[56]=w,H[57]=v,H[58]=S):S=H[58],H[59]!==es?(C=es("Include annotations"),H[59]=es,H[60]=C):C=H[60],H[61]!==K||H[62]!==G||H[63]!==C?(I=(0,tp.jsx)(tB.ImageModal.SwitchOption,{defaultChecked:G,checked:G,onCheckedChange:K,children:C}),H[61]=K,H[62]=G,H[63]=C,H[64]=I):I=H[64],H[65]!==et||H[66]!==es||H[67]!==Y.enabled?(b=Y.enabled&&(0,tp.jsx)(tB.ImageModal.SwitchOption,{defaultChecked:et,checked:et,onCheckedChange:eA,children:es("Include warning message")}),H[65]=et,H[66]=es,H[67]=Y.enabled,H[68]=b):b=H[68],H[69]!==es?(U=es("Common:Cancel"),H[69]=es,H[70]=U):U=H[70],H[71]!==_||H[72]!==U?(E=(0,tp.jsx)(tB.FooterAction.Secondary,{onClick:_,children:U}),H[71]=_,H[72]=U,H[73]=E):E=H[73],H[74]!==_||H[75]!==$||H[76]!==es?(F=async()=>{try{await $(),tB.toast.success(es("Image copied to clipboard")),_()}catch(e){tB.toast.error(es("Failed to copy image to clipboard")),console.error("Failed to copy to clipboard:",e)}},H[74]=_,H[75]=$,H[76]=es,H[77]=F):F=H[77],H[78]!==es?(Q=es("Copy to Clipboard"),H[78]=es,H[79]=Q):Q=H[79],H[80]!==F||H[81]!==Q?(T=(0,tp.jsx)(tB.FooterAction.Secondary,{onClick:F,children:Q}),H[80]=F,H[81]=Q,H[82]=T):T=H[82],H[83]!==eo||H[84]!==en||H[85]!==_||H[86]!==q?(x=()=>{q(en||nb,eo),_()},H[83]=eo,H[84]=en,H[85]=_,H[86]=q,H[87]=x):x=H[87],H[88]!==es?(O=es("Save Image"),H[88]=es,H[89]=O):O=H[89],H[90]!==x||H[91]!==O?(L=(0,tp.jsx)(tB.FooterAction.Primary,{onClick:x,children:O}),H[90]=x,H[91]=O,H[92]=L):L=H[92],H[93]!==E||H[94]!==T||H[95]!==L?(R=(0,tp.jsx)(tB.FooterAction,{className:"mt-2",children:(0,tp.jsxs)(tB.FooterAction.Right,{children:[E,T,L]})}),H[93]=E,H[94]=T,H[95]=L,H[96]=R):R=H[96],H[97]!==c||H[98]!==S||H[99]!==I||H[100]!==b||H[101]!==R?(V=(0,tp.jsxs)(tB.ImageModal.ImageOptions,{children:[c,S,I,b,R]}),H[97]=c,H[98]=S,H[99]=I,H[100]=b,H[101]=R,H[102]=V):V=H[102],H[103]!==V||H[104]!==o?(N=(0,tp.jsx)(tB.ImageModal,{children:(0,tp.jsxs)(tB.ImageModal.Body,{children:[o,V]})}),H[103]=V,H[104]=o,H[105]=N):N=H[105],N}},nE={"viewportDownload.warningMessage":{enabled:!0,value:"Not For Diagnostic Use"}};var nF=x(6974),nQ=x(933);function nT(e,t){let{viewports:A}=e.getState();return(A=(A=[...A.values()]).filter(e=>e.displaySetInstanceUIDs&&e.displaySetInstanceUIDs.length)).filter(e=>{let{displaySetInstanceUIDs:A}=e;for(let e of A){let A=t.getDisplaySetByUID(e);if(A&&A.isReconstructable)return!0;return!1}})}let nD=.4,nx=.4;function nO(e){return"RTSTRUCT"===e&&ej?"stack":void 0}let nM=e=>`VOI_SYNC_${e}`;var nL=x(1371),nR=x(7155);let nV=e=>{let{points:t}=e;if(!t||!Array.isArray(t)||0===t.length)return{center:[0,0,0],extent:{min:[0,0,0],max:[0,0,0]}};let A=[...t[0]],n=[...t[0]];for(let e=1;e<t.length;e++){let r=t[e];for(let e=0;e<3;e++)A[e]=Math.min(A[e],r[e]),n[e]=Math.max(n[e],r[e])}return{center:[(A[0]+n[0])/2,(A[1]+n[1])/2,(A[2]+n[2])/2],extent:{min:A,max:n}}},nN={flipHorizontal(e,t="toggle"){let A;A="toggle"===t?!e.getCamera().flipHorizontal:t,e.setCamera({flipHorizontal:A})},flipVertical(e,t="toggle"){let A;A="toggle"===t?!e.getCamera().flipVertical:t,e.setCamera({flipVertical:A})},invert(e){let{invert:t}=e.getProperties();e.setProperties({invert:!t})},rotate(e,t,A="apply"){if((0,es.rX)(e)){let A=e.getCamera(),n=t*Math.PI/180,r=nR.mat4.identity(new Float32Array(16));nR.mat4.rotate(r,r,n,A.viewPlaneNormal);let o=nR.vec3.transformMat4(nR.vec3.create(),A.viewUp,r);e.setCamera({viewUp:o});return}if(void 0!==e.getRotation){let{rotation:n}=e.getViewPresentation(),r="apply"===A?(n+t+360)%360:(()=>{let{flipHorizontal:A=!1,flipVertical:n=!1}=e.getViewPresentation();return(((+!!A+ +!!n)%2==1?-t:t)+360)%360})();e.setViewPresentation({rotation:r})}},reset(e){e.resetProperties?.(),e.resetCamera()},scaleBy(e,t){if((0,es.TF)(e))if(t){let{parallelScale:A}=e.getCamera();e.setCamera({parallelScale:A*(t>0?.9:1.1)})}else e.resetCamera()},getViewPlaneNormal:e=>e.getCamera().viewPlaneNormal,centerOnMeasurement(e,t){if(((e,t)=>{let{focalPoint:A,parallelScale:n}=e.getCamera(),{extent:r}=nV(t),{min:o,max:i}=r;for(let e=0;e<3;e++){let t=Math.abs(o[e]-A[e]),r=Math.abs(i[e]-A[e]);if(t>n||r>n)return!1}return!0})(e,t))return!1;let A=e.getCamera(),{focalPoint:n,position:r}=A,{center:o,extent:i}=nV(t),s=nR.vec3.sub(nR.vec3.create(),r,n);nR.vec3.add(s,s,o),e.setCamera({focalPoint:o,position:s});let a=nR.vec3.dist(i.min,i.max);if(a>A.parallelScale){let t=a/A.parallelScale;e.setZoom(e.getZoom()/t)}return!0},setWindowLevel(e,t){let{lower:A,upper:n}=L.utilities.windowLevel.toLowHighRange(t.windowWidth,t.windowCenter);(0,es.rX)(e)?e.setProperties({voiRange:{upper:n,lower:A}},t.volumeId):e.setProperties({voiRange:{upper:n,lower:A}})},setColormap(e,t){let{colormap:A,displaySetInstanceUID:n}=t;if((0,es.TF)(e)&&e.setProperties({colormap:A}),(0,es.tO)(e)){let t=e.getAllVolumeIds().find(e=>e.includes(n))??e.getVolumeId();e.setProperties({colormap:A},t)}},setPreset(e,t){e.setProperties({preset:t})},setVolumeRenderingQuality(e,t){let A=e.getActors()[0];if(!A)return;let{actor:n}=A,r=n.getMapper(),o=r.getInputData(),i=o.getDimensions(),s=o.getSpacing(),a=nR.vec3.length(nR.vec3.fromValues(i[0]*s[0],i[1]*s[1],i[2]*s[2])),l=s.reduce((e,t)=>e+t)/3,c=a/(l/=t>1?.5*t**2:1)+1;r.setMaximumSamplesPerRay(c),r.setSampleDistance(l)},shiftVolumeOpacityPoints(e,t){let A=e.getActors()[0];if(!A)return;let{actor:n}=A,r=n.getProperty().getScalarOpacity(0),o=[],i=r.getSize();for(let e=0;e<i;e++){let t=[0,0,0,0];r.getNodeValue(e,t),o.push(t)}o.forEach(e=>{e[0]+=t}),r.removeAllPoints(),o.forEach(e=>{r.addPoint(...e)})},setVolumeLighting(e,t){let A=e.getActors()[0];if(!A)return;let{actor:n}=A,r=n.getProperty();void 0!==t.shade&&r.setShade(t.shade),void 0!==t.ambient&&r.setAmbient(t.ambient),void 0!==t.diffuse&&r.setDiffuse(t.diffuse),void 0!==t.specular&&r.setSpecular(t.specular)}},nH={flipHorizontal(e,t="toggle"){let A=(0,nL.qU)(e),n="toggle"===t?!A.getViewState().flipHorizontal:t;A.setViewState({flipHorizontal:n})},flipVertical(e,t="toggle"){let A=(0,nL.qU)(e),n="toggle"===t?!A.getViewState().flipVertical:t;A.setViewState({flipVertical:n})},invert(e){let t=(0,nL.qU)(e),{invert:A}=t.getPresentation();t.setPresentation({invert:!A})},rotate(e,t,A="apply"){let n=(0,nL.qU)(e),r=n.getViewState(),o=r.rotation??0,i="apply"===A?(o+t+360)%360:(((+!!r.flipHorizontal+ +!!r.flipVertical)%2==1?-t:t)+360)%360;n.setViewState({rotation:i})},reset(e){e.resetDisplaySetPresentation?.(),e.resetViewState?.()},scaleBy(e,t){t?e.getZoom&&e.setZoom&&e.setZoom(e.getZoom()/(t>0?.9:1.1)):e.resetViewState?.({resetOrientation:!1})},getViewPlaneNormal:e=>(0,nL.qU)(e).getViewPlaneNormal(),centerOnMeasurement:()=>!1,setWindowLevel(e,t){let{lower:A,upper:n}=L.utilities.windowLevel.toLowHighRange(t.windowWidth,t.windowCenter);(0,nL.qU)(e).setPresentation({voiRange:{upper:n,lower:A}},t.displaySetInstanceUID)},setColormap(e,t){(0,nL.qU)(e).setPresentation({colormap:t.colormap},t.displaySetInstanceUID)},setPreset(e,t){let A=L.CONSTANTS.VIEWPORT_PRESETS?.find(e=>e.name===t),n=e.getDefaultActor?.()?.actor;A&&n&&L.utilities.applyPreset(n,A)},setVolumeRenderingQuality(e,t){nN.setVolumeRenderingQuality(e,t)},shiftVolumeOpacityPoints(e,t){nN.shiftVolumeOpacityPoints(e,t)},setVolumeLighting(e,t){nN.setVolumeLighting(e,t)}};function n_(e){return(0,nL.Is)(e)?nH:nN}let nk=e=>n_(e).getViewPlaneNormal(e);var nP=x(2140),nj=x(6739);x(1978);let nG=(0,nj.vt)()(e=>({selectedSegmentationsForViewport:{},type:"selectedSegmentationsForViewportId",setSelectedSegmentationsForViewport:(t,A)=>e(e=>({selectedSegmentationsForViewport:{...e.selectedSegmentationsForViewport,[t]:A}}),!1,"setSelectedSegmentationsForViewport"),clearSelectedSegmentationsForViewportStore:()=>e({selectedSegmentationsForViewport:{}},!1,"clearSelectedSegmentationsForViewportStore")}));var nK=function(e,t){return(nK=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var A in t)Object.prototype.hasOwnProperty.call(t,A)&&(e[A]=t[A])})(e,t)};function nW(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function A(){this.constructor=e}nK(e,t),e.prototype=null===t?Object.create(t):(A.prototype=t.prototype,new A)}var nY=function(){return(nY=Object.assign||function(e){for(var t,A=1,n=arguments.length;A<n;A++)for(var r in t=arguments[A])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function nz(e,t,A,n){return new(A||(A=Promise))(function(r,o){function i(e){try{a(n.next(e))}catch(e){o(e)}}function s(e){try{a(n.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?r(e.value):((t=e.value)instanceof A?t:new A(function(e){e(t)})).then(i,s)}a((n=n.apply(e,t||[])).next())})}function nX(e,t){var A,n,r,o,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){var a=[o,s];if(A)throw TypeError("Generator is already executing.");for(;i;)try{if(A=1,n&&(r=2&a[0]?n.return:a[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,a[1])).done)return r;switch(n=0,r&&(a=[2&a[0],r.value]),a[0]){case 0:case 1:r=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(r=(r=i.trys).length>0&&r[r.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!r||a[1]>r[0]&&a[1]<r[3])){i.label=a[1];break}if(6===a[0]&&i.label<r[1]){i.label=r[1],r=a;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(a);break}r[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],n=0}finally{A=r=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}}function nJ(e,t,A){if(A||2==arguments.length)for(var n,r=0,o=t.length;r<o;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||t)}for(var nq=function(){function e(e,t,A,n){this.left=e,this.top=t,this.width=A,this.height=n}return e.prototype.add=function(t,A,n,r){return new e(this.left+t,this.top+A,this.width+n,this.height+r)},e.fromClientRect=function(t,A){return new e(A.left+t.windowBounds.left,A.top+t.windowBounds.top,A.width,A.height)},e.fromDOMRectList=function(t,A){var n=Array.from(A).find(function(e){return 0!==e.width});return n?new e(n.left+t.windowBounds.left,n.top+t.windowBounds.top,n.width,n.height):e.EMPTY},e.EMPTY=new e(0,0,0,0),e}(),n$=function(e,t){return nq.fromClientRect(e,t.getBoundingClientRect())},nZ=function(e){var t=e.body,A=e.documentElement;if(!t||!A)throw Error("Unable to get document size");return new nq(0,0,Math.max(Math.max(t.scrollWidth,A.scrollWidth),Math.max(t.offsetWidth,A.offsetWidth),Math.max(t.clientWidth,A.clientWidth)),Math.max(Math.max(t.scrollHeight,A.scrollHeight),Math.max(t.offsetHeight,A.offsetHeight),Math.max(t.clientHeight,A.clientHeight)))},n0=function(e){for(var t=[],A=0,n=e.length;A<n;){var r=e.charCodeAt(A++);if(r>=55296&&r<=56319&&A<n){var o=e.charCodeAt(A++);(64512&o)==56320?t.push(((1023&r)<<10)+(1023&o)+65536):(t.push(r),A--)}else t.push(r)}return t},n1=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var A=e.length;if(!A)return"";for(var n=[],r=-1,o="";++r<A;){var i=e[r];i<=65535?n.push(i):(i-=65536,n.push((i>>10)+55296,i%1024+56320)),(r+1===A||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},n3="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n2="u"<typeof Uint8Array?[]:new Uint8Array(256),n4=0;n4<n3.length;n4++)n2[n3.charCodeAt(n4)]=n4;for(var n6="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n9="u"<typeof Uint8Array?[]:new Uint8Array(256),n8=0;n8<n6.length;n8++)n9[n6.charCodeAt(n8)]=n8;for(var n5=2112,n7=function(e,t,A){return e.slice?e.slice(t,A):new Uint16Array(Array.prototype.slice.call(e,t,A))},re=function(){function e(e,t,A,n,r,o){this.initialValue=e,this.errorValue=t,this.highStart=A,this.highValueIndex=n,this.index=r,this.data=o}return e.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e<this.highStart)return t=n5-32+(e>>11),t=this.index[t]+(e>>5&63),t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),rt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",rA="u"<typeof Uint8Array?[]:new Uint8Array(256),rn=0;rn<rt.length;rn++)rA[rt.charCodeAt(rn)]=rn;var rr=[9001,65288],ro=(n=Array.isArray(A=function(e){var t,A,n,r,o,i=.75*e.length,s=e.length,a=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var l="u">typeof ArrayBuffer&&"u">typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):Array(i),c=Array.isArray(l)?l:new Uint8Array(l);for(t=0;t<s;t+=4)A=n9[e.charCodeAt(t)],n=n9[e.charCodeAt(t+1)],r=n9[e.charCodeAt(t+2)],o=n9[e.charCodeAt(t+3)],c[a++]=A<<2|n>>4,c[a++]=(15&n)<<4|r>>2,c[a++]=(3&r)<<6|63&o;return l}("KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=="))?function(e){for(var t=e.length,A=[],n=0;n<t;n+=4)A.push(e[n+3]<<24|e[n+2]<<16|e[n+1]<<8|e[n]);return A}(A):new Uint32Array(A),o=n7(r=Array.isArray(A)?function(e){for(var t=e.length,A=[],n=0;n<t;n+=2)A.push(e[n+1]<<8|e[n]);return A}(A):new Uint16Array(A),12,n[4]/2),s=2===n[5]?n7(r,(24+n[4])/2):(i=Math.ceil((24+n[4])/4),n.slice?n.slice(i,void 0):new Uint32Array(Array.prototype.slice.call(n,i,void 0))),new re(n[0],n[1],n[2],n[3],o,s)),ri=[30,36],rs=[1,2,3,5],ra=[10,8],rl=[27,26],rc=rs.concat(ra),ru=[38,39,40,34,35],rd=[15,13],rp=function(e,t){void 0===t&&(t="strict");var A=[],n=[],r=[];return e.forEach(function(e,o){var i=ro.get(e);if(i>50?(r.push(!0),i-=50):r.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return n.push(o),A.push(16);if(4===i||11===i){if(0===o)return n.push(o),A.push(30);var s=A[o-1];return -1===rc.indexOf(s)?(n.push(n[o-1]),A.push(s)):(n.push(o),A.push(30))}if(n.push(o),31===i)return A.push("strict"===t?21:37);if(42===i||29===i)return A.push(30);if(43===i)if(e>=131072&&e<=196605||e>=196608&&e<=262141)return A.push(37);else return A.push(30);A.push(i)}),[n,A,r]},rg=function(e,t,A,n){var r=n[A];if(Array.isArray(e)?-1!==e.indexOf(r):e===r)for(var o=A;o<=n.length;){var i=n[++o];if(i===t)return!0;if(10!==i)break}if(10===r)for(var o=A;o>0;){var s=n[--o];if(Array.isArray(e)?-1!==e.indexOf(s):e===s)for(var a=A;a<=n.length;){var i=n[++a];if(i===t)return!0;if(10!==i)break}if(10!==s)break}return!1},rm=function(e,t){for(var A=e;A>=0;){var n=t[A];if(10!==n)return n;A--}return 0},rh=function(e,t,A,n,r){if(0===A[n])return"×";var o=n-1;if(Array.isArray(r)&&!0===r[o])return"×";var i=o-1,s=o+1,a=t[o],l=i>=0?t[i]:0,c=t[s];if(2===a&&3===c)return"×";if(-1!==rs.indexOf(a))return"!";if(-1!==rs.indexOf(c)||-1!==ra.indexOf(c))return"×";if(8===rm(o,t))return"÷";if(11===ro.get(e[o])||(32===a||33===a)&&11===ro.get(e[s])||7===a||7===c||9===a||-1===[10,13,15].indexOf(a)&&9===c||-1!==[17,18,19,24,28].indexOf(c)||22===rm(o,t)||rg(23,22,o,t)||rg([17,18],21,o,t)||rg(12,12,o,t))return"×";if(10===a)return"÷";if(23===a||23===c)return"×";if(16===c||16===a)return"÷";if(-1!==[13,15,21].indexOf(c)||14===a||36===l&&-1!==rd.indexOf(a)||28===a&&36===c||20===c||-1!==ri.indexOf(c)&&25===a||-1!==ri.indexOf(a)&&25===c||27===a&&-1!==[37,32,33].indexOf(c)||-1!==[37,32,33].indexOf(a)&&26===c||-1!==ri.indexOf(a)&&-1!==rl.indexOf(c)||-1!==rl.indexOf(a)&&-1!==ri.indexOf(c)||-1!==[27,26].indexOf(a)&&(25===c||-1!==[22,15].indexOf(c)&&25===t[s+1])||-1!==[22,15].indexOf(a)&&25===c||25===a&&-1!==[25,28,24].indexOf(c))return"×";if(-1!==[25,28,24,17,18].indexOf(c))for(var u=o;u>=0;){var d=t[u];if(25===d)return"×";if(-1!==[28,24].indexOf(d))u--;else break}if(-1!==[27,26].indexOf(c))for(var u=-1!==[17,18].indexOf(a)?i:o;u>=0;){var d=t[u];if(25===d)return"×";if(-1!==[28,24].indexOf(d))u--;else break}if(38===a&&-1!==[38,39,34,35].indexOf(c)||-1!==[39,34].indexOf(a)&&-1!==[39,40].indexOf(c)||-1!==[40,35].indexOf(a)&&40===c||-1!==ru.indexOf(a)&&-1!==[20,26].indexOf(c)||-1!==ru.indexOf(c)&&27===a||-1!==ri.indexOf(a)&&-1!==ri.indexOf(c)||24===a&&-1!==ri.indexOf(c)||-1!==ri.concat(25).indexOf(a)&&22===c&&-1===rr.indexOf(e[s])||-1!==ri.concat(25).indexOf(c)&&18===a)return"×";if(41===a&&41===c){for(var p=A[o],g=1;p>0;)if(41===t[--p])g++;else break;if(g%2!=0)return"×"}return 32===a&&33===c?"×":"÷"},rf=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var A=rp(e,t.lineBreak),n=A[0],r=A[1],o=A[2];return("break-all"===t.wordBreak||"break-word"===t.wordBreak)&&(r=r.map(function(e){return -1!==[25,30,42].indexOf(e)?37:e})),[n,r,"keep-all"===t.wordBreak?o.map(function(t,A){return t&&e[A]>=19968&&e[A]<=40959}):void 0]},rw=function(){function e(e,t,A,n){this.codePoints=e,this.required="!"===t,this.start=A,this.end=n}return e.prototype.slice=function(){return n1.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),rB=function(e,t){var A=n0(e),n=rf(A,t),r=n[0],o=n[1],i=n[2],s=A.length,a=0,l=0;return{next:function(){if(l>=s)return{done:!0,value:null};for(var e="×";l<s&&"×"===(e=rh(A,o,r,++l,i)););if("×"!==e||l===s){var t=new rw(A,e,a,l);return a=l,{value:t,done:!1}}return{done:!0,value:null}}}},ry=function(e){return e>=48&&e<=57},rv=function(e){return ry(e)||e>=65&&e<=70||e>=97&&e<=102},rS=function(e){return e>=97&&e<=122||e>=65&&e<=90},rC=function(e){return 10===e||9===e||32===e},rI=function(e){return rS(e)||e>=128||95===e},rb=function(e){return rI(e)||ry(e)||45===e},rU=function(e,t){return 92===e&&10!==t},rE=function(e,t,A){return 45===e?rI(t)||rU(t,A):!!(rI(e)||92===e&&rU(e,t))||!1},rF=function(e,t,A){return 43===e||45===e?!!ry(t)||46===t&&ry(A):46===e?ry(t):ry(e)},rQ=function(e){var t=0,A=1;(43===e[0]||45===e[t])&&(45===e[t]&&(A=-1),t++);for(var n=[];ry(e[t]);)n.push(e[t++]);var r=n.length?parseInt(n1.apply(void 0,n),10):0;46===e[t]&&t++;for(var o=[];ry(e[t]);)o.push(e[t++]);var i=o.length,s=i?parseInt(n1.apply(void 0,o),10):0;(69===e[t]||101===e[t])&&t++;var a=1;(43===e[t]||45===e[t])&&(45===e[t]&&(a=-1),t++);for(var l=[];ry(e[t]);)l.push(e[t++]);return A*(r+s*Math.pow(10,-i))*Math.pow(10,a*(l.length?parseInt(n1.apply(void 0,l),10):0))},rT={type:2},rD={type:3},rx={type:4},rO={type:13},rM={type:8},rL={type:21},rR={type:9},rV={type:10},rN={type:11},rH={type:12},r_={type:14},rk={type:23},rP={type:1},rj={type:25},rG={type:24},rK={type:26},rW={type:27},rY={type:28},rz={type:29},rX={type:31},rJ={type:32},rq=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(n0(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==rJ;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),A=this.peekCodePoint(1),n=this.peekCodePoint(2);if(rb(t)||rU(A,n)){var r=rE(t,A,n)?2:1,o=this.consumeName();return{type:5,value:o,flags:r}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rO;break;case 39:return this.consumeStringToken(39);case 40:return rT;case 41:return rD;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),r_;break;case 43:case 46:if(rF(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return rx;case 45:var i=this.peekCodePoint(0),s=this.peekCodePoint(1);if(rF(e,i,s))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(rE(e,i,s))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===i&&62===s)return this.consumeCodePoint(),this.consumeCodePoint(),rG;break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var a=this.consumeCodePoint();if(42===a&&47===(a=this.consumeCodePoint())||-1===a)return this.consumeToken()}break;case 58:return rK;case 59:return rW;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),rj;break;case 64:if(rE(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var o=this.consumeName();return{type:7,value:o}}break;case 91:return rY;case 92:if(rU(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return rz;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rM;break;case 123:return rN;case 125:return rH;case 117:case 85:var l=this.peekCodePoint(0),c=this.peekCodePoint(1);return 43===l&&(rv(c)||63===c)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rR;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),rL;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rV;break;case -1:return rJ}return rC(e)?(this.consumeWhiteSpace(),rX):ry(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):rI(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:n1(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();rv(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var A=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),A=!0;if(A){var n=parseInt(n1.apply(void 0,e.map(function(e){return 63===e?48:e})),16),r=parseInt(n1.apply(void 0,e.map(function(e){return 63===e?70:e})),16);return{type:30,start:n,end:r}}var o=parseInt(n1.apply(void 0,e),16);if(!(45===this.peekCodePoint(0)&&rv(this.peekCodePoint(1))))return{type:30,start:o,end:o};this.consumeCodePoint(),t=this.consumeCodePoint();for(var i=[];rv(t)&&i.length<6;)i.push(t),t=this.consumeCodePoint();var r=parseInt(n1.apply(void 0,i),16);return{type:30,start:o,end:r}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var A=this.consumeStringToken(this.consumeCodePoint());return 0===A.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:A.value}):(this.consumeBadUrlRemnants(),rk)}for(;;){var n,r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:n1.apply(void 0,e)};if(rC(r)){if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))return this.consumeCodePoint(),{type:22,value:n1.apply(void 0,e)};return this.consumeBadUrlRemnants(),rk}if(34===r||39===r||40===r||(n=r)>=0&&n<=8||11===n||n>=14&&n<=31||127===n)return this.consumeBadUrlRemnants(),rk;if(92===r)if(!rU(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),rk;else e.push(this.consumeEscapedCodePoint());else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;rC(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;rU(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var A=Math.min(5e4,e);t+=n1.apply(void 0,this._value.splice(0,A)),e-=A}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",A=0;;){var n=this._value[A];if(-1===n||void 0===n||n===e)return{type:0,value:t+=this.consumeStringSlice(A)};if(10===n)return this._value.splice(0,A),rP;if(92===n){var r=this._value[A+1];-1!==r&&void 0!==r&&(10===r?(t+=this.consumeStringSlice(A),A=-1,this._value.shift()):rU(n,r)&&(t+=this.consumeStringSlice(A),t+=n1(this.consumeEscapedCodePoint()),A=-1))}A++}},e.prototype.consumeNumber=function(){var e=[],t=4,A=this.peekCodePoint(0);for((43===A||45===A)&&e.push(this.consumeCodePoint());ry(this.peekCodePoint(0));)e.push(this.consumeCodePoint());A=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(46===A&&ry(n))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;ry(this.peekCodePoint(0));)e.push(this.consumeCodePoint());A=this.peekCodePoint(0),n=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((69===A||101===A)&&((43===n||45===n)&&ry(r)||ry(n)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;ry(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[rQ(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],A=e[1],n=this.peekCodePoint(0);return rE(n,this.peekCodePoint(1),this.peekCodePoint(2))?{type:15,number:t,flags:A,unit:this.consumeName()}:37===n?(this.consumeCodePoint(),{type:16,number:t,flags:A}):{type:17,number:t,flags:A}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(rv(e)){for(var t=n1(e);rv(this.peekCodePoint(0))&&t.length<6;)t+=n1(this.consumeCodePoint());rC(this.peekCodePoint(0))&&this.consumeCodePoint();var A=parseInt(t,16);return 0===A||A>=55296&&A<=57343||A>1114111?65533:A}return -1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(rb(t))e+=n1(t);else{if(!rU(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=n1(this.consumeEscapedCodePoint())}}},e}(),r$=function(){function e(e){this._tokens=e}return e.create=function(t){var A=new rq;return A.write(t),new e(A.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do e=this.consumeToken();while(31===e.type)if(32===e.type)return t;throw SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},A=this.consumeToken();;){if(32===A.type||r8(A,e))return t;this.reconsumeToken(A),t.values.push(this.consumeComponentValue()),A=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var A=this.consumeToken();if(32===A.type||3===A.type)return t;this.reconsumeToken(A),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?rJ:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),rZ=function(e){return 15===e.type},r0=function(e){return 17===e.type},r1=function(e){return 20===e.type},r3=function(e){return 0===e.type},r2=function(e,t){return r1(e)&&e.value===t},r4=function(e){return 31!==e.type},r6=function(e){return 31!==e.type&&4!==e.type},r9=function(e){var t=[],A=[];return e.forEach(function(e){if(4===e.type){if(0===A.length)throw Error("Error parsing function args, zero tokens for arg");t.push(A),A=[];return}31!==e.type&&A.push(e)}),A.length&&t.push(A),t},r8=function(e,t){return 11===t&&12===e.type||28===t&&29===e.type||2===t&&3===e.type},r5=function(e){return 17===e.type||15===e.type},r7=function(e){return 16===e.type||r5(e)},oe=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},ot={type:17,number:0,flags:4},oA={type:16,number:50,flags:4},on={type:16,number:100,flags:4},or=function(e,t,A){var n=e[0],r=e[1];return[oo(n,t),oo(void 0!==r?r:n,A)]},oo=function(e,t){if(16===e.type)return e.number/100*t;if(rZ(e))switch(e.unit){case"rem":case"em":return 16*e.number}return e.number},oi="grad",os="turn",oa=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case oi:return Math.PI/200*t.number;case"rad":return t.number;case os:return 2*Math.PI*t.number}throw Error("Unsupported angle type")},ol=function(e){return 15===e.type&&("deg"===e.unit||e.unit===oi||"rad"===e.unit||e.unit===os)},oc=function(e){switch(e.filter(r1).map(function(e){return e.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[ot,ot];case"to top":case"bottom":return ou(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[ot,on];case"to right":case"left":return ou(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[on,on];case"to bottom":case"top":return ou(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[on,ot];case"to left":case"right":return ou(270)}return 0},ou=function(e){return Math.PI*e/180},od=function(e,t){if(18===t.type){var A=oy[t.name];if(void 0===A)throw Error('Attempting to parse an unsupported color function "'+t.name+'"');return A(e,t.values)}if(5===t.type){if(3===t.value.length){var n=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);return om(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),1)}if(4===t.value.length){var n=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3),i=t.value.substring(3,4);return om(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),parseInt(i+i,16)/255)}if(6===t.value.length){var n=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6);return om(parseInt(n,16),parseInt(r,16),parseInt(o,16),1)}if(8===t.value.length){var n=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6),i=t.value.substring(6,8);return om(parseInt(n,16),parseInt(r,16),parseInt(o,16),parseInt(i,16)/255)}}if(20===t.type){var s=oS[t.value.toUpperCase()];if(void 0!==s)return s}return oS.TRANSPARENT},op=function(e){return(255&e)==0},og=function(e){var t=255&e,A=255&e>>8,n=255&e>>16,r=255&e>>24;return t<255?"rgba("+r+","+n+","+A+","+t/255+")":"rgb("+r+","+n+","+A+")"},om=function(e,t,A,n){return(e<<24|t<<16|A<<8|(0|Math.round(255*n)))>>>0},oh=function(e,t){if(17===e.type)return e.number;if(16===e.type){var A=3===t?1:255;return 3===t?e.number/100*A:Math.round(e.number/100*A)}return 0},of=function(e,t){var A=t.filter(r6);if(3===A.length){var n=A.map(oh),r=n[0],o=n[1],i=n[2];return om(r,o,i,1)}if(4===A.length){var s=A.map(oh),r=s[0],o=s[1],i=s[2];return om(r,o,i,s[3])}return 0};function ow(e,t,A){return(A<0&&(A+=1),A>=1&&(A-=1),A<1/6)?(t-e)*A*6+e:A<.5?t:A<2/3?(t-e)*6*(2/3-A)+e:e}var oB=function(e,t){var A=t.filter(r6),n=A[0],r=A[1],o=A[2],i=A[3],s=(17===n.type?ou(n.number):oa(e,n))/(2*Math.PI),a=r7(r)?r.number/100:0,l=r7(o)?o.number/100:0,c=void 0!==i&&r7(i)?oo(i,1):1;if(0===a)return om(255*l,255*l,255*l,1);var u=l<=.5?l*(a+1):l+a-l*a,d=2*l-u;return om(255*ow(d,u,s+1/3),255*ow(d,u,s),255*ow(d,u,s-1/3),c)},oy={hsl:oB,hsla:oB,rgb:of,rgba:of},ov=function(e,t){return od(e,r$.create(t).parseComponentValue())},oS={ALICEBLUE:0xf0f8ffff,ANTIQUEWHITE:0xfaebd7ff,AQUA:0xffffff,AQUAMARINE:0x7fffd4ff,AZURE:0xf0ffffff,BEIGE:0xf5f5dcff,BISQUE:0xffe4c4ff,BLACK:255,BLANCHEDALMOND:0xffebcdff,BLUE:65535,BLUEVIOLET:0x8a2be2ff,BROWN:0xa52a2aff,BURLYWOOD:0xdeb887ff,CADETBLUE:0x5f9ea0ff,CHARTREUSE:0x7fff00ff,CHOCOLATE:0xd2691eff,CORAL:0xff7f50ff,CORNFLOWERBLUE:0x6495edff,CORNSILK:0xfff8dcff,CRIMSON:0xdc143cff,CYAN:0xffffff,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:0xb886bbff,DARKGRAY:0xa9a9a9ff,DARKGREEN:6553855,DARKGREY:0xa9a9a9ff,DARKKHAKI:0xbdb76bff,DARKMAGENTA:0x8b008bff,DARKOLIVEGREEN:0x556b2fff,DARKORANGE:0xff8c00ff,DARKORCHID:0x9932ccff,DARKRED:0x8b0000ff,DARKSALMON:0xe9967aff,DARKSEAGREEN:0x8fbc8fff,DARKSLATEBLUE:0x483d8bff,DARKSLATEGRAY:0x2f4f4fff,DARKSLATEGREY:0x2f4f4fff,DARKTURQUOISE:0xced1ff,DARKVIOLET:0x9400d3ff,DEEPPINK:0xff1493ff,DEEPSKYBLUE:0xbfffff,DIMGRAY:0x696969ff,DIMGREY:0x696969ff,DODGERBLUE:0x1e90ffff,FIREBRICK:0xb22222ff,FLORALWHITE:0xfffaf0ff,FORESTGREEN:0x228b22ff,FUCHSIA:0xff00ffff,GAINSBORO:0xdcdcdcff,GHOSTWHITE:0xf8f8ffff,GOLD:0xffd700ff,GOLDENROD:0xdaa520ff,GRAY:0x808080ff,GREEN:8388863,GREENYELLOW:0xadff2fff,GREY:0x808080ff,HONEYDEW:0xf0fff0ff,HOTPINK:0xff69b4ff,INDIANRED:0xcd5c5cff,INDIGO:0x4b0082ff,IVORY:0xfffff0ff,KHAKI:0xf0e68cff,LAVENDER:0xe6e6faff,LAVENDERBLUSH:0xfff0f5ff,LAWNGREEN:0x7cfc00ff,LEMONCHIFFON:0xfffacdff,LIGHTBLUE:0xadd8e6ff,LIGHTCORAL:0xf08080ff,LIGHTCYAN:0xe0ffffff,LIGHTGOLDENRODYELLOW:0xfafad2ff,LIGHTGRAY:0xd3d3d3ff,LIGHTGREEN:0x90ee90ff,LIGHTGREY:0xd3d3d3ff,LIGHTPINK:0xffb6c1ff,LIGHTSALMON:0xffa07aff,LIGHTSEAGREEN:0x20b2aaff,LIGHTSKYBLUE:0x87cefaff,LIGHTSLATEGRAY:0x778899ff,LIGHTSLATEGREY:0x778899ff,LIGHTSTEELBLUE:0xb0c4deff,LIGHTYELLOW:0xffffe0ff,LIME:0xff00ff,LIMEGREEN:0x32cd32ff,LINEN:0xfaf0e6ff,MAGENTA:0xff00ffff,MAROON:0x800000ff,MEDIUMAQUAMARINE:0x66cdaaff,MEDIUMBLUE:52735,MEDIUMORCHID:0xba55d3ff,MEDIUMPURPLE:0x9370dbff,MEDIUMSEAGREEN:0x3cb371ff,MEDIUMSLATEBLUE:0x7b68eeff,MEDIUMSPRINGGREEN:0xfa9aff,MEDIUMTURQUOISE:0x48d1ccff,MEDIUMVIOLETRED:0xc71585ff,MIDNIGHTBLUE:0x191970ff,MINTCREAM:0xf5fffaff,MISTYROSE:0xffe4e1ff,MOCCASIN:0xffe4b5ff,NAVAJOWHITE:0xffdeadff,NAVY:33023,OLDLACE:0xfdf5e6ff,OLIVE:0x808000ff,OLIVEDRAB:0x6b8e23ff,ORANGE:0xffa500ff,ORANGERED:0xff4500ff,ORCHID:0xda70d6ff,PALEGOLDENROD:0xeee8aaff,PALEGREEN:0x98fb98ff,PALETURQUOISE:0xafeeeeff,PALEVIOLETRED:0xdb7093ff,PAPAYAWHIP:0xffefd5ff,PEACHPUFF:0xffdab9ff,PERU:0xcd853fff,PINK:0xffc0cbff,PLUM:0xdda0ddff,POWDERBLUE:0xb0e0e6ff,PURPLE:0x800080ff,REBECCAPURPLE:0x663399ff,RED:0xff0000ff,ROSYBROWN:0xbc8f8fff,ROYALBLUE:0x4169e1ff,SADDLEBROWN:0x8b4513ff,SALMON:0xfa8072ff,SANDYBROWN:0xf4a460ff,SEAGREEN:0x2e8b57ff,SEASHELL:0xfff5eeff,SIENNA:0xa0522dff,SILVER:0xc0c0c0ff,SKYBLUE:0x87ceebff,SLATEBLUE:0x6a5acdff,SLATEGRAY:0x708090ff,SLATEGREY:0x708090ff,SNOW:0xfffafaff,SPRINGGREEN:0xff7fff,STEELBLUE:0x4682b4ff,TAN:0xd2b48cff,TEAL:8421631,THISTLE:0xd8bfd8ff,TOMATO:0xff6347ff,TRANSPARENT:0,TURQUOISE:0x40e0d0ff,VIOLET:0xee82eeff,WHEAT:0xf5deb3ff,WHITE:0xffffffff,WHITESMOKE:0xf5f5f5ff,YELLOW:0xffff00ff,YELLOWGREEN:0x9acd32ff},oC={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(r1(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},oI={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ob=function(e,t){var A=od(e,t[0]),n=t[1];return n&&r7(n)?{color:A,stop:n}:{color:A,stop:null}},oU=function(e,t){var A=e[0],n=e[e.length-1];null===A.stop&&(A.stop=ot),null===n.stop&&(n.stop=on);for(var r=[],o=0,i=0;i<e.length;i++){var s=e[i].stop;if(null!==s){var a=oo(s,t);a>o?r.push(a):r.push(o),o=a}else r.push(null)}for(var l=null,i=0;i<r.length;i++){var c=r[i];if(null===c)null===l&&(l=i);else if(null!==l){for(var u=i-l,d=(c-r[l-1])/(u+1),p=1;p<=u;p++)r[l+p-1]=d*p;l=null}}return e.map(function(e,A){return{color:e.color,stop:Math.max(Math.min(1,r[A]/t),0)}})},oE=function(e,t,A){var n=t/2,r=A/2,o=oo(e[0],t)-n;return(Math.atan2(r-oo(e[1],A),o)+2*Math.PI)%(2*Math.PI)},oF=function(e,t,A){var n="number"==typeof e?e:oE(e,t,A),r=Math.abs(t*Math.sin(n))+Math.abs(A*Math.cos(n)),o=t/2,i=A/2,s=r/2,a=Math.sin(n-Math.PI/2)*s,l=Math.cos(n-Math.PI/2)*s;return[r,o-l,o+l,i-a,i+a]},oQ=function(e,t){return Math.sqrt(e*e+t*t)},oT=function(e,t,A,n,r){return[[0,0],[0,t],[e,0],[e,t]].reduce(function(e,t){var o=oQ(A-t[0],n-t[1]);return(r?o<e.optimumDistance:o>e.optimumDistance)?{optimumCorner:t,optimumDistance:o}:e},{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},oD=function(e,t,A,n,r){var o=0,i=0;switch(e.size){case 0:0===e.shape?o=i=Math.min(Math.abs(t),Math.abs(t-n),Math.abs(A),Math.abs(A-r)):1===e.shape&&(o=Math.min(Math.abs(t),Math.abs(t-n)),i=Math.min(Math.abs(A),Math.abs(A-r)));break;case 2:if(0===e.shape)o=i=Math.min(oQ(t,A),oQ(t,A-r),oQ(t-n,A),oQ(t-n,A-r));else if(1===e.shape){var s=Math.min(Math.abs(A),Math.abs(A-r))/Math.min(Math.abs(t),Math.abs(t-n)),a=oT(n,r,t,A,!0),l=a[0],c=a[1];o=oQ(l-t,(c-A)/s),i=s*o}break;case 1:0===e.shape?o=i=Math.max(Math.abs(t),Math.abs(t-n),Math.abs(A),Math.abs(A-r)):1===e.shape&&(o=Math.max(Math.abs(t),Math.abs(t-n)),i=Math.max(Math.abs(A),Math.abs(A-r)));break;case 3:if(0===e.shape)o=i=Math.max(oQ(t,A),oQ(t,A-r),oQ(t-n,A),oQ(t-n,A-r));else if(1===e.shape){var s=Math.max(Math.abs(A),Math.abs(A-r))/Math.max(Math.abs(t),Math.abs(t-n)),u=oT(n,r,t,A,!1),l=u[0],c=u[1];o=oQ(l-t,(c-A)/s),i=s*o}}return Array.isArray(e.size)&&(o=oo(e.size[0],n),i=2===e.size.length?oo(e.size[1],r):o),[o,i]},ox=function(e,t){var A=ou(180),n=[];return r9(t).forEach(function(t,r){if(0===r){var o=t[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value)){A=oc(t);return}if(ol(o)){A=(oa(e,o)+ou(270))%ou(360);return}}var i=ob(e,t);n.push(i)}),{angle:A,stops:n,type:1}},oO="closest-side",oM="farthest-side",oL="closest-corner",oR="farthest-corner",oV="circle",oN="ellipse",oH="cover",o_="contain",ok=function(e,t){var A=0,n=3,r=[],o=[];return r9(t).forEach(function(t,i){var s=!0;if(0===i?s=t.reduce(function(e,t){if(r1(t))switch(t.value){case"center":return o.push(oA),!1;case"top":case"left":return o.push(ot),!1;case"right":case"bottom":return o.push(on),!1}else if(r7(t)||r5(t))return o.push(t),!1;return e},s):1===i&&(s=t.reduce(function(e,t){if(r1(t))switch(t.value){case oV:return A=0,!1;case oN:return A=1,!1;case o_:case oO:return n=0,!1;case oM:return n=1,!1;case oL:return n=2,!1;case oH:case oR:return n=3,!1}else if(r5(t)||r7(t))return Array.isArray(n)||(n=[]),n.push(t),!1;return e},s)),s){var a=ob(e,t);r.push(a)}}),{size:n,shape:A,stops:r,position:o,type:2}},oP=function(e,t){if(22===t.type){var A={url:t.value,type:0};return e.cache.addImage(t.value),A}if(18===t.type){var n=oj[t.name];if(void 0===n)throw Error('Attempting to parse an unsupported image function "'+t.name+'"');return n(e,t.values)}throw Error("Unsupported image type "+t.type)},oj={"linear-gradient":function(e,t){var A=ou(180),n=[];return r9(t).forEach(function(t,r){if(0===r){var o=t[0];if(20===o.type&&"to"===o.value){A=oc(t);return}if(ol(o)){A=oa(e,o);return}}var i=ob(e,t);n.push(i)}),{angle:A,stops:n,type:1}},"-moz-linear-gradient":ox,"-ms-linear-gradient":ox,"-o-linear-gradient":ox,"-webkit-linear-gradient":ox,"radial-gradient":function(e,t){var A=0,n=3,r=[],o=[];return r9(t).forEach(function(t,i){var s=!0;if(0===i){var a=!1;s=t.reduce(function(e,t){if(a)if(r1(t))switch(t.value){case"center":o.push(oA);break;case"top":case"left":o.push(ot);break;case"right":case"bottom":o.push(on)}else(r7(t)||r5(t))&&o.push(t);else if(r1(t))switch(t.value){case oV:return A=0,!1;case oN:return A=1,!1;case"at":return a=!0,!1;case oO:return n=0,!1;case oH:case oM:return n=1,!1;case o_:case oL:return n=2,!1;case oR:return n=3,!1}else if(r5(t)||r7(t))return Array.isArray(n)||(n=[]),n.push(t),!1;return e},s)}if(s){var l=ob(e,t);r.push(l)}}),{size:n,shape:A,stops:r,position:o,type:2}},"-moz-radial-gradient":ok,"-ms-radial-gradient":ok,"-o-radial-gradient":ok,"-webkit-radial-gradient":ok,"-webkit-gradient":function(e,t){var A=ou(180),n=[],r=1;return r9(t).forEach(function(t,A){var o=t[0];if(0===A){if(r1(o)&&"linear"===o.value){r=1;return}else if(r1(o)&&"radial"===o.value){r=2;return}}if(18===o.type){if("from"===o.name){var i=od(e,o.values[0]);n.push({stop:ot,color:i})}else if("to"===o.name){var i=od(e,o.values[0]);n.push({stop:on,color:i})}else if("color-stop"===o.name){var s=o.values.filter(r6);if(2===s.length){var i=od(e,s[1]),a=s[0];r0(a)&&n.push({stop:{type:16,number:100*a.number,flags:a.flags},color:i})}}}}),1===r?{angle:(A+ou(180))%ou(360),stops:n,type:r}:{size:3,shape:0,stops:n,position:[],type:r}}},oG={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var A=t[0];return 20===A.type&&"none"===A.value?[]:t.filter(function(e){var t;return r6(e)&&(20!==(t=e).type||"none"!==t.value)&&(18!==t.type||!!oj[t.name])}).map(function(t){return oP(e,t)})}},oK={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(r1(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},oW={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return r9(t).map(function(e){return e.filter(r7)}).map(oe)}},oY={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return r9(t).map(function(e){return e.filter(r1).map(function(e){return e.value}).join(" ")}).map(oz)}},oz=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};(a=C||(C={})).AUTO="auto",a.CONTAIN="contain",a.COVER="cover";var oX={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return r9(t).map(function(e){return e.filter(oJ)})}},oJ=function(e){return r1(e)||r7(e)},oq=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},o$=oq("top"),oZ=oq("right"),o0=oq("bottom"),o1=oq("left"),o3=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return oe(t.filter(r7))}}},o2=o3("top-left"),o4=o3("top-right"),o6=o3("bottom-right"),o9=o3("bottom-left"),o8=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},o5=o8("top"),o7=o8("right"),ie=o8("bottom"),it=o8("left"),iA=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return rZ(t)?t.number:0}}},ir=iA("top"),io=iA("right"),ii=iA("bottom"),is=iA("left"),ia={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},il={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return+("rtl"===t)}},ic={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(r1).reduce(function(e,t){return e|iu(t.value)},0)}},iu=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 0x1000000;case"inline-block":return 0x2000000;case"inline-list-item":return 0x4000000;case"inline-table":return 0x8000000;case"inline-flex":return 0x10000000;case"inline-grid":return 0x20000000}return 0},id={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},ip={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};(l=I||(I={})).NORMAL="normal",l.STRICT="strict";var ig={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?I.STRICT:I.NORMAL}},im={name:"line-height",initialValue:"normal",prefix:!1,type:4},ih=function(e,t){return r1(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:r7(e)?oo(e,t):t},iw={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:oP(e,t)}},iB={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return+("inside"!==t)}},iy={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return -1}}},iv=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},iS=iv("top"),iC=iv("right"),iI=iv("bottom"),ib=iv("left"),iU={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(r1).map(function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}})}},iE={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},iF=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},iQ=iF("top"),iT=iF("right"),iD=iF("bottom"),ix=iF("left"),iO={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},iM={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},iL={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&r2(t[0],"none")?[]:r9(t).map(function(t){for(var A={color:oS.TRANSPARENT,offsetX:ot,offsetY:ot,blur:ot},n=0,r=0;r<t.length;r++){var o=t[r];r5(o)?(0===n?A.offsetX=o:1===n?A.offsetY=o:A.blur=o,n++):A.color=od(e,o)}return A})}},iR={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},iV={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(e,t){if(20===t.type&&"none"===t.value)return null;if(18===t.type){var A=iN[t.name];if(void 0===A)throw Error('Attempting to parse an unsupported transform function "'+t.name+'"');return A(t.values)}return null}},iN={matrix:function(e){var t=e.filter(function(e){return 17===e.type}).map(function(e){return e.number});return 6===t.length?t:null},matrix3d:function(e){var t=e.filter(function(e){return 17===e.type}).map(function(e){return e.number}),A=t[0],n=t[1];t[2],t[3];var r=t[4],o=t[5];t[6],t[7],t[8],t[9],t[10],t[11];var i=t[12],s=t[13];return t[14],t[15],16===t.length?[A,n,r,o,i,s]:null}},iH={type:16,number:50,flags:4},i_=[iH,iH],ik={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(e,t){var A=t.filter(r7);return 2!==A.length?i_:[A[0],A[1]]}},iP={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"hidden":return 1;case"collapse":return 2;default:return 0}}};(c=b||(b={})).NORMAL="normal",c.BREAK_ALL="break-all",c.KEEP_ALL="keep-all";for(var ij={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){switch(t){case"break-all":return b.BREAK_ALL;case"keep-all":return b.KEEP_ALL;default:return b.NORMAL}}},iG={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(e,t){if(20===t.type)return{auto:!0,order:0};if(r0(t))return{auto:!1,order:t.number};throw Error("Invalid z-index number parsed")}},iK=function(e,t){if(15===t.type)switch(t.unit.toLowerCase()){case"s":return 1e3*t.number;case"ms":return t.number}throw Error("Unsupported time type")},iW={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(e,t){return r0(t)?t.number:1}},iY={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},iz={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(e,t){return t.filter(r1).map(function(e){switch(e.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(e){return 0!==e})}},iX={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(e,t){var A=[],n=[];return t.forEach(function(e){switch(e.type){case 20:case 0:A.push(e.value);break;case 17:A.push(e.number.toString());break;case 4:n.push(A.join(" ")),A.length=0}}),A.length&&n.push(A.join(" ")),n.map(function(e){return -1===e.indexOf(" ")?e:"'"+e+"'"})}},iJ={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},iq={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(e,t){return r0(t)?t.number:r1(t)&&"bold"===t.value?700:400}},i$={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return t.filter(r1).map(function(e){return e.value})}},iZ={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){switch(t){case"oblique":return"oblique";case"italic":return"italic";default:return"normal"}}},i0=function(e,t){return(e&t)!=0},i1={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var A=t[0];return 20===A.type&&"none"===A.value?[]:t}},i3={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(e,t){if(0===t.length)return null;var A=t[0];if(20===A.type&&"none"===A.value)return null;for(var n=[],r=t.filter(r4),o=0;o<r.length;o++){var i=r[o],s=r[o+1];if(20===i.type){var a=s&&r0(s)?s.number:1;n.push({counter:i.value,increment:a})}}return n}},i2={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(e,t){if(0===t.length)return[];for(var A=[],n=t.filter(r4),r=0;r<n.length;r++){var o=n[r],i=n[r+1];if(r1(o)&&"none"!==o.value){var s=i&&r0(i)?i.number:0;A.push({counter:o.value,reset:s})}}return A}},i4={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(e,t){return t.filter(rZ).map(function(t){return iK(e,t)})}},i6={name:"quotes",initialValue:"none",prefix:!0,type:1,parse:function(e,t){if(0===t.length)return null;var A=t[0];if(20===A.type&&"none"===A.value)return null;var n=[],r=t.filter(r3);if(r.length%2!=0)return null;for(var o=0;o<r.length;o+=2){var i=r[o].value,s=r[o+1].value;n.push({open:i,close:s})}return n}},i9=function(e,t,A){if(!e)return"";var n=e[Math.min(t,e.length-1)];return n?A?n.open:n.close:""},i8={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&r2(t[0],"none")?[]:r9(t).map(function(t){for(var A={color:255,offsetX:ot,offsetY:ot,blur:ot,spread:ot,inset:!1},n=0,r=0;r<t.length;r++){var o=t[r];r2(o,"inset")?A.inset=!0:r5(o)?(0===n?A.offsetX=o:1===n?A.offsetY=o:2===n?A.blur=o:A.spread=o,n++):A.color=od(e,o)}return A})}},i5={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(e,t){var A=[];return t.filter(r1).forEach(function(e){switch(e.value){case"stroke":A.push(1);break;case"fill":A.push(0);break;case"markers":A.push(2)}}),[0,1,2].forEach(function(e){-1===A.indexOf(e)&&A.push(e)}),A}},i7={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},se={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return rZ(t)?t.number:0}},st=function(){function e(e,t){this.animationDuration=sr(e,i4,t.animationDuration),this.backgroundClip=sr(e,oC,t.backgroundClip),this.backgroundColor=sr(e,oI,t.backgroundColor),this.backgroundImage=sr(e,oG,t.backgroundImage),this.backgroundOrigin=sr(e,oK,t.backgroundOrigin),this.backgroundPosition=sr(e,oW,t.backgroundPosition),this.backgroundRepeat=sr(e,oY,t.backgroundRepeat),this.backgroundSize=sr(e,oX,t.backgroundSize),this.borderTopColor=sr(e,o$,t.borderTopColor),this.borderRightColor=sr(e,oZ,t.borderRightColor),this.borderBottomColor=sr(e,o0,t.borderBottomColor),this.borderLeftColor=sr(e,o1,t.borderLeftColor),this.borderTopLeftRadius=sr(e,o2,t.borderTopLeftRadius),this.borderTopRightRadius=sr(e,o4,t.borderTopRightRadius),this.borderBottomRightRadius=sr(e,o6,t.borderBottomRightRadius),this.borderBottomLeftRadius=sr(e,o9,t.borderBottomLeftRadius),this.borderTopStyle=sr(e,o5,t.borderTopStyle),this.borderRightStyle=sr(e,o7,t.borderRightStyle),this.borderBottomStyle=sr(e,ie,t.borderBottomStyle),this.borderLeftStyle=sr(e,it,t.borderLeftStyle),this.borderTopWidth=sr(e,ir,t.borderTopWidth),this.borderRightWidth=sr(e,io,t.borderRightWidth),this.borderBottomWidth=sr(e,ii,t.borderBottomWidth),this.borderLeftWidth=sr(e,is,t.borderLeftWidth),this.boxShadow=sr(e,i8,t.boxShadow),this.color=sr(e,ia,t.color),this.direction=sr(e,il,t.direction),this.display=sr(e,ic,t.display),this.float=sr(e,id,t.cssFloat),this.fontFamily=sr(e,iX,t.fontFamily),this.fontSize=sr(e,iJ,t.fontSize),this.fontStyle=sr(e,iZ,t.fontStyle),this.fontVariant=sr(e,i$,t.fontVariant),this.fontWeight=sr(e,iq,t.fontWeight),this.letterSpacing=sr(e,ip,t.letterSpacing),this.lineBreak=sr(e,ig,t.lineBreak),this.lineHeight=sr(e,im,t.lineHeight),this.listStyleImage=sr(e,iw,t.listStyleImage),this.listStylePosition=sr(e,iB,t.listStylePosition),this.listStyleType=sr(e,iy,t.listStyleType),this.marginTop=sr(e,iS,t.marginTop),this.marginRight=sr(e,iC,t.marginRight),this.marginBottom=sr(e,iI,t.marginBottom),this.marginLeft=sr(e,ib,t.marginLeft),this.opacity=sr(e,iW,t.opacity);var A,n,r=sr(e,iU,t.overflow);this.overflowX=r[0],this.overflowY=r[+(r.length>1)],this.overflowWrap=sr(e,iE,t.overflowWrap),this.paddingTop=sr(e,iQ,t.paddingTop),this.paddingRight=sr(e,iT,t.paddingRight),this.paddingBottom=sr(e,iD,t.paddingBottom),this.paddingLeft=sr(e,ix,t.paddingLeft),this.paintOrder=sr(e,i5,t.paintOrder),this.position=sr(e,iM,t.position),this.textAlign=sr(e,iO,t.textAlign),this.textDecorationColor=sr(e,iY,null!=(A=t.textDecorationColor)?A:t.color),this.textDecorationLine=sr(e,iz,null!=(n=t.textDecorationLine)?n:t.textDecoration),this.textShadow=sr(e,iL,t.textShadow),this.textTransform=sr(e,iR,t.textTransform),this.transform=sr(e,iV,t.transform),this.transformOrigin=sr(e,ik,t.transformOrigin),this.visibility=sr(e,iP,t.visibility),this.webkitTextStrokeColor=sr(e,i7,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=sr(e,se,t.webkitTextStrokeWidth),this.wordBreak=sr(e,ij,t.wordBreak),this.zIndex=sr(e,iG,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return op(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return i0(this.display,4)||i0(this.display,0x2000000)||i0(this.display,0x10000000)||i0(this.display,0x20000000)||i0(this.display,0x4000000)||i0(this.display,0x8000000)},e}(),sA=function(e,t){this.content=sr(e,i1,t.content),this.quotes=sr(e,i6,t.quotes)},sn=function(e,t){this.counterIncrement=sr(e,i3,t.counterIncrement),this.counterReset=sr(e,i2,t.counterReset)},sr=function(e,t,A){var n=new rq,r=null!=A?A.toString():t.initialValue;n.write(r);var o=new r$(n.read());switch(t.type){case 2:var i=o.parseComponentValue();return t.parse(e,r1(i)?i.value:t.initialValue);case 0:return t.parse(e,o.parseComponentValue());case 1:return t.parse(e,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(t.format){case"angle":return oa(e,o.parseComponentValue());case"color":return od(e,o.parseComponentValue());case"image":return oP(e,o.parseComponentValue());case"length":var s=o.parseComponentValue();return r5(s)?s:ot;case"length-percentage":var a=o.parseComponentValue();return r7(a)?a:ot;case"time":return iK(e,o.parseComponentValue())}}},so=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},si=function(e,t){var A=so(e);return 1===A||t===A},ss=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,si(t,3),this.styles=new st(e,window.getComputedStyle(t,null)),au(t)&&(this.styles.animationDuration.some(function(e){return e>0})&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=n$(this.context,t),si(t,4)&&(this.flags|=16)},sa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",sl="u"<typeof Uint8Array?[]:new Uint8Array(256),sc=0;sc<sa.length;sc++)sl[sa.charCodeAt(sc)]=sc;for(var su=2112,sd=function(e,t,A){return e.slice?e.slice(t,A):new Uint16Array(Array.prototype.slice.call(e,t,A))},sp=function(){function e(e,t,A,n,r,o){this.initialValue=e,this.errorValue=t,this.highStart=A,this.highValueIndex=n,this.index=r,this.data=o}return e.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e<this.highStart)return t=su-32+(e>>11),t=this.index[t]+(e>>5&63),t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),sg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",sm="u"<typeof Uint8Array?[]:new Uint8Array(256),sh=0;sh<sg.length;sh++)sm[sg.charCodeAt(sh)]=sh;var sf=function(e){for(var t=[],A=0,n=e.length;A<n;){var r=e.charCodeAt(A++);if(r>=55296&&r<=56319&&A<n){var o=e.charCodeAt(A++);(64512&o)==56320?t.push(((1023&r)<<10)+(1023&o)+65536):(t.push(r),A--)}else t.push(r)}return t},sw=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var A=e.length;if(!A)return"";for(var n=[],r=-1,o="";++r<A;){var i=e[r];i<=65535?n.push(i):(i-=65536,n.push((i>>10)+55296,i%1024+56320)),(r+1===A||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},sB=(d=Array.isArray(u=function(e){var t,A,n,r,o,i=.75*e.length,s=e.length,a=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var l="u">typeof ArrayBuffer&&"u">typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):Array(i),c=Array.isArray(l)?l:new Uint8Array(l);for(t=0;t<s;t+=4)A=sl[e.charCodeAt(t)],n=sl[e.charCodeAt(t+1)],r=sl[e.charCodeAt(t+2)],o=sl[e.charCodeAt(t+3)],c[a++]=A<<2|n>>4,c[a++]=(15&n)<<4|r>>2,c[a++]=(3&r)<<6|63&o;return l}("AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA="))?function(e){for(var t=e.length,A=[],n=0;n<t;n+=4)A.push(e[n+3]<<24|e[n+2]<<16|e[n+1]<<8|e[n]);return A}(u):new Uint32Array(u),g=sd(p=Array.isArray(u)?function(e){for(var t=e.length,A=[],n=0;n<t;n+=2)A.push(e[n+1]<<8|e[n]);return A}(u):new Uint16Array(u),12,d[4]/2),h=2===d[5]?sd(p,(24+d[4])/2):(m=Math.ceil((24+d[4])/4),d.slice?d.slice(m,void 0):new Uint32Array(Array.prototype.slice.call(d,m,void 0))),new sp(d[0],d[1],d[2],d[3],g,h)),sy=function(e){return sB.get(e)},sv=function(e,t,A){var n=A-2,r=t[n],o=t[A-1],i=t[A];if(2===o&&3===i)return"×";if(2===o||3===o||4===o||2===i||3===i||4===i)return"÷";if(8===o&&-1!==[8,9,11,12].indexOf(i)||(11===o||9===o)&&(9===i||10===i)||(12===o||10===o)&&10===i||13===i||5===i||7===i||1===o)return"×";if(13===o&&14===i){for(;5===r;)r=t[--n];if(14===r)return"×"}if(15===o&&15===i){for(var s=0;15===r;)s++,r=t[--n];if(s%2==0)return"×"}return"÷"},sS=function(e){var t=sf(e),A=t.length,n=0,r=0,o=t.map(sy);return{next:function(){if(n>=A)return{done:!0,value:null};for(var e="×";n<A&&"×"===(e=sv(t,o,++n)););if("×"!==e||n===A){var i=sw.apply(null,t.slice(r,n));return r=n,{value:i,done:!1}}return{done:!0,value:null}}}},sC=function(e){for(var t,A=sS(e),n=[];!(t=A.next()).done;)t.value&&n.push(t.value.slice());return n},sI=function(e){if(e.createRange){var t=e.createRange();if(t.getBoundingClientRect){var A=e.createElement("boundtest");A.style.height="123px",A.style.display="block",e.body.appendChild(A),t.selectNode(A);var n=Math.round(t.getBoundingClientRect().height);if(e.body.removeChild(A),123===n)return!0}}return!1},sb=function(e){var t=e.createElement("boundtest");t.style.width="50px",t.style.display="block",t.style.fontSize="12px",t.style.letterSpacing="0px",t.style.wordSpacing="0px",e.body.appendChild(t);var A=e.createRange();t.innerHTML="function"==typeof"".repeat?"&#128104;".repeat(10):"";var n=t.firstChild,r=n0(n.data).map(function(e){return n1(e)}),o=0,i={},s=r.every(function(e,t){A.setStart(n,o),A.setEnd(n,o+e.length);var r=A.getBoundingClientRect();o+=e.length;var s=r.x>i.x||r.y>i.y;return i=r,0===t||s});return e.body.removeChild(t),s},sU=function(e){var t=new Image,A=e.createElement("canvas"),n=A.getContext("2d");if(!n)return!1;t.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{n.drawImage(t,0,0),A.toDataURL()}catch(e){return!1}return!0},sE=function(e){return 0===e[0]&&255===e[1]&&0===e[2]&&255===e[3]},sF=function(e){var t=e.createElement("canvas");t.width=100,t.height=100;var A=t.getContext("2d");if(!A)return Promise.reject(!1);A.fillStyle="rgb(0, 255, 0)",A.fillRect(0,0,100,100);var n=new Image,r=t.toDataURL();n.src=r;var o=sQ(100,100,0,0,n);return A.fillStyle="red",A.fillRect(0,0,100,100),sT(o).then(function(t){A.drawImage(t,0,0);var n=A.getImageData(0,0,100,100).data;A.fillStyle="red",A.fillRect(0,0,100,100);var o=e.createElement("div");return o.style.backgroundImage="url("+r+")",o.style.height="100px",sE(n)?sT(sQ(100,100,0,0,o)):Promise.reject(!1)}).then(function(e){return A.drawImage(e,0,0),sE(A.getImageData(0,0,100,100).data)}).catch(function(){return!1})},sQ=function(e,t,A,n,r){var o="http://www.w3.org/2000/svg",i=document.createElementNS(o,"svg"),s=document.createElementNS(o,"foreignObject");return i.setAttributeNS(null,"width",e.toString()),i.setAttributeNS(null,"height",t.toString()),s.setAttributeNS(null,"width","100%"),s.setAttributeNS(null,"height","100%"),s.setAttributeNS(null,"x",A.toString()),s.setAttributeNS(null,"y",n.toString()),s.setAttributeNS(null,"externalResourcesRequired","true"),i.appendChild(s),s.appendChild(r),i},sT=function(e){return new Promise(function(t,A){var n=new Image;n.onload=function(){return t(n)},n.onerror=A,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},sD={get SUPPORT_RANGE_BOUNDS(){var sx=sI(document);return Object.defineProperty(sD,"SUPPORT_RANGE_BOUNDS",{value:sx}),sx},get SUPPORT_WORD_BREAKING(){var sO=sD.SUPPORT_RANGE_BOUNDS&&sb(document);return Object.defineProperty(sD,"SUPPORT_WORD_BREAKING",{value:sO}),sO},get SUPPORT_SVG_DRAWING(){var sM=sU(document);return Object.defineProperty(sD,"SUPPORT_SVG_DRAWING",{value:sM}),sM},get SUPPORT_FOREIGNOBJECT_DRAWING(){var sL="function"==typeof Array.from&&"function"==typeof window.fetch?sF(document):Promise.resolve(!1);return Object.defineProperty(sD,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:sL}),sL},get SUPPORT_CORS_IMAGES(){var sR=void 0!==new Image().crossOrigin;return Object.defineProperty(sD,"SUPPORT_CORS_IMAGES",{value:sR}),sR},get SUPPORT_RESPONSE_TYPE(){var sV="string"==typeof new XMLHttpRequest().responseType;return Object.defineProperty(sD,"SUPPORT_RESPONSE_TYPE",{value:sV}),sV},get SUPPORT_CORS_XHR(){var sN="withCredentials"in new XMLHttpRequest;return Object.defineProperty(sD,"SUPPORT_CORS_XHR",{value:sN}),sN},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var sH=!!("u">typeof Intl&&Intl.Segmenter);return Object.defineProperty(sD,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:sH}),sH}},s_=function(e,t){this.text=e,this.bounds=t},sk=function(e,t,A,n){var r=sK(t,A),o=[],i=0;return r.forEach(function(t){if(A.textDecorationLine.length||t.trim().length>0)if(sD.SUPPORT_RANGE_BOUNDS){var r=sj(n,i,t.length).getClientRects();if(r.length>1){var s=sG(t),a=0;s.forEach(function(t){o.push(new s_(t,nq.fromDOMRectList(e,sj(n,a+i,t.length).getClientRects()))),a+=t.length})}else o.push(new s_(t,nq.fromDOMRectList(e,r)))}else{var l=n.splitText(t.length);o.push(new s_(t,sP(e,n))),n=l}else sD.SUPPORT_RANGE_BOUNDS||(n=n.splitText(t.length));i+=t.length}),o},sP=function(e,t){var A=t.ownerDocument;if(A){var n=A.createElement("html2canvaswrapper");n.appendChild(t.cloneNode(!0));var r=t.parentNode;if(r){r.replaceChild(n,t);var o=n$(e,n);return n.firstChild&&r.replaceChild(n.firstChild,n),o}}return nq.EMPTY},sj=function(e,t,A){var n=e.ownerDocument;if(!n)throw Error("Node has no owner document");var r=n.createRange();return r.setStart(e,t),r.setEnd(e,t+A),r},sG=function(e){return sD.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e)).map(function(e){return e.segment}):sC(e)},sK=function(e,t){return 0!==t.letterSpacing?sG(e):sD.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"word"}).segment(e)).map(function(e){return e.segment}):sY(e,t)},sW=[32,160,4961,65792,65793,4153,4241],sY=function(e,t){for(var A,n=rB(e,{lineBreak:t.lineBreak,wordBreak:"break-word"===t.overflowWrap?"break-word":t.wordBreak}),r=[];!(A=n.next()).done;)!function(){if(A.value){var e=n0(A.value.slice()),t="";e.forEach(function(e){-1===sW.indexOf(e)?t+=n1(e):(t.length&&r.push(t),r.push(n1(e)),t="")}),t.length&&r.push(t)}}();return r},sz=function(e,t,A){this.text=sX(t.data,A.textTransform),this.textBounds=sk(e,this.text,A,t)},sX=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(sJ,sq);case 2:return e.toUpperCase();default:return e}},sJ=/(^|\s|:|-|\(|\))([a-z])/g,sq=function(e,t,A){return e.length>0?t+A.toUpperCase():e},s$=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.src=A.currentSrc||A.src,n.intrinsicWidth=A.naturalWidth,n.intrinsicHeight=A.naturalHeight,n.context.cache.addImage(n.src),n}return nW(t,e),t}(ss),sZ=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.canvas=A,n.intrinsicWidth=A.width,n.intrinsicHeight=A.height,n}return nW(t,e),t}(ss),s0=function(e){function t(t,A){var n=e.call(this,t,A)||this,r=new XMLSerializer,o=n$(t,A);return A.setAttribute("width",o.width+"px"),A.setAttribute("height",o.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(A)),n.intrinsicWidth=A.width.baseVal.value,n.intrinsicHeight=A.height.baseVal.value,n.context.cache.addImage(n.svg),n}return nW(t,e),t}(ss),s1=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.value=A.value,n}return nW(t,e),t}(ss),s3=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.start=A.start,n.reversed="boolean"==typeof A.reversed&&!0===A.reversed,n}return nW(t,e),t}(ss),s2=[{type:15,flags:0,unit:"px",number:3}],s4=[{type:16,flags:0,number:50}],s6=function(e){var t=e.type===s5?Array(e.value.length+1).join("•"):e.value;return 0===t.length?e.placeholder||"":t},s9="checkbox",s8="radio",s5="password",s7=function(e){function t(t,A){var n,r=e.call(this,t,A)||this;switch(r.type=A.type.toLowerCase(),r.checked=A.checked,r.value=s6(A),(r.type===s9||r.type===s8)&&(r.styles.backgroundColor=0xdededeff,r.styles.borderTopColor=r.styles.borderRightColor=r.styles.borderBottomColor=r.styles.borderLeftColor=0xa5a5a5ff,r.styles.borderTopWidth=r.styles.borderRightWidth=r.styles.borderBottomWidth=r.styles.borderLeftWidth=1,r.styles.borderTopStyle=r.styles.borderRightStyle=r.styles.borderBottomStyle=r.styles.borderLeftStyle=1,r.styles.backgroundClip=[0],r.styles.backgroundOrigin=[0],r.bounds=(n=r.bounds).width>n.height?new nq(n.left+(n.width-n.height)/2,n.top,n.height,n.height):n.width<n.height?new nq(n.left,n.top+(n.height-n.width)/2,n.width,n.width):n),r.type){case s9:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=s2;break;case s8:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=s4}return r}return nW(t,e),t}(ss),ae=function(e){function t(t,A){var n=e.call(this,t,A)||this,r=A.options[A.selectedIndex||0];return n.value=r&&r.text||"",n}return nW(t,e),t}(ss),at=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.value=A.value,n}return nW(t,e),t}(ss),aA=function(e){function t(t,A){var n=e.call(this,t,A)||this;n.src=A.src,n.width=parseInt(A.width,10)||0,n.height=parseInt(A.height,10)||0,n.backgroundColor=n.styles.backgroundColor;try{if(A.contentWindow&&A.contentWindow.document&&A.contentWindow.document.documentElement){n.tree=ai(t,A.contentWindow.document.documentElement);var r=A.contentWindow.document.documentElement?ov(t,getComputedStyle(A.contentWindow.document.documentElement).backgroundColor):oS.TRANSPARENT,o=A.contentWindow.document.body?ov(t,getComputedStyle(A.contentWindow.document.body).backgroundColor):oS.TRANSPARENT;n.backgroundColor=op(r)?op(o)?n.styles.backgroundColor:o:r}}catch(e){}return n}return nW(t,e),t}(ss),an=["OL","UL","MENU"],ar=function(e,t,A,n){for(var r=t.firstChild,o=void 0;r;r=o)if(o=r.nextSibling,al(r)&&r.data.trim().length>0)A.textNodes.push(new sz(e,r,A.styles));else if(ac(r))if(ab(r)&&r.assignedNodes)r.assignedNodes().forEach(function(t){return ar(e,t,A,n)});else{var i=ao(e,r);i.styles.isVisible()&&(as(r,i,n)?i.flags|=4:aa(i.styles)&&(i.flags|=2),-1!==an.indexOf(r.tagName)&&(i.flags|=8),A.elements.push(i),r.slot,r.shadowRoot?ar(e,r.shadowRoot,i,n):aC(r)||ah(r)||aI(r)||ar(e,r,i,n))}},ao=function(e,t){return ay(t)?new s$(e,t):aw(t)?new sZ(e,t):ah(t)?new s0(e,t):ap(t)?new s1(e,t):ag(t)?new s3(e,t):am(t)?new s7(e,t):aI(t)?new ae(e,t):aC(t)?new at(e,t):av(t)?new aA(e,t):new ss(e,t)},ai=function(e,t){var A=ao(e,t);return A.flags|=4,ar(e,t,A,A),A},as=function(e,t,A){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||af(e)&&A.styles.isTransparent()},aa=function(e){return e.isPositioned()||e.isFloating()},al=function(e){return e.nodeType===Node.TEXT_NODE},ac=function(e){return e.nodeType===Node.ELEMENT_NODE},au=function(e){return ac(e)&&void 0!==e.style&&!ad(e)},ad=function(e){return"object"==typeof e.className},ap=function(e){return"LI"===e.tagName},ag=function(e){return"OL"===e.tagName},am=function(e){return"INPUT"===e.tagName},ah=function(e){return"svg"===e.tagName},af=function(e){return"BODY"===e.tagName},aw=function(e){return"CANVAS"===e.tagName},aB=function(e){return"VIDEO"===e.tagName},ay=function(e){return"IMG"===e.tagName},av=function(e){return"IFRAME"===e.tagName},aS=function(e){return"STYLE"===e.tagName},aC=function(e){return"TEXTAREA"===e.tagName},aI=function(e){return"SELECT"===e.tagName},ab=function(e){return"SLOT"===e.tagName},aU=function(e){return e.tagName.indexOf("-")>0},aE=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var t=this;e.forEach(function(e){return t.counters[e].pop()})},e.prototype.parse=function(e){var t=this,A=e.counterIncrement,n=e.counterReset,r=!0;null!==A&&A.forEach(function(e){var A=t.counters[e.counter];A&&0!==e.increment&&(r=!1,A.length||A.push(1),A[Math.max(0,A.length-1)]+=e.increment)});var o=[];return r&&n.forEach(function(e){var A=t.counters[e.counter];o.push(e.counter),A||(A=t.counters[e.counter]=[]),A.push(e.reset)}),o},e}(),aF={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},aQ={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},aT={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},aD={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},ax=function(e,t,A,n,r,o){return e<t||e>A?ak(e,r,o.length>0):n.integers.reduce(function(t,A,r){for(;e>=A;)e-=A,t+=n.values[r];return t},"")+o},aO=function(e,t,A,n){var r="";do!A&&e--,r=n(e)+r,e/=t;while(e*t>=t)return r},aM=function(e,t,A,n,r){var o=A-t+1;return(e<0?"-":"")+(aO(Math.abs(e),o,n,function(e){return n1(Math.floor(e%o)+t)})+r)},aL=function(e,t,A){void 0===A&&(A=". ");var n=t.length;return aO(Math.abs(e),n,!1,function(e){return t[Math.floor(e%n)]})+A},aR=function(e,t,A,n,r,o){if(e<-9999||e>9999)return ak(e,4,r.length>0);var i=Math.abs(e),s=r;if(0===i)return t[0]+s;for(var a=0;i>0&&a<=4;a++){var l=i%10;0===l&&i0(o,1)&&""!==s?s=t[l]+s:l>1||1===l&&0===a||1===l&&1===a&&i0(o,2)||1===l&&1===a&&i0(o,4)&&e>100||1===l&&a>1&&i0(o,8)?s=t[l]+(a>0?A[a-1]:"")+s:1===l&&a>0&&(s=A[a-1]+s),i=Math.floor(i/10)}return(e<0?n:"")+s},aV="十百千萬",aN="拾佰仟萬",aH="マイナス",a_="마이너스",ak=function(e,t,A){var n=A?". ":"",r=A?"、":"",o=A?", ":"",i=A?" ":"";switch(t){case 0:return"•"+i;case 1:return"◦"+i;case 2:return"◾"+i;case 5:var s=aM(e,48,57,!0,n);return s.length<4?"0"+s:s;case 4:return aL(e,"〇一二三四五六七八九",r);case 6:return ax(e,1,3999,aF,3,n).toLowerCase();case 7:return ax(e,1,3999,aF,3,n);case 8:return aM(e,945,969,!1,n);case 9:return aM(e,97,122,!1,n);case 10:return aM(e,65,90,!1,n);case 11:return aM(e,1632,1641,!0,n);case 12:case 49:return ax(e,1,9999,aQ,3,n);case 35:return ax(e,1,9999,aQ,3,n).toLowerCase();case 13:return aM(e,2534,2543,!0,n);case 14:case 30:return aM(e,6112,6121,!0,n);case 15:return aL(e,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return aL(e,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return aR(e,"零一二三四五六七八九",aV,"負",r,14);case 47:return aR(e,"零壹貳參肆伍陸柒捌玖",aN,"負",r,15);case 42:return aR(e,"零一二三四五六七八九",aV,"负",r,14);case 41:return aR(e,"零壹贰叁肆伍陆柒捌玖",aN,"负",r,15);case 26:return aR(e,"〇一二三四五六七八九","十百千万",aH,r,0);case 25:return aR(e,"零壱弐参四伍六七八九","拾百千万",aH,r,7);case 31:return aR(e,"영일이삼사오육칠팔구","십백천만",a_,o,7);case 33:return aR(e,"零一二三四五六七八九","十百千萬",a_,o,0);case 32:return aR(e,"零壹貳參四五六七八九","拾百千",a_,o,7);case 18:return aM(e,2406,2415,!0,n);case 20:return ax(e,1,19999,aD,3,n);case 21:return aM(e,2790,2799,!0,n);case 22:return aM(e,2662,2671,!0,n);case 22:return ax(e,1,10999,aT,3,n);case 23:return aL(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return aL(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return aM(e,3302,3311,!0,n);case 28:return aL(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return aL(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return aM(e,3792,3801,!0,n);case 37:return aM(e,6160,6169,!0,n);case 38:return aM(e,4160,4169,!0,n);case 39:return aM(e,2918,2927,!0,n);case 40:return aM(e,1776,1785,!0,n);case 43:return aM(e,3046,3055,!0,n);case 44:return aM(e,3174,3183,!0,n);case 45:return aM(e,3664,3673,!0,n);case 46:return aM(e,3872,3881,!0,n);default:return aM(e,48,57,!0,n)}},aP="data-html2canvas-ignore",aj=function(){function e(e,t,A){if(this.context=e,this.options=A,this.scrolledElements=[],this.referenceElement=t,this.counters=new aE,this.quoteDepth=0,!t.ownerDocument)throw Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var A=this,n=aG(e,t);if(!n.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,o=e.defaultView.pageYOffset,i=n.contentWindow,s=i.document,a=aY(n).then(function(){return nz(A,void 0,void 0,function(){var e,A;return nX(this,function(r){switch(r.label){case 0:if(this.scrolledElements.forEach(a$),i&&(i.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(i.scrollY!==t.top||i.scrollX!==t.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(i.scrollX-t.left,i.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(A=this.clonedReferenceElement))return[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")];if(!(s.fonts&&s.fonts.ready))return[3,2];return[4,s.fonts.ready];case 1:r.sent(),r.label=2;case 2:if(!/(AppleWebKit)/g.test(navigator.userAgent))return[3,4];return[4,aW(s)];case 3:r.sent(),r.label=4;case 4:if("function"==typeof e)return[2,Promise.resolve().then(function(){return e(s,A)}).then(function(){return n})];return[2,n]}})})});return s.open(),s.write(aJ(document.doctype)+"<html></html>"),aq(this.referenceElement.ownerDocument,r,o),s.replaceChild(s.adoptNode(this.documentElement),s.documentElement),s.close(),a},e.prototype.createElementClone=function(e){if(si(e,2),aw(e))return this.createCanvasClone(e);if(aB(e))return this.createVideoClone(e);if(aS(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return(ay(t)&&(ay(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),aU(t))?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return aX(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var A=[].slice.call(t.cssRules,0).reduce(function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e},""),n=e.cloneNode(!1);return n.textContent=A,n}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){if(this.options.inlineImages&&e.ownerDocument){var t,A=e.ownerDocument.createElement("img");try{return A.src=e.toDataURL(),A}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var r=e.getContext("2d"),o=n.getContext("2d");if(o)if(!this.options.allowTaint&&r)o.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var i=null!=(t=e.getContext("webgl2"))?t:e.getContext("webgl");if(i){var s=i.getContextAttributes();(null==s?void 0:s.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}o.drawImage(e,0,0)}}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return n},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var A=t.getContext("2d");try{return A&&(A.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||A.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var n=e.ownerDocument.createElement("canvas");return n.width=e.offsetWidth,n.height=e.offsetHeight,n},e.prototype.appendChildNode=function(e,t,A){ac(t)&&("SCRIPT"===t.tagName||t.hasAttribute(aP)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&ac(t)&&aS(t)||e.appendChild(this.cloneNode(t,A))},e.prototype.cloneChildNodes=function(e,t,A){for(var n=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(ac(r)&&ab(r)&&"function"==typeof r.assignedNodes){var o=r.assignedNodes();o.length&&o.forEach(function(e){return n.appendChildNode(t,e,A)})}else this.appendChildNode(t,r,A)},e.prototype.cloneNode=function(e,t){if(al(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var A=e.ownerDocument.defaultView;if(A&&ac(e)&&(au(e)||ad(e))){var n=this.createElementClone(e);n.style.transitionProperty="none";var r=A.getComputedStyle(e),o=A.getComputedStyle(e,":before"),i=A.getComputedStyle(e,":after");this.referenceElement===e&&au(n)&&(this.clonedReferenceElement=n),af(n)&&a3(n);var s=this.counters.parse(new sn(this.context,r)),a=this.resolvePseudoContent(e,n,o,U.BEFORE);aU(e)&&(t=!0),aB(e)||this.cloneChildNodes(e,n,t),a&&n.insertBefore(a,n.firstChild);var l=this.resolvePseudoContent(e,n,i,U.AFTER);return l&&n.appendChild(l),this.counters.pop(s),(r&&(this.options.copyStyles||ad(e))&&!av(e)||t)&&aX(r,n),(0!==e.scrollTop||0!==e.scrollLeft)&&this.scrolledElements.push([n,e.scrollLeft,e.scrollTop]),(aC(e)||aI(e))&&(aC(n)||aI(n))&&(n.value=e.value),n}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,A,n){var r=this;if(A){var o=A.content,i=t.ownerDocument;if(i&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==A.display){this.counters.parse(new sn(this.context,A));var s=new sA(this.context,A),a=i.createElement("html2canvaspseudoelement");aX(A,a),s.content.forEach(function(t){if(0===t.type)a.appendChild(i.createTextNode(t.value));else if(22===t.type){var A=i.createElement("img");A.src=t.value,A.style.opacity="1",a.appendChild(A)}else if(18===t.type){if("attr"===t.name){var n=t.values.filter(r1);n.length&&a.appendChild(i.createTextNode(e.getAttribute(n[0].value)||""))}else if("counter"===t.name){var o=t.values.filter(r6),l=o[0],c=o[1];if(l&&r1(l)){var u=r.counters.getCounterValue(l.value),d=c&&r1(c)?iy.parse(r.context,c.value):3;a.appendChild(i.createTextNode(ak(u,d,!1)))}}else if("counters"===t.name){var p=t.values.filter(r6),l=p[0],g=p[1],c=p[2];if(l&&r1(l)){var m=r.counters.getCounterValues(l.value),h=c&&r1(c)?iy.parse(r.context,c.value):3,f=g&&0===g.type?g.value:"",w=m.map(function(e){return ak(e,h,!1)}).join(f);a.appendChild(i.createTextNode(w))}}}else if(20===t.type)switch(t.value){case"open-quote":a.appendChild(i.createTextNode(i9(s.quotes,r.quoteDepth++,!0)));break;case"close-quote":a.appendChild(i.createTextNode(i9(s.quotes,--r.quoteDepth,!1)));break;default:a.appendChild(i.createTextNode(t.value))}}),a.className=aZ+" "+a0;var l=n===U.BEFORE?" "+aZ:" "+a0;return ad(t)?t.className.baseValue+=l:t.className+=l,a}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();(f=U||(U={}))[f.BEFORE=0]="BEFORE",f[f.AFTER=1]="AFTER";var aG=function(e,t){var A=e.createElement("iframe");return A.className="html2canvas-container",A.style.visibility="hidden",A.style.position="fixed",A.style.left="-10000px",A.style.top="0px",A.style.border="0",A.width=t.width.toString(),A.height=t.height.toString(),A.scrolling="no",A.setAttribute(aP,"true"),e.body.appendChild(A),A},aK=function(e){return new Promise(function(t){e.complete||!e.src?t():(e.onload=t,e.onerror=t)})},aW=function(e){return Promise.all([].slice.call(e.images,0).map(aK))},aY=function(e){return new Promise(function(t,A){var n=e.contentWindow;if(!n)return A("No window assigned for iframe");var r=n.document;n.onload=e.onload=function(){n.onload=e.onload=null;var A=setInterval(function(){r.body.childNodes.length>0&&"complete"===r.readyState&&(clearInterval(A),t(e))},50)}})},az=["all","d","content"],aX=function(e,t){for(var A=e.length-1;A>=0;A--){var n=e.item(A);-1===az.indexOf(n)&&t.style.setProperty(n,e.getPropertyValue(n))}return t},aJ=function(e){var t="";return e&&(t+="<!DOCTYPE ",e.name&&(t+=e.name),e.internalSubset&&(t+=e.internalSubset),e.publicId&&(t+='"'+e.publicId+'"'),e.systemId&&(t+='"'+e.systemId+'"'),t+=">"),t},aq=function(e,t,A){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||A!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,A)},a$=function(e){var t=e[0],A=e[1],n=e[2];t.scrollLeft=A,t.scrollTop=n},aZ="___html2canvas___pseudoelement_before",a0="___html2canvas___pseudoelement_after",a1='{\n content: "" !important;\n display: none !important;\n}',a3=function(e){a2(e,"."+aZ+":before"+a1+"\n ."+a0+":after"+a1)},a2=function(e,t){var A=e.ownerDocument;if(A){var n=A.createElement("style");n.textContent=t,e.appendChild(n)}},a4=function(){function e(){}return e.getOrigin=function(t){var A=e._link;return A?(A.href=t,A.href=A.href,A.protocol+A.hostname+A.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),a6=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)||(lA(e)||a7(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return nz(this,void 0,void 0,function(){var t,A,n,r,o=this;return nX(this,function(i){switch(i.label){case 0:if(t=a4.isSameOrigin(e),A=!le(e)&&!0===this._options.useCORS&&sD.SUPPORT_CORS_IMAGES&&!t,n=!le(e)&&!t&&!lA(e)&&"string"==typeof this._options.proxy&&sD.SUPPORT_CORS_XHR&&!A,!t&&!1===this._options.allowTaint&&!le(e)&&!lA(e)&&!n&&!A)return[2];if(r=e,!n)return[3,2];return[4,this.proxy(r)];case 1:r=i.sent(),i.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(e,t){var n=new Image;n.onload=function(){return e(n)},n.onerror=t,(lt(r)||A)&&(n.crossOrigin="anonymous"),n.src=r,!0===n.complete&&setTimeout(function(){return e(n)},500),o._options.imageTimeout>0&&setTimeout(function(){return t("Timed out ("+o._options.imageTimeout+"ms) loading image")},o._options.imageTimeout)})];case 3:return[2,i.sent()]}})})},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,A=this._options.proxy;if(!A)throw Error("No proxy defined");var n=e.substring(0,256);return new Promise(function(r,o){var i=sD.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===i)r(s.response);else{var e=new FileReader;e.addEventListener("load",function(){return r(e.result)},!1),e.addEventListener("error",function(e){return o(e)},!1),e.readAsDataURL(s.response)}else o("Failed to proxy resource "+n+" with status code "+s.status)},s.onerror=o;var a=A.indexOf("?")>-1?"&":"?";if(s.open("GET",""+A+a+"url="+encodeURIComponent(e)+"&responseType="+i),"text"!==i&&s instanceof XMLHttpRequest&&(s.responseType=i),t._options.imageTimeout){var l=t._options.imageTimeout;s.timeout=l,s.ontimeout=function(){return o("Timed out ("+l+"ms) proxying "+n)}}s.send()})},e}(),a9=/^data:image\/svg\+xml/i,a8=/^data:image\/.*;base64,/i,a5=/^data:image\/.*/i,a7=function(e){return sD.SUPPORT_SVG_DRAWING||!ln(e)},le=function(e){return a5.test(e)},lt=function(e){return a8.test(e)},lA=function(e){return"blob"===e.substr(0,4)},ln=function(e){return"svg"===e.substr(-3).toLowerCase()||a9.test(e)},lr=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,A){return new e(this.x+t,this.y+A)},e}(),lo=function(e,t,A){return new lr(e.x+(t.x-e.x)*A,e.y+(t.y-e.y)*A)},li=function(){function e(e,t,A,n){this.type=1,this.start=e,this.startControl=t,this.endControl=A,this.end=n}return e.prototype.subdivide=function(t,A){var n=lo(this.start,this.startControl,t),r=lo(this.startControl,this.endControl,t),o=lo(this.endControl,this.end,t),i=lo(n,r,t),s=lo(r,o,t),a=lo(i,s,t);return A?new e(this.start,n,i,a):new e(a,s,o,this.end)},e.prototype.add=function(t,A){return new e(this.start.add(t,A),this.startControl.add(t,A),this.endControl.add(t,A),this.end.add(t,A))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),ls=function(e){return 1===e.type},la=function(e){var t=e.styles,A=e.bounds,n=or(t.borderTopLeftRadius,A.width,A.height),r=n[0],o=n[1],i=or(t.borderTopRightRadius,A.width,A.height),s=i[0],a=i[1],l=or(t.borderBottomRightRadius,A.width,A.height),c=l[0],u=l[1],d=or(t.borderBottomLeftRadius,A.width,A.height),p=d[0],g=d[1],m=[];m.push((r+s)/A.width),m.push((p+c)/A.width),m.push((o+g)/A.height),m.push((a+u)/A.height);var h=Math.max.apply(Math,m);h>1&&(r/=h,o/=h,s/=h,a/=h,c/=h,u/=h,p/=h,g/=h);var f=A.width-s,w=A.height-u,B=A.width-c,y=A.height-g,v=t.borderTopWidth,S=t.borderRightWidth,C=t.borderBottomWidth,I=t.borderLeftWidth,b=oo(t.paddingTop,e.bounds.width),U=oo(t.paddingRight,e.bounds.width),F=oo(t.paddingBottom,e.bounds.width),Q=oo(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?ll(A.left+I/3,A.top+v/3,r-I/3,o-v/3,E.TOP_LEFT):new lr(A.left+I/3,A.top+v/3),this.topRightBorderDoubleOuterBox=r>0||o>0?ll(A.left+f,A.top+v/3,s-S/3,a-v/3,E.TOP_RIGHT):new lr(A.left+A.width-S/3,A.top+v/3),this.bottomRightBorderDoubleOuterBox=c>0||u>0?ll(A.left+B,A.top+w,c-S/3,u-C/3,E.BOTTOM_RIGHT):new lr(A.left+A.width-S/3,A.top+A.height-C/3),this.bottomLeftBorderDoubleOuterBox=p>0||g>0?ll(A.left+I/3,A.top+y,p-I/3,g-C/3,E.BOTTOM_LEFT):new lr(A.left+I/3,A.top+A.height-C/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?ll(A.left+2*I/3,A.top+2*v/3,r-2*I/3,o-2*v/3,E.TOP_LEFT):new lr(A.left+2*I/3,A.top+2*v/3),this.topRightBorderDoubleInnerBox=r>0||o>0?ll(A.left+f,A.top+2*v/3,s-2*S/3,a-2*v/3,E.TOP_RIGHT):new lr(A.left+A.width-2*S/3,A.top+2*v/3),this.bottomRightBorderDoubleInnerBox=c>0||u>0?ll(A.left+B,A.top+w,c-2*S/3,u-2*C/3,E.BOTTOM_RIGHT):new lr(A.left+A.width-2*S/3,A.top+A.height-2*C/3),this.bottomLeftBorderDoubleInnerBox=p>0||g>0?ll(A.left+2*I/3,A.top+y,p-2*I/3,g-2*C/3,E.BOTTOM_LEFT):new lr(A.left+2*I/3,A.top+A.height-2*C/3),this.topLeftBorderStroke=r>0||o>0?ll(A.left+I/2,A.top+v/2,r-I/2,o-v/2,E.TOP_LEFT):new lr(A.left+I/2,A.top+v/2),this.topRightBorderStroke=r>0||o>0?ll(A.left+f,A.top+v/2,s-S/2,a-v/2,E.TOP_RIGHT):new lr(A.left+A.width-S/2,A.top+v/2),this.bottomRightBorderStroke=c>0||u>0?ll(A.left+B,A.top+w,c-S/2,u-C/2,E.BOTTOM_RIGHT):new lr(A.left+A.width-S/2,A.top+A.height-C/2),this.bottomLeftBorderStroke=p>0||g>0?ll(A.left+I/2,A.top+y,p-I/2,g-C/2,E.BOTTOM_LEFT):new lr(A.left+I/2,A.top+A.height-C/2),this.topLeftBorderBox=r>0||o>0?ll(A.left,A.top,r,o,E.TOP_LEFT):new lr(A.left,A.top),this.topRightBorderBox=s>0||a>0?ll(A.left+f,A.top,s,a,E.TOP_RIGHT):new lr(A.left+A.width,A.top),this.bottomRightBorderBox=c>0||u>0?ll(A.left+B,A.top+w,c,u,E.BOTTOM_RIGHT):new lr(A.left+A.width,A.top+A.height),this.bottomLeftBorderBox=p>0||g>0?ll(A.left,A.top+y,p,g,E.BOTTOM_LEFT):new lr(A.left,A.top+A.height),this.topLeftPaddingBox=r>0||o>0?ll(A.left+I,A.top+v,Math.max(0,r-I),Math.max(0,o-v),E.TOP_LEFT):new lr(A.left+I,A.top+v),this.topRightPaddingBox=s>0||a>0?ll(A.left+Math.min(f,A.width-S),A.top+v,f>A.width+S?0:Math.max(0,s-S),Math.max(0,a-v),E.TOP_RIGHT):new lr(A.left+A.width-S,A.top+v),this.bottomRightPaddingBox=c>0||u>0?ll(A.left+Math.min(B,A.width-I),A.top+Math.min(w,A.height-C),Math.max(0,c-S),Math.max(0,u-C),E.BOTTOM_RIGHT):new lr(A.left+A.width-S,A.top+A.height-C),this.bottomLeftPaddingBox=p>0||g>0?ll(A.left+I,A.top+Math.min(y,A.height-C),Math.max(0,p-I),Math.max(0,g-C),E.BOTTOM_LEFT):new lr(A.left+I,A.top+A.height-C),this.topLeftContentBox=r>0||o>0?ll(A.left+I+Q,A.top+v+b,Math.max(0,r-(I+Q)),Math.max(0,o-(v+b)),E.TOP_LEFT):new lr(A.left+I+Q,A.top+v+b),this.topRightContentBox=s>0||a>0?ll(A.left+Math.min(f,A.width+I+Q),A.top+v+b,f>A.width+I+Q?0:s-I+Q,a-(v+b),E.TOP_RIGHT):new lr(A.left+A.width-(S+U),A.top+v+b),this.bottomRightContentBox=c>0||u>0?ll(A.left+Math.min(B,A.width-(I+Q)),A.top+Math.min(w,A.height+v+b),Math.max(0,c-(S+U)),u-(C+F),E.BOTTOM_RIGHT):new lr(A.left+A.width-(S+U),A.top+A.height-(C+F)),this.bottomLeftContentBox=p>0||g>0?ll(A.left+I+Q,A.top+y,Math.max(0,p-(I+Q)),g-(C+F),E.BOTTOM_LEFT):new lr(A.left+I+Q,A.top+A.height-(C+F))};(w=E||(E={}))[w.TOP_LEFT=0]="TOP_LEFT",w[w.TOP_RIGHT=1]="TOP_RIGHT",w[w.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",w[w.BOTTOM_LEFT=3]="BOTTOM_LEFT";var ll=function(e,t,A,n,r){var o=(Math.sqrt(2)-1)/3*4,i=A*o,s=n*o,a=e+A,l=t+n;switch(r){case E.TOP_LEFT:return new li(new lr(e,l),new lr(e,l-s),new lr(a-i,t),new lr(a,t));case E.TOP_RIGHT:return new li(new lr(e,t),new lr(e+i,t),new lr(a,l-s),new lr(a,l));case E.BOTTOM_RIGHT:return new li(new lr(a,t),new lr(a,t+s),new lr(e+i,l),new lr(e,l));case E.BOTTOM_LEFT:default:return new li(new lr(a,l),new lr(a-i,l),new lr(e,t+s),new lr(e,t))}},lc=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},lu=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},ld=function(e,t,A){this.offsetX=e,this.offsetY=t,this.matrix=A,this.type=0,this.target=6},lp=function(e,t){this.path=e,this.target=t,this.type=1},lg=function(e){this.opacity=e,this.type=2,this.target=6},lm=function(e){return 1===e.type},lh=function(e,t){return e.length===t.length&&e.some(function(e,A){return e===t[A]})},lf=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},lw=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new la(this.container),this.container.styles.opacity<1&&this.effects.push(new lg(this.container.styles.opacity)),null!==this.container.styles.transform){var A=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new ld(A,n,r))}if(0!==this.container.styles.overflowX){var o=lc(this.curves),i=lu(this.curves);lh(o,i)?this.effects.push(new lp(o,6)):(this.effects.push(new lp(o,2)),this.effects.push(new lp(i,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),A=this.parent,n=this.effects.slice(0);A;){var r=A.effects.filter(function(e){return!lm(e)});if(t||0!==A.container.styles.position||!A.parent){if(n.unshift.apply(n,r),t=-1===[2,3].indexOf(A.container.styles.position),0!==A.container.styles.overflowX){var o=lc(A.curves),i=lu(A.curves);lh(o,i)||n.unshift(new lp(i,6))}}else n.unshift.apply(n,r);A=A.parent}return n.filter(function(t){return i0(t.target,e)})},e}(),lB=function(e,t,A,n){e.container.elements.forEach(function(r){var o=i0(r.flags,4),i=i0(r.flags,2),s=new lw(r,e);i0(r.styles.display,2048)&&n.push(s);var a=i0(r.flags,8)?[]:n;if(o||i){var l=o||r.styles.isPositioned()?A:t,c=new lf(s);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var u=r.styles.zIndex.order;if(u<0){var d=0;l.negativeZIndex.some(function(e,t){if(u>e.element.container.styles.zIndex.order)d=t;else if(d>0)return!0;return!1}),l.negativeZIndex.splice(d,0,c)}else if(u>0){var p=0;l.positiveZIndex.some(function(e,t){if(u>=e.element.container.styles.zIndex.order)p=t+1;else if(p>0)return!0;return!1}),l.positiveZIndex.splice(p,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else r.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);lB(s,c,o?c:A,a)}else r.styles.isInlineLevel()?t.inlineLevel.push(s):t.nonInlineLevel.push(s),lB(s,t,A,a);i0(r.flags,8)&&ly(r,a)})},ly=function(e,t){for(var A=e instanceof s3?e.start:1,n=e instanceof s3&&e.reversed,r=0;r<t.length;r++){var o=t[r];o.container instanceof s1&&"number"==typeof o.container.value&&0!==o.container.value&&(A=o.container.value),o.listValue=ak(A,o.container.styles.listStyleType,!0),A+=n?-1:1}},lv=function(e){var t=new lw(e,null),A=new lf(t),n=[];return lB(t,A,A,n),ly(t.container,n),A},lS=function(e,t){switch(t){case 0:return lE(e.topLeftBorderBox,e.topLeftPaddingBox,e.topRightBorderBox,e.topRightPaddingBox);case 1:return lE(e.topRightBorderBox,e.topRightPaddingBox,e.bottomRightBorderBox,e.bottomRightPaddingBox);case 2:return lE(e.bottomRightBorderBox,e.bottomRightPaddingBox,e.bottomLeftBorderBox,e.bottomLeftPaddingBox);default:return lE(e.bottomLeftBorderBox,e.bottomLeftPaddingBox,e.topLeftBorderBox,e.topLeftPaddingBox)}},lC=function(e,t){switch(t){case 0:return lE(e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox,e.topRightBorderBox,e.topRightBorderDoubleOuterBox);case 1:return lE(e.topRightBorderBox,e.topRightBorderDoubleOuterBox,e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox);case 2:return lE(e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox,e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox);default:return lE(e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox,e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox)}},lI=function(e,t){switch(t){case 0:return lE(e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox,e.topRightBorderDoubleInnerBox,e.topRightPaddingBox);case 1:return lE(e.topRightBorderDoubleInnerBox,e.topRightPaddingBox,e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox);case 2:return lE(e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox,e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox);default:return lE(e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox,e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox)}},lb=function(e,t){switch(t){case 0:return lU(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return lU(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return lU(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return lU(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}},lU=function(e,t){var A=[];return ls(e)?A.push(e.subdivide(.5,!1)):A.push(e),ls(t)?A.push(t.subdivide(.5,!0)):A.push(t),A},lE=function(e,t,A,n){var r=[];return ls(e)?r.push(e.subdivide(.5,!1)):r.push(e),ls(A)?r.push(A.subdivide(.5,!0)):r.push(A),ls(n)?r.push(n.subdivide(.5,!0).reverse()):r.push(n),ls(t)?r.push(t.subdivide(.5,!1).reverse()):r.push(t),r},lF=function(e){var t=e.bounds,A=e.styles;return t.add(A.borderLeftWidth,A.borderTopWidth,-(A.borderRightWidth+A.borderLeftWidth),-(A.borderTopWidth+A.borderBottomWidth))},lQ=function(e){var t=e.styles,A=e.bounds,n=oo(t.paddingLeft,A.width),r=oo(t.paddingRight,A.width),o=oo(t.paddingTop,A.width),i=oo(t.paddingBottom,A.width);return A.add(n+t.borderLeftWidth,o+t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth+n+r),-(t.borderTopWidth+t.borderBottomWidth+o+i))},lT=function(e,t,A){var n,r,o=(n=lM(e.styles.backgroundOrigin,t),0===n?e.bounds:2===n?lQ(e):lF(e)),i=(r=lM(e.styles.backgroundClip,t),0===r?e.bounds:2===r?lQ(e):lF(e)),s=lO(lM(e.styles.backgroundSize,t),A,o),a=s[0],l=s[1],c=or(lM(e.styles.backgroundPosition,t),o.width-a,o.height-l);return[lL(lM(e.styles.backgroundRepeat,t),c,s,o,i),Math.round(o.left+c[0]),Math.round(o.top+c[1]),a,l]},lD=function(e){return r1(e)&&e.value===C.AUTO},lx=function(e){return"number"==typeof e},lO=function(e,t,A){var n=t[0],r=t[1],o=t[2],i=e[0],s=e[1];if(!i)return[0,0];if(r7(i)&&s&&r7(s))return[oo(i,A.width),oo(s,A.height)];var a=lx(o);if(r1(i)&&(i.value===C.CONTAIN||i.value===C.COVER))return lx(o)?A.width/A.height<o!=(i.value===C.COVER)?[A.width,A.width/o]:[A.height*o,A.height]:[A.width,A.height];var l=lx(n),c=lx(r),u=l||c;if(lD(i)&&(!s||lD(s)))return l&&c?[n,r]:a||u?u&&a?[l?n:r*o,c?r:n/o]:[l?n:A.width,c?r:A.height]:[A.width,A.height];if(a){var d=0,p=0;return r7(i)?d=oo(i,A.width):r7(s)&&(p=oo(s,A.height)),lD(i)?d=p*o:(!s||lD(s))&&(p=d/o),[d,p]}var g=null,m=null;if(r7(i)?g=oo(i,A.width):s&&r7(s)&&(m=oo(s,A.height)),null!==g&&(!s||lD(s))&&(m=l&&c?g/n*r:A.height),null!==m&&lD(i)&&(g=l&&c?m/r*n:A.width),null!==g&&null!==m)return[g,m];throw Error("Unable to calculate background-size for element")},lM=function(e,t){var A=e[t];return void 0===A?e[0]:A},lL=function(e,t,A,n,r){var o=t[0],i=t[1],s=A[0],a=A[1];switch(e){case 2:return[new lr(Math.round(n.left),Math.round(n.top+i)),new lr(Math.round(n.left+n.width),Math.round(n.top+i)),new lr(Math.round(n.left+n.width),Math.round(a+n.top+i)),new lr(Math.round(n.left),Math.round(a+n.top+i))];case 3:return[new lr(Math.round(n.left+o),Math.round(n.top)),new lr(Math.round(n.left+o+s),Math.round(n.top)),new lr(Math.round(n.left+o+s),Math.round(n.height+n.top)),new lr(Math.round(n.left+o),Math.round(n.height+n.top))];case 1:return[new lr(Math.round(n.left+o),Math.round(n.top+i)),new lr(Math.round(n.left+o+s),Math.round(n.top+i)),new lr(Math.round(n.left+o+s),Math.round(n.top+i+a)),new lr(Math.round(n.left+o),Math.round(n.top+i+a))];default:return[new lr(Math.round(r.left),Math.round(r.top)),new lr(Math.round(r.left+r.width),Math.round(r.top)),new lr(Math.round(r.left+r.width),Math.round(r.height+r.top)),new lr(Math.round(r.left),Math.round(r.height+r.top))]}},lR="Hidden Text",lV=function(){function e(e){this._data={},this._document=e}return e.prototype.parseMetrics=function(e,t){var A=this._document.createElement("div"),n=this._document.createElement("img"),r=this._document.createElement("span"),o=this._document.body;A.style.visibility="hidden",A.style.fontFamily=e,A.style.fontSize=t,A.style.margin="0",A.style.padding="0",A.style.whiteSpace="nowrap",o.appendChild(A),n.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",r.style.fontFamily=e,r.style.fontSize=t,r.style.margin="0",r.style.padding="0",r.appendChild(this._document.createTextNode(lR)),A.appendChild(r),A.appendChild(n);var i=n.offsetTop-r.offsetTop+2;A.removeChild(r),A.appendChild(this._document.createTextNode(lR)),A.style.lineHeight="normal",n.style.verticalAlign="super";var s=n.offsetTop-A.offsetTop+2;return o.removeChild(A),{baseline:i,middle:s}},e.prototype.getMetrics=function(e,t){var A=e+" "+t;return void 0===this._data[A]&&(this._data[A]=this.parseMetrics(e,t)),this._data[A]},e}(),lN=function(e,t){this.context=e,this.options=t},lH=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n._activeEffects=[],n.canvas=A.canvas?A.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),A.canvas||(n.canvas.width=Math.floor(A.width*A.scale),n.canvas.height=Math.floor(A.height*A.scale),n.canvas.style.width=A.width+"px",n.canvas.style.height=A.height+"px"),n.fontMetrics=new lV(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-A.x,-A.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+A.width+"x"+A.height+") with scale "+A.scale),n}return nW(t,e),t.prototype.applyEffects=function(e){for(var t=this;this._activeEffects.length;)this.popEffect();e.forEach(function(e){return t.applyEffect(e)})},t.prototype.applyEffect=function(e){this.ctx.save(),2===e.type&&(this.ctx.globalAlpha=e.opacity),0===e.type&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),lm(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},t.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},t.prototype.renderStack=function(e){return nz(this,void 0,void 0,function(){return nX(this,function(t){switch(t.label){case 0:if(!e.element.container.styles.isVisible())return[3,2];return[4,this.renderStackContent(e)];case 1:t.sent(),t.label=2;case 2:return[2]}})})},t.prototype.renderNode=function(e){return nz(this,void 0,void 0,function(){return nX(this,function(t){switch(t.label){case 0:if(i0(e.container.flags,16),!e.container.styles.isVisible())return[3,3];return[4,this.renderNodeBackgroundAndBorders(e)];case 1:return t.sent(),[4,this.renderNodeContent(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},t.prototype.renderTextWithLetterSpacing=function(e,t,A){var n=this;0===t?this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+A):sG(e.text).reduce(function(t,r){return n.ctx.fillText(r,t,e.bounds.top+A),t+n.ctx.measureText(r).width},e.bounds.left)},t.prototype.createFontStyle=function(e){var t=e.fontVariant.filter(function(e){return"normal"===e||"small-caps"===e}).join(""),A=lG(e.fontFamily).join(", "),n=rZ(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,t,e.fontWeight,n,A].join(" "),A,n]},t.prototype.renderTextNode=function(e,t){return nz(this,void 0,void 0,function(){var A,n,r,o,i,s,a,l,c=this;return nX(this,function(u){return n=(A=this.createFontStyle(t))[0],r=A[1],o=A[2],this.ctx.font=n,this.ctx.direction=1===t.direction?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",s=(i=this.fontMetrics.getMetrics(r,o)).baseline,a=i.middle,l=t.paintOrder,e.textBounds.forEach(function(e){l.forEach(function(A){switch(A){case 0:c.ctx.fillStyle=og(t.color),c.renderTextWithLetterSpacing(e,t.letterSpacing,s);var n=t.textShadow;n.length&&e.text.trim().length&&(n.slice(0).reverse().forEach(function(A){c.ctx.shadowColor=og(A.color),c.ctx.shadowOffsetX=A.offsetX.number*c.options.scale,c.ctx.shadowOffsetY=A.offsetY.number*c.options.scale,c.ctx.shadowBlur=A.blur.number,c.renderTextWithLetterSpacing(e,t.letterSpacing,s)}),c.ctx.shadowColor="",c.ctx.shadowOffsetX=0,c.ctx.shadowOffsetY=0,c.ctx.shadowBlur=0),t.textDecorationLine.length&&(c.ctx.fillStyle=og(t.textDecorationColor||t.color),t.textDecorationLine.forEach(function(t){switch(t){case 1:c.ctx.fillRect(e.bounds.left,Math.round(e.bounds.top+s),e.bounds.width,1);break;case 2:c.ctx.fillRect(e.bounds.left,Math.round(e.bounds.top),e.bounds.width,1);break;case 3:c.ctx.fillRect(e.bounds.left,Math.ceil(e.bounds.top+a),e.bounds.width,1)}}));break;case 1:t.webkitTextStrokeWidth&&e.text.trim().length&&(c.ctx.strokeStyle=og(t.webkitTextStrokeColor),c.ctx.lineWidth=t.webkitTextStrokeWidth,c.ctx.lineJoin=window.chrome?"miter":"round",c.ctx.strokeText(e.text,e.bounds.left,e.bounds.top+s)),c.ctx.strokeStyle="",c.ctx.lineWidth=0,c.ctx.lineJoin="miter"}})}),[2]})})},t.prototype.renderReplacedElement=function(e,t,A){if(A&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var n=lQ(e),r=lu(t);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(A,0,0,e.intrinsicWidth,e.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return nz(this,void 0,void 0,function(){var A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B;return nX(this,function(y){switch(y.label){case 0:this.applyEffects(e.getEffects(4)),A=e.container,n=e.curves,r=A.styles,o=0,i=A.textNodes,y.label=1;case 1:if(!(o<i.length))return[3,4];return s=i[o],[4,this.renderTextNode(s,r)];case 2:y.sent(),y.label=3;case 3:return o++,[3,1];case 4:if(!(A instanceof s$))return[3,8];y.label=5;case 5:return y.trys.push([5,7,,8]),[4,this.context.cache.match(A.src)];case 6:return a=y.sent(),this.renderReplacedElement(A,n,a),[3,8];case 7:return y.sent(),this.context.logger.error("Error loading image "+A.src),[3,8];case 8:if(A instanceof sZ&&this.renderReplacedElement(A,n,A.canvas),!(A instanceof s0))return[3,12];y.label=9;case 9:return y.trys.push([9,11,,12]),[4,this.context.cache.match(A.svg)];case 10:return a=y.sent(),this.renderReplacedElement(A,n,a),[3,12];case 11:return y.sent(),this.context.logger.error("Error loading svg "+A.svg.substring(0,255)),[3,12];case 12:if(!(A instanceof aA&&A.tree))return[3,14];return[4,new t(this.context,{scale:this.options.scale,backgroundColor:A.backgroundColor,x:0,y:0,width:A.width,height:A.height}).render(A.tree)];case 13:l=y.sent(),A.width&&A.height&&this.ctx.drawImage(l,0,0,A.width,A.height,A.bounds.left,A.bounds.top,A.bounds.width,A.bounds.height),y.label=14;case 14:if(A instanceof s7&&(c=Math.min(A.bounds.width,A.bounds.height),A.type===s9?A.checked&&(this.ctx.save(),this.path([new lr(A.bounds.left+.39363*c,A.bounds.top+.79*c),new lr(A.bounds.left+.16*c,A.bounds.top+.5549*c),new lr(A.bounds.left+.27347*c,A.bounds.top+.44071*c),new lr(A.bounds.left+.39694*c,A.bounds.top+.5649*c),new lr(A.bounds.left+.72983*c,A.bounds.top+.23*c),new lr(A.bounds.left+.84*c,A.bounds.top+.34085*c),new lr(A.bounds.left+.39363*c,A.bounds.top+.79*c)]),this.ctx.fillStyle=og(0x2a2a2aff),this.ctx.fill(),this.ctx.restore()):A.type===s8&&A.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(A.bounds.left+c/2,A.bounds.top+c/2,c/4,0,2*Math.PI,!0),this.ctx.fillStyle=og(0x2a2a2aff),this.ctx.fill(),this.ctx.restore())),l_(A)&&A.value.length){switch(d=(u=this.createFontStyle(r))[0],p=u[1],g=this.fontMetrics.getMetrics(d,p).baseline,this.ctx.font=d,this.ctx.fillStyle=og(r.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=lP(A.styles.textAlign),m=lQ(A),h=0,A.styles.textAlign){case 1:h+=m.width/2;break;case 2:h+=m.width}f=m.add(h,0,0,-m.height/2+1),this.ctx.save(),this.path([new lr(m.left,m.top),new lr(m.left+m.width,m.top),new lr(m.left+m.width,m.top+m.height),new lr(m.left,m.top+m.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new s_(A.value,f),r.letterSpacing,g),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!i0(A.styles.display,2048))return[3,20];if(null===A.styles.listStyleImage)return[3,19];if(0!==(w=A.styles.listStyleImage).type)return[3,18];a=void 0,B=w.url,y.label=15;case 15:return y.trys.push([15,17,,18]),[4,this.context.cache.match(B)];case 16:return a=y.sent(),this.ctx.drawImage(a,A.bounds.left-(a.width+10),A.bounds.top),[3,18];case 17:return y.sent(),this.context.logger.error("Error loading list-style-image "+B),[3,18];case 18:return[3,20];case 19:e.listValue&&-1!==A.styles.listStyleType&&(d=this.createFontStyle(r)[0],this.ctx.font=d,this.ctx.fillStyle=og(r.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",m=new nq(A.bounds.left,A.bounds.top+oo(A.styles.paddingTop,A.bounds.width),A.bounds.width,ih(r.lineHeight,r.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new s_(e.listValue,m),r.letterSpacing,ih(r.lineHeight,r.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),y.label=20;case 20:return[2]}})})},t.prototype.renderStackContent=function(e){return nz(this,void 0,void 0,function(){var t,A,n,r,o,i,s,a,l,c,u,d,p,g,m;return nX(this,function(h){switch(h.label){case 0:return i0(e.element.container.flags,16),[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:h.sent(),t=0,A=e.negativeZIndex,h.label=2;case 2:if(!(t<A.length))return[3,5];return n=A[t],[4,this.renderStack(n)];case 3:h.sent(),h.label=4;case 4:return t++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:h.sent(),r=0,o=e.nonInlineLevel,h.label=7;case 7:if(!(r<o.length))return[3,10];return n=o[r],[4,this.renderNode(n)];case 8:h.sent(),h.label=9;case 9:return r++,[3,7];case 10:i=0,s=e.nonPositionedFloats,h.label=11;case 11:if(!(i<s.length))return[3,14];return n=s[i],[4,this.renderStack(n)];case 12:h.sent(),h.label=13;case 13:return i++,[3,11];case 14:a=0,l=e.nonPositionedInlineLevel,h.label=15;case 15:if(!(a<l.length))return[3,18];return n=l[a],[4,this.renderStack(n)];case 16:h.sent(),h.label=17;case 17:return a++,[3,15];case 18:c=0,u=e.inlineLevel,h.label=19;case 19:if(!(c<u.length))return[3,22];return n=u[c],[4,this.renderNode(n)];case 20:h.sent(),h.label=21;case 21:return c++,[3,19];case 22:d=0,p=e.zeroOrAutoZIndexOrTransformedOrOpacity,h.label=23;case 23:if(!(d<p.length))return[3,26];return n=p[d],[4,this.renderStack(n)];case 24:h.sent(),h.label=25;case 25:return d++,[3,23];case 26:g=0,m=e.positiveZIndex,h.label=27;case 27:if(!(g<m.length))return[3,30];return n=m[g],[4,this.renderStack(n)];case 28:h.sent(),h.label=29;case 29:return g++,[3,27];case 30:return[2]}})})},t.prototype.mask=function(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()},t.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},t.prototype.formatPath=function(e){var t=this;e.forEach(function(e,A){var n=ls(e)?e.start:e;0===A?t.ctx.moveTo(n.x,n.y):t.ctx.lineTo(n.x,n.y),ls(e)&&t.ctx.bezierCurveTo(e.startControl.x,e.startControl.y,e.endControl.x,e.endControl.y,e.end.x,e.end.y)})},t.prototype.renderRepeat=function(e,t,A,n){this.path(e),this.ctx.fillStyle=t,this.ctx.translate(A,n),this.ctx.fill(),this.ctx.translate(-A,-n)},t.prototype.resizeImage=function(e,t,A){if(e.width===t&&e.height===A)return e;var n,r=(null!=(n=this.canvas.ownerDocument)?n:document).createElement("canvas");return r.width=Math.max(1,t),r.height=Math.max(1,A),r.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t,A),r},t.prototype.renderBackgroundImage=function(e){return nz(this,void 0,void 0,function(){var t,A,n,r,o,i;return nX(this,function(s){switch(s.label){case 0:t=e.styles.backgroundImage.length-1,A=function(A){var r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,D,x,O,M;return nX(this,function(L){switch(L.label){case 0:if(0!==A.type)return[3,5];r=void 0,o=A.url,L.label=1;case 1:return L.trys.push([1,3,,4]),[4,n.context.cache.match(o)];case 2:return r=L.sent(),[3,4];case 3:return L.sent(),n.context.logger.error("Error loading background-image "+o),[3,4];case 4:return r&&(s=(i=lT(e,t,[r.width,r.height,r.width/r.height]))[0],a=i[1],l=i[2],c=i[3],u=i[4],d=n.ctx.createPattern(n.resizeImage(r,c,u),"repeat"),n.renderRepeat(s,d,a,l)),[3,6];case 5:1===A.type?(s=(p=lT(e,t,[null,null,null]))[0],a=p[1],l=p[2],c=p[3],u=p[4],m=(g=oF(A.angle,c,u))[0],h=g[1],f=g[2],w=g[3],B=g[4],(y=document.createElement("canvas")).width=c,y.height=u,S=(v=y.getContext("2d")).createLinearGradient(h,w,f,B),oU(A.stops,m).forEach(function(e){return S.addColorStop(e.stop,og(e.color))}),v.fillStyle=S,v.fillRect(0,0,c,u),c>0&&u>0&&(d=n.ctx.createPattern(y,"repeat"),n.renderRepeat(s,d,a,l))):2===A.type&&(s=(C=lT(e,t,[null,null,null]))[0],I=C[1],b=C[2],c=C[3],u=C[4],a=oo((U=0===A.position.length?[oA]:A.position)[0],c),l=oo(U[U.length-1],u),F=(E=oD(A,a,l,c,u))[0],Q=E[1],F>0&&Q>0&&(T=n.ctx.createRadialGradient(I+a,b+l,0,I+a,b+l,F),oU(A.stops,2*F).forEach(function(e){return T.addColorStop(e.stop,og(e.color))}),n.path(s),n.ctx.fillStyle=T,F!==Q?(D=e.bounds.left+.5*e.bounds.width,x=e.bounds.top+.5*e.bounds.height,M=1/(O=Q/F),n.ctx.save(),n.ctx.translate(D,x),n.ctx.transform(1,0,0,O,0,0),n.ctx.translate(-D,-x),n.ctx.fillRect(I,M*(b-x)+x,c,u*M),n.ctx.restore()):n.ctx.fill())),L.label=6;case 6:return t--,[2]}})},n=this,r=0,o=e.styles.backgroundImage.slice(0).reverse(),s.label=1;case 1:if(!(r<o.length))return[3,4];return i=o[r],[5,A(i)];case 2:s.sent(),s.label=3;case 3:return r++,[3,1];case 4:return[2]}})})},t.prototype.renderSolidBorder=function(e,t,A){return nz(this,void 0,void 0,function(){return nX(this,function(n){return this.path(lS(A,t)),this.ctx.fillStyle=og(e),this.ctx.fill(),[2]})})},t.prototype.renderDoubleBorder=function(e,t,A,n){return nz(this,void 0,void 0,function(){var r,o;return nX(this,function(i){switch(i.label){case 0:if(!(t<3))return[3,2];return[4,this.renderSolidBorder(e,A,n)];case 1:return i.sent(),[2];case 2:return r=lC(n,A),this.path(r),this.ctx.fillStyle=og(e),this.ctx.fill(),o=lI(n,A),this.path(o),this.ctx.fill(),[2]}})})},t.prototype.renderNodeBackgroundAndBorders=function(e){return nz(this,void 0,void 0,function(){var t,A,n,r,o,i,s,a,l=this;return nX(this,function(c){switch(c.label){case 0:if(this.applyEffects(e.getEffects(2)),A=!op((t=e.container.styles).backgroundColor)||t.backgroundImage.length,n=[{style:t.borderTopStyle,color:t.borderTopColor,width:t.borderTopWidth},{style:t.borderRightStyle,color:t.borderRightColor,width:t.borderRightWidth},{style:t.borderBottomStyle,color:t.borderBottomColor,width:t.borderBottomWidth},{style:t.borderLeftStyle,color:t.borderLeftColor,width:t.borderLeftWidth}],r=lk(lM(t.backgroundClip,0),e.curves),!(A||t.boxShadow.length))return[3,2];return this.ctx.save(),this.path(r),this.ctx.clip(),op(t.backgroundColor)||(this.ctx.fillStyle=og(t.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)];case 1:c.sent(),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach(function(t){l.ctx.save();var A,n,r,o,i=lc(e.curves),s=1e4*!t.inset,a=(A=-s+(t.inset?1:-1)*t.spread.number,n=(t.inset?1:-1)*t.spread.number,r=t.spread.number*(t.inset?-2:2),o=t.spread.number*(t.inset?-2:2),i.map(function(e,t){switch(t){case 0:return e.add(A,n);case 1:return e.add(A+r,n);case 2:return e.add(A+r,n+o);case 3:return e.add(A,n+o)}return e}));t.inset?(l.path(i),l.ctx.clip(),l.mask(a)):(l.mask(i),l.ctx.clip(),l.path(a)),l.ctx.shadowOffsetX=t.offsetX.number+s,l.ctx.shadowOffsetY=t.offsetY.number,l.ctx.shadowColor=og(t.color),l.ctx.shadowBlur=t.blur.number,l.ctx.fillStyle=t.inset?og(t.color):"rgba(0,0,0,1)",l.ctx.fill(),l.ctx.restore()}),c.label=2;case 2:o=0,i=0,s=n,c.label=3;case 3:if(!(i<s.length))return[3,13];if(!(0!==(a=s[i]).style&&!op(a.color)&&a.width>0))return[3,11];if(2!==a.style)return[3,5];return[4,this.renderDashedDottedBorder(a.color,a.width,o,e.curves,2)];case 4:case 6:case 8:return c.sent(),[3,11];case 5:if(3!==a.style)return[3,7];return[4,this.renderDashedDottedBorder(a.color,a.width,o,e.curves,3)];case 7:if(4!==a.style)return[3,9];return[4,this.renderDoubleBorder(a.color,a.width,o,e.curves)];case 9:return[4,this.renderSolidBorder(a.color,o,e.curves)];case 10:c.sent(),c.label=11;case 11:o++,c.label=12;case 12:return i++,[3,3];case 13:return[2]}})})},t.prototype.renderDashedDottedBorder=function(e,t,A,n,r){return nz(this,void 0,void 0,function(){var o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y;return nX(this,function(v){return this.ctx.save(),o=lb(n,A),i=lS(n,A),2===r&&(this.path(i),this.ctx.clip()),ls(i[0])?(s=i[0].start.x,a=i[0].start.y):(s=i[0].x,a=i[0].y),ls(i[1])?(l=i[1].end.x,c=i[1].end.y):(l=i[1].x,c=i[1].y),u=0===A||2===A?Math.abs(s-l):Math.abs(a-c),this.ctx.beginPath(),3===r?this.formatPath(o):this.formatPath(i.slice(0,2)),d=t<3?3*t:2*t,p=t<3?2*t:t,3===r&&(d=t,p=t),g=!0,u<=2*d?g=!1:u<=2*d+p?(m=u/(2*d+p),d*=m,p*=m):(h=Math.floor((u+p)/(d+p)),f=(u-h*d)/(h-1),p=(w=(u-(h+1)*d)/h)<=0||Math.abs(p-f)<Math.abs(p-w)?f:w),g&&(3===r?this.ctx.setLineDash([0,d+p]):this.ctx.setLineDash([d,p])),3===r?(this.ctx.lineCap="round",this.ctx.lineWidth=t):this.ctx.lineWidth=2*t+1.1,this.ctx.strokeStyle=og(e),this.ctx.stroke(),this.ctx.setLineDash([]),2===r&&(ls(i[0])&&(B=i[3],y=i[0],this.ctx.beginPath(),this.formatPath([new lr(B.end.x,B.end.y),new lr(y.start.x,y.start.y)]),this.ctx.stroke()),ls(i[1])&&(B=i[1],y=i[2],this.ctx.beginPath(),this.formatPath([new lr(B.end.x,B.end.y),new lr(y.start.x,y.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},t.prototype.render=function(e){return nz(this,void 0,void 0,function(){var t;return nX(this,function(A){switch(A.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=og(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),t=lv(e),[4,this.renderStack(t)];case 1:return A.sent(),this.applyEffects([]),[2,this.canvas]}})})},t}(lN),l_=function(e){return e instanceof at||e instanceof ae||e instanceof s7&&e.type!==s8&&e.type!==s9||!1},lk=function(e,t){switch(e){case 0:return lc(t);case 2:return[t.topLeftContentBox,t.topRightContentBox,t.bottomRightContentBox,t.bottomLeftContentBox];default:return lu(t)}},lP=function(e){switch(e){case 1:return"center";case 2:return"right";default:return"left"}},lj=["-apple-system","system-ui"],lG=function(e){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?e.filter(function(e){return -1===lj.indexOf(e)}):e},lK=function(e){function t(t,A){var n=e.call(this,t,A)||this;return n.canvas=A.canvas?A.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=A,n.canvas.width=Math.floor(A.width*A.scale),n.canvas.height=Math.floor(A.height*A.scale),n.canvas.style.width=A.width+"px",n.canvas.style.height=A.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-A.x,-A.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+A.width+"x"+A.height+" at "+A.x+","+A.y+") with scale "+A.scale),n}return nW(t,e),t.prototype.render=function(e){return nz(this,void 0,void 0,function(){var t;return nX(this,function(A){switch(A.label){case 0:return[4,lW(sQ(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e))];case 1:return t=A.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=og(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(t,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},t}(lN),lW=function(e){return new Promise(function(t,A){var n=new Image;n.onload=function(){t(n)},n.onerror=A,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},lY=function(){function e(e){var t=e.id,A=e.enabled;this.id=t,this.enabled=A,this.start=Date.now()}return e.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.debug?console.debug.apply(console,nJ([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.prototype.getTime=function(){return Date.now()-this.start},e.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&"u">typeof window&&window.console&&"function"==typeof console.info&&console.info.apply(console,nJ([this.id,this.getTime()+"ms"],e))},e.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.warn?console.warn.apply(console,nJ([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&("u">typeof window&&window.console&&"function"==typeof console.error?console.error.apply(console,nJ([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.instances={},e}(),lz=function(){function e(t,A){var n;this.windowBounds=A,this.instanceName="#"+e.instanceCount++,this.logger=new lY({id:this.instanceName,enabled:t.logging}),this.cache=null!=(n=t.cache)?n:new a6(this,t)}return e.instanceCount=1,e}();"u">typeof window&&a4.setContext(window);var lX=function(e,t,A){var n=t.ownerDocument,r=n.documentElement?ov(e,getComputedStyle(n.documentElement).backgroundColor):oS.TRANSPARENT,o=n.body?ov(e,getComputedStyle(n.body).backgroundColor):oS.TRANSPARENT,i="string"==typeof A?ov(e,A):null===A?oS.TRANSPARENT:0xffffffff;return t===n.documentElement?op(r)?op(o)?i:o:r:i};let lJ=function(e,t){var A,n;return void 0===t&&(t={}),A=e,n=t,nz(void 0,void 0,void 0,function(){var e,t,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,D,x,O,M,L,R,V,N;return nX(this,function(H){switch(H.label){case 0:if(!A||"object"!=typeof A)return[2,Promise.reject("Invalid element provided as first argument")];if(!(e=A.ownerDocument))throw Error("Element is not attached to a Document");if(!(t=e.defaultView))throw Error("Document is not attached to a Window");if(r={allowTaint:null!=(S=n.allowTaint)&&S,imageTimeout:null!=(C=n.imageTimeout)?C:15e3,proxy:n.proxy,useCORS:null!=(I=n.useCORS)&&I},s=new lz(nY({logging:null==(b=n.logging)||b,cache:n.cache},r),i=new nq((o={windowWidth:null!=(U=n.windowWidth)?U:t.innerWidth,windowHeight:null!=(E=n.windowHeight)?E:t.innerHeight,scrollX:null!=(F=n.scrollX)?F:t.pageXOffset,scrollY:null!=(Q=n.scrollY)?Q:t.pageYOffset}).scrollX,o.scrollY,o.windowWidth,o.windowHeight)),a=null!=(T=n.foreignObjectRendering)&&T,l={allowTaint:null!=(D=n.allowTaint)&&D,onclone:n.onclone,ignoreElements:n.ignoreElements,inlineImages:a,copyStyles:a},s.logger.debug("Starting document clone with size "+i.width+"x"+i.height+" scrolled to "+-i.left+","+-i.top),!(u=(c=new aj(s,A,l)).clonedReferenceElement))return[2,Promise.reject("Unable to find element in cloned iframe")];return[4,c.toIFrame(e,i)];case 1:if(d=H.sent(),g=(p=af(u)||"HTML"===u.tagName?nZ(u.ownerDocument):n$(s,u)).width,m=p.height,h=p.left,f=p.top,w=lX(s,u,n.backgroundColor),B={canvas:n.canvas,backgroundColor:w,scale:null!=(O=null!=(x=n.scale)?x:t.devicePixelRatio)?O:1,x:(null!=(M=n.x)?M:0)+h,y:(null!=(L=n.y)?L:0)+f,width:null!=(R=n.width)?R:Math.ceil(g),height:null!=(V=n.height)?V:Math.ceil(m)},!a)return[3,3];return s.logger.debug("Document cloned, using foreign object rendering"),[4,new lK(s,B).render(u)];case 2:return y=H.sent(),[3,5];case 3:return s.logger.debug("Document cloned, element located at "+h+","+f+" with size "+g+"x"+m+" using computed rendering"),s.logger.debug("Starting DOM parsing"),v=ai(s,u),w===v.styles.backgroundColor&&(v.styles.backgroundColor=oS.TRANSPARENT),s.logger.debug("Starting renderer for element at "+B.x+","+B.y+" with size "+B.width+"x"+B.height),[4,new lH(s,B).render(v)];case 4:y=H.sent(),H.label=5;case 5:return(null==(N=n.removeContainer)||N)&&!aj.destroy(d)&&s.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore"),s.logger.debug("Finished rendering"),[2,y]}})})},{downloadUrl:lq}=k.utils,l$="cornerstone-viewport-download-form",lZ=[{value:"jpg",label:"JPG"},{value:"png",label:"PNG"}];async function l0(e,t,A,n,r){try{return await (0,nL.qU)(e).copyDisplayedContentTo(t),t.render(),A?.length&&A.forEach(e=>{let{segmentationId:A,colorLUTIndex:n,type:r}=e;r===R.Enums.SegmentationRepresentations.Labelmap&&R.segmentation.addLabelmapRepresentationToViewportMap({[t.id]:[{segmentationId:A,type:R.Enums.SegmentationRepresentations.Labelmap,config:{colorLUTOrIndex:n}}]}),r===R.Enums.SegmentationRepresentations.Contour&&R.segmentation.addContourRepresentationToViewportMap({[t.id]:[{segmentationId:A,type:R.Enums.SegmentationRepresentations.Contour,config:{colorLUTOrIndex:n}}]})}),{width:Math.min(n||512,1e4),height:Math.min(r||512,1e4)}}catch(e){console.error("Error loading image:",e)}}let l1=e=>{let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f=(0,D.c)(46),{hide:w,activeViewportId:B}=e,{servicesManager:y}=(0,tj.useSystem)(),{customizationService:v,cornerstoneViewportService:S}=y.services,[C,I]=(0,M.useState)(!0);f[0]===Symbol.for("react.memo_cache_sentinel")?(t={width:512,height:512},f[0]=t):t=f[0];let[b,U]=(0,M.useState)(t);f[1]!==v?(A=v.getCustomization("viewportDownload.warningMessage"),f[1]=v,f[2]=A):A=f[2];let E=A;if(f[3]!==B||f[4]!==S){let e,t=(0,$.kJ)(B);n=t?.element;let{viewportId:A,renderingEngineId:s}=(0,L.getEnabledElement)(n);r=A,f[9]!==S?(e=S.getRenderingEngine(),f[9]=S,f[10]=e):e=f[10],o=e,i=R.ToolGroupManager.getToolGroupForViewport(r,s),f[3]=B,f[4]=S,f[5]=n,f[6]=r,f[7]=o,f[8]=i}else n=f[5],r=f[6],o=f[7],i=f[8];let F=i;f[11]!==F?(s=()=>{let e=Object.keys(F.toolOptions).reduce((e,t)=>{let{mode:A,bindings:n}=F.toolOptions[t];return{...e,[t]:{mode:A,bindings:n}}},{});return()=>{Object.keys(e).forEach(t=>{let{mode:A,bindings:n}=e[t];try{F.setToolMode(t,A,{bindings:n})}catch(e){console.debug("Error restoring tool mode during cleanup:",t,e)}})}},f[11]=F,f[12]=s):s=f[12],f[13]===Symbol.for("react.memo_cache_sentinel")?(a=[],f[13]=a):a=f[13],(0,M.useEffect)(s,a),f[14]!==n||f[15]!==o?(l=e=>{if(!e)return;let{viewport:t}=(0,L.getEnabledElement)(n),A={viewportId:l$,element:e,type:t.type,defaultOptions:{background:t.defaultOptions.background,orientation:t.defaultOptions.orientation}};o.enableElement(A)},f[14]=n,f[15]=o,f[16]=l):l=f[16];let Q=l;f[17]!==o?(c=async()=>{o.disableElement(l$)},f[17]=o,f[18]=c):c=f[18];let T=c;f[19]!==n||f[20]!==r||f[21]!==o?(u=async(e,t)=>{if(!n)return;let A=(0,L.getEnabledElement)(n);if(!A)return;let i=R.segmentation.state.getViewportSegmentationRepresentations(r),{viewport:s}=A;return l0(s,o.getViewport(l$),i,e,t)},f[19]=n,f[20]=r,f[21]=o,f[22]=u):u=f[22];let x=u;f[23]!==n||f[24]!==o?(d=e=>{let t=(0,L.getEnabledElement)(n);if(!t)return;let A=o.getViewport(l$);if(!A)return;let{viewportId:r,renderingEngineId:i}=t,{id:s}=A,a=R.ToolGroupManager.getToolGroupForViewport(r,i);a.addViewport(s,i),Object.values(a.getToolInstances()).forEach(t=>{!1!==t.constructor.isAnnotation&&(e?a.setToolEnabled(t.toolName):a.setToolDisabled(t.toolName))})},f[23]=n,f[24]=o,f[25]=d):d=f[25];let O=d;f[26]!==x||f[27]!==O||f[28]!==o||f[29]!==C||f[30]!==b.height||f[31]!==b.width?(p=()=>{b.width&&b.height&&setTimeout(()=>{x(b.width,b.height),O(C),o.resize(),o.render()},100)},f[26]=x,f[27]=O,f[28]=o,f[29]=C,f[30]=b.height,f[31]=b.width,f[32]=p):p=f[32],f[33]!==C||f[34]!==b?(g=[b,C],f[33]=C,f[34]=b,f[35]=g):g=f[35],(0,M.useEffect)(p,g),f[36]!==v?(m=v.getCustomization("ohif.captureViewportModal"),f[36]=v,f[37]=m):m=f[37];let V=m;return f[38]!==V||f[39]!==T||f[40]!==Q||f[41]!==w||f[42]!==C||f[43]!==b||f[44]!==E?(h=(0,tp.jsx)(V,{onClose:w,defaultSize:512,fileTypeOptions:lZ,viewportId:l$,showAnnotations:C,onAnnotationsChange:I,dimensions:b,onDimensionsChange:U,onEnableViewport:Q,onDisableViewport:T,onDownload:l3,onCopyToClipboard:l2,warningState:E}),f[38]=V,f[39]=T,f[40]=Q,f[41]=w,f[42]=C,f[43]=b,f[44]=E,f[45]=h):h=f[45],h};async function l3(e,t){let A=document.querySelector(`div[data-viewport-uid="${l$}"]`);if(!A)return void console.debug("No viewport found for download");let n=`${e}.${t}`;lq((await lJ(A)).toDataURL(`image/${t}`,1),{filename:n})}async function l2(){let e=document.querySelector(`div[data-viewport-uid="${l$}"]`);if(!e)return void console.debug("No viewport found for copy");try{let t=await lJ(e),A=await new Promise((e,A)=>{t.toBlob(t=>{t?e(t):A(Error("Failed to create blob from canvas"))},"image/png",1)});await navigator.clipboard.write([new ClipboardItem({"image/png":A})]),console.log("Image copied to clipboard successfully")}catch(e){throw console.error("Failed to copy image to clipboard:",e),e}}var l4=x(3359),l6=x.n(l4);async function l9({segmentation:e,segmentationId:t,readableText:A}){if(!e)return console.debug("No segmentation found for id:",t),null;let n=Object.keys(e.segments).map(e=>parseInt(e)).filter(e=>e>0);if(0===n.length)return console.debug("No segments found in segmentation:",t),null;let r=await R.utilities.segmentation.getStatistics({segmentationId:t,segmentIndices:n,mode:"individual"});if(!r)return null;let o=l6()(e),i=!1;return Object.entries(r).forEach(([e,t])=>{let n=parseInt(e);if(!o.segments[n])return void console.warn("Segment not found to update cached stats:",n);o.segments[n].cachedStats||(o.segments[n].cachedStats={},i=!0);let r=o.segments[n].cachedStats.namedStats||{};t.array&&(t.array.forEach(e=>{A[e.name]&&e&&e.name&&(r[e.name]={name:e.name,label:A[e.name],value:e.value,unit:e.unit,order:Object.keys(A).indexOf(e.name)})}),A.volume&&t.volume&&!r.volume&&(r.volume={name:"volume",label:"Volume",value:t.volume.value,unit:t.volume.unit,order:Object.keys(A).indexOf("volume")}),o.segments[n].cachedStats.namedStats=r,i=!0)}),i?o:null}let{downloadCsv:l8}=k.utils;var l5=x(1682);let l7={orthographic:"volume",volume3dnext:"volume3d",videonext:"video",wholeslidenext:"wholeslide",ecgnext:"ecg",planarnext:void 0};function ce(e){if(!e)return;let t=e.toLowerCase();return t in l7?l7[t]:t}function ct({viewportType:e,customizationService:t}){let A=t?.getCustomization("cornerstone.segmentation.autoHydrateViewportTypes");if(!Array.isArray(A))return!0;let n=ce(e);return!n||A.some(e=>ce(e)===n)}function cA(e,t,A,n){if(!t&&!n)return e??[];let r=new Map,o=(e,t)=>{e&&t?.length&&r.set(e,{viewportId:e,displaySetInstanceUIDs:t})};if(Array.isArray(e))for(let A of e){let e=A.viewportId??A.viewportOptions?.viewportId;e&&o(e,A.displaySetInstanceUIDs?.length?A.displaySetInstanceUIDs:[t])}A.forEach(e=>{if(r.has(e.viewportId))return;let A=e.displaySetInstanceUIDs||[];t&&A.includes(t)?o(e.viewportId,[t]):n?.(e)&&o(e.viewportId,A)});let i=Array.from(r.values());return 0===i.length&&Array.isArray(e)&&e.length>0?e:i}async function cn(e,t){if(!(e?.load instanceof Function))return;let{userAuthenticationService:A,uiNotificationService:n}=t.services,r=A.getAuthorizationHeader();try{await e.load({headers:r})}catch(e){n.show({title:"Error loading displaySet",message:e.message,type:"error"}),console.error(e)}}function cr(e,t,A,n){if(e<0||e>1||A<0||A>1)throw Error("x1 and x2 must be in the range [0, 1]");return function(r){var o,i,s,a;let l,c,u,d,p,g;if(r<=0)return 0;if(r>=1)return 1;if(e===t&&A===n)return r;return i=r,s=e,a=A,u=3*s,d=3*(a-s)-u,p=1-u-d,o=null!==(g=function(e){let t=e;for(let r=0;r<8;r++){var A,n;let r=((p*(A=t)+d)*A+u)*A-e;if(1e-6>Math.abs(r))return t;let o=(3*p*(n=t)+2*d)*n+u;if(1e-6>Math.abs(o))break;t-=r/o}return null}(i))?g:function(e){let t=0,A=1,n=e;for(;t<A;){var r;let o=((p*(r=n)+d)*r+u)*r;if(1e-6>Math.abs(o-e))break;e>o?t=n:A=n,n=(A-t)*.5+t}return n}(i),l=3*t,c=3*(n-t)-l,(((1-l-c)*o+c)*o+l)*o}}let co=cr(0,0,1,1),ci=cr(.42,0,1,1),cs=cr(0,0,.58,1),ca=cr(.42,0,.58,1),cl=cr(.25,.1,.25,1);function cc(e){return function(t,A=0,n){return 0===A?e(t):A+(1-Math.abs(2*e(t)-1))*((n?A*n:1)-A)}}let cu=cc(co),cd=cc(cl),cp=cc(ci),cg=cc(cs),cm=cc(ca),ch=((B={}).EASE="ease",B.EASE_IN="ease-in",B.EASE_OUT="ease-out",B.EASE_IN_OUT="ease-in-out",B.LINEAR="linear",B),cf=new Map([[ch.EASE,cd],[ch.EASE_IN,cp],[ch.EASE_OUT,cg],[ch.EASE_IN_OUT,cm],[ch.LINEAR,cu]]);var cw=x(3545),cB=x.n(cw);async function cy(e,{viewportId:t,options:A={},segmentationType:n}){let{viewportGridService:r,displaySetService:o,segmentationService:i}=e.services,{viewports:s}=r.getState(),a=s.get(t),l=A.displaySetInstanceUID||a?.displaySetInstanceUIDs?.[0];if(!l)return;let c=i.getSegmentations(),u=A.label||`${cB().t("Tools:Segmentation")} ${c.length+1}`,d=A.segmentationId||`${L.utilities.uuidv4()}`,p=o.getDisplaySetByUID(l),g={label:u,segmentationId:d,labelIsGenerated:!A.label,segments:A.createInitialSegment?{1:{label:`${cB().t("Tools:Segment")} 1`,active:!0}}:{}},m=await (n===ta.SegmentationRepresentations.Labelmap?i.createLabelmapForDisplaySet(p,g):i.createContourForDisplaySet(p,g));return await i.addSegmentationRepresentation(t,{segmentationId:d,type:n}),m}var cv=x(1748);let{add:cS,intersect:cC,subtract:cI,copy:cb}=R.utilities.contourSegmentation,{DefaultHistoryMemo:cU}=L.utilities.HistoryMemo,cE={imageSlice:function({servicesManager:e,viewports:t,syncId:A}){let{syncGroupService:n,viewportGridService:r,displaySetService:o,cornerstoneViewportService:i}=e.services;A||="IMAGE_SLICE_SYNC";let s=t||nT(r,o);if(s.some(e=>!!n.getSynchronizersForViewport(e.viewportOptions.viewportId).find(e=>e.id===A)))return function(e,t){let{syncGroupService:A,viewportGridService:n,displaySetService:r,cornerstoneViewportService:o}=t.services;nT(n,r).forEach(t=>{let{viewportId:n}=t.viewportOptions,r=o.getCornerstoneViewport(n);r&&A.removeViewportFromSyncGroup(r.id,r.getRenderingEngine().id,e)})}(A,e);s.forEach(e=>{let{viewportId:t}=e.viewportOptions,r=i.getCornerstoneViewport(t);r&&n.addViewportToSyncGroup(t,r.getRenderingEngine().id,{type:"imageSlice",id:A,source:!0,target:!0})})},voi:function({servicesManager:e,viewports:t,syncId:A}){let{syncGroupService:n,viewportGridService:r,displaySetService:o,cornerstoneViewportService:i}=e.services;for(let[s,a]of Object.entries(t||function(e,t){let{viewports:A}=e.getState();return[...A.values()].reduce((e,A)=>{let{displaySetInstanceUIDs:n}=A;if(!n?.length)return e;let r=n[0],o=t.getDisplaySetByUID(r).Modality;return e[o]||(e[o]=[]),e[o].push(A),e},{})}(r,o))){let t=A||nM(s);if(a.some(e=>!!n.getSynchronizersForViewport(e.viewportOptions.viewportId).find(e=>e.id===t)))return function(e,t,A){let{syncGroupService:n,cornerstoneViewportService:r}=A.services;e.forEach(e=>{let{viewportId:A}=e.viewportOptions,o=r.getCornerstoneViewport(A);o&&n.removeViewportFromSyncGroup(o.id,o.getRenderingEngine().id,t)})}(a,t,e);a.forEach(e=>{let{viewportId:A}=e.viewportOptions,r=i.getCornerstoneViewport(A);r&&n.addViewportToSyncGroup(A,r.getRenderingEngine().id,{type:"voi",id:t,source:!0,target:!0})})}}},{segmentation:cF}=R.utilities,cQ=({toolGroupService:e})=>{let t=[];return e.getToolGroupIds().forEach(e=>{let A=R.ToolGroupManager.getToolGroup(e).getToolInstances();Object.keys(A).forEach(e=>{let n=A[e];n instanceof R.LabelmapBaseTool&&t.push(n)})}),t},cT=new X.ONNXSegmentationController({autoSegmentMode:!0,models:{sam_b:[{name:"sam-b-encoder",url:"https://huggingface.co/schmuell/sam-b-fp16/resolve/main/sam_vit_b_01ec64.encoder-fp16.onnx",size:180,key:"encoder"},{name:"sam-b-decoder",url:"https://huggingface.co/schmuell/sam-b-fp16/resolve/main/sam_vit_b_01ec64.decoder.onnx",size:17,key:"decoder"}]},modelName:"sam_b"}),cD=!1,cx={type:"voi",id:"mpr",source:!0,target:!0,options:{syncColormap:!0}},cO={type:"hydrateseg",id:"sameFORId",source:!0,target:!0,options:{matchingRules:["sameFOR"]}},cM={layoutType:"grid",properties:{rows:1,columns:3,layoutOptions:[{x:0,y:0,width:1/3,height:1},{x:1/3,y:0,width:1/3,height:1},{x:2/3,y:0,width:1/3,height:1}]}},cL={id:"mpr",name:AF.t("Hps:MPR"),locked:!0,icon:"layout-advanced-mpr",isPreset:!0,createdDate:"2021-02-23",modifiedDate:"2023-08-15",availableTo:{},editableBy:{},numberOfPriorsReferenced:0,protocolMatchingRules:[],imageLoadStrategy:"nth",callbacks:{},displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{name:"MPR 1x3",viewportStructure:cM,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"MPR Reformat 1x3",viewportStructure:cM,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial_reformat",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},cR={id:"fourUp",locked:!0,name:AF.t("Hps:3D four up"),icon:"layout-advanced-3d-four-up",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"fourUpStage",name:"fourUp",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[cO]},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},cV={id:"main3D",locked:!0,name:AF.t("Hps:3D main"),icon:"layout-advanced-3d-main",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"main3DStage",name:"main3D",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3,layoutOptions:[{x:0,y:0,width:1,height:.5},{x:0,y:.5,width:1/3,height:.5},{x:1/3,y:.5,width:1/3,height:.5},{x:2/3,y:.5,width:1/3,height:.5}]}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},cN={id:"mprAnd3DVolumeViewport",locked:!0,name:AF.t("Hps:mpr"),createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0},{attribute:"Modality",constraint:{equals:{value:"CT"}},required:!0}]}},stages:[{id:"mpr3Stage",name:"mpr",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[cO]},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},cH={id:"only3D",locked:!0,name:AF.t("Hps:3D only"),icon:"layout-advanced-3d-only",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"only3DStage",name:"only3D",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:1}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0,syncGroups:[cO]}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]}]}]},c_={id:"primary3D",locked:!0,name:AF.t("Hps:3D primary"),icon:"layout-advanced-3d-primary",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"primary3DStage",name:"primary3D",viewportStructure:{layoutType:"grid",properties:{rows:3,columns:3,layoutOptions:[{x:0,y:0,width:2/3,height:1},{x:2/3,y:0,width:1/3,height:1/3},{x:2/3,y:1/3,width:1/3,height:1/3},{x:2/3,y:2/3,width:1/3,height:1/3}]}},viewports:[{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},ck={id:"primaryAxial",locked:!0,name:AF.t("Hps:Axial Primary"),icon:"layout-advanced-axial-primary",isPreset:!0,createdDate:"2023-03-15T10:29:44.894Z",modifiedDate:"2023-03-15T10:29:44.894Z",availableTo:{},editableBy:{},protocolMatchingRules:[],imageLoadStrategy:"interleaveCenter",displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{weight:1,attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0}]}},stages:[{id:"primaryAxialStage",name:"primaryAxial",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3,layoutOptions:[{x:0,y:0,width:2/3,height:1},{x:2/3,y:0,width:1/3,height:.5},{x:2/3,y:.5,width:1/3,height:.5}]}},viewports:[{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[cx,cO]},displaySets:[{id:"activeDisplaySet"}]}]}]},cP={id:"@ohif/frameView",description:AF.t("Hps:Frame view for the active series"),name:AF.t("Hps:Frame View"),icon:"tool-stack-scroll",isPreset:!0,toolGroupIds:["default"],protocolMatchingRules:[],displaySetSelectors:{activeDisplaySet:{seriesMatchingRules:[{attribute:"numImageFrames",constraint:{greaterThan:{value:16}},required:!0},{attribute:"isDisplaySetFromUrl",weight:20,constraint:{equals:!0}}]}},defaultViewport:{viewportOptions:{viewportType:"stack",toolGroupId:"default",allowUnmatchedView:!0},displaySets:[{id:"activeDisplaySet"}]},stages:[{name:"frameView",id:"4x4",viewportStructure:{layoutType:"grid",properties:{rows:4,columns:4}},viewports:[{viewportOptions:{viewportId:"custom_R0_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R0_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:6}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R1_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:7}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:8}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:9}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:10}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R2_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:11}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C0",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:12}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C1",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:13}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C2",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:14}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"custom_R3_C3",toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:15}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"3x3",viewportStructure:{layoutType:"grid",properties:{rows:3,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:6}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:7}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:8}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"3x2",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:4}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:5}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"2x2",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:3}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"1x3",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:3}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:2}}]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"frameView",id:"1x2",viewportStructure:{layoutType:"grid",properties:{rows:1,columns:2}},viewports:[{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:0}}]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"default",syncGroups:[{type:"zoompan",id:"zoompansync",source:!0,target:!0},{type:"voi",id:"wlsync",source:!0,target:!0,options:{syncColormap:!0}},{type:"frameview",id:"frameViewSync",source:!0,target:!0,options:{viewportIndex:1}}]},displaySets:[{id:"activeDisplaySet"}]}]}]};var cj=x(8228);let cG=e=>{let t,A,n,r,o=(0,D.c)(12),{displaySet:i,showModality:s,dataCY:a}=e,l=void 0===s||s;if(o[0]!==i||o[1]!==a)t=void 0===a?`${i.label}-${i.Modality}`:a,o[0]=i,o[1]=a,o[2]=t;else t=o[2];let c=t;return o[3]!==i.label?(A=(0,tp.jsx)("span",{className:"text-foreground truncate text-base",children:i.label}),o[3]=i.label,o[4]=A):A=o[4],o[5]!==i.Modality||o[6]!==l?(n=l&&i.Modality&&(0,tp.jsx)("span",{className:"text-muted-foreground flex-shrink-0 whitespace-nowrap text-xs",children:i.Modality}),o[5]=i.Modality,o[6]=l,o[7]=n):n=o[7],o[8]!==c||o[9]!==A||o[10]!==n?(r=(0,tp.jsxs)("div",{className:"flex w-[90%] items-center justify-between","data-cy":c,children:[A,n]}),o[8]=c,o[9]=A,o[10]=n,o[11]=r):r=o[11],r};var cK=x(9227);function cW(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID)}function cY(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID)}function cz(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID)}function cX(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e,dataCY:`${e.label}`})},e.displaySetInstanceUID)}function cJ(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID)}let cq=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,x,O,L,R,V,N,H,_,P,j,G,K=(0,D.c)(134),{viewportId:W}=e,{commandsManager:Y,servicesManager:z}=(0,k.useSystem)(),{t:X}=tP();K[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],K[0]=t):t=K[0];let[J,q]=(0,M.useState)(t);K[1]===Symbol.for("react.memo_cache_sentinel")?(A=[],K[1]=A):A=K[1];let[$,Z]=(0,M.useState)(A),{toggleColorbar:ee}=(0,cK.eH)(W),{hangingProtocolService:et,toolbarService:eA}=z.services,{backgroundDisplaySet:en,potentialOverlayDisplaySets:er,potentialForegroundDisplaySets:eo,potentialBackgroundDisplaySets:ei,overlayDisplaySets:es,foregroundDisplaySets:ea}=(0,cj.N)(W),[el,ec]=(0,M.useState)(es),[eu,ed]=(0,M.useState)(!1);K[2]!==es?(n=()=>{ec(es)},K[2]=es,K[3]=n):n=K[3];let ep=en?.displaySetInstanceUID;K[4]!==es||K[5]!==ep?(r=[ep,es],K[4]=es,K[5]=ep,K[6]=r):r=K[6],(0,M.useEffect)(n,r),K[7]!==Y||K[8]!==et||K[9]!==W?(o=e=>{let t=et.getViewportsRequireUpdate(W,e.displaySetInstanceUID);Y.run("setDisplaySetsForViewports",{viewportsToUpdate:t})},K[7]=Y,K[8]=et,K[9]=W,K[10]=o):o=K[10];let eg=o;K[11]!==Y||K[12]!==W?(i=(e,t)=>{Y.runCommand("removeDisplaySetLayer",{viewportId:W,displaySetInstanceUID:e}),setTimeout(()=>{Y.runCommand("addDisplaySetAsLayer",{viewportId:W,displaySetInstanceUID:t})},0)},K[11]=Y,K[12]=W,K[13]=i):i=K[13];let em=i;K[14]!==Y||K[15]!==el||K[16]!==W?(s=e=>{-1!==el.findIndex(t=>t.displaySetInstanceUID===e)&&ec(t=>t.filter(t=>t.displaySetInstanceUID!==e)),Y.runCommand("removeDisplaySetLayer",{viewportId:W,displaySetInstanceUID:e})},K[14]=Y,K[15]=el,K[16]=W,K[17]=s):s=K[17];let eh=s;K[18]!==Y||K[19]!==W?(a=e=>{Y.runCommand("addDisplaySetAsLayer",{viewportId:W,displaySetInstanceUID:e})},K[18]=Y,K[19]=W,K[20]=a):a=K[20];let ef=a;K[21]!==em||K[22]!==er?(l=(e,t)=>{if(t===e.displaySetInstanceUID)return;let A=er.find(e=>e.displaySetInstanceUID===t);A&&(ec(t=>{let n=t.findIndex(t=>t.displaySetInstanceUID===e.displaySetInstanceUID);return[...t.slice(0,n),A,...t.slice(n+1)]}),em(e.displaySetInstanceUID,A.displaySetInstanceUID))},K[21]=em,K[22]=er,K[23]=l):l=K[23];let ew=l;K[24]!==em||K[25]!==eo?(c=(e,t)=>{if(t===e.displaySetInstanceUID)return;let A=eo.find(e=>e.displaySetInstanceUID===t);A&&em(e.displaySetInstanceUID,A.displaySetInstanceUID)},K[24]=em,K[25]=eo,K[26]=c):c=K[26];let eB=c;K[27]!==ef||K[28]!==$||K[29]!==er?(u=(e,t)=>{let A=er.find(e=>e.displaySetInstanceUID===t);A&&(ec(e=>[...e,A]),ef(A.displaySetInstanceUID),Z($.filter(t=>t!==e)))},K[27]=ef,K[28]=$,K[29]=er,K[30]=u):u=K[30];let ey=u;K[31]!==ef||K[32]!==J||K[33]!==eo?(d=(e,t)=>{let A=eo.find(e=>e.displaySetInstanceUID===t);A&&(ef(A.displaySetInstanceUID),q(J.filter(t=>t!==e)))},K[31]=ef,K[32]=J,K[33]=eo,K[34]=d):d=K[34];let ev=d;K[35]!==eA?(p=eA.getButton("AdvancedRenderingControls"),K[35]=eA,K[36]=p):p=K[36];let eS=!!p;K[37]!==eA?(g=eA.getButton("opacityMenu"),K[37]=eA,K[38]=g):g=K[38];let eC=!!g;K[39]!==eS||K[40]!==eu||K[41]!==ee?(m=()=>{let e=!eu;eS&&ee(),ed(e)},K[39]=eS,K[40]=eu,K[41]=ee,K[42]=m):m=K[42];let eI=m,eb=`viewport-data-overlay-menu-${W}`;K[43]!==J?(h=()=>{q([...J,`pending-${Date.now()}`])},K[43]=J,K[44]=h):h=K[44];let eU=0===eo.length;K[45]===Symbol.for("react.memo_cache_sentinel")?(f=(0,tp.jsx)(tB.Icons.Plus,{className:"h-4 w-4"}),K[45]=f):f=K[45],K[46]!==X?(w=X("Common:Foreground"),K[46]=X,K[47]=w):w=K[47],K[48]!==h||K[49]!==eU||K[50]!==w?(B=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"text-primary flex items-center p-1",onClick:h,disabled:eU,children:[f,w]}),K[48]=h,K[49]=eU,K[50]=w,K[51]=B):B=K[51];let eE=0===er.length;K[52]!==$?(y=()=>{Z([...$,`seg-${Date.now()}`])},K[52]=$,K[53]=y):y=K[53];let eF=`AddSegmentationDataOverlay-${W}`;if(K[54]===Symbol.for("react.memo_cache_sentinel")?(v=(0,tp.jsx)(tB.Icons.Plus,{className:"h-4 w-4"}),K[54]=v):v=K[54],K[55]!==X?(S=X("Tools:Segmentation"),K[55]=X,K[56]=S):S=K[56],K[57]!==eE||K[58]!==y||K[59]!==eF||K[60]!==S?(C=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"text-primary ml-2 flex items-center",disabled:eE,onClick:y,dataCY:eF,children:[v,S]}),K[57]=eE,K[58]=y,K[59]=eF,K[60]=S,K[61]=C):C=K[61],K[62]!==B||K[63]!==C?(I=(0,tp.jsxs)("div",{className:"flex",children:[B,C]}),K[62]=B,K[63]=C,K[64]=I):I=K[64],K[65]!==ew||K[66]!==eh||K[67]!==el||K[68]!==er){let e;K[70]!==ew||K[71]!==eh||K[72]!==er?(e=e=>(0,tp.jsxs)("div",{className:"mb-1 flex items-center",children:[(0,tp.jsx)(tB.Icons.LayerSegmentation,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),(0,tp.jsxs)(tB.Select,{value:e.displaySetInstanceUID,onValueChange:t=>ew(e,t),children:[(0,tp.jsx)(tB.SelectTrigger,{className:"flex-1",children:(0,tp.jsx)(tB.SelectValue,{"data-cy":`overlay-ds-select-value-${e.label?.toUpperCase()}`,children:e.label?.toUpperCase()})}),(0,tp.jsxs)(tB.SelectContent,{children:[(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID),er.map(cJ)]})]}),(0,tp.jsxs)(tB.DropdownMenu,{children:[(0,tp.jsx)(tB.DropdownMenuTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",dataCY:`overlay-ds-more-button-${e.label?.toUpperCase()}`,children:(0,tp.jsx)(tB.Icons.More,{className:"h-4 w-4"})})}),(0,tp.jsx)(tB.DropdownMenuContent,{align:"start",children:(0,tp.jsx)(tB.DropdownMenuItem,{"data-cy":`overlay-ds-remove-button-${e.label?.toUpperCase()}`,onClick:()=>eh(e.displaySetInstanceUID),children:"Remove"})})]})]},e.displaySetInstanceUID),K[70]=ew,K[71]=eh,K[72]=er,K[73]=e):e=K[73],b=el.map(e),K[65]=ew,K[66]=eh,K[67]=el,K[68]=er,K[69]=b}else b=K[69];if(K[74]!==ey||K[75]!==$||K[76]!==er||K[77]!==X?(U=$.map(e=>(0,tp.jsxs)("div",{className:"mb-2 flex items-center",children:[(0,tp.jsx)(tB.Icons.LayerSegmentation,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),(0,tp.jsxs)(tB.Select,{value:"",onValueChange:t=>ey(e,t),children:[(0,tp.jsx)(tB.SelectTrigger,{className:"flex-1",children:(0,tp.jsx)(tB.SelectValue,{placeholder:X("Common:SELECT A SEGMENTATION")})}),(0,tp.jsx)(tB.SelectContent,{children:er.map(cX)})]}),(0,tp.jsxs)(tB.DropdownMenu,{children:[(0,tp.jsx)(tB.DropdownMenuTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",children:(0,tp.jsx)(tB.Icons.More,{className:"h-4 w-4"})})}),(0,tp.jsx)(tB.DropdownMenuContent,{align:"start",children:(0,tp.jsx)(tB.DropdownMenuItem,{onClick:()=>{Z($.filter(t=>t!==e))},children:"Cancel"})})]})]},e)),K[74]=ey,K[75]=$,K[76]=er,K[77]=X,K[78]=U):U=K[78],K[79]!==b||K[80]!==U?(E=(0,tp.jsxs)("div",{className:"my-2 ml-1",children:[b,U]}),K[79]=b,K[80]=U,K[81]=E):E=K[81],K[82]!==ea||K[83]!==eB||K[84]!==eh||K[85]!==eo){let e;K[87]!==eB||K[88]!==eh||K[89]!==eo?(e=(e,t)=>(0,tp.jsxs)("div",{className:"mb-1 flex items-center",children:[(0,tp.jsx)(tB.Icons.LayerForeground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),(0,tp.jsxs)(tB.Select,{value:e.displaySetInstanceUID,onValueChange:t=>eB(e,t),children:[(0,tp.jsx)(tB.SelectTrigger,{className:"flex-1",children:(0,tp.jsx)(tB.SelectValue,{children:e.label?.toUpperCase()})}),(0,tp.jsxs)(tB.SelectContent,{children:[(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,className:"pr-2",children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID),eo.map(cz)]})]}),(0,tp.jsxs)(tB.DropdownMenu,{children:[(0,tp.jsx)(tB.DropdownMenuTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",children:(0,tp.jsx)(tB.Icons.More,{className:"h-4 w-4"})})}),(0,tp.jsx)(tB.DropdownMenuContent,{align:"start",children:(0,tp.jsx)(tB.DropdownMenuItem,{onClick:()=>eh(e.displaySetInstanceUID),children:"Remove"})})]})]},e.displaySetInstanceUID),K[87]=eB,K[88]=eh,K[89]=eo,K[90]=e):e=K[90],F=ea.map(e),K[82]=ea,K[83]=eB,K[84]=eh,K[85]=eo,K[86]=F}else F=K[86];K[91]!==ev||K[92]!==J||K[93]!==eo||K[94]!==X?(Q=J.map(e=>(0,tp.jsxs)("div",{className:"mb-2 flex items-center",children:[(0,tp.jsx)(tB.Icons.LayerForeground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),(0,tp.jsxs)(tB.Select,{value:"",onValueChange:t=>ev(e,t),children:[(0,tp.jsx)(tB.SelectTrigger,{className:"flex-1",children:(0,tp.jsx)(tB.SelectValue,{placeholder:X("Common:SELECT A FOREGROUND")})}),(0,tp.jsx)(tB.SelectContent,{children:eo.map(cY)})]}),(0,tp.jsxs)(tB.DropdownMenu,{children:[(0,tp.jsx)(tB.DropdownMenuTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",children:(0,tp.jsx)(tB.Icons.More,{className:"h-4 w-4"})})}),(0,tp.jsx)(tB.DropdownMenuContent,{align:"start",children:(0,tp.jsx)(tB.DropdownMenuItem,{onClick:()=>{q(J.filter(t=>t!==e))},children:"Cancel"})})]})]},e)),K[91]=ev,K[92]=J,K[93]=eo,K[94]=X,K[95]=Q):Q=K[95],K[96]!==F||K[97]!==Q?(T=(0,tp.jsxs)("div",{className:"my-2 px-1",children:[F,Q]}),K[96]=F,K[97]=Q,K[98]=T):T=K[98],K[99]===Symbol.for("react.memo_cache_sentinel")?(x=(0,tp.jsx)(tB.Icons.LayerBackground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),K[99]=x):x=K[99];let eQ=en?.displaySetInstanceUID;K[100]!==eg||K[101]!==ei?(O=e=>{let t=ei.find(t=>t.displaySetInstanceUID===e);t&&eg(t)},K[100]=eg,K[101]=ei,K[102]=O):O=K[102];let eT=`overlay-background-ds-select-${W}`,eD=en?.SeriesDescription||en?.label||"background";return K[103]!==eD?(L=eD.toUpperCase(),K[103]=eD,K[104]=L):L=K[104],K[105]!==L?(R=(0,tp.jsx)(tB.SelectValue,{children:L}),K[105]=L,K[106]=R):R=K[106],K[107]!==eT||K[108]!==R?(V=(0,tp.jsx)(tB.SelectTrigger,{className:"flex-1","data-cy":eT,children:R}),K[107]=eT,K[108]=R,K[109]=V):V=K[109],K[110]!==ei?(N=ei.map(cW),K[110]=ei,K[111]=N):N=K[111],K[112]!==N?(H=(0,tp.jsx)(tB.SelectContent,{children:N}),K[112]=N,K[113]=H):H=K[113],K[114]!==eQ||K[115]!==O||K[116]!==V||K[117]!==H?(_=(0,tp.jsxs)("div",{className:"mt-1 mb-1 flex items-center px-1",children:[x,(0,tp.jsxs)(tB.Select,{value:eQ,onValueChange:O,children:[V,H]})]}),K[114]=eQ,K[115]=O,K[116]=V,K[117]=H,K[118]=_):_=K[118],K[119]!==E||K[120]!==T||K[121]!==_?(P=(0,tp.jsxs)("div",{className:"",children:[E,T,_]}),K[119]=E,K[120]=T,K[121]=_,K[122]=P):P=K[122],K[123]!==ea.length||K[124]!==eI||K[125]!==eS||K[126]!==eC||K[127]!==eu?(j=ea.length>0&&(eS||eC)&&(0,tp.jsx)("div",{className:"mt-1 ml-7",children:(0,tp.jsxs)("div",{className:"flex items-center",children:[(0,tp.jsx)(tB.Switch,{id:"threshold-opacity-switch",className:"mr-2",checked:eu,onCheckedChange:eI}),(0,tp.jsx)("label",{htmlFor:"threshold-opacity-switch",className:"text-muted-foreground cursor-pointer text-sm",onClick:()=>ed(!eu),children:"Control threshold & opacity"})]})}),K[123]=ea.length,K[124]=eI,K[125]=eS,K[126]=eC,K[127]=eu,K[128]=j):j=K[128],K[129]!==eb||K[130]!==I||K[131]!==P||K[132]!==j?(G=(0,tp.jsxs)("div",{className:"bg-popover flex h-full w-[275px] flex-col rounded rounded-md p-1.5","data-cy":eb,children:[I,P,j]}),K[129]=eb,K[130]=I,K[131]=P,K[132]=j,K[133]=G):G=K[133],G};function c$(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h=(0,D.c)(38);h[0]!==e?({viewportId:s,location:A,isOpen:i,onOpen:r,onClose:n,disabled:t,...o}=e,h[0]=e,h[1]=t,h[2]=A,h[3]=n,h[4]=r,h[5]=o,h[6]=i,h[7]=s):(t=h[1],A=h[2],n=h[3],r=h[4],o=h[5],i=h[6],s=h[7]);let f=void 0!==i&&i,{viewportDisplaySets:w}=(0,cj.N)(s),{IconContainer:B,className:y,containerProps:v}=(0,tB.useIconPresentation)();h[8]!==n||h[9]!==r?(a=e=>{e?r?.():n?.()},h[8]=n,h[9]=r,h[10]=a):a=h[10];let S=a,{servicesManager:C}=(0,k.useSystem)(),{toolbarService:I}=C.services;h[11]!==A||h[12]!==I?(l=I.getAlignAndSide(A),h[11]=A,h[12]=I,h[13]=l):l=h[13];let{align:b,side:U}=l;h[14]!==y?(c=(0,tp.jsx)(tB.Icons.ViewportViews,{className:y}),h[14]=y,h[15]=c):c=h[15];let E=c;h[16]!==o.id||h[17]!==s?(u=o.id?{id:`${o.id}-${s}`}:{},h[16]=o.id,h[17]=s,h[18]=u):u=h[18];let F=u;return h[19]!==E||h[20]!==B||h[21]!==v||h[22]!==t||h[23]!==F||h[24]!==o?(d=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center",children:(0,tp.jsx)("div",{children:B?(0,tp.jsx)(B,{disabled:t,icon:"ViewportViews",...o,...v,...F,children:E}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,children:E})})}),h[19]=E,h[20]=B,h[21]=v,h[22]=t,h[23]=F,h[24]=o,h[25]=d):d=h[25],h[26]!==w||h[27]!==s?(p=(0,tp.jsx)(cq,{className:"w-full",viewportId:s,displaySets:w}),h[26]=w,h[27]=s,h[28]=p):p=h[28],h[29]!==b||h[30]!==U||h[31]!==p?(g=(0,tp.jsx)(tB.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:U,align:b,alignOffset:0,sideOffset:5,children:p}),h[29]=b,h[30]=U,h[31]=p,h[32]=g):g=h[32],h[33]!==S||h[34]!==f||h[35]!==d||h[36]!==g?(m=(0,tp.jsxs)(tB.Popover,{open:f,onOpenChange:S,children:[d,g]}),h[33]=S,h[34]=f,h[35]=d,h[36]=g,h[37]=m):m=h[37],m}function cZ(){}function c0(){return{}}function c1(e){return e.displaySetInstanceUID}function c3(e){return e.isReconstructable}let c2=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,x,O,R,V,N,H,_,P,j,G,K,W,Y,z,X=(0,D.c)(103);X[0]!==e?({location:n,viewportId:a,displaySets:A,isOpen:s,onOpen:o,onClose:r,disabled:t,...i}=e,X[0]=e,X[1]=t,X[2]=A,X[3]=n,X[4]=r,X[5]=o,X[6]=i,X[7]=s,X[8]=a):(t=X[1],A=X[2],n=X[3],r=X[4],o=X[5],i=X[6],s=X[7],a=X[8]);let J=void 0!==s&&s,{servicesManager:q,commandsManager:$}=(0,k.useSystem)(),{cornerstoneViewportService:Z,toolbarService:ee}=q.services;X[9]!==Z||X[10]!==a?(l=Z.getViewportInfo(a).getOrientation(),X[9]=Z,X[10]=a,X[11]=l):l=X[11];let et=l,[eA]=(0,tB.useViewportGrid)(),en=a||eA.activeViewportId,{IconContainer:er,className:eo,containerProps:ei}=(0,tB.useIconPresentation)(),[es,ea]=M.useState("string"==typeof et?et:"axial");X[12]!==$||X[13]!==Z||X[14]!==A||X[15]!==r||X[16]!==en?(c=e=>{let t;if(ea(e),!A.length)return;if(!A.some(c3))return void console.warn("Cannot change orientation: No reconstructable display sets in viewport");switch(e.toLowerCase()){case"axial":t=L.Enums.OrientationAxis.AXIAL;break;case"sagittal":t=L.Enums.OrientationAxis.SAGITTAL;break;case"coronal":t=L.Enums.OrientationAxis.CORONAL;break;case"reformat":t=L.Enums.OrientationAxis.REFORMAT;break;default:t=L.Enums.OrientationAxis.ACQUISITION}let n=A.map(c1),o=Z.getCornerstoneViewport(en);if(o&&(0,nL.qU)(o).canReorientInPlace())$.runCommand("setViewportOrientation",{viewportId:en,orientation:t});else{let e={viewportId:en,displaySetInstanceUIDs:n,viewportOptions:{viewportType:L.Enums.ViewportType.ORTHOGRAPHIC,orientation:t},displaySetOptions:n.map(c0)};$.run("setDisplaySetsForViewports",{viewportsToUpdate:[e]})}r?.()},X[12]=$,X[13]=Z,X[14]=A,X[15]=r,X[16]=en,X[17]=c):c=X[17];let el=c;X[18]!==r||X[19]!==o?(u=e=>{e?o?.():r?.()},X[18]=r,X[19]=o,X[20]=u):u=X[20];let ec=u;if(!A.length)return null;X[21]!==n||X[22]!==ee?(d=ee.getAlignAndSide(Number(n)),X[21]=n,X[22]=ee,X[23]=d):d=X[23];let{align:eu,side:ed}=d;if(X[24]!==es||X[25]!==eo){let e,t;X[27]!==es?(e=(e=>{switch(e.toLowerCase()){case"axial":return tB.Icons.OrientationSwitchA;case"sagittal":return tB.Icons.OrientationSwitchS;case"coronal":return tB.Icons.OrientationSwitchC;case"reformat":return tB.Icons.OrientationSwitchR;default:return tB.Icons.OrientationSwitch}})(es),X[27]=es,X[28]=e):e=X[28],X[29]!==eo?(t={className:eo},X[29]=eo,X[30]=t):t=X[30],p=M.createElement(e,t),X[24]=es,X[25]=eo,X[26]=p}else p=X[26];let ep=p;return X[31]===Symbol.for("react.memo_cache_sentinel")?(g=(0,tB.cn)("flex items-center justify-center"),X[31]=g):g=X[31],X[32]!==ep||X[33]!==er||X[34]!==ei||X[35]!==t||X[36]!==i?(m=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:g,children:(0,tp.jsx)("div",{children:er?(0,tp.jsx)(er,{disabled:t,icon:"OrientationSwitch",...i,...ei,children:ep}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,onClick:cZ,children:ep})})}),X[32]=ep,X[33]=er,X[34]=ei,X[35]=t,X[36]=i,X[37]=m):m=X[37],X[38]===Symbol.for("react.memo_cache_sentinel")?(h={left:0},X[38]=h):h=X[38],X[39]!==el?(f=()=>el("axial"),X[39]=el,X[40]=f):f=X[40],X[41]!==es?(w="axial"===es?(0,tp.jsx)(tB.Icons.Checked,{className:"text-primary h-6 w-6"}):null,X[41]=es,X[42]=w):w=X[42],X[43]!==w?(B=(0,tp.jsx)("div",{className:"mr-1 flex w-6 items-center justify-start",children:w}),X[43]=w,X[44]=B):B=X[44],X[45]===Symbol.for("react.memo_cache_sentinel")?(y=(0,tp.jsx)("div",{className:"flex-1 text-left",children:"Axial"}),X[45]=y):y=X[45],X[46]!==f||X[47]!==B?(v=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:f,children:[B,y]}),X[46]=f,X[47]=B,X[48]=v):v=X[48],X[49]!==el?(S=()=>el("sagittal"),X[49]=el,X[50]=S):S=X[50],X[51]!==es?(C="sagittal"===es?(0,tp.jsx)(tB.Icons.Checked,{className:"text-primary h-6 w-6"}):null,X[51]=es,X[52]=C):C=X[52],X[53]!==C?(I=(0,tp.jsx)("div",{className:"mr-1 flex w-6 items-center justify-start",children:C}),X[53]=C,X[54]=I):I=X[54],X[55]===Symbol.for("react.memo_cache_sentinel")?(b=(0,tp.jsx)("div",{className:"flex-1 text-left",children:"Sagittal"}),X[55]=b):b=X[55],X[56]!==S||X[57]!==I?(U=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:S,children:[I,b]}),X[56]=S,X[57]=I,X[58]=U):U=X[58],X[59]!==el?(E=()=>el("coronal"),X[59]=el,X[60]=E):E=X[60],X[61]!==es?(F="coronal"===es?(0,tp.jsx)(tB.Icons.Checked,{className:"text-primary h-6 w-6"}):null,X[61]=es,X[62]=F):F=X[62],X[63]!==F?(Q=(0,tp.jsx)("div",{className:"mr-1 flex w-6 items-center justify-start",children:F}),X[63]=F,X[64]=Q):Q=X[64],X[65]===Symbol.for("react.memo_cache_sentinel")?(T=(0,tp.jsx)("div",{className:"flex-1 text-left",children:"Coronal"}),X[65]=T):T=X[65],X[66]!==E||X[67]!==Q?(x=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:E,children:[Q,T]}),X[66]=E,X[67]=Q,X[68]=x):x=X[68],X[69]!==el?(O=()=>el("acquisition"),X[69]=el,X[70]=O):O=X[70],X[71]!==es?(R="acquisition"===es?(0,tp.jsx)(tB.Icons.Checked,{className:"text-primary h-6 w-6"}):null,X[71]=es,X[72]=R):R=X[72],X[73]!==R?(V=(0,tp.jsx)("div",{className:"mr-1 flex w-6 items-center justify-start",children:R}),X[73]=R,X[74]=V):V=X[74],X[75]===Symbol.for("react.memo_cache_sentinel")?(N=(0,tp.jsx)("div",{className:"flex-1 text-left",children:"Acquisition"}),X[75]=N):N=X[75],X[76]!==O||X[77]!==V?(H=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:O,children:[V,N]}),X[76]=O,X[77]=V,X[78]=H):H=X[78],X[79]===Symbol.for("react.memo_cache_sentinel")?(_=(0,tp.jsx)("div",{className:"border-input mx-1 my-2 border-t"}),X[79]=_):_=X[79],X[80]!==el?(P=()=>el("reformat"),X[80]=el,X[81]=P):P=X[81],X[82]!==es?(j="reformat"===es?(0,tp.jsx)(tB.Icons.Checked,{className:"text-primary h-6 w-6"}):null,X[82]=es,X[83]=j):j=X[83],X[84]!==j?(G=(0,tp.jsx)("div",{className:"mr-1 flex w-6 items-center justify-start",children:j}),X[84]=j,X[85]=G):G=X[85],X[86]===Symbol.for("react.memo_cache_sentinel")?(K=(0,tp.jsx)("div",{className:"flex-1 text-left",children:"Reformat"}),X[86]=K):K=X[86],X[87]!==P||X[88]!==G?(W=(0,tp.jsxs)(tB.Button,{variant:"ghost",className:"flex h-7 w-full flex-shrink-0 items-center justify-start self-stretch px-1 py-0",onClick:P,children:[G,K]}),X[87]=P,X[88]=G,X[89]=W):W=X[89],X[90]!==eu||X[91]!==ed||X[92]!==v||X[93]!==U||X[94]!==x||X[95]!==H||X[96]!==W?(Y=(0,tp.jsxs)(tB.PopoverContent,{className:"h-[170px] w-[130px] flex-shrink-0 flex-col items-start rounded p-1",align:eu,side:ed,style:h,children:[v,U,x,H,_,W]}),X[90]=eu,X[91]=ed,X[92]=v,X[93]=U,X[94]=x,X[95]=H,X[96]=W,X[97]=Y):Y=X[97],X[98]!==ec||X[99]!==J||X[100]!==Y||X[101]!==m?(z=(0,tp.jsxs)(tB.Popover,{open:J,onOpenChange:ec,children:[m,Y]}),X[98]=ec,X[99]=J,X[100]=Y,X[101]=m,X[102]=z):z=X[102],z};function c4(e){let t,A=(0,D.c)(3),{viewportId:n}=e,{viewportDisplaySets:r}=(0,cj.N)(n);return r.length?(A[0]!==e||A[1]!==r?(t=(0,tp.jsx)(c2,{...e,displaySets:r}),A[0]=e,A[1]=r,A[2]=t):t=A[2],t):null}var c6=x(154);function c9(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f=(0,D.c)(47);f[0]!==e?(t=void 0===e?{}:e,f[0]=e,f[1]=t):t=f[1];let{viewportId:w}=t,{viewportDisplaySets:B}=(0,c6.e)(w),{t:y}=tP("WindowLevelActionMenu"),[v,S]=(0,M.useState)(B?.[0]?.displaySetInstanceUID);f[2]!==v?(A={displaySetInstanceUID:v},f[2]=v,f[3]=A):A=f[3];let{colorbarProperties:C,setColormap:I}=(0,c6.e)(w,A),{colormaps:b}=C,[U,E]=(0,M.useState)(!1),[F,Q]=(0,M.useState)(null),[T,x]=(0,M.useState)(null);f[4]===Symbol.for("react.memo_cache_sentinel")?(n=()=>{x(null),Q(null)},f[4]=n):n=f[4],f[5]!==v?(r=[v],f[5]=v,f[6]=r):r=f[6],(0,M.useEffect)(n,r),f[7]!==I||f[8]!==B.length?(o=(e,t)=>{let A=B.length>1&&!["Grayscale","X Ray"].includes(e.name)?.5:1;I({colormap:e,opacity:A,immediate:void 0===t||t})},f[7]=I,f[8]=B.length,f[9]=o):o=f[9];let O=o;if(f[10]!==v||f[11]!==B?(i=B&&B.length>1&&(0,tp.jsx)("div",{className:"flex h-8 w-full flex-shrink-0 items-center justify-center px-2 text-base",children:(0,tp.jsx)(tB.Tabs,{value:v,onValueChange:e=>{S(e),Q(null)},children:(0,tp.jsx)(tB.TabsList,{children:B.map(c8)})})}),f[10]=v,f[11]=B,f[12]=i):i=f[12],f[13]!==U?(s=()=>E(!U),f[13]=U,f[14]=s):s=f[14],f[15]!==y?(a=y("Preview in viewport"),f[15]=y,f[16]=a):a=f[16],f[17]!==a?(l=(0,tp.jsx)("span",{className:"flex-shrink-0",children:a}),f[17]=a,f[18]=l):l=f[18],f[19]!==T||f[20]!==O?(c=e=>{E(e),!e&&T&&O(T)},f[19]=T,f[20]=O,f[21]=c):c=f[21],f[22]!==U||f[23]!==c?(u=(0,tp.jsx)(tB.Switch,{className:"ml-auto flex-shrink-0",checked:U,onCheckedChange:c}),f[22]=U,f[23]=c,f[24]=u):u=f[24],f[25]!==u||f[26]!==s||f[27]!==l?(d=(0,tp.jsxs)("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded",onClick:s,children:[l,u]}),f[25]=u,f[26]=s,f[27]=l,f[28]=d):d=f[28],f[29]===Symbol.for("react.memo_cache_sentinel")?(p=(0,tp.jsx)(tB.AllInOneMenu.DividerItem,{}),f[29]=p):p=f[29],f[30]!==b||f[31]!==O||f[32]!==F||f[33]!==U||f[34]!==y){let e;f[36]!==O||f[37]!==F||f[38]!==U||f[39]!==y?(e=(e,t)=>(0,tp.jsx)(tB.AllInOneMenu.Item,{label:y(`Colormaps:${e.Name}`,{defaultValue:e.Name}),useIconSpace:!1,onClick:()=>{x(e),O(e),Q(null)},onMouseEnter:()=>{U&&(F||Q(e),O(e))},onMouseLeave:()=>{U&&F&&O(F)}},t),f[36]=O,f[37]=F,f[38]=U,f[39]=y,f[40]=e):e=f[40],g=b.map(e),f[30]=b,f[31]=O,f[32]=F,f[33]=U,f[34]=y,f[35]=g}else g=f[35];return f[41]!==g?(m=(0,tp.jsx)("div",{className:"h-[300px] flex-grow",children:(0,tp.jsx)(tB.ScrollArea,{className:"h-full w-full",children:(0,tp.jsx)("div",{className:"p-1",children:g})})}),f[41]=g,f[42]=m):m=f[42],f[43]!==d||f[44]!==m||f[45]!==i?(h=(0,tp.jsxs)(tp.Fragment,{children:[i,d,p,m]}),f[43]=d,f[44]=m,f[45]=i,f[46]=h):h=f[46],h}function c8(e){return(0,tp.jsx)(tB.TabsTrigger,{value:e.displaySetInstanceUID,children:e.Modality},e.displaySetInstanceUID)}function c5(e){let t,A,n,r,o,i,s,a=(0,D.c)(16);a[0]!==e?(t=void 0===e?{}:e,a[0]=e,a[1]=t):t=a[1];let{viewportId:l}=t,{hasColorbar:c,toggleColorbar:u}=(0,c6.e)(l),{t:d}=tP("WindowLevelActionMenu");a[2]!==u?(A=()=>{u()},a[2]=u,a[3]=A):A=a[3];let p=A;a[4]===Symbol.for("react.memo_cache_sentinel")?(n=(0,tp.jsx)("div",{className:"flex w-7 flex-shrink-0 items-center justify-center"}),a[4]=n):n=a[4],a[5]!==d?(r=d("Display Color bar"),a[5]=d,a[6]=r):r=a[6],a[7]!==p||a[8]!==r?(o=(0,tp.jsx)("span",{className:"flex-grow",onClick:p,children:r}),a[7]=p,a[8]=r,a[9]=o):o=a[9];let g=!!c;return a[10]!==p||a[11]!==g?(i=(0,tp.jsx)(tB.Switch,{className:"ml-2 flex-shrink-0",checked:g,onCheckedChange:p}),a[10]=p,a[11]=g,a[12]=i):i=a[12],a[13]!==o||a[14]!==i?(s=(0,tp.jsxs)("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded",children:[n,o,i]}),a[13]=o,a[14]=i,a[15]=s):s=a[15],s}function c7(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B=(0,D.c)(53);B[0]!==e?(t=void 0===e?{}:e,B[0]=e,B[1]=t):t=B[1];let{viewportId:y}=t,{t:v}=tP("WindowLevelActionMenu"),{viewportDisplaySets:S,foregroundDisplaySets:C}=(0,cj.N)(y),I=C?.length>0?C[C.length-1].displaySetInstanceUID:S?.[0]?.displaySetInstanceUID,[b,U]=(0,M.useState)(I),E=(0,M.useRef)(!1);B[2]!==b||B[3]!==I||B[4]!==S?(A=()=>{let e=S?.some(e=>e.displaySetInstanceUID===b);if(b&&S?.length&&!e){E.current=!1,U(I);return}!E.current&&I&&b!==I&&U(I)},n=[b,I,S],B[2]=b,B[3]=I,B[4]=S,B[5]=A,B[6]=n):(A=B[5],n=B[6]),(0,M.useEffect)(A,n),B[7]!==b?(r={displaySetInstanceUID:b},B[7]=b,B[8]=r):r=B[8];let{windowLevelPresets:F,setWindowLevel:Q}=(0,c6.e)(y,r),[T,x]=(0,M.useState)(!1),[O,L]=(0,M.useState)(null),[R,V]=(0,M.useState)(null);B[9]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{V(null),L(null)},B[9]=o):o=B[9],B[10]!==b?(i=[b],B[10]=b,B[11]=i):i=B[11],(0,M.useEffect)(o,i),B[12]!==Q?(s=(e,t)=>{Q({windowWidth:Number(e.window),windowCenter:Number(e.level),immediate:void 0!==t&&t})},B[12]=Q,B[13]=s):s=B[13];let N=s;if(B[14]!==b||B[15]!==S?(a=S&&S.length>1&&(0,tp.jsx)("div",{className:"flex h-8 w-full flex-shrink-0 items-center justify-center px-2 text-base",children:(0,tp.jsx)(tB.Tabs,{value:b,onValueChange:e=>{E.current=!0,U(e)},children:(0,tp.jsx)(tB.TabsList,{children:S.map(ue)})})}),B[14]=b,B[15]=S,B[16]=a):a=B[16],B[17]!==T?(l=()=>x(!T),B[17]=T,B[18]=l):l=B[18],B[19]!==v?(c=v("Preview in viewport"),B[19]=v,B[20]=c):c=B[20],B[21]!==c?(u=(0,tp.jsx)("span",{className:"flex-shrink-0",children:c}),B[21]=c,B[22]=u):u=B[22],B[23]!==R||B[24]!==N?(d=e=>{x(e),!e&&R&&N(R,!0)},B[23]=R,B[24]=N,B[25]=d):d=B[25],B[26]!==T||B[27]!==d?(p=(0,tp.jsx)(tB.Switch,{className:"ml-auto flex-shrink-0",checked:T,onCheckedChange:d}),B[26]=T,B[27]=d,B[28]=p):p=B[28],B[29]!==u||B[30]!==p||B[31]!==l?(g=(0,tp.jsxs)("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 cursor-pointer items-center px-2 text-base hover:rounded",onClick:l,children:[u,p]}),B[29]=u,B[30]=p,B[31]=l,B[32]=g):g=B[32],B[33]===Symbol.for("react.memo_cache_sentinel")?(m=(0,tp.jsx)(tB.AllInOneMenu.DividerItem,{}),B[33]=m):m=B[33],B[34]!==R||B[35]!==N||B[36]!==O||B[37]!==T||B[38]!==v||B[39]!==F){let e;B[41]!==R||B[42]!==N||B[43]!==O||B[44]!==T||B[45]!==v?(e=(e,t)=>(0,tp.jsx)(tB.AllInOneMenu.Item,{label:v(e.description),secondaryLabel:`${e.window} / ${e.level}`,useIconSpace:!1,onClick:()=>{V(e),N(e,!0),L(null)},onMouseEnter:()=>{T&&(O||L(R||e),N(e,!0))},onMouseLeave:()=>{T&&O&&N(O,!0)}},t),B[41]=R,B[42]=N,B[43]=O,B[44]=T,B[45]=v,B[46]=e):e=B[46],h=F.map(e),B[34]=R,B[35]=N,B[36]=O,B[37]=T,B[38]=v,B[39]=F,B[40]=h}else h=B[40];return B[47]!==h?(f=(0,tp.jsx)("div",{className:"h-[175px] flex-grow",children:(0,tp.jsx)(tB.ScrollArea,{className:"h-full w-full",children:(0,tp.jsx)("div",{className:"p-1",children:h})})}),B[47]=h,B[48]=f):f=B[48],B[49]!==g||B[50]!==f||B[51]!==a?(w=(0,tp.jsxs)(tp.Fragment,{children:[a,g,m,f]}),B[49]=g,B[50]=f,B[51]=a,B[52]=w):w=B[52],w}function ue(e){return(0,tp.jsx)(tB.TabsTrigger,{value:e.displaySetInstanceUID,children:e.Modality},e.displaySetInstanceUID)}function ut(e){let t,A,n,r,o,i,s,a,l,c,u,d=(0,D.c)(33),{presets:p,viewportId:g,hide:m}=e,{commandsManager:h}=(0,k.useSystem)(),[f,w]=(0,M.useState)(""),[B,y]=(0,M.useState)(null),{t:v}=tP("WindowLevelActionMenu");d[0]===Symbol.for("react.memo_cache_sentinel")?(t=e=>{w(e.target.value)},d[0]=t):t=d[0];let S=t;d[1]!==h?(A=e=>{h.runCommand("setViewportPreset",{...e})},d[1]=h,d[2]=A):A=d[2];let C=A;d[3]!==p||d[4]!==f?(n=f?p.filter(e=>e.name.toLowerCase().includes(f.toLowerCase())):p,d[3]=p,d[4]=f,d[5]=n):n=d[5];let I=n;if(d[6]!==v?(r=v("Search all","Search all"),d[6]=v,d[7]=r):r=d[7],d[8]!==f||d[9]!==r?(o=(0,tp.jsx)(tB.PresetDialog.PresetFilter,{children:(0,tp.jsx)(tB.PresetDialog.PresetSearch,{value:f,onChange:S,placeholder:r})}),d[8]=f,d[9]=r,d[10]=o):o=d[10],d[11]!==I||d[12]!==C||d[13]!==B?.name||d[14]!==g){let e;d[16]!==C||d[17]!==B?.name||d[18]!==g?(e=(e,t)=>(0,tp.jsxs)("div",{className:"flex cursor-pointer flex-col items-start",onClick:()=>{y(e),C({preset:e.name,viewportId:g})},children:[(0,tp.jsx)(tB.Icons.ByName,{name:e.name,className:B?.name===e.name?"border-highlight h-[75px] w-[95px] max-w-none rounded border-2":"hover:border-highlight h-[75px] w-[95px] max-w-none rounded border-2 border-background"}),(0,tp.jsx)("label",{className:"text-muted-foreground mt-1 text-left text-xs",children:function(e,t){return e.length>t?`${e.slice(0,t)}...`:e}(e.name,11)})]},t),d[16]=C,d[17]=B?.name,d[18]=g,d[19]=e):e=d[19],i=I.map(e),d[11]=I,d[12]=C,d[13]=B?.name,d[14]=g,d[15]=i}else i=d[15];return d[20]!==i?(s=(0,tp.jsx)(tB.PresetDialog.PresetGrid,{children:i}),d[20]=i,d[21]=s):s=d[21],d[22]!==o||d[23]!==s?(a=(0,tp.jsxs)(tB.PresetDialog.PresetBody,{children:[o,s]}),d[22]=o,d[23]=s,d[24]=a):a=d[24],d[25]!==v?(l=v("Common:Cancel"),d[25]=v,d[26]=l):l=d[26],d[27]!==m||d[28]!==l?(c=(0,tp.jsx)(tB.FooterAction,{className:"mt-4 flex-shrink-0",children:(0,tp.jsx)(tB.FooterAction.Right,{children:(0,tp.jsx)(tB.FooterAction.Secondary,{onClick:m,children:l})})}),d[27]=m,d[28]=l,d[29]=c):c=d[29],d[30]!==c||d[31]!==a?(u=(0,tp.jsxs)(tB.PresetDialog,{className:"h-[500px]",children:[a,c]}),d[30]=c,d[31]=a,d[32]=u):u=d[32],u}function uA(e){let t,A,n,r,o,i,s=(0,D.c)(14);s[0]!==e?(t=void 0===e?{}:e,s[0]=e,s[1]=t):t=s[1];let{viewportId:a}=t,{volumeRenderingPresets:l}=(0,c6.e)(a),{servicesManager:c}=(0,k.useSystem)(),{uiDialogService:u}=c.services,{t:d}=tP("WindowLevelActionMenu");s[2]!==d||s[3]!==u||s[4]!==a||s[5]!==l?(A=()=>{u.show({id:"volume-rendering-presets",content:ut,title:d("Rendering Presets"),isDraggable:!0,contentProps:{presets:l,viewportId:a}})},s[2]=d,s[3]=u,s[4]=a,s[5]=l,s[6]=A):A=s[6];let p=A;return s[7]!==d?(n=d("Rendering Presets"),s[7]=d,s[8]=n):n=s[8],s[9]===Symbol.for("react.memo_cache_sentinel")?(r=(0,tp.jsx)(tB.Icons.VolumeRendering,{}),o=(0,tp.jsx)(tB.Icons.ByName,{name:"action-new-dialog"}),s[9]=r,s[10]=o):(r=s[9],o=s[10]),s[11]!==p||s[12]!==n?(i=(0,tp.jsx)(tB.AllInOneMenu.Item,{label:n,icon:r,rightIcon:o,onClick:p}),s[11]=p,s[12]=n,s[13]=i):i=s[13],i}function un(e){let t,A,n,r,o,i=(0,D.c)(16),{volumeRenderingQualityRange:s,viewportId:a}=e,{servicesManager:l,commandsManager:c}=(0,k.useSystem)(),{cornerstoneViewportService:u}=l.services,{min:d,max:p,step:g}=s,[m,h]=(0,M.useState)(null),{t:f}=tP("WindowLevelActionMenu");i[0]!==c||i[1]!==a?(t=e=>{c.runCommand("setVolumeRenderingQulaity",{viewportId:a,volumeQuality:e}),h(e)},i[0]=c,i[1]=a,i[2]=t):t=i[2];let w=t;return i[3]!==u||i[4]!==a?(A=()=>{let{actor:e}=u.getCornerstoneViewport(a).getActors()[0],t=e.getMapper(),A=t.getInputData().getSpacing(),n=t.getSampleDistance(),r=A.reduce(ur)/3;n===r?h(1):h(Math.sqrt(r/(.5*n)))},n=[u,a],i[3]=u,i[4]=a,i[5]=A,i[6]=n):(A=i[5],n=i[6]),(0,M.useEffect)(A,n),i[7]!==p||i[8]!==d||i[9]!==w||i[10]!==m||i[11]!==g||i[12]!==f?(r=null!==m&&(0,tp.jsx)("div",{className:"w-full pl-2 pr-1",children:(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",min:d,max:p,step:g,value:m,onChange:w,children:(0,tp.jsxs)("div",{className:"flex flex-row items-center",children:[(0,tp.jsx)(tB.Numeric.Label,{className:"w-16",children:f("Quality")}),(0,tp.jsx)(tB.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})]})})}),i[7]=p,i[8]=d,i[9]=w,i[10]=m,i[11]=g,i[12]=f,i[13]=r):r=i[13],i[14]!==r?(o=(0,tp.jsx)("div",{className:"my-1 mt-2 flex flex-col space-y-2",children:r}),i[14]=r,i[15]=o):o=i[15],o}function ur(e,t){return e+t}function uo(e){let t,A,n,r,o,i,s,a,l,c=(0,D.c)(30),{viewportId:u}=e,{servicesManager:d,commandsManager:p}=(0,k.useSystem)(),{cornerstoneViewportService:g}=d.services,[m,h]=(0,M.useState)(null),[f,w]=(0,M.useState)(null);c[0]!==g||c[1]!==u?(t=g.getCornerstoneViewport(u)?.shiftedBy||0,c[0]=g,c[1]=u,c[2]=t):t=c[2];let[B,y]=(0,M.useState)(t),[v,S]=(0,M.useState)(null),[C,I]=(0,M.useState)(!1),b=(0,M.useRef)(B);c[3]!==g||c[4]!==u?(r=g.getCornerstoneViewport(u),{actor:A}=r.getActors()[0],n=A.getProperty().getScalarOpacity(0),c[3]=g,c[4]=u,c[5]=A,c[6]=n,c[7]=r):(A=c[5],n=c[6],r=c[7]);let U=n,{t:E}=tP("WindowLevelActionMenu");c[8]!==C||c[9]!==U?(o=()=>{if(C)return;let e=U.getRange(),t=e[1]-e[0];h(-t),w(t),S(Math.pow(10,Math.floor(Math.log10(t/500))))},c[8]=C,c[9]=U,c[10]=o):o=c[10],c[11]!==A||c[12]!==g||c[13]!==C||c[14]!==U||c[15]!==u?(i=[g,u,A,U,C],c[11]=A,c[12]=g,c[13]=C,c[14]=U,c[15]=u,c[16]=i):i=c[16],(0,M.useEffect)(o,i),c[17]!==p||c[18]!==r||c[19]!==u?(s=e=>{var t;let A=e-b.current;b.current=e,(t=r)&&(t.shiftedBy=e),p.runCommand("shiftVolumeOpacityPoints",{viewportId:u,shift:A}),y(e)},c[17]=p,c[18]=r,c[19]=u,c[20]=s):s=c[20];let F=s;return c[21]!==f||c[22]!==m||c[23]!==F||c[24]!==B||c[25]!==v||c[26]!==E?(a=null!==v&&null!==m&&null!==f&&(0,tp.jsx)("div",{className:"w-full pl-2 pr-1",children:(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",min:m,max:f,step:v,value:B,onChange:F,onMouseDown:()=>I(!0),onMouseUp:()=>I(!1),children:(0,tp.jsxs)("div",{className:"flex flex-row items-center",children:[(0,tp.jsx)(tB.Numeric.Label,{className:"w-16",children:E("Shift")}),(0,tp.jsx)(tB.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})]})})}),c[21]=f,c[22]=m,c[23]=F,c[24]=B,c[25]=v,c[26]=E,c[27]=a):a=c[27],c[28]!==a?(l=(0,tp.jsx)("div",{className:"my-1 mt-2 flex flex-col space-y-2",children:a}),c[28]=a,c[29]=l):l=c[29],l}function ui(e){let t,A,n,r,o,i,s,a,l,c,u,d,p=(0,D.c)(29),{viewportId:g,hasShade:m}=e,{servicesManager:h,commandsManager:f}=(0,k.useSystem)(),{cornerstoneViewportService:w}=h.services;p[0]===Symbol.for("react.memo_cache_sentinel")?(t={ambient:null,diffuse:null,specular:null},p[0]=t):t=p[0];let[B,y]=(0,M.useState)(t),{t:v}=tP("WindowLevelActionMenu");p[1]!==f||p[2]!==g?(A=(e,t)=>{f.runCommand("setVolumeLighting",{viewportId:g,options:{[e]:t}}),y(A=>({...A,[e]:t}))},p[1]=f,p[2]=g,p[3]=A):A=p[3];let S=A;p[4]!==w||p[5]!==g?(n=()=>{let{actor:e}=w.getCornerstoneViewport(g).getActors()[0],t=e.getProperty();y({ambient:t.getAmbient(),diffuse:t.getDiffuse(),specular:t.getSpecular()})},r=[g,w],p[4]=w,p[5]=g,p[6]=n,p[7]=r):(n=p[6],r=p[7]),(0,M.useEffect)(n,r);let C=m?"":"ohif-disabled !opacity-40";p[8]!==v?(o=v("Ambient"),p[8]=v,p[9]=o):o=p[9],p[10]!==o?(i={key:"ambient",label:o},p[10]=o,p[11]=i):i=p[11],p[12]!==v?(s=v("Diffuse"),p[12]=v,p[13]=s):s=p[13],p[14]!==s?(a={key:"diffuse",label:s},p[14]=s,p[15]=a):a=p[15],p[16]!==v?(l=v("Specular"),p[16]=v,p[17]=l):l=p[17],p[18]!==l?(c={key:"specular",label:l},p[18]=l,p[19]=c):c=p[19],p[20]!==c||p[21]!==i||p[22]!==a?(u=[i,a,c],p[20]=c,p[21]=i,p[22]=a,p[23]=u):u=p[23];let I=u;return p[24]!==C||p[25]!==I||p[26]!==B||p[27]!==S?(d=(0,tp.jsx)("div",{className:"my-1 mt-2 flex flex-col space-y-2",children:I.map(e=>{let{key:t,label:A}=e;return null!==B[t]&&(0,tp.jsx)("div",{className:`w-full pl-2 pr-1 ${C}`,children:(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",min:0,max:1,step:.1,value:B[t],onChange:e=>S(t,e),children:(0,tp.jsxs)("div",{className:"flex flex-row items-center",children:[(0,tp.jsx)(tB.Numeric.Label,{className:"w-16",children:A}),(0,tp.jsx)(tB.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})]})})},t)})}),p[24]=C,p[25]=I,p[26]=B,p[27]=S,p[28]=d):d=p[28],d}function us(e){let t,A,n,r,o,i,s,a,l=(0,D.c)(26),{viewportId:c,onClickShade:u}=e,d=void 0===u?ua:u,{t:p}=tP("WindowLevelActionMenu"),{servicesManager:g,commandsManager:m}=(0,k.useSystem)(),{cornerstoneViewportService:h}=g.services,[f,w]=(0,M.useState)(!0),[B,y]=(0,M.useState)(0);l[0]!==m||l[1]!==c?(t=e=>{m.runCommand("setVolumeLighting",{viewportId:c,options:{shade:e}})},l[0]=m,l[1]=c,l[2]=t):t=l[2];let v=t;return l[3]!==h||l[4]!==B||l[5]!==d||l[6]!==c?(A=()=>{let{actor:e}=h.getCornerstoneViewport(c).getActors()[0],t=e.getProperty().getShade();w(t),d(t),y(B+1)},l[3]=h,l[4]=B,l[5]=d,l[6]=c,l[7]=A):A=l[7],l[8]!==h||l[9]!==c?(n=[c,h],l[8]=h,l[9]=c,l[10]=n):n=l[10],(0,M.useEffect)(A,n),l[11]!==p?(r=p("Shade"),l[11]=p,l[12]=r):r=l[12],l[13]!==r?(o=(0,tp.jsx)("span",{className:"flex-grow",children:r}),l[13]=r,l[14]=o):o=l[14],l[15]!==d||l[16]!==v||l[17]!==f?(i=()=>{w(!f),d(!f),v(!f)},l[15]=d,l[16]=v,l[17]=f,l[18]=i):i=l[18],l[19]!==B||l[20]!==f||l[21]!==i?(s=(0,tp.jsx)(tB.Switch,{className:"ml-2 flex-shrink-0",checked:f,onCheckedChange:i},B),l[19]=B,l[20]=f,l[21]=i,l[22]=s):s=l[22],l[23]!==o||l[24]!==s?(a=(0,tp.jsxs)(tp.Fragment,{children:[o,s]}),l[23]=o,l[24]=s,l[25]=a):a=l[25],a}function ua(e){}function ul(e){let t,A,n,r,o,i,s,a,l,c=(0,D.c)(23);c[0]!==e?(t=void 0===e?{}:e,c[0]=e,c[1]=t):t=c[1];let{viewportId:u}=t,{volumeRenderingQualityRange:d}=(0,c6.e)(u),[p,g]=(0,M.useState)(!1),{t:m}=tP("WindowLevelActionMenu");return c[2]!==u||c[3]!==d?(A=(0,tp.jsx)(un,{viewportId:u,volumeRenderingQualityRange:d}),c[2]=u,c[3]=d,c[4]=A):A=c[4],c[5]!==u?(n=(0,tp.jsx)(uo,{viewportId:u}),c[5]=u,c[6]=n):n=c[6],c[7]!==m?(r=m("Lighting"),c[7]=m,c[8]=r):r=c[8],c[9]!==r?(o=(0,tp.jsx)("div",{className:"mt-2 flex h-8 !h-[20px] w-full flex-shrink-0 items-center justify-start px-2 text-base",children:(0,tp.jsx)("div",{className:"text-muted-foreground text-sm",children:r})}),c[9]=r,c[10]=o):o=c[10],c[11]===Symbol.for("react.memo_cache_sentinel")?(i=(0,tp.jsx)("div",{className:"bg-background mt-1 mb-1 h-px w-full"}),c[11]=i):i=c[11],c[12]!==u?(s=(0,tp.jsx)("div",{className:"hover:bg-accent flex h-8 w-full flex-shrink-0 items-center px-2 text-base hover:rounded",children:(0,tp.jsx)(us,{viewportId:u,onClickShade:g})}),c[12]=u,c[13]=s):s=c[13],c[14]!==p||c[15]!==u?(a=(0,tp.jsx)(ui,{viewportId:u,hasShade:p}),c[14]=p,c[15]=u,c[16]=a):a=c[16],c[17]!==A||c[18]!==n||c[19]!==o||c[20]!==s||c[21]!==a?(l=(0,tp.jsxs)(tB.AllInOneMenu.ItemPanel,{children:[A,n,o,i,s,a]}),c[17]=A,c[18]=n,c[19]=o,c[20]=s,c[21]=a,c[22]=l):l=c[22],l}function uc(e){let t,A=(0,D.c)(5),{viewportId:n,align:r,side:o,onVisibilityChange:i}=e;return A[0]!==r||A[1]!==i||A[2]!==o||A[3]!==n?(t=(0,tp.jsx)(uu,{viewportId:n,align:r,side:o,onVisibilityChange:i}),A[0]=r,A[1]=i,A[2]=o,A[3]=n,A[4]=t):t=A[4],t}function uu(e){let t,A,n,r,o,i,s,a,l=(0,D.c)(35),{viewportId:c,align:u,side:d,onVisibilityChange:p}=e,{t:g}=tP("WindowLevelActionMenu"),m=`${c}`,{is3DVolume:h,colorbarProperties:f,windowLevelPresets:w,volumeRenderingPresets:B,volumeRenderingQualityRange:y}=(0,c6.e)(c);return l[0]===Symbol.for("react.memo_cache_sentinel")?(t=AF.t("WindowLevelActionMenu:Back to Display Options"),l[0]=t):t=l[0],l[1]!==h||l[2]!==c?(A=!h&&(0,tp.jsx)(c5,{viewportId:c}),l[1]=h,l[2]=c,l[3]=A):A=l[3],l[4]!==f?.colormaps||l[5]!==h||l[6]!==g||l[7]!==c?(n=f?.colormaps&&!h&&(0,tp.jsx)(tB.AllInOneMenu.SubMenu,{itemLabel:g("Color LUT"),itemIcon:"icon-color-lut",className:"flex h-[calc(100%-32px)] flex-col",children:(0,tp.jsx)(c9,{viewportId:c})},"colorLUTPresets"),l[4]=f?.colormaps,l[5]=h,l[6]=g,l[7]=c,l[8]=n):n=l[8],l[9]!==h||l[10]!==g||l[11]!==c||l[12]!==w?.length?(r=w?.length>0&&!h&&(0,tp.jsx)(tB.AllInOneMenu.SubMenu,{itemLabel:g("Modality Window Presets"),itemIcon:"viewport-window-level",children:(0,tp.jsx)(c7,{viewportId:c})},"windowLevelPresets"),l[9]=h,l[10]=g,l[11]=c,l[12]=w?.length,l[13]=r):r=l[13],l[14]!==h||l[15]!==c||l[16]!==B?(o=B&&h&&(0,tp.jsx)(uA,{viewportId:c}),l[14]=h,l[15]=c,l[16]=B,l[17]=o):o=l[17],l[18]!==h||l[19]!==g||l[20]!==c||l[21]!==y?(i=y&&h&&(0,tp.jsx)(tB.AllInOneMenu.SubMenu,{itemLabel:g("Rendering Options"),children:(0,tp.jsx)(ul,{viewportId:c})}),l[18]=h,l[19]=g,l[20]=c,l[21]=y,l[22]=i):i=l[22],l[23]!==A||l[24]!==n||l[25]!==r||l[26]!==o||l[27]!==i?(s=(0,tp.jsxs)(tB.AllInOneMenu.ItemPanel,{children:[A,n,r,o,i]}),l[23]=A,l[24]=n,l[25]=r,l[26]=o,l[27]=i,l[28]=s):s=l[28],l[29]!==u||l[30]!==m||l[31]!==p||l[32]!==d||l[33]!==s?(a=(0,tp.jsx)(tB.AllInOneMenu.Menu,{isVisible:!0,align:u,side:d,backLabel:t,onVisibilityChange:p,children:s},m),l[29]=u,l[30]=m,l[31]=p,l[32]=d,l[33]=s,l[34]=a):a=l[34],a}function ud(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f=(0,D.c)(45);if(f[0]!==e){let{viewportId:c,location:u,isOpen:d,onOpen:p,onClose:g,disabled:m,isEmbedded:h,onInteraction:w,hasEmbeddedVariantToUse:B,...y}=e;l=c,n=u,s=d,o=p,r=g,t=m,a=h,A=B,i=y,f[0]=e,f[1]=t,f[2]=A,f[3]=n,f[4]=r,f[5]=o,f[6]=i,f[7]=s,f[8]=a,f[9]=l}else t=f[1],A=f[2],n=f[3],r=f[4],o=f[5],i=f[6],s=f[7],a=f[8],l=f[9];let w=void 0!==s&&s,B=void 0!==a&&a,[y]=(0,tB.useViewportGrid)(),v=l||y.activeViewportId,{viewportDisplaySets:S}=(0,cj.N)(v),{servicesManager:C}=(0,k.useSystem)(),{toolbarService:I}=C.services,{IconContainer:b,className:U,containerProps:E}=(0,tB.useIconPresentation)(),{hasColorbar:F,toggleColorbar:Q}=(0,cK.eH)(l);f[10]!==F||f[11]!==B||f[12]!==w||f[13]!==r||f[14]!==o||f[15]!==Q?(c=e=>{let t=F&&!B;if(w&&t&&e){Q(),r?.();return}!w&&e&&t?Q():e?o?.():r?.()},f[10]=F,f[11]=B,f[12]=w,f[13]=r,f[14]=o,f[15]=Q,f[16]=c):c=f[16];let T=c;f[17]!==n||f[18]!==I?(u=I.getAlignAndSide(n),f[17]=n,f[18]=I,f[19]=u):u=f[19];let{align:x,side:O}=u;if(0===S.map(up).length)return null;f[20]!==F||f[21]!==A||f[22]!==U||f[23]!==B?(d=F&&!B&&A?(0,tp.jsx)(tB.Icons.Close,{className:U}):(0,tp.jsx)(tB.Icons.ViewportWindowLevel,{className:U}),f[20]=F,f[21]=A,f[22]=U,f[23]=B,f[24]=d):d=f[24];let M=d;return f[25]!==M||f[26]!==b||f[27]!==E||f[28]!==t||f[29]!==i?(p=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center",children:(0,tp.jsx)("div",{children:b?(0,tp.jsx)(b,{disabled:t,...i,...E,children:M}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,children:M})})}),f[25]=M,f[26]=b,f[27]=E,f[28]=t,f[29]=i,f[30]=p):p=f[30],f[31]!==x||f[32]!==T||f[33]!==O||f[34]!==v?(g=(0,tp.jsx)(uc,{viewportId:v,align:x,side:O,onVisibilityChange:T}),f[31]=x,f[32]=T,f[33]=O,f[34]=v,f[35]=g):g=f[35],f[36]!==x||f[37]!==O||f[38]!==g?(m=(0,tp.jsx)(tB.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:O,align:x,alignOffset:0,sideOffset:5,children:g}),f[36]=x,f[37]=O,f[38]=g,f[39]=m):m=f[39],f[40]!==T||f[41]!==w||f[42]!==p||f[43]!==m?(h=(0,tp.jsxs)(tB.Popover,{open:w,onOpenChange:T,children:[p,m]}),f[40]=T,f[41]=w,f[42]=p,f[43]=m,f[44]=h):h=f[44],h}function up(e){return e.supportsWindowLevel}let ug="minmax",um="manual";function uh(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,children:`${e.SeriesDescription||""}`.trim()},e.displaySetInstanceUID)}let uf=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C=(0,D.c)(68),{viewportId:I,className:b}=e,{servicesManager:U}=(0,k.useSystem)(),{displaySetService:E}=U.services,[F,Q]=(0,M.useState)(ug),{viewportDisplaySets:T}=(0,cj.N)(I),[x,O]=(0,M.useState)(T.length>0?T[0].displaySetInstanceUID:void 0);C[0]!==x?(t={displaySetInstanceUID:x},C[0]=x,C[1]=t):t=C[1];let{voiRange:R,setVOIRange:V,windowLevel:N,setWindowLevel:H}=(0,c6.e)(I,t);if(C[2]!==x||C[3]!==T[0]||C[4]!==T.length?(A=()=>{T.length>0&&!x&&O(T[0].displaySetInstanceUID)},C[2]=x,C[3]=T[0],C[4]=T.length,C[5]=A):A=C[5],C[6]!==x||C[7]!==T?(n=[T,x],C[6]=x,C[7]=T,C[8]=n):n=C[8],(0,M.useEffect)(A,n),!R)return null;let{upper:_,lower:P}=R,{windowWidth:j,windowCenter:G}=N;if(C[9]!==E||C[10]!==x){let e=E.getDisplaySetByUID(x)?.imageIds;if(o=1/0,r=-1/0,e)for(let t of e){let e=L.cache.getImage(t);e&&(o=Math.min(o,e.minPixelValue),r=Math.max(r,e.maxPixelValue))}C[9]=E,C[10]=x,C[11]=r,C[12]=o}else r=C[11],o=C[12];if((o===1/0||r===-1/0)&&(o=0,r=255),C[13]!==x||C[14]!==T){let e;C[16]!==x?(e=e=>e.displaySetInstanceUID===x,C[16]=x,C[17]=e):e=C[17],i=T.find(e),C[13]=x,C[14]=T,C[15]=i}else i=C[15];let K=i;return C[18]!==K?.label||C[19]!==x||C[20]!==T?(s=T.length>1&&(0,tp.jsxs)(tB.Select,{value:x,onValueChange:O,children:[(0,tp.jsx)(tB.SelectTrigger,{children:(0,tp.jsx)(tB.SelectValue,{children:K?.label||"Select Display Set"})}),(0,tp.jsx)(tB.SelectContent,{children:T.map(uh)})]}),C[18]=K?.label,C[19]=x,C[20]=T,C[21]=s):s=C[21],C[22]===Symbol.for("react.memo_cache_sentinel")?(a=(0,tp.jsxs)(tB.TabsList,{className:"w-full flex-1",children:[(0,tp.jsx)(tB.TabsTrigger,{value:ug,className:"flex-1",children:"Min/Max"}),(0,tp.jsx)(tB.TabsTrigger,{value:um,className:"flex-1",children:"Manual"})]}),C[22]=a):a=C[22],C[23]!==s?(l=(0,tp.jsxs)("div",{className:"mb-4 flex items-center space-x-2",children:[s,a]}),C[23]=s,C[24]=l):l=C[24],C[25]!==P||C[26]!==_?(c=[P,_],C[25]=P,C[26]=_,C[27]=c):c=C[27],C[28]!==P||C[29]!==V||C[30]!==_?(u=e=>{let[t,A]=e;(t!==P||A!==_)&&V({lower:t,upper:A})},C[28]=P,C[29]=V,C[30]=_,C[31]=u):u=C[31],C[32]===Symbol.for("react.memo_cache_sentinel")?(d=(0,tp.jsx)(tB.Numeric.DoubleRange,{showNumberInputs:!0}),C[32]=d):d=C[32],C[33]!==r||C[34]!==o||C[35]!==c||C[36]!==u?(p=(0,tp.jsx)(tB.TabsContent,{value:ug,children:(0,tp.jsx)(tB.Numeric.Container,{mode:"doubleRange",min:o,max:r,values:c,step:1,className:"space-y-1",onChange:u,children:d})}),C[33]=r,C[34]=o,C[35]=c,C[36]=u,C[37]=p):p=C[37],C[38]!==H||C[39]!==G||C[40]!==j?(g=e=>{e!==j&&H({windowWidth:e,windowCenter:G})},C[38]=H,C[39]=G,C[40]=j,C[41]=g):g=C[41],C[42]===Symbol.for("react.memo_cache_sentinel")?(m=(0,tp.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,tp.jsx)(tB.Numeric.Label,{children:"W:"}),(0,tp.jsx)(tB.Numeric.SingleRange,{showNumberInput:!0})]}),C[42]=m):m=C[42],C[43]!==r||C[44]!==g||C[45]!==j?(h=(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",min:0,max:r,step:1,value:j,className:"space-y-1",onChange:g,children:m}),C[43]=r,C[44]=g,C[45]=j,C[46]=h):h=C[46],C[47]!==H||C[48]!==G||C[49]!==j?(f=e=>{e!==G&&H({windowWidth:j,windowCenter:e})},C[47]=H,C[48]=G,C[49]=j,C[50]=f):f=C[50],C[51]===Symbol.for("react.memo_cache_sentinel")?(w=(0,tp.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,tp.jsx)(tB.Numeric.Label,{children:"L:"}),(0,tp.jsx)(tB.Numeric.SingleRange,{showNumberInput:!0})]}),C[51]=w):w=C[51],C[52]!==r||C[53]!==o||C[54]!==f||C[55]!==G?(B=(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",min:o,max:r,step:1,value:G,className:"space-y-1",onChange:f,children:w}),C[52]=r,C[53]=o,C[54]=f,C[55]=G,C[56]=B):B=C[56],C[57]!==h||C[58]!==B?(y=(0,tp.jsx)(tB.TabsContent,{value:um,children:(0,tp.jsxs)("div",{className:"space-y-1",children:[h,B]})}),C[57]=h,C[58]=B,C[59]=y):y=C[59],C[60]!==F||C[61]!==p||C[62]!==y||C[63]!==l?(v=(0,tp.jsx)("div",{className:"bg-popover w-72 rounded-lg p-4 shadow-md",children:(0,tp.jsxs)(tB.Tabs,{defaultValue:F,onValueChange:Q,children:[l,p,y]})}),C[60]=F,C[61]=p,C[62]=y,C[63]=l,C[64]=v):v=C[64],C[65]!==b||C[66]!==v?(S=(0,tp.jsx)("div",{className:b,children:v}),C[65]=b,C[66]=v,C[67]=S):S=C[67],S};function uw(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m=(0,D.c)(33);m[0]!==e?({viewportId:s,location:A,isOpen:i,onOpen:r,onClose:n,disabled:t,...o}=e,m[0]=e,m[1]=t,m[2]=A,m[3]=n,m[4]=r,m[5]=o,m[6]=i,m[7]=s):(t=m[1],A=m[2],n=m[3],r=m[4],o=m[5],i=m[6],s=m[7]);let h=void 0!==i&&i,{IconContainer:f,className:w,containerProps:B}=(0,tB.useIconPresentation)();m[8]!==n||m[9]!==r?(a=e=>{e?r?.():n?.()},m[8]=n,m[9]=r,m[10]=a):a=m[10];let y=a,{servicesManager:v}=(0,k.useSystem)(),{toolbarService:S}=v.services;m[11]!==A||m[12]!==S?(l=S.getAlignAndSide(A),m[11]=A,m[12]=S,m[13]=l):l=m[13];let{align:C,side:I}=l;m[14]!==w?(c=(0,tp.jsx)(tB.Icons.WindowLevelAdvanced,{className:w}),m[14]=w,m[15]=c):c=m[15];let b=c;return m[16]!==b||m[17]!==f||m[18]!==B||m[19]!==t||m[20]!==o?(u=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center",children:(0,tp.jsx)("div",{children:f?(0,tp.jsx)(f,{disabled:t,icon:"WindowLevelAdvanced",...o,...B,children:b}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,children:b})})}),m[16]=b,m[17]=f,m[18]=B,m[19]=t,m[20]=o,m[21]=u):u=m[21],m[22]!==s?(d=(0,tp.jsx)(uf,{className:"w-full",viewportId:s}),m[22]=s,m[23]=d):d=m[23],m[24]!==C||m[25]!==I||m[26]!==d?(p=(0,tp.jsx)(tB.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:I,align:C,alignOffset:0,sideOffset:5,children:d}),m[24]=C,m[25]=I,m[26]=d,m[27]=p):p=m[27],m[28]!==y||m[29]!==h||m[30]!==u||m[31]!==p?(g=(0,tp.jsxs)(tB.Popover,{open:h,onOpenChange:y,children:[u,p]}),m[28]=y,m[29]=h,m[30]=u,m[31]=p,m[32]=g):g=m[32],g}function uB(e){return(0,tp.jsx)(tB.SelectItem,{value:e.displaySetInstanceUID,children:(0,tp.jsx)(cG,{displaySet:e})},e.displaySetInstanceUID)}let uy=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y=(0,D.c)(53),{viewportId:v,className:S}=e,{viewportDisplaySets:C,foregroundDisplaySets:I}=(0,cj.N)(v),[b,U]=(0,M.useState)(I.length>0?I[0].displaySetInstanceUID:void 0);y[0]!==b?(t={displaySetInstanceUID:b},y[0]=b,y[1]=t):t=y[1];let{threshold:E,setThreshold:F,pixelValueRange:Q}=(0,cK.eH)(v,t),{min:T,max:x}=Q,O=E??T;if(y[2]!==I[0]||y[3]!==I.length||y[4]!==b?(A=()=>{I.length>0&&!b&&U(I[0].displaySetInstanceUID)},y[2]=I[0],y[3]=I.length,y[4]=b,y[5]=A):A=y[5],y[6]!==I||y[7]!==b?(n=[I,b],y[6]=I,y[7]=b,y[8]=n):n=y[8],(0,M.useEffect)(A,n),y[9]!==b||y[10]!==C){let e;y[12]!==b?(e=e=>e.displaySetInstanceUID===b,y[12]=b,y[13]=e):e=y[13],r=C.find(e),y[9]=b,y[10]=C,y[11]=r}else r=y[11];let L=r;return y[14]===Symbol.for("react.memo_cache_sentinel")?(o=(0,tp.jsx)("span",{className:"text-muted-foreground text-base",children:"Threshold"}),y[14]=o):o=y[14],y[15]!==L?.label||y[16]!==b||y[17]!==C?(i=C.length>1&&(0,tp.jsx)("div",{className:"w-32",children:(0,tp.jsxs)(tB.Select,{value:b,onValueChange:U,children:[(0,tp.jsx)(tB.SelectTrigger,{children:(0,tp.jsx)(tB.SelectValue,{children:L?.label||"Select Display Set"})}),(0,tp.jsx)(tB.SelectContent,{children:C.map(uB)})]})}),y[15]=L?.label,y[16]=b,y[17]=C,y[18]=i):i=y[18],y[19]!==i?(s=(0,tp.jsxs)("div",{className:"flex items-center space-x-2",children:[o,i]}),y[19]=i,y[20]=s):s=y[20],y[21]!==T||y[22]!==F?(a=(0,tp.jsx)(tB.Button,{size:"sm",variant:"ghost",onClick:()=>F(T),className:"text-sm",children:"Reset"}),y[21]=T,y[22]=F,y[23]=a):a=y[23],y[24]!==s||y[25]!==a?(l=(0,tp.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[s,a]}),y[24]=s,y[25]=a,y[26]=l):l=y[26],y[27]!==F?(c=e=>{"number"==typeof e&&F(e)},y[27]=F,y[28]=c):c=y[28],y[29]===Symbol.for("react.memo_cache_sentinel")?(u=(0,tp.jsx)(tB.Numeric.SingleRange,{}),y[29]=u):u=y[29],y[30]!==T?(d=T.toFixed(0),y[30]=T,y[31]=d):d=y[31],y[32]!==d?(p=(0,tp.jsx)("span",{className:"text-muted-foreground text-sm",children:d}),y[32]=d,y[33]=p):p=y[33],y[34]!==x?(g=x.toFixed(0),y[34]=x,y[35]=g):g=y[35],y[36]!==g?(m=(0,tp.jsx)("span",{className:"text-muted-foreground text-sm",children:g}),y[36]=g,y[37]=m):m=y[37],y[38]!==p||y[39]!==m?(h=(0,tp.jsxs)("div",{className:"mt-1 flex justify-between",children:[p,m]}),y[38]=p,y[39]=m,y[40]=h):h=y[40],y[41]!==x||y[42]!==T||y[43]!==c||y[44]!==h||y[45]!==O?(f=(0,tp.jsxs)(tB.Numeric.Container,{mode:"singleRange",value:O,onChange:c,min:T,max:x,step:.01,children:[u,h]}),y[41]=x,y[42]=T,y[43]=c,y[44]=h,y[45]=O,y[46]=f):f=y[46],y[47]!==f||y[48]!==l?(w=(0,tp.jsxs)("div",{className:"bg-popover w-72 rounded-lg p-4 shadow-md",children:[l,f]}),y[47]=f,y[48]=l,y[49]=w):w=y[49],y[50]!==S||y[51]!==w?(B=(0,tp.jsx)("div",{className:S,children:w}),y[50]=S,y[51]=w,y[52]=B):B=y[52],B};function uv(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m=(0,D.c)(33);m[0]!==e?({viewportId:s,location:A,isOpen:i,onOpen:r,onClose:n,disabled:t,...o}=e,m[0]=e,m[1]=t,m[2]=A,m[3]=n,m[4]=r,m[5]=o,m[6]=i,m[7]=s):(t=m[1],A=m[2],n=m[3],r=m[4],o=m[5],i=m[6],s=m[7]);let h=void 0!==i&&i,{IconContainer:f,className:w,containerProps:B}=(0,tB.useIconPresentation)();m[8]!==n||m[9]!==r?(a=e=>{e?r?.():n?.()},m[8]=n,m[9]=r,m[10]=a):a=m[10];let y=a,{servicesManager:v}=(0,k.useSystem)(),{toolbarService:S}=v.services;m[11]!==A||m[12]!==S?(l=S.getAlignAndSide(A),m[11]=A,m[12]=S,m[13]=l):l=m[13];let{align:C,side:I}=l;m[14]!==w?(c=(0,tp.jsx)(tB.Icons.Threshold,{className:w}),m[14]=w,m[15]=c):c=m[15];let b=c;return m[16]!==b||m[17]!==f||m[18]!==B||m[19]!==t||m[20]!==o?(u=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center",children:(0,tp.jsx)("div",{children:f?(0,tp.jsx)(f,{disabled:t,icon:"Threshold",...o,...B,children:b}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,children:b})})}),m[16]=b,m[17]=f,m[18]=B,m[19]=t,m[20]=o,m[21]=u):u=m[21],m[22]!==s?(d=(0,tp.jsx)(uy,{className:"w-full",viewportId:s}),m[22]=s,m[23]=d):d=m[23],m[24]!==C||m[25]!==I||m[26]!==d?(p=(0,tp.jsx)(tB.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:I,align:C,alignOffset:0,sideOffset:5,children:d}),m[24]=C,m[25]=I,m[26]=d,m[27]=p):p=m[27],m[28]!==y||m[29]!==h||m[30]!==u||m[31]!==p?(g=(0,tp.jsxs)(tB.Popover,{open:h,onOpenChange:y,children:[u,p]}),m[28]=y,m[29]=h,m[30]=u,m[31]=p,m[32]=g):g=m[32],g}let uS=function(e){let t,A,n,r,o,i,s,a,l,c,u=(0,D.c)(21),{viewportId:d,className:p}=e;u[0]===Symbol.for("react.memo_cache_sentinel")?(t={includeForeground:!0,includeBackground:!0},u[0]=t):t=u[0];let{backgroundDisplaySet:g,foregroundDisplaySets:m}=(0,cK.Ne)(d,t);u[1]!==m[0].displaySetInstanceUID?(A={displaySetInstanceUID:m[0].displaySetInstanceUID},u[1]=m[0].displaySetInstanceUID,u[2]=A):A=u[2];let{opacityLinear:h,setOpacityLinear:f}=(0,cK.eH)(d,A),w=void 0!==h?h:0,B=g?.Modality||"",y=m[0]?.Modality||"";return u[3]===Symbol.for("react.memo_cache_sentinel")?(n=(0,tp.jsx)("div",{className:"mb-2 flex items-center justify-center",children:(0,tp.jsx)("span",{className:"text-muted-foreground text-base",children:"Opacity"})}),u[3]=n):n=u[3],u[4]!==f?(r=e=>{"number"==typeof e&&f(e)},u[4]=f,u[5]=r):r=u[5],u[6]!==B?(o=(0,tp.jsx)("span",{className:"text-foreground mr-2 text-sm",children:B}),u[6]=B,u[7]=o):o=u[7],u[8]===Symbol.for("react.memo_cache_sentinel")?(i=(0,tp.jsx)(tB.Numeric.SingleRange,{showNumberInput:!1}),u[8]=i):i=u[8],u[9]!==y?(s=(0,tp.jsx)("span",{className:"text-foreground ml-2 text-sm",children:y}),u[9]=y,u[10]=s):s=u[10],u[11]!==o||u[12]!==s?(a=(0,tp.jsxs)("div",{className:"flex items-center",children:[o,i,s]}),u[11]=o,u[12]=s,u[13]=a):a=u[13],u[14]!==w||u[15]!==r||u[16]!==a?(l=(0,tp.jsxs)("div",{className:"bg-popover w-72 rounded-lg p-3",children:[n,(0,tp.jsx)("div",{className:"",children:(0,tp.jsx)(tB.Numeric.Container,{mode:"singleRange",value:w,onChange:r,min:0,max:1,step:1e-4,children:a})})]}),u[14]=w,u[15]=r,u[16]=a,u[17]=l):l=u[17],u[18]!==p||u[19]!==l?(c=(0,tp.jsx)("div",{className:p,children:l}),u[18]=p,u[19]=l,u[20]=c):c=u[20],c};function uC(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m=(0,D.c)(33);m[0]!==e?({viewportId:s,location:A,isOpen:i,onOpen:r,onClose:n,disabled:t,...o}=e,m[0]=e,m[1]=t,m[2]=A,m[3]=n,m[4]=r,m[5]=o,m[6]=i,m[7]=s):(t=m[1],A=m[2],n=m[3],r=m[4],o=m[5],i=m[6],s=m[7]);let h=void 0!==i&&i,{IconContainer:f,className:w,containerProps:B}=(0,tB.useIconPresentation)();m[8]!==n||m[9]!==r?(a=e=>{e?r?.():n?.()},m[8]=n,m[9]=r,m[10]=a):a=m[10];let y=a,{servicesManager:v}=(0,k.useSystem)(),{toolbarService:S}=v.services;m[11]!==A||m[12]!==S?(l=S.getAlignAndSide(A),m[11]=A,m[12]=S,m[13]=l):l=m[13];let{align:C,side:I}=l;m[14]!==w?(c=(0,tp.jsx)(tB.Icons.Opacity,{className:w}),m[14]=w,m[15]=c):c=m[15];let b=c;return m[16]!==b||m[17]!==f||m[18]!==B||m[19]!==t||m[20]!==o?(u=(0,tp.jsx)(tB.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center",children:(0,tp.jsx)("div",{children:f?(0,tp.jsx)(f,{disabled:t,icon:"Opacity",...o,...B,children:b}):(0,tp.jsx)(tB.Button,{variant:"ghost",size:"icon",disabled:t,children:b})})}),m[16]=b,m[17]=f,m[18]=B,m[19]=t,m[20]=o,m[21]=u):u=m[21],m[22]!==s?(d=(0,tp.jsx)(uS,{className:"w-full",viewportId:s}),m[22]=s,m[23]=d):d=m[23],m[24]!==C||m[25]!==I||m[26]!==d?(p=(0,tp.jsx)(tB.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:I,align:C,alignOffset:0,sideOffset:5,children:d}),m[24]=C,m[25]=I,m[26]=d,m[27]=p):p=m[27],m[28]!==y||m[29]!==h||m[30]!==u||m[31]!==p?(g=(0,tp.jsxs)(tB.Popover,{open:h,onOpenChange:y,children:[u,p]}),m[28]=y,m[29]=h,m[30]=u,m[31]=p,m[32]=g):g=m[32],g}var uI=x(9433);function ub(e){return e.isOverlayDisplaySet||e?.Modality==="SR"}let uU=function(e){let t,A,n,r,o,i,s,a,l,c,u,d=(0,D.c)(39),{viewportId:p}=e,{commandsManager:g}=(0,tj.useSystem)(),{t:m}=tP("Common");d[0]!==m?(t=m("LOAD"),d[0]=m,d[1]=t):t=d[1];let h=t;d[2]!==p?(A={viewportId:p},d[2]=p,d[3]=A):A=d[3];let{isTracked:f,isLocked:w}=(0,uI.R)(A),{backgroundDisplaySet:B}=(0,cj.N)(p),[y,v]=(0,M.useState)(null);d[4]!==B?(n=[B].filter(Boolean),d[4]=B,d[5]=n):n=d[5];let S=n;d[6]!==S?(r=()=>{v(S.find(ub)||null)},o=[S],d[6]=S,d[7]=r,d[8]=o):(r=d[7],o=d[8]),(0,M.useEffect)(r,o);e:{let e;if(f&&!y){let e;d[9]!==f?(e={type:"SR",isHydrated:!0,isTracked:f,displaySet:null,tooltip:"Currently tracking measurements in this viewport"},d[9]=f,d[10]=e):e=d[10],i=e;break e}if(!y){let e;d[11]===Symbol.for("react.memo_cache_sentinel")?(e={type:null},d[11]=e):e=d[11],i=e;break e}let t=y.Modality,A=y.isHydrated||!1,n=null,r=y.isRehydratable||!1;"SEG"===t?n=A?"This Segmentation is loaded in the segmentation panel":"Click LOAD to load segmentation.":"RTSTRUCT"===t?n=A?"This RTSTRUCT is loaded in the segmentation panel":"Click LOAD to load RTSTRUCT.":"SR"===t&&(n=r?r&&w?"This structured report is currently read-only because you are tracking measurements in another viewport.":`Click ${h} to restore measurements.`:"This structured report is not compatible with this application."),d[12]!==A||d[13]!==r||d[14]!==y||d[15]!==n||d[16]!==t?(e={type:t,isHydrated:A,displaySet:y,isRehydratable:r,tooltip:n},d[12]=A,d[13]=r,d[14]=y,d[15]=n,d[16]=t,d[17]=e):e=d[17],i=e}let C=i;if(!C.type&&!f)return null;d[18]!==w||d[19]!==C.isRehydratable||d[20]!==C.type?(s=()=>"SR"!==C.type?(0,tp.jsx)(tB.Icons.StatusUntracked,{className:"h-4 w-4"}):C.isRehydratable&&!w?(0,tp.jsx)(tB.Icons.ByName,{className:"text-muted-foreground h-4 w-4",name:"status-untracked"}):C.isRehydratable&&w?(0,tp.jsx)(tB.Icons.ByName,{name:"status-locked",className:"h-4 w-4"}):(0,tp.jsx)(tB.Icons.ByName,{name:"status-alert",className:"h-4 w-4"}),d[18]=w,d[19]=C.isRehydratable,d[20]=C.type,d[21]=s):s=d[21];let I=s;d[22]!==I||d[23]!==g||d[24]!==h||d[25]!==C.displaySet||d[26]!==C.isHydrated||d[27]!==C.type||d[28]!==p?(a=()=>C.isHydrated?null:(0,tp.jsxs)("div",{"data-cy":`ModalityLoadBadge-${p}`,className:"text-foreground flex h-6 cursor-default text-sm leading-6",children:[(0,tp.jsxs)("div",{className:"bg-popover flex min-w-[45px] items-center rounded-l-xl rounded-r p-1",children:[(0,tp.jsx)(I,{}),(0,tp.jsx)("span",{className:"ml-1",children:C.type})]}),"SR"!==C.type&&(0,tp.jsx)(tB.ViewportActionButton,{onInteraction:()=>{g.runCommand("hydrateSecondaryDisplaySet",{displaySet:C.displaySet,viewportId:p})},children:h})]}),d[22]=I,d[23]=g,d[24]=h,d[25]=C.displaySet,d[26]=C.isHydrated,d[27]=C.type,d[28]=p,d[29]=a):a=d[29];let b=a;return d[30]!==b||d[31]!==C.tooltip?(l=C.tooltip&&(0,tp.jsxs)(tB.Tooltip,{children:[(0,tp.jsx)(tB.TooltipTrigger,{asChild:!0,children:(0,tp.jsx)("span",{children:(0,tp.jsx)(b,{})})}),(0,tp.jsx)(tB.TooltipContent,{side:"bottom",children:(0,tp.jsx)("div",{children:C.tooltip})})]}),d[30]=b,d[31]=C.tooltip,d[32]=l):l=d[32],d[33]!==b||d[34]!==C.tooltip?(c=!C.tooltip&&(0,tp.jsx)(b,{}),d[33]=b,d[34]=C.tooltip,d[35]=c):c=d[35],d[36]!==c||d[37]!==l?(u=(0,tp.jsxs)(tp.Fragment,{children:[l,c]}),d[36]=c,d[37]=l,d[38]=u):u=d[38],u};function uE(e){return e?.representation?.active}function uF(e){return e?.Modality==="SR"}function uQ(e){return e?.representation?.type!==ta.SegmentationRepresentations.Surface}function uT(e){return e?.Modality==="SR"}function uD(e,t,A){if(A<=0)return 0;let n=(e+t)%A;return n<0&&(n=A-1),n}let ux=function(e){let t,A,n,r,o,i,s,a=(0,D.c)(25),{viewportId:l}=e,{servicesManager:c}=(0,tj.useSystem)(),{segmentationService:u,cornerstoneViewportService:d,measurementService:p}=c.services;a[0]!==l?(t={viewportId:l},a[0]=l,a[1]=t):t=a[1];let{isTracked:g,trackedMeasurementUIDs:m}=(0,uI.R)(t),{viewportDisplaySets:h}=(0,cj.N)(l),[f,w]=(0,M.useState)(0),B=h.some(uT);a[2]!==d||a[3]!==l?(A=d.getCornerstoneViewport(l),a[2]=d,a[3]=l,a[4]=A):A=a[4];let y=A;a[5]!==l?(n={viewportId:l},a[5]=l,a[6]=n):n=a[6];let{segmentationsWithRepresentations:v}=(0,cK.Lt)(n),S=v.length>0&&v.some(uQ)?"segment":B||g?"measurement":null;a[7]!==y||a[8]!==g||a[9]!==f||a[10]!==p||a[11]!==m||a[12]!==h||a[13]!==l?(r=e=>{let t=h.find(uF);if(t){let A=t.measurements;if(A.length<=0)return;let n=uD(f,e,A.length);w(n);let r=A[n];y.setViewReference({referencedImageId:r.imageId});return}if(g&&m.length>0){let t=uD(f,e,m.length);w(t),p.jumpToMeasurement(l,m[t])}},a[7]=y,a[8]=g,a[9]=f,a[10]=p,a[11]=m,a[12]=h,a[13]=l,a[14]=r):r=a[14];let C=r;a[15]!==u||a[16]!==v||a[17]!==l?(o=e=>{if(!v.length)return;let t=v.find(uE).segmentation.segmentationId;pZ.handleSegmentChange({direction:e,segmentationId:t,viewportId:l,selectedSegmentObjectIndex:0,segmentationService:u})},a[15]=u,a[16]=v,a[17]=l,a[18]=o):o=a[18];let I=o;a[19]!==C||a[20]!==I||a[21]!==S?(i=e=>{"segment"===S?I(e):"measurement"===S&&C(e)},a[19]=C,a[20]=I,a[21]=S,a[22]=i):i=a[22];let b=i;return S?(a[23]!==b?(s=(0,tp.jsx)(tB.ViewportActionArrows,{onArrowsClick:b,className:"h-6"}),a[23]=b,a[24]=s):s=a[24],s):null},uO=function(e){let t,A,n,r=(0,D.c)(4),{viewportId:o}=e;r[0]!==o?(t={viewportId:o},r[0]=o,r[1]=t):t=r[1];let{isTracked:i}=(0,uI.R)(t);return i?(r[2]===Symbol.for("react.memo_cache_sentinel")?(A=(0,tp.jsx)(tB.TooltipTrigger,{asChild:!0,children:(0,tp.jsx)("span",{children:(0,tp.jsx)(tB.Icons.StatusTracking,{className:"h-4 w-4 text-highlight"})})}),r[2]=A):A=r[2],r[3]===Symbol.for("react.memo_cache_sentinel")?(n=(0,tp.jsx)(tp.Fragment,{children:(0,tp.jsxs)(tB.Tooltip,{children:[A,(0,tp.jsx)(tB.TooltipContent,{side:"bottom",children:(0,tp.jsx)("div",{children:"Tracking"})})]})}),r[3]=n):n=r[3],n):null},{ViewportColorbar:uM}=R.utilities.voi.colorbar,uL=e=>"top"===e||"bottom"===e,uR=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p=(0,D.c)(49),{viewportId:g,displaySetInstanceUID:m,colormaps:h,activeColormapName:f,volumeId:w,position:B,tickStyles:y,numColorbars:v}=e,[S,C]=(0,M.useState)(null),{servicesManager:I}=(0,k.useSystem)(),{customizationService:b}=I.services,U=(0,k.useViewportElement)(g),{height:E,width:F}=(0,k.useViewportSize)(g);p[0]!==b?(t=b.getCustomization("cornerstone.colorbar"),p[0]=b,p[1]=t):t=p[1];let Q=t,T="left"===B||"right"===B?"left"===B?"right":"left":"top"===B?"bottom":"top",x=Q?.positionTickStyles?.[B];p[2]!==Q?.positionStyles||p[3]!==B?(A=Q?.positionStyles?.[B]||{},p[2]=Q?.positionStyles,p[3]=B,p[4]=A):A=p[4];let O=A;p[5]!==Q?.tickStyles?(n=Q?.tickStyles||{},p[5]=Q?.tickStyles,p[6]=n):n=p[6],p[7]!==x?.style?(r=x?.style||{},p[7]=x?.style,p[8]=r):r=p[8],p[9]!==y?(o=y||{},p[9]=y,p[10]=o):o=p[10],p[11]!==n||p[12]!==r||p[13]!==o?(i={...n,...r,...o},p[11]=n,p[12]=r,p[13]=o,p[14]=i):i=p[14];let L=i,R=`Colorbar-${g}-${m}`;if(p[15]!==f||p[16]!==T||p[17]!==R||p[18]!==h||p[19]!==S||p[20]!==L||p[21]!==U||p[22]!==w?(s=()=>{if(!S||!h||!f||!U||!h?.length)return;let e=new uM({id:R,element:U,container:S,colormaps:h,activeColormapName:f,volumeId:w,ticks:{position:T,style:L}});return()=>{e&&e.destroy()}},p[15]=f,p[16]=T,p[17]=R,p[18]=h,p[19]=S,p[20]=L,p[21]=U,p[22]=w,p[23]=s):s=p[23],p[24]!==f||p[25]!==T||p[26]!==R||p[27]!==h||p[28]!==S||p[29]!==m||p[30]!==L||p[31]!==U||p[32]!==g||p[33]!==w?(a=[g,m,h,f,w,R,T,L,U,S],p[24]=f,p[25]=T,p[26]=R,p[27]=h,p[28]=S,p[29]=m,p[30]=L,p[31]=U,p[32]=g,p[33]=w,p[34]=a):a=p[34],(0,M.useEffect)(s,a),!E||!F)return null;let V=`colorbar-container-${g}-${m}`;return p[35]!==B||p[36]!==F?(l=uL(B)?F/2.5:"17px",p[35]=B,p[36]=F,p[37]=l):l=p[37],p[38]!==E||p[39]!==v||p[40]!==B?(c=uL(B)?"20px":1===v?E/3:E/4,p[38]=E,p[39]=v,p[40]=B,p[41]=c):c=p[41],p[42]!==O||p[43]!==l||p[44]!==c?(u={position:"relative",zIndex:1e3,boxSizing:"border-box",display:"flex",alignItems:"center",pointerEvents:"auto",minWidth:l,minHeight:c,height:"1px",...O},p[42]=O,p[43]=l,p[44]=c,p[45]=u):u=p[45],p[46]!==u||p[47]!==V?(d=(0,tp.jsx)("div",{id:V,ref:C,style:u}),p[46]=u,p[47]=V,p[48]=d):d=p[48],d},uV=function(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g=(0,D.c)(40),{viewportId:m,location:h}=e;g[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],g[0]=t):t=g[0];let[f,w]=(0,M.useState)(t),{servicesManager:B}=(0,k.useSystem)(),{colorbarService:y,customizationService:v,displaySetService:S}=B.services,{viewportDisplaySets:C,backgroundDisplaySet:I,foregroundDisplaySets:b}=(0,cj.N)(m);g[1]!==h?(A={location:h},g[1]=h,g[2]=A):A=g[2];let{colorbarPosition:U,opacity:E}=(0,c6.A)(m,A);g[3]!==v?(n=v.getCustomization("cornerstone.colorbar"),g[3]=v,g[4]=n):n=g[4];let F=n,Q=F?.colorbarTickPosition,T=F?.colorbarTickPosition||Q;if(g[5]!==y||g[6]!==m?(r=()=>{w(y.getViewportColorbar(m)||[])},o=[m,y],g[5]=y,g[6]=m,g[7]=r,g[8]=o):(r=g[7],o=g[8]),(0,M.useEffect)(r,o),g[9]!==y||g[10]!==m?(i=()=>{let{unsubscribe:e}=y.subscribe(y.EVENTS.STATE_CHANGED,e=>{e.viewportId===m&&w(y.getViewportColorbar(m)||[])});return()=>{e()}},s=[m,y],g[9]=y,g[10]=m,g[11]=i,g[12]=s):(i=g[11],s=g[12]),(0,M.useEffect)(i,s),!f.length)return null;let x=1===C.length;g[13]!==x||g[14]!==U?(a=x||!uL(U),g[13]=x,g[14]=U,g[15]=a):a=g[15];let O=a;g[16]!==I?.displaySetInstanceUID||g[17]!==f||g[18]!==S||g[19]!==b||g[20]!==E||g[21]!==O?(l=O?f:f.filter(e=>{let{displaySetInstanceUID:t}=e,{displaySetInstanceUID:A}=S.getDisplaySetByUID(t)??{};return A===(0===E?I?.displaySetInstanceUID:b[0]?.displaySetInstanceUID)}),g[16]=I?.displaySetInstanceUID,g[17]=f,g[18]=S,g[19]=b,g[20]=E,g[21]=O,g[22]=l):l=g[22];let L=l;if(g[23]===Symbol.for("react.memo_cache_sentinel")?(c={pointerEvents:"auto"},g[23]=c):c=g[23],g[24]===Symbol.for("react.memo_cache_sentinel")?(u={pointerEvents:"auto"},g[24]=u):u=g[24],g[25]!==F?.tickStyles||g[26]!==f.length||g[27]!==L||g[28]!==U||g[29]!==T||g[30]!==m){let e;g[32]!==F?.tickStyles||g[33]!==f.length||g[34]!==U||g[35]!==T||g[36]!==m?(e=e=>{let{colorbar:t,displaySetInstanceUID:A}=e;return(0,tp.jsx)(uR,{viewportId:m,displaySetInstanceUID:A,colormaps:t.colormaps,activeColormapName:t.activeColormapName,volumeId:t.volumeId,position:U,tickPosition:T,tickStyles:F?.tickStyles,numColorbars:f.length},`colorbar-${m}-${A}`)},g[32]=F?.tickStyles,g[33]=f.length,g[34]=U,g[35]=T,g[36]=m,g[37]=e):e=g[37],d=L.map(e),g[25]=F?.tickStyles,g[26]=f.length,g[27]=L,g[28]=U,g[29]=T,g[30]=m,g[31]=d}else d=g[31];return g[38]!==d?(p=(0,tp.jsx)("div",{style:c,children:(0,tp.jsx)("div",{className:"flex h-full flex-col items-center justify-center",style:u,children:d})}),g[38]=d,g[39]=p):p=g[39],p};var uN=x(1016),uH=x(8842);let u_={[uH.ButtonLocation.TopMiddle]:{minX:0,minY:0,maxX:1,maxY:.1},[uH.ButtonLocation.BottomMiddle]:{minX:0,minY:.9,maxX:1,maxY:1},[uH.ButtonLocation.LeftMiddle]:{minX:0,minY:0,maxX:.1,maxY:1},[uH.ButtonLocation.RightMiddle]:{minX:.9,minY:0,maxX:1,maxY:1}},uk=function(e){let t,A,n,r,o,i,s,a,l,c,u=(0,D.c)(43),{viewportId:d,location:p,buttonSection:g}=e;u[0]!==g?(t={buttonSection:g},u[0]=g,u[1]=t):t=u[1];let{onInteraction:m,toolbarButtons:h,isItemOpen:f,isItemLocked:w,openItem:B,closeItem:y,toggleLock:v}=(0,uN.useToolbar)(t),S=(0,uN.useViewportMousePosition)(d),[C,I]=(0,M.useState)(!1),[b,U]=(0,M.useState)(!0),E=(0,M.useRef)(!0),{hasColorbar:F}=(0,cK.eH)(d),[Q,T]=(0,M.useState)(!1);u[2]===Symbol.for("react.memo_cache_sentinel")?(A=()=>{if(E.current){E.current=!1;let e=setTimeout(()=>{U(!1)},3e3);return()=>clearTimeout(e)}},n=[],u[2]=A,u[3]=n):(A=u[2],n=u[3]),(0,M.useEffect)(A,n),u[4]!==p||u[5]!==S||u[6]!==b?(r=()=>{if(!b&&S.isInViewport){let e=u_[p];S.isWithinNormalizedBox(e)?I(!0):I(!1)}},o=[p,S,b],u[4]=p,u[5]=S,u[6]=b,u[7]=r,u[8]=o):(r=u[7],o=u[8]),(0,M.useEffect)(r,o),u[9]!==B?(i=(e,t)=>{B(e,t),T(!0)},u[9]=B,u[10]=i):i=u[10];let x=i;u[11]!==y?(s=(e,t)=>{y(e,t),T(!1)},u[11]=y,u[12]=s):s=u[12];let O=s;if(!h?.length||!F)return null;if(u[13]!==p)a=nr()("flex gap-2",p===uH.ButtonLocation.LeftMiddle||p===uH.ButtonLocation.RightMiddle?"flex-col":"flex-row"),u[13]=p,u[14]=a;else a=u[14];if(u[15]!==O||u[16]!==x||u[17]!==Q||u[18]!==w||u[19]!==f||u[20]!==C||u[21]!==p||u[22]!==m||u[23]!==b||u[24]!==v||u[25]!==h||u[26]!==d){let e;u[28]!==O||u[29]!==x||u[30]!==Q||u[31]!==w||u[32]!==f||u[33]!==C||u[34]!==p||u[35]!==m||u[36]!==b||u[37]!==v||u[38]!==d?(e=e=>{if(!e)return null;let{id:t,Component:A,componentProps:n}=e,r={...n,isOpen:f(t,d),isLocked:w(t,d),onOpen:()=>x(t,d),onClose:()=>O(t,d),onToggleLock:()=>v(t,d),viewportId:d},o=(0,tp.jsx)(A,{id:t,location:p,onInteraction:e=>{m({...e,itemId:t,viewportId:d})},...r},t),i=Q||b||"Colorbar"===t||C;return(0,tp.jsx)("div",{className:i?"opacity-100":"pointer-events-none opacity-0",style:{transition:"opacity 0.2s ease-in-out"},children:o},t)},u[28]=O,u[29]=x,u[30]=Q,u[31]=w,u[32]=f,u[33]=C,u[34]=p,u[35]=m,u[36]=b,u[37]=v,u[38]=d,u[39]=e):e=u[39],l=h.map(e),u[15]=O,u[16]=x,u[17]=Q,u[18]=w,u[19]=f,u[20]=C,u[21]=p,u[22]=m,u[23]=b,u[24]=v,u[25]=h,u[26]=d,u[27]=l}else l=u[27];return u[40]!==a||u[41]!==l?(c=(0,tp.jsx)("div",{className:a,children:l}),u[40]=a,u[41]=l,u[42]=c):c=u[42],c},uP=e=>({disabled:!0,disabledText:e??cB().t("Buttons:Not available on the current viewport")});function uj({viewportId:e,toolbarService:t,button:A,disabledText:n,offModes:r,toolGroupService:o}){let i=o.getToolGroupForViewport(e);if(!i)return;let s=t.getToolNameForButton(A);if(!i?.hasTool(s))return uP(n);let a=r.includes(i.getToolOptions(s).mode);return{className:tB.utils.getToggledClassName(!a)}}let uG={VIEWPORT_ADDED:"event::cornerstone::toolgroupservice:viewportadded",TOOLGROUP_CREATED:"event::cornerstone::toolgroupservice:toolgroupcreated",TOOL_ACTIVATED:"event::cornerstone::toolgroupservice:toolactivated",PRIMARY_TOOL_ACTIVATED:"event::cornerstone::toolgroupservice:primarytoolactivated"};class uK{constructor(e){this.servicesManager=void 0,this.cornerstoneViewportService=void 0,this.viewportGridService=void 0,this.uiNotificationService=void 0,this.customizationService=void 0,this.toolGroupIds=new Set,this.toolBindingsMap=new Map,this.defaultToolBindingsMap=new Map,this.listeners=void 0,this.EVENTS=void 0,this._onToolActivated=e=>{let{toolGroupId:t,toolName:A,toolBindingsOptions:n}=e.detail,r=n.bindings?.some(e=>e.mouseButton===R.Enums.MouseBindings.Primary),o={toolGroupId:t,toolName:A,toolBindingsOptions:n};this._broadcastEvent(uG.TOOL_ACTIVATED,o),r&&this._broadcastEvent(uG.PRIMARY_TOOL_ACTIVATED,o)};const{cornerstoneViewportService:t,viewportGridService:A,uiNotificationService:n,customizationService:r}=e.services;this.cornerstoneViewportService=t,this.viewportGridService=A,this.uiNotificationService=n,this.customizationService=r,this.listeners={},this.EVENTS=uG,Object.assign(this,k.pubSubServiceInterface),this._init()}onModeExit(){this.destroy()}_init(){L.eventTarget.addEventListener(R.Enums.Events.TOOL_ACTIVATED,this._onToolActivated)}getToolGroup(e){let t=e;if(!t){let e=ee(this.viewportGridService);if(!e)return;let{renderingEngineId:A,viewportId:n}=e,r=R.ToolGroupManager.getToolGroupForViewport(n,A);if(!r)return void console.warn("No tool group found for viewportId:",n,"and renderingEngineId:",A);t=r.id}return R.ToolGroupManager.getToolGroup(t)}getToolGroupIds(){return Array.from(this.toolGroupIds)}getToolGroupForViewport(e){let t=this.cornerstoneViewportService.getRenderingEngine();return R.ToolGroupManager.getToolGroupForViewport(e,t.id)}getActiveToolForViewport(e){let t=this.getToolGroupForViewport(e);if(t)return t.getActivePrimaryMouseButtonTool()}destroy(){R.ToolGroupManager.destroy(),this.toolGroupIds=new Set,this.toolBindingsMap.clear(),this.defaultToolBindingsMap.clear(),L.eventTarget.removeEventListener(R.Enums.Events.TOOL_ACTIVATED,this._onToolActivated)}destroyToolGroup(e){R.ToolGroupManager.destroyToolGroup(e),this.toolGroupIds.delete(e)}removeViewportFromToolGroup(e,t,A){let n=R.ToolGroupManager.getToolGroupForViewport(e,t);!n||(n.removeViewports(t,e),0===n.getViewportIds().length&&A&&R.ToolGroupManager.destroyToolGroup(n.id))}addViewportToToolGroup(e,t,A){if(A){let n=R.ToolGroupManager.getToolGroup(A);n||(n=this.createToolGroup(A)),n.addViewport(e,t)}else R.ToolGroupManager.getAllToolGroups().forEach(A=>{A.addViewport(e,t)});this._broadcastEvent(uG.VIEWPORT_ADDED,{viewportId:e,toolGroupId:A})}createToolGroup(e){if(this.getToolGroup(e))throw Error(`ToolGroup ${e} already exists`);let t=R.ToolGroupManager.createToolGroup(e);return this.toolGroupIds.add(e),this._broadcastEvent(uG.TOOLGROUP_CREATED,{toolGroupId:e}),t}addToolsToToolGroup(e,t,A={}){let n=R.ToolGroupManager.getToolGroup(e);this._addTools(n,t,A),this._setToolsMode(n,t),this._loadPersistedBindings(e)}createToolGroupAndAddTools(e,t){let A=this.createToolGroup(e);return this.addToolsToToolGroup(e,t),A}getToolConfiguration(e,t){let A=R.ToolGroupManager.getToolGroup(e);if(!A)return null;let n=A.getToolInstance(t);return n?n.configuration:null}setToolConfiguration(e,t,A){R.ToolGroupManager.getToolGroup(e).getToolInstance(t).configuration=A}getActivePrimaryMouseButtonTool(e){return this.getToolGroup(e)?.getActivePrimaryMouseButtonTool()}getToolBindings(e,t){return this.toolBindingsMap.get(e)?.get(t)}setToolBindings(e,t,A){this.toolBindingsMap.has(e)||this.toolBindingsMap.set(e,new Map),this.toolBindingsMap.get(e).set(t,this._cloneToolBindings(A))}getDefaultToolBindings(e,t){let A=this.defaultToolBindingsMap.get(e)?.get(t);return A?this._cloneToolBindings(A):void 0}persistToolBindings(e,t,A){let n=this._readPersistedToolBindings();n[e]||(n[e]={}),n[e][t]=A,this._writePersistedToolBindings(n)}removePersistedToolBindings(e,t){let A=this._readPersistedToolBindings();A[e]&&(t?(delete A[e][t],Object.keys(A[e]).length||delete A[e]):delete A[e],this._writePersistedToolBindings(A))}applyToolBindings(e,t,A={}){let n=R.ToolGroupManager.getToolGroup(e);if(!n||!n.hasTool(t))return;let r=this.getToolBindings(e,t);if(!r)return;let{mode:o}=n.getToolOptions(t);(o===R.Enums.ToolModes.Active||o===R.Enums.ToolModes.Passive||o===R.Enums.ToolModes.Enabled)&&(A.replaceExisting&&n.setToolDisabled(t),n.setToolActive(t,{bindings:r}))}getAllToolBindings(){let e=[];for(let[t,A]of this.toolBindingsMap)for(let[n,r]of A)e.push({toolGroupId:t,toolName:n,bindings:r});return e}_setToolsMode(e,t){let{active:A,passive:n,enabled:r,disabled:o}=t;A&&A.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolActive(t,{bindings:A})}),n&&n.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolPassive(t)}),r&&r.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolEnabled(t)}),o&&o.forEach(({toolName:t,bindings:A})=>{A&&(this.setToolBindings(e.id,t,A),this._setDefaultToolBindingsIfMissing(e.id,t,A)),e.setToolDisabled(t)})}_setDefaultToolBindingsIfMissing(e,t,A){this.defaultToolBindingsMap.has(e)||this.defaultToolBindingsMap.set(e,new Map);let n=this.defaultToolBindingsMap.get(e);n.has(t)||n.set(t,this._cloneToolBindings(A))}_addTools(e,t){let A=t=>{t.forEach(({toolName:t,parentTool:A,configuration:n})=>{A?e.addToolInstance(t,A,{...n}):e.addTool(t,{...n})})};t.active&&A(t.active),t.passive&&A(t.passive),t.enabled&&A(t.enabled),t.disabled&&A(t.disabled)}_loadPersistedBindings(e){let t=this._readPersistedToolBindings()[e];if(!t)return;let A=R.ToolGroupManager.getToolGroup(e);for(let[n,r]of Object.entries(t)){if(this.setToolBindings(e,n,r),!A||!A.hasTool(n))continue;let{mode:t}=A.getToolOptions(n);t===R.Enums.ToolModes.Active&&this.applyToolBindings(e,n,{replaceExisting:!0})}}_readPersistedToolBindings(){try{let e=localStorage.getItem(this._getToolBindingsStorageKey());if(!e)return{};let t=JSON.parse(e);if(!t||"object"!=typeof t)return{};return t}catch{return{}}}_writePersistedToolBindings(e){let t=this._getToolBindingsStorageKey();Object.keys(e).length?localStorage.setItem(t,JSON.stringify(e)):localStorage.removeItem(t)}_cloneToolBindings(e){return e.map(e=>({...e}))}_getToolBindingsStorageKey(){let e=this.customizationService?.getCustomization("ohif.userPreferences.toolBindingsStorageKey");return"string"==typeof e&&e.length>0?e:"user-preferred-tool-bindings"}}uK.REGISTRATION={name:"toolGroupService",altName:"ToolGroupService",create:({servicesManager:e})=>new uK(e)};let{createSynchronizer:uW}=R.SynchronizerManager,{SEGMENTATION_REPRESENTATION_MODIFIED:uY}=R.Enums.Events,{BlendModes:uz}=L.Enums;function uX(e,{servicesManager:t,...A}){return uW(e,uY,(e,n,r,o)=>uJ(e,n,r,o,{servicesManager:t,options:A}),{eventSource:"eventTarget"})}let uJ=async(e,t,A,n,{servicesManager:r,options:o})=>{let{segmentationId:i,type:s}=n.detail,{segmentationService:a,cornerstoneViewportService:l}=r.services,c=A.viewportId,u=t.viewportId,{viewport:d}=(0,L.getEnabledElementByViewportId)(c),p=l.getViewportInfo(u),g=l.getViewportInfo(c),m=uq(p),h=uq(g),f=m.some(e=>h.includes(e)),w=d.getFrameOfReferenceUID(),B=(0,L.getEnabledElementByViewportId)(u)?.viewport?.getFrameOfReferenceUID();if(!f&&!w||!f&&w!==B||a.getSegmentationRepresentations(c,{segmentationId:i}).length>0)return;let y=(0,es.Ov)(d),{Surface:v,Labelmap:S}=R.Enums.SegmentationRepresentations;await a.addSegmentationRepresentation(c,{segmentationId:i,type:y?v:s&&s!==v?s:S,config:{blendMode:d?.getBlendMode?.()===1?uz.LABELMAP_EDGE_PROJECTION_BLEND:void 0}})};function uq(e){return e.getViewportData().data.map(e=>e.displaySetInstanceUID)}let u$={TOOL_GROUP_CREATED:"event::cornerstone::syncgroupservice:toolgroupcreated"},uZ="imageslice";class u0{constructor(e){this.servicesManager=void 0,this.listeners={},this.EVENTS=void 0,this.synchronizerCreators={cameraposition:R.synchronizers.createCameraPositionSynchronizer,voi:R.synchronizers.createVOISynchronizer,zoompan:R.synchronizers.createZoomPanSynchronizer,stackimage:R.synchronizers.createImageSliceSynchronizer,[uZ]:R.synchronizers.createImageSliceSynchronizer,hydrateseg:uX},this.synchronizersByType={},this.servicesManager=e,this.listeners={},this.EVENTS=u$,Object.assign(this,k.pubSubServiceInterface)}_createSynchronizer(e,t,A){this.synchronizersByType[e]=this.synchronizersByType[e]||[];let n=this.synchronizerCreators[e.toLowerCase()];if(n){let r=n(t,{...A,servicesManager:this.servicesManager});if(r)return this.synchronizersByType[e].push(r),r}else console.debug(`Unknown synchronizer type: ${e}, id: ${t}`)}getSyncCreatorForType(e){return this.synchronizerCreators[e.toLowerCase()]}addSynchronizerType(e,t){this.synchronizerCreators[e.toLowerCase()]=t}getSynchronizer(e){return R.SynchronizerManager.getSynchronizer(e)}registerCustomSynchronizer(e,t){this.synchronizerCreators[e]=t}getSynchronizersOfType(e){return this.synchronizersByType[e]}_getOrCreateSynchronizer(e,t,A){let n=R.SynchronizerManager.getSynchronizer(t);return n||(n=this._createSynchronizer(e,t,A)),n}addViewportToSyncGroup(e,t,A){A&&(Array.isArray(A)?A:[A]).forEach(A=>{let{type:n,target:r=!0,source:o=!0,options:i={},id:s=n}="string"==typeof A?{type:A}:A,a=this._getOrCreateSynchronizer(n,s,i);if(!a)return;a.setOptions(e,i);let l={viewportId:e,renderingEngineId:t};r&&o?a.add(l):o?a.addSource(l):r&&a.addTarget(l)})}destroy(){R.SynchronizerManager.destroy()}getSynchronizersForViewport(e){let t=(0,L.getRenderingEngines)().find(t=>t.getViewports().find(t=>t.id===e))||(0,L.getRenderingEngines)()[0];return R.SynchronizerManager.getAllSynchronizers().filter(A=>A.hasSourceViewport(t.id,e)||A.hasTargetViewport(t.id,e))}removeViewportFromSyncGroup(e,t,A){let n=R.SynchronizerManager.getAllSynchronizers();(A?n.filter(e=>e.id===A):n).forEach(A=>{if(!A)return;this.isImageSliceSyncronizer(A)&&this.unRegisterSpatialRegistration(A),A.remove({viewportId:e,renderingEngineId:t});let n=A.getSourceViewports(),r=A.getTargetViewports();n.length||r.length||R.SynchronizerManager.destroySynchronizer(A.id)})}unRegisterSpatialRegistration(e){let t=e.getSourceViewports().map(e=>e.viewportId),A=e.getTargetViewports().map(e=>e.viewportId);t.map(e=>A.map(t=>[t,e])).reduce((e,t)=>e.concat(t),[]).forEach(e=>{L.utilities.spatialRegistrationMetadataProvider.add(e,void 0)})}isImageSliceSyncronizer(e){return this.getSynchronizerType(e).toLowerCase()===uZ}getSynchronizerType(e){return Object.keys(this.synchronizersByType).find(t=>this.getSynchronizersOfType(t).includes(e))}}u0.REGISTRATION={name:"syncGroupService",altName:"SyncGroupService",create:({servicesManager:e})=>new u0(e)};var u1=x(6336);let u3="cornerstoneStreamingImageVolume",u2="cornerstoneStreamingDynamicImageVolume",{Labelmap:u4,Surface:u6}=R.Enums.SegmentationRepresentations,{state:{updateLabelmapSegmentationImageReferences:u9}}=R.segmentation;class u8{constructor(e){this.service=e}async classifyAndPrepareLabelmapAdd(e,t,A,n,r){let o=(0,es.rX)(e),i=t?.representationData?.[u4],s=!!i&&"volumeId"in i;return o?this.handleVolumeViewportCase(e,t,s):this.handleStackViewportCase(e,t,s,A,n)}async handleVolumeViewportCase(e,t,A){return(0,es.Ov)(e)?{representationTypeToUse:u6,isConverted:!1}:(await this.service.handleVolumeViewport(e,t,A),{representationTypeToUse:u4,isConverted:!1})}async handleStackViewportCase(e,t,A,n,r){return A?{representationTypeToUse:u4,isConverted:await this.service.convertStackToVolumeViewport(e)}:u9(n,r)?{representationTypeToUse:u4,isConverted:!1}:{representationTypeToUse:u4,isConverted:await this.service.attemptStackToVolumeConversion(e,t,n,r)}}assembleSegmentationDataForSEG(e){let{segmentationId:t,derivedImageIds:A,referencedImageIds:n,label:r,fallbackLabel:o,segments:i}=e;return{segmentationId:t,representation:{type:u4,data:{imageIds:A,referencedImageIds:n}},config:{label:r,fallbackLabel:o,segments:i}}}jumpToSegmentCenter(e,t){return!!e?.jumpToWorld&&(e.jumpToWorld(t),!0)}}let{Labelmap:u5}=R.Enums.SegmentationRepresentations,{state:{updateLabelmapSegmentationImageReferences:u7}}=R.segmentation;class de{async classifyAndPrepareLabelmapAdd(e,t,A,n,r){return u7(A,n),{representationTypeToUse:r,isConverted:!1}}assembleSegmentationDataForSEG(e){let{segmentationId:t,segDisplaySet:A,derivedImageIds:n,referencedImageIds:r,label:o,fallbackLabel:i,segments:s}=e,a=A.labelMapImages??[],l={label:o,fallbackLabel:i,segments:s};if(!A.overlappingSegments||a.length<=1)return{segmentationId:t,representation:{type:u5,data:{imageIds:n,referencedImageIds:r}},config:l};let c={},u={};return a.forEach((e,A)=>{let n=`${t}-storage-${A}`;c[n]={labelmapId:n,storageKind:"stack",imageIds:e.map(e=>e.imageId),referencedImageIds:r};let o=new Set;for(let t of e){let e=t.voxelManager?.getScalarData();if(e)for(let t=0;t<e.length;t++){let A=e[t];0!==A&&o.add(A)}}o.forEach(e=>{u[e]={labelmapId:n,labelValue:e}})}),{segmentationId:t,representation:{type:u5,data:{imageIds:n,referencedImageIds:r,labelmaps:c,segmentBindings:u,primaryLabelmapId:`${t}-storage-0`}},config:l}}jumpToSegmentCenter(e,t){return"function"==typeof e.setViewReference&&(e.setViewReference({cameraFocalPoint:t}),e.render(),!0)}}let{DefaultHistoryMemo:dt}=L.utilities.HistoryMemo,{Labelmap:dA,Contour:dn,Surface:dr}=R.Enums.SegmentationRepresentations,{getLabelmapImageIds:di,helpers:{convertStackToVolumeLabelmap:ds},state:{addColorLUT:da},triggerSegmentationEvents:{triggerSegmentationRepresentationModified:dl}}=R.segmentation,dc={SEGMENTATION_MODIFIED:"event::segmentation_modified",SEGMENTATION_ADDED:"event::segmentation_added",SEGMENTATION_DATA_MODIFIED:"event::segmentation_data_modified",SEGMENTATION_REMOVED:"event::segmentation_removed",SEGMENTATION_REPRESENTATION_MODIFIED:"event::segmentation_representation_modified",SEGMENTATION_REPRESENTATION_REMOVED:"event::segmentation_representation_removed",SEGMENT_LOADING_COMPLETE:"event::segment_loading_complete",SEGMENTATION_LOADING_COMPLETE:"event::segmentation_loading_complete",SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED:"event::annotation_cut_merge_process_completed",SEGMENTATION_STYLE_MODIFIED:"event::segmentation_style_modified"};class du extends k.PubSubService{constructor({servicesManager:e}){super(dc),this._segmentationIdToColorLUTIndexMap=void 0,this._segmentationGroupStatsMap=void 0,this._legacySegBackend=void 0,this._nextSegBackend=void 0,this.servicesManager=void 0,this.highlightIntervalId=null,this.EVENTS=dc,this.destroy=()=>{L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_MODIFIED,this._onSegmentationModifiedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_REMOVED,this._onSegmentationRemovedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_DATA_MODIFIED,this._onSegmentationDataModifiedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED,this._onSegmentationRepresentationModifiedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_ADDED,this._onSegmentationRepresentationModifiedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_REMOVED,this._onSegmentationRepresentationRemovedFromSource),L.eventTarget.removeEventListener(R.Enums.Events.SEGMENTATION_ADDED,this._onSegmentationAddedFromSource),this.reset()},this.getStyle=e=>R.segmentation.config.style.getStyle(e),this.setStyle=(e,t,A=!0)=>{R.segmentation.config.style.setStyle(e,t,A),this._broadcastEvent(dc.SEGMENTATION_STYLE_MODIFIED,{specifier:e,style:t,merge:A})},this.resetToGlobalStyle=()=>{R.segmentation.config.style.resetToGlobalStyle()},this.toggleSegmentationRepresentationVisibility=(e,{segmentationId:t,type:A})=>{this._toggleSegmentationRepresentationVisibility(e,t,A)},this.getViewportIdsWithSegmentation=e=>R.segmentation.state.getViewportIdsWithSegmentation(e),this._toggleSegmentationRepresentationVisibility=(e,t,A)=>{let n=0===R.segmentation.config.visibility.getHiddenSegmentIndices(e,{segmentationId:t,type:A}).size;this._setSegmentationRepresentationVisibility(e,t,A,!n)},this._onSegmentationDataModifiedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_DATA_MODIFIED,{segmentationId:t})},this._onSegmentationRepresentationModifiedFromSource=e=>{let{segmentationId:t,viewportId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,{segmentationId:t,viewportId:A})},this._onSegmentationRepresentationRemovedFromSource=e=>{let{segmentationId:t,viewportId:A}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_REMOVED,{segmentationId:t,viewportId:A})},this._onSegmentationModifiedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_MODIFIED,{segmentationId:t})},this._onSegmentationAddedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_ADDED,{segmentationId:t})},this._onSegmentationRemovedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_REMOVED,{segmentationId:t})},this._onAnnotationCutMergeProcessCompletedFromSource=e=>{let{segmentationId:t}=e.detail;this._broadcastEvent(this.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED,{segmentationId:t})},this._segmentationIdToColorLUTIndexMap=new Map,this.servicesManager=e,this._segmentationGroupStatsMap=new Map,this._legacySegBackend=new u8(this),this._nextSegBackend=new de}_segBackend(e){return(0,nL.Is)(e)?this._nextSegBackend:this._legacySegBackend}onModeEnter(){this._initSegmentationService()}onModeExit(){this.destroy()}getSegmentation(e){return R.segmentation.state.getSegmentation(e)}getSegmentations(){return R.segmentation.state.getSegmentations()}getPresentation(e){let t=[],A=new Map;for(let t of this.getSegmentationRepresentations(e)){if(!t)continue;let{segmentationId:e,type:n}=t;A.set(e,{segmentationId:e,type:n,hydrated:!0,config:t.config||{}})}return t.push(...A.values()),t}getRepresentationsForSegmentation(e){return R.segmentation.state.getSegmentationRepresentationsBySegmentationId(e)}getSegmentationRepresentations(e,t={}){return R.segmentation.state.getSegmentationRepresentations(e,t).map(t=>this._toOHIFSegmentationRepresentation(e,t))}async addSegmentationRepresentation(e,{segmentationId:t,predecessorImageId:A,type:n,config:r,suppressEvents:o=!1}){let i=this.getSegmentation(t);if(!i)return void console.warn(`addSegmentationRepresentation: segmentation "${t}" is not in state yet`);!i.predecessorImageId&&A&&(i.predecessorImageId=A);let s=this.getAndValidateViewport(e);if(!s)return;if(!i)throw Error(`SegmentationService: cannot add representation - segmentation "${t}" not found.`);let a=this._segmentationIdToColorLUTIndexMap.get(t),l=!1,c=(0,es.Ov)(s)?dr:dA,u=n||c;if(u===dA){({representationTypeToUse:u,isConverted:l}=await this._segBackend(s).classifyAndPrepareLabelmapAdd(s,i,e,t,u));let A=i?.representationData?.[dA]?.labelmaps;A&&Object.keys(A).length>1&&(0,nL.Is)(s)&&!L.utilities.viewportIsInVolumeMode(s)&&console.warn(`Overlapping segmentation ${t} has multiple labelmap layers, but viewport ${e} does not render as a volume slice (VTK_VOLUME_SLICE); only the primary layer will be visible. Display the segmentation in an MPR/volume layout to see all overlapping segments.`)}await this._addSegmentationRepresentation(e,t,u,a,l,r),o||this._broadcastEvent(this.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED,{segmentationId:t})}async createLabelmapForDisplaySet(e,t){return this._createSegmentationForDisplaySet(e,dA,t)}async createContourForDisplaySet(e,t){return this._createSegmentationForDisplaySet(e,dn,t)}async _createSegmentationForDisplaySet(e,t,A){let n=A?.segmentationId??`${L.utilities.uuidv4()}`,r=e.isDynamicVolume,o=e.imageIds;if(r){let t=e.dynamicVolumeInfo.timePoints;o=t[Math.floor(t.length/2)]}let i=await L.imageLoader.createAndCacheDerivedLabelmapImages(o),s=this.getSegmentations(),a=A?.label||`Segmentation ${s.length+1}`,l={segmentationId:n,representation:{type:t,data:{imageIds:i.map(e=>e.imageId),referencedImageIds:o}},config:{label:a,labelIsGenerated:A?.labelIsGenerated??!A?.label,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`,segments:A?.segments&&Object.keys(A.segments).length>0?A.segments:{1:{label:`${cB().t("Segment")} 1`,active:!0}},cachedStats:{info:`S${e.SeriesNumber}: ${e.SeriesDescription}`}}};if(!this._segmentationIdToColorLUTIndexMap.has(n)){let e=da([[0,0,0,0]]);this._segmentationIdToColorLUTIndexMap.set(n,e)}return this.addOrUpdateSegmentation(l),n}async createSegmentationForSEGDisplaySet(e,t={type:dA}){let{type:A}=t,{segmentationId:n}=t,{labelMapImages:r}=e;if(A!==dA)throw Error("Only labelmap type is supported for SEG display sets right now");if(!r||!r.length)throw Error("SEG reading failed");n=n??e.displaySetInstanceUID;let o=e.referencedDisplaySetInstanceUID,i=this.servicesManager.services.displaySetService.getDisplaySetByUID(o),s=i.instances;if(!s.length)throw Error("No instances were provided for the referenced display set of the SEG");let a=e.referencedImageIds||i.imageIds||s.map(e=>e.imageId);if(!a?.length)throw Error("referencedDisplaySet has no imageIds for SEG");let l=r?.flat(),c=l.map(e=>e.imageId);e.images=l.map(e=>({...e,...L.metaData.get("instance",e.referencedImageId)})),e.imageIds=c;let u=null;for(let e=0;e<l.length;e++){let t=l[e].voxelManager,A=t.getScalarData();t.setScalarData(A),!u&&A.some(e=>0!==e)&&(u=l[e].referencedImageId)}e.firstSegmentedSliceImageId=u;let d=e.segMetadata.data,p={},g=[];d.forEach((t,A)=>{if(0===A)return void g.push([0,0,0,0]);let{SegmentedPropertyCategoryCodeSequence:n,SegmentNumber:r,SegmentLabel:o,SegmentAlgorithmType:i,SegmentAlgorithmName:s,SegmentedPropertyTypeCodeSequence:a,rgba:l}=t;g.push(l);let c=Number(r),u=e.centroids?.get(A),d=u?.image||{x:0,y:0,z:0},m=u?.world||{x:0,y:0,z:0};p[c]={segmentIndex:c,label:o||`Segment ${r}`,locked:!1,active:!1,cachedStats:{center:{image:[d.x,d.y,d.z],world:[m.x,m.y,m.z]},modifiedTime:e.SeriesDate,category:n?n.CodeMeaning:"",type:a?a.CodeMeaning:"",algorithmType:i,algorithmName:s}}});let m=da(g);this._segmentationIdToColorLUTIndexMap.set(n,m);let h=(ej?this._nextSegBackend:this._legacySegBackend).assembleSegmentationDataForSEG({segmentationId:n,segDisplaySet:e,derivedImageIds:c,referencedImageIds:a,label:e.SeriesDescription,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`,segments:p});return e.isLoaded=!0,this.addOrUpdateSegmentation(h),this._broadcastEvent(dc.SEGMENTATION_LOADING_COMPLETE,{segmentationId:n,segDisplaySet:e}),n}async createSegmentationForRTDisplaySet(e,t={type:dn}){let{type:A}=t,{segmentationId:n}=t;if(A!==dn)throw Error("Only contour type is supported for RT display sets right now");n=n??e.displaySetInstanceUID;let{structureSet:r}=e;if(!r)throw Error("To create the contours from RT displaySet, the displaySet should be loaded first. You can perform rtDisplaySet.load() before calling this method.");let o=e.displaySetInstanceUID,i=this.servicesManager.services.displaySetService.getDisplaySetByUID(e.referencedDisplaySetInstanceUID),s=Array.from(r.ReferencedSOPInstanceUIDsSet),a=i.imageIds;if(e.firstSegmentedSliceImageId=a?.find(e=>s.some(t=>e.includes(t)))||null,!r.ROIContours?.length)throw Error("The structureSet does not contain any ROIContours. Please ensure the structureSet is loaded first.");let l=r.ROIContours.map(({contourPoints:e,ROINumber:t,ROIName:A,colorArray:n,ROIGroup:r})=>{let i=e.map(({points:e,...t})=>{let A=e.map(({x:e,y:t,z:A})=>[e,t,A]);return{...t,points:A}}),s=A||t;return{data:i,id:s,segmentIndex:t,color:n,group:r,geometryId:`${o}:${s}:segmentIndex-${t}`}});l.sort((e,t)=>e.segmentIndex-t.segmentIndex);let c={segmentationId:n,representation:{type:dn,data:{geometryIds:l.map(({geometryId:e})=>e)}},config:{label:e.SeriesDescription,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`}},u={},d={},p=[[0,0,0,0]];for(let t=0;t<l.length;t++){let{data:A,id:n,color:o,segmentIndex:i,geometryId:s,group:a}=l[t];p.push(o);try{d={center:{world:(await L.geometryLoader.createAndCacheGeometry(s,{geometryData:{data:A,id:n,color:o,frameOfReferenceUID:r.frameOfReferenceUID,segmentIndex:i},type:L.Enums.GeometryType.CONTOUR})).data.centroid},modifiedTime:e.SeriesDate},u[i]={label:n,segmentIndex:i,cachedStats:d,locked:!1,active:!1,group:a};let t=Object.keys(d).length,c=Math.round(t/l.length*100);this._broadcastEvent(dc.SEGMENT_LOADING_COMPLETE,{percentComplete:c,numSegments:l.length})}catch(e){console.warn(`Error initializing contour for segment ${i}:`,e);continue}}let g=da(p);return this._segmentationIdToColorLUTIndexMap.set(n,g),c.config.segments=u,this._broadcastEvent(dc.SEGMENTATION_LOADING_COMPLETE,{segmentationId:n,rtDisplaySet:e}),e.isLoaded=!0,this.addOrUpdateSegmentation(c),n}addOrUpdateSegmentation(e){let t=e.segmentationId;R.segmentation.state.getSegmentation(t)?this.updateSegmentationInSource(t,e):"representation"in e&&e.representation?this.addSegmentationToSource(e):console.warn(`addOrUpdateSegmentation: skipping add for ${t} — missing representation`)}setActiveSegmentation(e,t){R.segmentation.activeSegmentation.setActiveSegmentation(e,t)}getActiveSegmentation(e){return R.segmentation.activeSegmentation.getActiveSegmentation(e)}getActiveSegment(e){let t,A=this.getActiveSegmentation(e);if(!A)return;let{segments:n}=A;for(let e of Object.values(n))if(e.active){t=e;break}return t}hasCustomStyles(e){return R.segmentation.config.style.hasCustomStyle(e)}getNextAvailableSegmentIndex(e){let t=Object.keys(this.getCornerstoneSegmentation(e).segments);return 0===t.length?1:Math.max(...t.map(Number))+1}addSegment(e,t={}){if(t?.segmentIndex===0)throw Error(cB().t("Segment")+' index 0 is reserved for "no label"');let A=this.getCornerstoneSegmentation(e),n=t.segmentIndex;n||(n=this.getNextAvailableSegmentIndex(e)),t.label||(t.label=`${cB().t("Segment")} ${n}`);let r=A.segments;R.segmentation.updateSegmentations([{segmentationId:e,payload:{segments:{...r,[n]:{...r[n],segmentIndex:n,cachedStats:{},locked:!1,...t}}}}]),this.setActiveSegment(e,n),void 0!==t.isLocked&&this._setSegmentLockedStatus(e,n,t.isLocked),this.getViewportIdsWithSegmentation(e).forEach(A=>{void 0!==t.color&&this.setSegmentColor(A,e,n,t.color),void 0!==t.visibility&&this.setSegmentVisibility(A,e,n,t.visibility)})}createSegmentIndexMemo(e,t,A){let n,r,o=this.getCornerstoneSegmentation(e),i=o?.segments?.[t];if(!i)return null;let s=this.getViewportIdsWithSegmentation(e);if(s.length>0){let A=s[0],o=this.getSegmentationRepresentations(A,{segmentationId:e}),i=o[0]?.type??dA;n=this.getSegmentColor(A,e,t),r=R.segmentation.config.visibility.getSegmentIndexVisibility(A,{segmentationId:e,type:i},t)}let a={segmentIndex:t,label:i.label,isLocked:i.locked,active:i.active,color:n,visibility:r},l=this;return{id:L.utilities.uuidv4(),operationType:"segmentIndex",restoreMemo(A){!0===A?l.addSegment(e,a):R.segmentation.removeSegment(e,t,{recordHistory:!1})}}}removeSegment(e,t,A){let n;A?.skipRecordingHistory?R.segmentation.removeSegment(e,t,{recordHistory:!1}):(n=this.createSegmentIndexMemo(e,t,{deleting:!0}),dt.startGroupRecording(),R.segmentation.removeSegment(e,t,{recordHistory:!0}),dt.push(n),dt.endGroupRecording())}setSegmentVisibility(e,t,A,n,r){this._setSegmentVisibility(e,t,A,n,r)}setSegmentLocked(e,t,A){this._setSegmentLockedStatus(e,t,A)}toggleSegmentLocked(e,t){let A=R.segmentation.segmentLocking.isSegmentIndexLocked(e,t);this._setSegmentLockedStatus(e,t,!A)}toggleSegmentVisibility(e,t,A,n){let r=R.segmentation.config.visibility.getSegmentIndexVisibility(e,{segmentationId:t,type:n},A);this._setSegmentVisibility(e,t,A,!r,n)}setSegmentColor(e,t,A,n){let{colorLUTIndex:r}=this.getSegmentationRepresentations(e,{segmentationId:t})[0];this._segmentationIdToColorLUTIndexMap.set(t,r),R.segmentation.config.color.setSegmentIndexColor(e,t,A,n)}getSegmentColor(e,t,A){return R.segmentation.config.color.getSegmentIndexColor(e,t,A)}getLabelmapVolume(e){let t=R.segmentation.state.getSegmentation(e).representationData[dA];if(!t||!t.volumeId)return null;let{volumeId:A}=t;return L.cache.getVolume(A)}setSegmentLabel(e,t,A){this._setSegmentLabel(e,t,A)}setActiveSegment(e,t){this._setActiveSegment(e,t)}setRenderInactiveSegmentations(e,t){R.segmentation.config.style.setRenderInactiveSegmentations(e,t)}getRenderInactiveSegmentations(e){return R.segmentation.config.style.getRenderInactiveSegmentations(e)}setSegmentationGroupStats(e,t){let A=this.getGroupId(e);this._segmentationGroupStatsMap.set(A,t)}getSegmentationGroupStats(e){let t=this.getGroupId(e);return this._segmentationGroupStatsMap.get(t)}getGroupId(e){return e.sort().join(",")}clearSegmentationRepresentations(e){this.removeRepresentationsFromViewport(e)}remove(e){R.segmentation.state.removeSegmentation(e)}removeAllSegmentations(){R.segmentation.state.removeAllSegmentations()}removeRepresentationsFromViewport(e,t={}){R.segmentation.removeSegmentationRepresentations(e,t)}jumpToSegmentNext(e,t,A,n=1,r=.9,o=!0,i=750,s=!1,a=ch.EASE_IN_OUT){(A?[A]:this.getViewportIdsWithSegmentation(e)).forEach(A=>{let l=this.getSegmentationRepresentations(A,{segmentationId:e});if(!l||0===l.length)return;let{type:c}=l[0],u=c===dn?this._getSegmentCenter(e,t):void 0;if(c!==dn||u)return void this.jumpToSegmentCenter(e,t,A,r,o,i,s,a,u);let{viewport:d}=(0,L.getEnabledElementByViewportId)(A);if(!d)return;let p=this._getContourViewReferences(e,d,t);if(!p)return;let g=d.getCurrentImageIdIndex(),m=null,h=null;for(let[e]of p.entries())if(n>0?(null===h||e<h)&&(h=e):(null===h||e>h)&&(h=e),n>0){if(e<=g)continue;(null===m||e<m)&&(m=e)}else{if(e>=g)continue;(null===m||e>m)&&(m=e)}if(null===(m=m??h))return;let f=p.get(m);d.setViewReference(f),d.render()})}jumpToSegmentCenter(e,t,A,n=.9,r=!0,o=750,i=!1,s=ch.EASE_IN_OUT,a){let l=a??this._getSegmentCenter(e,t);if(!l)return void console.warn("No center found for segmentation",e,t);let{world:c}=l;(A?[A]:this.getViewportIdsWithSegmentation(e)).forEach(A=>{let{viewport:a}=(0,L.getEnabledElementByViewportId)(A);!a||this._segBackend(a).jumpToSegmentCenter(a,c)&&r&&this.highlightSegment(e,t,A,n,o,i,s)})}highlightSegment(e,t,A,n=.9,r=750,o=!0,i=ch.EASE_IN_OUT){this.highlightIntervalId&&clearInterval(this.highlightIntervalId);let s=this.getCornerstoneSegmentation(e);(A?[A]:this.getViewportIdsWithSegmentation(e)).forEach(A=>{let a=this.getSegmentationRepresentations(A,{segmentationId:e})[0],{type:l}=a,c=s.segments;(l===dA?this._highlightLabelmap.bind(this):this._highlightContour.bind(this))(t,l===dA?n:1-n,o,c,A,r,a,i)})}getAndValidateViewport(e){let t=this.servicesManager.services.cornerstoneViewportService.getCornerstoneViewport(e);return t||(console.warn(`Viewport with id ${e} not found.`),null)}_setSegmentationRepresentationVisibility(e,t,A,n){this.getSegmentationRepresentations(e,{segmentationId:t,type:A})[0]?R.segmentation.config.visibility.setSegmentationRepresentationVisibility(e,{segmentationId:t,type:A},n):console.debug("No segmentation representation found for the given viewportId and segmentationId")}async _addSegmentationRepresentation(e,t,A,n,r,o){let i={type:A,segmentationId:t,config:{colorLUTOrIndex:n,...o}},s=()=>R.segmentation.addSegmentationRepresentations(e,[i]);if(r){let{viewportGridService:e}=this.servicesManager.services;await new Promise(t=>{let{unsubscribe:A}=e.subscribe(e.EVENTS.GRID_STATE_CHANGED,()=>{s(),A(),t()})})}else s()}async handleVolumeViewport(e,t,A){if(A)return;let n=e.getFrameOfReferenceUID(),r=di(t.segmentationId),o=L.cache.getImage(r[0]);o?.FrameOfReferenceUID===n&&await ds(t)}async convertStackToVolumeViewport(e){let{viewportGridService:t,cornerstoneViewportService:A}=this.servicesManager.services,n=t.getState().viewports.get(e.id),r=e.getViewPresentation(),o=e.getViewReference(),{element:i}=A.getCornerstoneViewport(e.id),s=()=>{let t=A.getCornerstoneViewport(e.id);t.setViewPresentation(r),t.setViewReference(o),t.render(),i.removeEventListener(L.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,s)};return i.addEventListener(L.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,s),t.setDisplaySetsForViewport({viewportId:e.id,displaySetInstanceUIDs:n.displaySetInstanceUIDs,viewportOptions:{...n.viewportOptions,viewportType:u1.ViewportType.ORTHOGRAPHIC}}),!0}async attemptStackToVolumeConversion(e,t,A,n){let r=di(t.segmentationId),o=e.getFrameOfReferenceUID(),i=L.cache.getImage(r[0]);if(i?.FrameOfReferenceUID&&o&&i.FrameOfReferenceUID===o){let t=await this.convertStackToVolumeViewport(e);return dl(A,n,dA),t}return!1}addSegmentationToSource(e){R.segmentation.addSegmentations([e])}updateSegmentationInSource(e,t){R.segmentation.updateSegmentations([{segmentationId:e,payload:t}])}_toOHIFSegmentationRepresentation(e,t){let{segmentationId:A,type:n,active:r,visible:o}=t,{colorLUTIndex:i}=t,s={},a=R.segmentation.state.getSegmentation(A);if(!a)throw Error(`Segmentation with ID ${A} not found.`);for(let t of Object.keys(a.segments)){let r=parseInt(t,10),o=R.segmentation.config.color.getSegmentIndexColor(e,A,r),i=R.segmentation.config.visibility.getSegmentIndexVisibility(e,{segmentationId:A,type:n},r);s[r]={color:o,segmentIndex:r,opacity:o[3],visible:i}}let l=R.segmentation.config.style.getStyle({viewportId:e,segmentationId:A,type:n});return{id:`${A}-${n}-${e}`,segmentationId:A,label:a.label,fallbackLabel:a.fallbackLabel,active:r,type:n,visible:o,segments:s,styles:l,viewportId:e,colorLUTIndex:i,config:{}}}_initSegmentationService(){L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_MODIFIED,this._onSegmentationModifiedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_REMOVED,this._onSegmentationRemovedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_DATA_MODIFIED,this._onSegmentationDataModifiedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED,this._onSegmentationRepresentationModifiedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_ADDED,this._onSegmentationRepresentationModifiedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_REPRESENTATION_REMOVED,this._onSegmentationRepresentationRemovedFromSource),L.eventTarget.addEventListener(R.Enums.Events.SEGMENTATION_ADDED,this._onSegmentationAddedFromSource),L.eventTarget.addEventListener(R.Enums.Events.ANNOTATION_CUT_MERGE_PROCESS_COMPLETED,this._onAnnotationCutMergeProcessCompletedFromSource)}getCornerstoneSegmentation(e){return R.segmentation.state.getSegmentation(e)}_highlightLabelmap(e,t,A,n,r,o,i,s){let{segmentationId:a}=i;if(A)throw Error("hideOthers is not working right now");let{fillAlpha:l}=this.getStyle({viewportId:r,segmentationId:a,type:dA,segmentIndex:e}),c=null,u=t=>{null===c&&(c=t);let A=Math.min((t-c)/o,1),n=cf.get(s);R.segmentation.config.style.setStyle({segmentationId:a,segmentIndex:e,type:dA},{fillAlpha:n(A,l)}),A<1?requestAnimationFrame(u):R.segmentation.config.style.setStyle({segmentationId:a,segmentIndex:e,type:dA},{},!1)};requestAnimationFrame(u)}_highlightContour(e,t,A,n,r,o,i,s){let{segmentationId:a}=i,l=performance.now(),c=R.segmentation.config.style.getStyle({type:dn}).outlineWidth,u=t=>{let A=(t-l)/o;if(A>=1)return void R.segmentation.config.style.resetToGlobalStyle();let n=cf.get(s);R.segmentation.config.style.setStyle({segmentationId:a,segmentIndex:e,type:dn},{outlineWidth:n(A,c,5)}),requestAnimationFrame(u)};requestAnimationFrame(u)}_setActiveSegment(e,t){R.segmentation.segmentIndex.setActiveSegmentIndex(e,t)}_getVolumeIdForDisplaySet(e){let t=e.volumeLoaderSchema??u3;return`${t}:${e.displaySetInstanceUID}`}_getSegmentCenter(e,t){let A=this.getSegmentation(e);if(!A)return;let{segments:n}=A,{cachedStats:r}=n[t];if(r?.center){let{center:e}=r;return e}if(r?.namedStats?.center)return{world:r.namedStats.center.value}}_setSegmentLockedStatus(e,t,A){R.segmentation.segmentLocking.setSegmentIndexLocked(e,t,A)}_setSegmentVisibility(e,t,A,n,r){R.segmentation.config.visibility.setSegmentIndexVisibility(e,{segmentationId:t,type:r},A,n)}_setSegmentLabel(e,t,A){let{segments:n}=this.getCornerstoneSegmentation(e);n[t].label=A,R.segmentation.updateSegmentations([{segmentationId:e,payload:{segments:n}}])}_getContourViewReferences(e,t,A){let n=R.segmentation.state.getSegmentation(e).representationData[dn];if(!n||!n.annotationUIDsMap)return;let r=new Map;if(n.annotationUIDsMap.forEach((e,n)=>{(void 0===A||n===A)&&e.forEach(e=>{let A=R.annotation.state.getAnnotation(e);if(!A?.metadata)return;let{metadata:n}=A;if(!t.isReferenceViewable(n,{withNavigation:!0}))return;let{sliceIndex:o}=n;void 0===o?console.warn("Can't find slice index:",n):r.set(o,n)})}),0!==r.size)return r}}du.REGISTRATION={name:"segmentationService",altName:"SegmentationService",create:({servicesManager:e})=>new du({servicesManager:e})};let dd="stack",dp="volume",dg="orthographic",dm="volume3d",dh="video",df="wholeslide";function dw(e,t,A=ej){let n=t?.[0]?.viewportType?.toLowerCase()||e.toLowerCase();switch(n){case"planarnext":return L.Enums.ViewportType.PLANAR_NEXT;case"volume3dnext":return L.Enums.ViewportType.VOLUME_3D_NEXT;case"videonext":return L.Enums.ViewportType.VIDEO_NEXT;case"wholeslidenext":return L.Enums.ViewportType.WHOLE_SLIDE_NEXT;case"ecgnext":return L.Enums.ViewportType.ECG_NEXT}if(A)switch(n){case dd:case dp:case dg:return L.Enums.ViewportType.PLANAR_NEXT;case dm:return L.Enums.ViewportType.VOLUME_3D_NEXT;case dh:return L.Enums.ViewportType.VIDEO_NEXT;case df:return L.Enums.ViewportType.WHOLE_SLIDE_NEXT;case"ecg":return L.Enums.ViewportType.ECG_NEXT;default:throw Error(`Invalid viewport type: ${e}. Valid types are: stack, volume, orthographic, volume3d, video, wholeslide, ecg`)}if(n===dd)return L.Enums.ViewportType.STACK;if(n===dh)return L.Enums.ViewportType.VIDEO;if(n===df)return L.Enums.ViewportType.WHOLE_SLIDE;if("ecg"===n)return L.Enums.ViewportType.ECG;if(n===dp||n===dg)return L.Enums.ViewportType.ORTHOGRAPHIC;if(n===dm)return L.Enums.ViewportType.VOLUME_3D;throw Error(`Invalid viewport type: ${e}. Valid types are: stack, volume, orthographic, volume3d, video, wholeslide, ecg`)}class dB{constructor(e){this.stackImageIds=new Map,this.volumeImageIds=new Map,this.servicesManager=void 0,this.servicesManager=e}getCacheSize(){return L.cache.getCacheSize()}getCacheFreeSpace(){return L.cache.getBytesAvailable()}async createViewportData(e,t,A,n){let r,o=t.viewportType,i=dw(o,e),s=dw(o,e,!1);return e.length>1&&e.every(e=>e.isReconstructable)&&s===L.Enums.ViewportType.STACK&&i===L.Enums.ViewportType.PLANAR_NEXT&&(s=L.Enums.ViewportType.ORTHOGRAPHIC),(r=s===L.Enums.ViewportType.ORTHOGRAPHIC||s===L.Enums.ViewportType.VOLUME_3D?await this._getVolumeViewportData(A,e,i):s===L.Enums.ViewportType.STACK?await this._getStackViewportData(A,e,n,i):await this._getOtherViewportData(A,e,n,i)).viewportType=i,r.dataShapeType=s,r}async invalidateViewportData(e,t,A,n){let r=e.dataShapeType??e.viewportType;if(r===L.Enums.ViewportType.STACK){let r=n.getDisplaySetByUID(t),o=this._getCornerstoneStackImageIds(r,A);return o.forEach(e=>{L.cache.getImageLoadObject(e)&&L.cache.removeImageLoadObject(e)}),{viewportType:e.viewportType,dataShapeType:L.Enums.ViewportType.STACK,data:{StudyInstanceUID:r.StudyInstanceUID,displaySetInstanceUID:t,imageIds:o}}}let o=`${u3}:${t}`,i=L.cache.getVolume(o);i&&(i.imageIds&&i.imageIds.forEach(e=>{L.cache.getImageLoadObject(e)&&L.cache.removeImageLoadObject(e,{force:!0})}),L.cache._volumeCache.delete(o),this.volumeImageIds.delete(o));let s=e.data.map(({displaySetInstanceUID:e})=>n.getDisplaySetByUID(e)),a=await this._getVolumeViewportData(A,s,e.viewportType);return a.dataShapeType=r,a}async _getOtherViewportData(e,t,A,n){let[r]=t;r.imageIds||(r.imagesIds=this._getCornerstoneStackImageIds(r,e));let{imageIds:o,viewportType:i}=r;return{viewportType:i||n,data:t}}async _getStackViewportData(e,t,A,n){for(let e of t.filter(e=>e.isOverlayDisplaySet))await cn(e,this.servicesManager);let r=[];for(let n of t){let{displaySetInstanceUID:t,StudyInstanceUID:o,isCompositeStack:i}=n;await cn(n,this.servicesManager);let s=this.stackImageIds.get(n.displaySetInstanceUID);s||(s=this._getCornerstoneStackImageIds(n,e),n.imageIds=s,this.stackImageIds.set(n.displaySetInstanceUID,s)),r.push({StudyInstanceUID:o,displaySetInstanceUID:t,isCompositeStack:i,imageIds:s,initialImageIndex:A})}return{viewportType:n,data:r}}async _getVolumeViewportData(e,t,A){let n=[];for(let A of t){let{Modality:t}=A,r="PMAP"===t,o="SEG"===t||"RTSTRUCT"===t;if(A.load instanceof Function&&(await cn(A,this.servicesManager),!r)){n.push({studyInstanceUID:A.StudyInstanceUID,displaySetInstanceUID:A.displaySetInstanceUID});continue}let i=A.volumeLoaderSchema??u3,s=`${i}:${A.displaySetInstanceUID}`,a=this.volumeImageIds.get(A.displaySetInstanceUID),l=L.cache.getVolume(s);r||o||a&&l||(a=this._getCornerstoneVolumeImageIds(A,e),l=await L.volumeLoader.createAndCacheVolume(s,{imageIds:a}),this.volumeImageIds.set(A.displaySetInstanceUID,a),A.imageIds=a),n.push({StudyInstanceUID:A.StudyInstanceUID,displaySetInstanceUID:A.displaySetInstanceUID,volume:l,volumeId:s,imageIds:a,isDynamicVolume:A.isDynamicVolume})}return{viewportType:A,data:n}}_getCornerstoneStackImageIds(e,t){return t.getImageIdsForDisplaySet(e)}_getCornerstoneVolumeImageIds(e,t){return e.imageIds?e.imageIds:this._getCornerstoneStackImageIds(e,t)}}dB.REGISTRATION={name:"cornerstoneCacheService",altName:"CornerstoneCacheService",create:({servicesManager:e})=>new dB(e)};let dy="OHIFCornerstoneRenderingEngine",dv="default",dS=({data:e,displaySetUID:t,imageId:A,viewport:n})=>{if(A&&e.isCompositeStack&&e.imageIds)return!!e.imageIds.find(e=>e===A);if(A&&(e.volumeId||(0,es.tO)(n))){if(!n.getCurrentImageId())return!1;let e=L.utilities.imageIdToURI(A);if(n.hasImageURI(e))return!0}return e.displaySetInstanceUID===t},dC=class{constructor(e){this.viewportId="",this.element=void 0,this.viewportOptions=void 0,this.displaySetOptions=void 0,this.viewportData=void 0,this.renderingEngineId=void 0,this.viewReference=void 0,this.destroy=()=>{this.element=null,this.viewportData=null,this.viewportOptions=null,this.displaySetOptions=null},this.viewportId=e,this.setPublicViewportOptions({}),this.setPublicDisplaySetOptions([{}])}contains(e,t){if(!this.viewportData?.data)return!1;let{viewport:A}=(0,L.getEnabledElementByViewportId)(this.viewportId)||{};return this.viewportData.data.length?!!this.viewportData.data.find(n=>dS({data:n,displaySetUID:e,imageId:t,viewport:A})):dS({data:this.viewportData.data,displaySetUID:e,imageId:t,viewport:A})}setRenderingEngineId(e){this.renderingEngineId=e}getRenderingEngineId(){return this.renderingEngineId}setViewportId(e){this.viewportId=e}setElement(e){this.element=e}setViewportData(e){this.viewportData=e}getViewportData(){return this.viewportData}getElement(){return this.element}getViewportId(){return this.viewportId}getViewReference(){return this.viewportOptions?.viewReference}setPublicDisplaySetOptions(e){let t=this.mapDisplaySetOptions(e);return this.setDisplaySetOptions(t),this.displaySetOptions}hasDisplaySet(e){let t=this.getViewportData(),A=t.dataShapeType??t.viewportType;return A===L.Enums.ViewportType.ORTHOGRAPHIC||A===L.Enums.ViewportType.VOLUME_3D?t.data.some(({displaySetInstanceUID:t})=>t===e):t.data.displaySetInstanceUID===e}setPublicViewportOptions(e,t){let A=t||e.viewportType||"stack",{presentationIds:n}=e,{toolGroupId:r=dv}=e,o=function(e){if(e)switch(e.toLowerCase()){case"axial":return L.Enums.OrientationAxis.AXIAL;case"axial_reformat":return L.Enums.OrientationAxis.AXIAL_REFORMAT;case"sagittal":return L.Enums.OrientationAxis.SAGITTAL;case"sagittal_reformat":return L.Enums.OrientationAxis.SAGITTAL_REFORMAT;case"coronal":return L.Enums.OrientationAxis.CORONAL;case"coronal_reformat":return L.Enums.OrientationAxis.CORONAL_REFORMAT}return L.Enums.OrientationAxis.ACQUISITION}(e.orientation),i=dw(A);return r||(r=dv),this.setViewportOptions({...e,viewportId:this.viewportId,viewportType:i,orientation:o,toolGroupId:r,presentationIds:n}),this.viewportOptions}setViewportOptions(e){this.viewportOptions=e}getViewportOptions(){return this.viewportOptions}getPresentationIds(){let{presentationIds:e}=this.viewportOptions;return e}setDisplaySetOptions(e){this.displaySetOptions=e}getSyncGroups(){return this.viewportOptions.syncGroups||=[],this.viewportOptions.syncGroups}getDisplaySetOptions(){return this.displaySetOptions}getViewportType(){return this.viewportOptions.viewportType||L.Enums.ViewportType.STACK}getToolGroupId(){return this.viewportOptions.toolGroupId}getBackground(){return this.viewportOptions.background||[0,0,0]}getOrientation(){return this.viewportOptions.orientation}setOrientation(e){this.viewportOptions.orientation=e}getDisplayArea(){return this.viewportOptions.displayArea}getInitialImageOptions(){return this.viewportOptions.initialImageOptions}mapDisplaySetOptions(e=[{}]){let t=[];return e.forEach(e=>{let A=e?.options||e;A||(A={blendMode:void 0,slabThickness:void 0,colormap:void 0,voi:{},voiInverted:!1});let n=function(e){if(!e)return L.Enums.BlendModes.COMPOSITE;if("mip"===e.toLowerCase())return L.Enums.BlendModes.MAXIMUM_INTENSITY_BLEND;if("minip"===e.toLowerCase())return L.Enums.BlendModes.MINIMUM_INTENSITY_BLEND;if("avg"===e.toLowerCase())return L.Enums.BlendModes.AVERAGE_INTENSITY_BLEND;throw Error(`Unsupported blend mode: ${e}`)}(A.blendMode);t.push({voi:A.voi,voiInverted:A.voiInverted,colormap:A.colormap,slabThickness:A.slabThickness,blendMode:n,displayPreset:A.displayPreset})}),t}};var dI=((y=dI||{}).First="first",y.Last="last",y.Middle="middle",y);class db{constructor(){this.refCounts=new Map,this.payloads=new Map,this.byViewport=new Map}static dataIdFor(e,t){return"overlay"===t?`${e}::overlay`:e}register(e,t,A){let n=this.refCounts.get(t)??0,r=this.payloads.get(t),o=!!A.volumeId&&!r?.volumeId;(0===n||o)&&(L.utilities.genericViewportDisplaySetMetadataProvider.add(t,A),this.payloads.set(t,A)),this.refCounts.set(t,n+1);let i=this.byViewport.get(e)??[];i.push(t),this.byViewport.set(e,i)}releaseViewport(e){let t=this.byViewport.get(e);if(t){for(let e of t){let t=(this.refCounts.get(e)??1)-1;t<=0?(this.refCounts.delete(e),this.payloads.delete(e),L.utilities.genericViewportDisplaySetMetadataProvider.remove(e)):this.refCounts.set(e,t)}this.byViewport.delete(e)}}destroy(){for(let e of this.refCounts.keys())L.utilities.genericViewportDisplaySetMetadataProvider.remove(e);this.refCounts.clear(),this.payloads.clear(),this.byViewport.clear()}}let dU={withNavigation:!0,withOrientation:!0};class dE{constructor(e){this.service=e,this.registry=new db}dispatchMount(e,t,A,n={}){return(0,es.TF)(e)?this.service._setStackViewport(e,t,A,n):(0,es.rX)(e)?this.service._setVolumeViewport(e,t,A,n):(0,es.Gj)(e)===L.Enums.ViewportType.ECG?this.service._setEcgViewport(e,t):this.service._setOtherViewport(e,t,A,n)}async mountStack(e,t){let{imageIds:A,initialImageIndex:n,properties:r,displayArea:o,rotation:i,flipHorizontal:s,presentations:a,overlayProcessingResults:l}=t;await e.setStack(A,n),e.setProperties({...r}),this.service.setPresentations(e.id,a),await this.service._addOverlayRepresentations(l),o&&e.setDisplayArea(o),i&&e.setProperties({rotation:i}),s&&e.setCamera({flipHorizontal:!0})}async mountVolumes(){return!1}async mountOverlayOnlyVolumes(e,t){await e.setVolumes(t)}async mountEcg(e,t,A){return e.setEcg(A)}async mountOther(e,t){let A=t.imageIds[0],n=L.metaData.get(L.Enums.MetadataModules.WADO_WEB_CLIENT,A);this.registry.register(e.id,A,{kind:"wsi",imageIds:t.imageIds,options:{webClient:n}}),await e.setDisplaySets({displaySetId:A})}remount(e,t,A,n){let r;if((0,es.rX)(e)){let o=n?e.getCamera():void 0;r=this.service._setVolumeViewport(e,t,A).then(()=>{o&&(e.setCamera(o),e.render())})}return(0,es.TF)(e)&&(r=this.service._setStackViewport(e,t,A)),r}getPositionPresentation(e,t,A){return{viewportType:t.getViewportType(),viewReference:(0,es.Ov)(e)?null:e.getViewReference(),viewPresentation:e.getViewPresentation({pan:!0,zoom:!0}),viewportId:A}}setPositionPresentation(e,t){let A=t?.viewReference;A&&(e.isReferenceViewable(A,dU)?e.setViewReference(A):console.warn("Unable to apply reference viewable",A));let n=t?.viewPresentation;n&&e.setViewPresentation(n)}setLutPresentation(e,t){if(!t)return;let{properties:A}=t;(0,es.rX)(e)&&A instanceof Map?A.forEach((t,A)=>{e.setProperties(t,A)}):e.setProperties(A)}registerDataId(){}onViewportDisabled(e){this.registry.releaseViewport(e)}destroy(){this.registry.destroy()}}let dF={withNavigation:!0,withOrientation:!0};function dQ(e){let t=eY[e?.toLowerCase()];if(t)return"auto"===t||(0,L.isRegisteredRenderBackend)(t)?t:void console.warn(`${e}.viewportRendering: "${t}" is not a registered render backend; ignoring.`)}let dT=["displayArea","anchorWorld","anchorCanvas","scale","scaleMode","rotation","flipHorizontal","flipVertical"];class dD{constructor(e){this.service=e,this.registry=new db}dispatchMount(e,t,A,n={}){let r=e.type;if(r===L.Enums.ViewportType.ECG_NEXT)return this.service._setEcgViewport(e,t);if(r===L.Enums.ViewportType.VIDEO_NEXT||r===L.Enums.ViewportType.WHOLE_SLIDE_NEXT)return this.service._setOtherViewport(e,t,A,n);let o=t.dataShapeType,i=t?.data?.[0]??{};return o===L.Enums.ViewportType.ORTHOGRAPHIC||o===L.Enums.ViewportType.VOLUME_3D||void 0===o&&"volume"in i?this.service._setVolumeViewport(e,t,A,n):this.service._setStackViewport(e,t,A,n)}async mountStack(e,t){let{displaySetInstanceUIDs:A,imageIds:n,initialImageIndex:r,properties:o,displayArea:i,rotation:s,flipHorizontal:a,presentations:l,overlayProcessingResults:c}=t;if(!n?.length)return;let u=A[0];this.registerDataId(e.id,u,{kind:"planar",imageIds:n,initialImageIdIndex:r});let d=dQ("stack");if(await e.setDisplaySets({displaySetId:u,options:{orientation:L.Enums.OrientationAxis.ACQUISITION,role:"source",...d?{renderBackend:d}:{}}}),!o.voiRange){let e=function(e){if(!e)return;let t=L.metaData.get("voiLutModule",e),A=Array.isArray(t?.windowCenter)?t.windowCenter[0]:t?.windowCenter,n=Array.isArray(t?.windowWidth)?t.windowWidth[0]:t?.windowWidth;if(null!=A&&null!=n)return L.utilities.windowLevel.toLowHighRange(n,A)}(n[r]??n[0]);e&&(o.voiRange=e)}let p={};o.voiRange&&(p.voiRange=o.voiRange),void 0!==o.invert&&(p.invert=o.invert),o.colormap&&(p.colormap=o.colormap),Object.keys(p).length>0&&e.setDisplaySetPresentation(p);let g={};i&&(g.displayArea=i),s&&(g.rotation=s),a&&(g.flipHorizontal=!0),Object.keys(g).length>0&&e.setViewState(g),R.utilities.stackContextPrefetch.enable(e.element),(l?.positionPresentation||l?.segmentationPresentation)&&this.service.setPresentations(e.id,{positionPresentation:l.positionPresentation,segmentationPresentation:l.segmentationPresentation}),await this.service._addOverlayRepresentations(c)}async mountVolumes(e,t){let{filteredVolumeInputArray:A,volumesProperties:n,viewportInfo:r,overlayProcessingResults:o,presentations:i}=t;return!!A.length&&(await this._setNativeVolumeDisplaySets(e,A,n,r,o),(i?.positionPresentation||i?.lutPresentation||i?.segmentationPresentation)&&this.service.setPresentations(e.id,{positionPresentation:i.positionPresentation,lutPresentation:i.lutPresentation,segmentationPresentation:i.segmentationPresentation}),!0)}async mountOverlayOnlyVolumes(){}async mountEcg(e,t,A){let n=t.displaySetInstanceUID;this.registerDataId(e.id,n,{kind:"ecg",sourceDataId:A}),this.service._trackViewportDisplaySets(e.id,[n]),await e.setDisplaySets({displaySetId:n})}async mountOther(e,t){let A=t.displaySetInstanceUID,n=t.imageIds[0],r=e.type===L.Enums.ViewportType.WHOLE_SLIDE_NEXT?{kind:"wsi",imageIds:t.imageIds,options:{webClient:L.metaData.get(L.Enums.MetadataModules.WADO_WEB_CLIENT,n)}}:{kind:"video",sourceDataId:n};this.registerDataId(e.id,A,r),this.service._trackViewportDisplaySets(e.id,[A]),await e.setDisplaySets({displaySetId:A})}remount(e,t,A,n){let r=n?e.getViewState?.()??{}:void 0;return this.dispatchMount(e,t,A).then(()=>{n&&r&&(e.setViewState?.(r),e.render())})}async _setNativeVolumeDisplaySets(e,t,A,n,r){let o=n.getOrientation(),i=e.type===L.Enums.ViewportType.VOLUME_3D_NEXT,s=[],a=i?void 0:dQ("orthographic");for(let[A,{volumeInput:n}]of t.entries()){let{imageIds:t,volumeId:r,displaySetInstanceUID:l}=n;this.registerDataId(e.id,l,{kind:"planar",imageIds:t,volumeId:r}),s.push({displaySetId:l,options:i?{renderMode:"vtkVolume3d"}:{orientation:o,role:0===A?"source":"overlay",...a?{renderBackend:a}:{}}})}for(let[n,{volumeInput:r}]of(await e.setDisplaySets(...s),t.entries())){let t=r.displaySetInstanceUID,o=A[n]?.properties;if(o){let A={};o.voiRange&&(A.voiRange=o.voiRange),void 0!==o.invert&&(A.invert=o.invert),o.colormap&&!i&&(A.colormap=o.colormap),i||void 0===r.blendMode||(A.blendMode=r.blendMode),i||void 0===r.slabThickness||(A.slabThickness=r.slabThickness),Object.keys(A).length>0&&e.setDisplaySetPresentation(t,A)}if(i&&0===n&&o?.preset){let t=L.CONSTANTS.VIEWPORT_PRESETS?.find(e=>e.name===o.preset),A=e.getDefaultActor?.()?.actor;t&&A&&L.utilities.applyPreset(A,t)}}await this.service._addOverlayRepresentations(r),e.render()}getPositionPresentation(e,t,A){let n=(0,es.Ov)(e),r=n||"function"!=typeof e.getViewState?void 0:e.getViewState();return{viewportType:t.getViewportType(),viewReference:n?null:e.getViewReference(),viewPresentation:r?function(e){let t={};for(let A of dT)void 0!==e[A]&&(t[A]=e[A]);return t}(r):void 0,viewportId:A}}setPositionPresentation(e,t){let A=t?.viewReference;A&&e.isReferenceViewable?.(A,dF)&&e.setViewReference(A);let n=t?.viewPresentation;if(n&&"function"==typeof e.setViewState){let t={};for(let e of dT)void 0!==n[e]&&(t[e]=n[e]);Object.keys(t).length>0&&("displayArea"in t||(t.displayArea=void 0),e.setViewState(t))}}setLutPresentation(e,t){if(!t)return;let{properties:A}=t;if(!A||A instanceof Map)return;let n={};A.voiRange&&(n.voiRange=A.voiRange),void 0!==A.invert&&(n.invert=A.invert),A.colormap&&(n.colormap=A.colormap),Object.keys(n).length>0&&e.setDisplaySetPresentation(n)}registerDataId(e,t,A){this.registry.register(e,t,A)}onViewportDisabled(e){this.registry.releaseViewport(e)}destroy(){this.registry.destroy()}}let dx={VIEWPORT_DATA_CHANGED:"event::cornerstoneViewportService:viewportDataChanged",VIEWPORT_VOLUMES_CHANGED:"event::cornerstoneViewportService:viewportVolumesChanged"},dO=new Set(["vtkVolume","vtkImageSlice"]);function dM(e,t,A){if(t>A.length)return!1;for(let n=0;n<t;n++)if(e[n]!==A[n])return!1;return!0}let dL={withNavigation:!0,withOrientation:!1},dR={withNavigation:!0,withOrientation:!0};class dV extends k.PubSubService{constructor(e){super(dx),this.renderingEngine=void 0,this.viewportsById=new Map,this.viewportGridResizeObserver=void 0,this.viewportsDisplaySets=new Map,this.beforeResizePositionPresentations=new Map,this.servicesManager=null,this.resizeQueue=[],this.viewportResizeTimer=null,this.gridResizeDelay=50,this.gridResizeTimeOut=null,this._backend=null,this.hangingProtocolService=void 0,this.viewportsInfo=void 0,this.sceneVolumeInputs=void 0,this.viewportDivElements=void 0,this.ViewportPropertiesMap=void 0,this.volumeUIDs=void 0,this.displaySetsNeedRerendering=void 0,this.viewportDisplaySets=void 0,this.renderingEngine=null,this.viewportGridResizeObserver=null,this.servicesManager=e}get backend(){return this._backend||(this._backend=ej?new dD(this):new dE(this)),this._backend}enableViewport(e,t){let A=new dC(e);A.setElement(t),this.viewportsById.set(e,A)}getViewportIds(){return Array.from(this.viewportsById.keys())}getRenderingEngine(){let e=(0,L.getRenderingEngine)(dy);return e?this.renderingEngine=e:(!e||e.hasBeenDestroyed)&&(this.renderingEngine=new L.RenderingEngine(dy)),this.renderingEngine}resize(){if(Array.from(this.viewportsById.values()).every(e=>{let t=e.getElement();return 0===t.clientWidth&&0===t.clientHeight}))return void console.warn("Ignoring resize when viewports have size 0");let e=Array.from(this.viewportsById.values()).filter(e=>e.getViewportType()===L.Enums.ViewportType.STACK).length,t=Array.from(this.viewportsById.values()).filter(e=>e.getViewportType()===L.Enums.ViewportType.ORTHOGRAPHIC).length;e<=12&&t<=6?(this.performResize(),this.resetGridResizeTimeout(),this.resizeQueue=[],clearTimeout(this.viewportResizeTimer)):this.enqueueViewportResizeRequest()}destroy(){this._removeResizeObserver(),this.viewportGridResizeObserver=null,this.backend.destroy();try{this.renderingEngine?.destroy?.()}catch(e){console.warn("Rendering engine not destroyed",e)}this.viewportsDisplaySets.clear(),this.renderingEngine=null,L.cache.purgeCache()}disableElement(e){this.backend.onViewportDisabled(e),this.renderingEngine?.disableElement(e),this.viewportsById.delete(e),this.viewportsDisplaySets.delete(e)}_trackViewportDisplaySets(e,t){this.viewportsDisplaySets.set(e,t)}setPresentations(e,t){let A=this.getCornerstoneViewport(e);if(!A||!t)return;let{lutPresentation:n,positionPresentation:r,segmentationPresentation:o}=t;this._setSegmentationPresentation(A,o),this._setLutPresentation(A,n),this._setPositionPresentation(A,{...r,viewportId:e})}storePresentation({viewportId:e}){let t=this.getPresentationIds(e),{syncGroupService:A}=this.servicesManager.services,n=A.getSynchronizersForViewport(e);if(!t||0===Object.keys(t).length)return null;let{lutPresentationId:r,positionPresentationId:o,segmentationPresentationId:i}=t,s=this._getPositionPresentation(e),a=this._getLutPresentation(e),l=this._getSegmentationPresentation(e),{setLutPresentation:c}=tl.I.getState(),{setPositionPresentation:u}=tc.q.getState(),{setSynchronizers:d}=nP.U.getState(),{syncSegmentationPresentation:p}=tu.v.getState();r&&c(r,a),o&&u(o,s),i&&p(i,(l??[]).map(e=>({...e,hydrated:this._getInitialHydrationForSync(e.segmentationId)}))),n?.length&&d(e,n.map(e=>({id:e.id,sourceViewports:[...e.getSourceViewports()],targetViewports:[...e.getTargetViewports()]})))}getPresentations(e){let t=this._getPositionPresentation(e);return{positionPresentation:t,lutPresentation:this._getLutPresentation(e),segmentationPresentation:this._getSegmentationPresentation(e)}}getPresentationIds(e){let t=this.viewportsById.get(e);return t?t.getPresentationIds():null}_getPositionPresentation(e){let t=this.getCornerstoneViewport(e);if(!t)return;let A=this.viewportsById.get(e);return this.backend.getPositionPresentation(t,A,e)}_getLutPresentation(e){let t=this.getCornerstoneViewport(e);if(!t)return;let A=e=>(e?.isComputedVOI&&(delete e?.voiRange,delete e?.VOILUTFunction),e?.colormap&&e.colormap?.opacity?.length===0&&delete e.colormap.opacity,e),n=(0,es.rX)(t)?new Map:A((0,nL.qU)(t).getPresentation());if(n instanceof Map){let e=t.getAllVolumeIds();e?.forEach(e=>{let r=A(t.getProperties(e));n.set(e,r)})}return{viewportType:this.viewportsById.get(e).getViewportType(),properties:n}}_getSegmentationPresentation(e){let{segmentationService:t}=this.servicesManager.services;return t.getPresentation(e)}_getInitialHydrationForSync(e){let{displaySetService:t}=this.servicesManager.services,A=t.getDisplaySetByUID(e);return!A?.referencedDisplaySetInstanceUID||null}setViewportData(e,t,A,n,r){let o=this.getRenderingEngine();if(t.viewportType===L.Enums.ViewportType.STACK&&!t.data[0].imageIds?.length)return;let i=this.viewportsById.get(e);if(this.storePresentation({viewportId:i.getViewportId()}),this.servicesManager.services.segmentationService.clearSegmentationRepresentations(i.getViewportId()),!i)throw Error("element is not enabled for the given viewportId");let s=i.setPublicDisplaySetOptions(n),a=i.setPublicViewportOptions(A,t.viewportType),l=i.getElement(),c=i.getViewportType(),u=i.getBackground(),d=i.getOrientation(),p=i.getDisplayArea();i.setRenderingEngineId(o.id),o.enableElement({viewportId:e,element:l,type:c,defaultOptions:{background:u,orientation:d,displayArea:p}}),i.setViewportOptions(a),i.setDisplaySetOptions(s),i.setViewportData(t),i.setViewportId(e),this.viewportsById.set(e,i);let g=o.getViewport(e);this._setDisplaySets(g,t,i,r).then(()=>{this._broadcastEvent(this.EVENTS.VIEWPORT_DATA_CHANGED,{viewportData:t,viewportId:e})})}getViewportOptions(e){return this.viewportsById.get(e).getViewportOptions()}getCornerstoneViewport(e){return this.getViewportInfo(e)&&this.renderingEngine&&!this.renderingEngine.hasBeenDestroyed?this.renderingEngine.getViewport(e):null}getViewportInfo(e){return this.viewportsById.get(e)}getOrientation(e){return this.getViewportInfo(e).getOrientation()}findNavigationCompatibleViewportId(e,t){let A=this.getCornerstoneViewport(e);if(A||console.warn("No active viewport found for",e),A?.isReferenceViewable(t,dL))return e;for(let e of this.viewportsById.keys()){let A=this.getCornerstoneViewport(e);if(A?.isReferenceViewable(t,dL))return e}for(let{viewportId:e}of this.getViewportAlignmentData(t)){let A=this.getCornerstoneViewport(e);if(A?.isReferenceViewable(t,dR))return e}return null}getViewportAlignmentData(e){let t=[],{viewPlaneNormal:A,planeRestriction:n}=e,r=n?.inPlaneVector1,o=n?.inPlaneVector2;for(let e of this.viewportsById.keys()){let n=nk(this.getCornerstoneViewport(e));if(!n)continue;let i=0;r||o?i=(r?-Math.abs(nR.vec3.dot(n,r)):0)+(o?-Math.abs(nR.vec3.dot(n,o)):0):A&&(i=Math.abs(nR.vec3.dot(n,A))),t.push({viewportId:e,alignmentScore:i})}return t.sort((e,t)=>t.alignmentScore-e.alignmentScore),t}findUpdateableViewportConfiguration(e,t){let{metadata:A,displaySetInstanceUID:n}=t,{displaySetService:r}=this.servicesManager.services,o=r.getDisplaySetByUID(n),i=this.determineTargetViewportType(o,A),s=this.findViewportShowingVolume(A,n,i);if(s)return s;let a=this.findViewportConvertibleToVolume(A,n,i);if(a)return a;let l=this.findViewportWithMatchingOrientation(A,n,i);return l||{viewportId:e,displaySetInstanceUID:n,viewportOptions:{viewportType:i}}}determineTargetViewportType(e,t){let{viewportType:A}=e;return!A&&(t.referencedImageId&&!e.isReconstructable?A=L.Enums.ViewportType.STACK:t.volumeId&&(A="volume")),A}findViewportShowingVolume(e,t,A){if(!e.volumeId)return null;for(let n of this.viewportsById.keys()){let r=this.getCornerstoneViewport(n);if(r?.isReferenceViewable(e,{asVolume:!0,withNavigation:!0}))return{viewportId:n,displaySetInstanceUID:t,viewportOptions:{viewportType:A}}}return null}findViewportConvertibleToVolume(e,t,A){let{viewportGridService:n}=this.servicesManager.services,r={...e,volumeId:null,referencedImageId:null};for(let o of this.viewportsById.keys()){let i=this.getCornerstoneViewport(o),s=n.getDisplaySetsUIDsForViewport(o)?.[0];if(s&&i&&(e.volumeId&&(r.volumeId=s),r.FrameOfReferenceUID=this._getFrameOfReferenceUID(s),i.isReferenceViewable(r,{asVolume:!0,withNavigation:!0})))return{viewportId:o,displaySetInstanceUID:t,viewportOptions:{viewportType:A}}}return null}findViewportWithMatchingOrientation(e,t,A){let n=this.getViewportAlignmentData(e);return n?.length?{...n[0],displaySetInstanceUID:t,viewportOptions:{viewportType:A}}:null}async _setEcgViewport(e,t){let[A]=t.data,n=A.imageIds?.[0];return n?this.backend.mountEcg(e,A,n):void console.error("[CornerstoneViewportService] ECG display set has no imageId")}async _setOtherViewport(e,t,A,n={}){let[r]=t.data;await this.backend.mountOther(e,r);let o=A.getViewReference();o&&e.setViewReference(o)}async _setStackViewport(e,t,A,n={}){let r=A.getDisplaySetOptions(),o=t.data.map(e=>e.displaySetInstanceUID);this.viewportsDisplaySets.set(e.id,[...o]);let{initialImageIndex:i,imageIds:s}=t.data[0],a=n?.positionPresentation?.initialImageIndex??i,{rotation:l,flipHorizontal:c,displayArea:u}=A.getViewportOptions(),d={...n.lutPresentation?.properties};if(!n.lutPresentation?.properties){let{voi:e,voiInverted:t,colormap:A}=r[0];if(e&&(e.windowWidth||e.windowCenter)){let{lower:t,upper:A}=L.utilities.windowLevel.toLowHighRange(e.windowWidth,e.windowCenter);d.voiRange={lower:t,upper:A}}d.invert=t??d.invert,d.colormap=A??d.colormap}e.element.addEventListener(L.Enums.Events.VIEWPORT_NEW_IMAGE_SET,t=>{let{element:A}=t.detail;A===e.element&&R.utilities.stackContextPrefetch.enable(A)});let p=this._processExtraDisplaySetsForViewport(e),g=n?.positionPresentation?.viewReference?.referencedImageId;return g&&s&&(a=s.indexOf(g)),(null==a||a<0)&&(a=this._getInitialImageIndexForViewport(A,s)||0),this.backend.mountStack(e,{displaySetInstanceUIDs:o,imageIds:s,initialImageIndex:a,properties:d,displayArea:u,rotation:l,flipHorizontal:c,presentations:n,viewportInfo:A,overlayProcessingResults:p})}_getInitialImageIndexForViewport(e,t){let A,n=e.getInitialImageOptions();if(!n)return;let{index:r,preset:o}=n,i=e.getViewportType();if(i===L.Enums.ViewportType.STACK)A=t.length;else{if(i!==L.Enums.ViewportType.ORTHOGRAPHIC)return;let t=this.getCornerstoneViewport(e.getViewportId()),n=L.utilities.getImageSliceDataForVolumeViewport(t);if(!n)return;({numberOfSlices:A}=n)}return this._getInitialImageIndex(A,r,o)}_getInitialImageIndex(e,t,A){let n=e-1;return void 0!==t?L.utilities.clip(t,0,n):A===dI.First?0:A===dI.Last?n:A===dI.Middle?n%2==0?n/2:(n+1)/2:0}async _setVolumeViewport(e,t,A,n={}){let{displaySetService:r}=this.servicesManager.services,o=[],i=A.getDisplaySetOptions(),{hangingProtocolService:s}=this.servicesManager.services,a=[],l=[];for(let[e,A]of t.data.entries()){let{imageIds:t,displaySetInstanceUID:n}=A,s=A.volume,c=r.getDisplaySetByUID(n);if(!s&&c.images&&(s=R.utilities.getOrCreateImageVolume(c.images.map(e=>e.imageId))),l.push(n),!s){console.log("Volume display set not found");continue}a.push(s);let u=i[e],{volumeId:d}=s;o.push({imageIds:t,volumeId:d,modality:c.Modality,displaySetInstanceUID:n,blendMode:u.blendMode,slabThickness:this._getSlabThickness(u,d)})}this.viewportsDisplaySets.set(e.id,l);let c=a.filter(e=>!e.loadStatus?.loaded);if(c.length){if(s.getShouldPerformCustomImageLoad())return s.runImageLoadStrategy({viewportId:e.id,volumeInputArray:o});c.forEach(e=>{!e.loadStatus?.loading&&e.load instanceof Function&&e.load()})}return this.setVolumesForViewport(e,o,n)}async setVolumesForViewport(e,t,A){let{displaySetService:n,viewportGridService:r}=this.servicesManager.services,o=this.getViewportInfo(e.id),i=o.getDisplaySetOptions(),s=r.getDisplaySetsUIDsForViewport(e.id),a=n.getDisplaySetByUID(s[0]),l=a?.Modality,c=t.map((e,t)=>({volumeInput:e,displaySetOptions:i[t]})).filter(({volumeInput:e})=>{let t=n.getDisplaySetByUID(e.displaySetInstanceUID);return!t?.isOverlayDisplaySet}),u=c.map(({volumeInput:e,displaySetOptions:t})=>{let{volumeId:A}=e,{voi:n,voiInverted:r,colormap:o,displayPreset:i}=t,s={};if(n&&(n.windowWidth||n.windowCenter)){let{lower:e,upper:t}=L.utilities.windowLevel.toLowHighRange(n.windowWidth,n.windowCenter);s.voiRange={lower:e,upper:t}}return void 0!==r&&(s.invert=r),void 0!==o&&(s.colormap=o),void 0!==i&&(s.preset=i[l]||i.default),{properties:s,volumeId:A}}),d=this._processExtraDisplaySetsForViewport(e)||[];if(await this.backend.mountVolumes(e,{filteredVolumeInputArray:c,volumesProperties:u,viewportInfo:o,overlayProcessingResults:d,presentations:A}))return void this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED,{viewportInfo:o});!c.length&&d?.length&&d.forEach(({imageIds:t,addOverlayFn:A})=>{if(A){let A=t[0],o=n.getDisplaySetsBy(e=>!e.isOverlayDisplaySet&&e.images?.some(e=>e.imageId===A));if(1!==o.length)throw Error("Background display set not found");(0,es.Ov)(e)&&setTimeout(()=>{r.setDisplaySetsForViewport({viewportId:e.id,displaySetInstanceUIDs:[o[0].displaySetInstanceUID]})},0)}});let p=c.map(({volumeInput:e})=>e),g=p.map(e=>e.volumeId),m=(e.getActors?.()??[]).filter(e=>dO.has(e.actor?.getClassName?.()??"")).map(e=>e.referencedId).filter(Boolean),h=!1;if(p.length){let t;if(1===g.length&&m.length>=g.length&&dM(m,g.length,g)&&(t=o.getViewportType(),(0,es.Gj)(e)===t&&(t===L.Enums.ViewportType.ORTHOGRAPHIC||t===L.Enums.ViewportType.VOLUME_3D)))h=!0;else if(m.length&&g.length>m.length&&dM(m,m.length,g)&&"function"==typeof e.addVolumes){let t=p.slice(m.length);t.length&&await e.addVolumes(t)}else await e.setVolumes(p)}else t.length&&await this.backend.mountOverlayOnlyVolumes(e,t);if(await this._addOverlayRepresentations(d),e.render(),u.forEach(({properties:t,volumeId:A})=>{setTimeout(()=>{e.setProperties(t,A),e.render()},0)}),this.setPresentations(e.id,A),e.render(),!A.positionPresentation&&!h){let t=this._getInitialImageIndexForViewport(o);void 0!==t&&L.utilities.jumpToSlice(e.element,{imageIndex:t})}this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED,{viewportInfo:o})}_processExtraDisplaySetsForViewport(e){let{displaySetService:t}=this.servicesManager.services,A=this.viewportsDisplaySets.get(e.id).map(t.getDisplaySetByUID).filter(e=>e?.isOverlayDisplaySet);if(A?.length)return A.map(A=>{let n;return A.referencedDisplaySetInstanceUID&&(n=t.getDisplaySetByUID(A.referencedDisplaySetInstanceUID).images.map(e=>e.imageId)),{imageIds:n,addOverlayFn:()=>this.addOverlayRepresentationForDisplaySet(A,e)}})}addOverlayRepresentationForDisplaySet(e,t){let{segmentationService:A}=this.servicesManager.services,n=e.displaySetInstanceUID,r="SEG"===e.Modality?R.Enums.SegmentationRepresentations.Labelmap:R.Enums.SegmentationRepresentations.Contour,o=()=>{let{predecessorImageId:o}=e,i=A.addSegmentationRepresentation(t.id,{segmentationId:n,predecessorImageId:o,type:r,config:{blendMode:t?.getBlendMode?.()===1?u1.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND:void 0}});return this.storePresentation({viewportId:t.id}),i};return"SEG"===e.Modality?A.getSegmentation(n)?o():new Promise(t=>{let r,i=!1,s=()=>{clearTimeout(r),t()},a=()=>{i=!0,l(),s()},{unsubscribe:l}=A.subscribe(A.EVENTS.SEGMENTATION_LOADING_COMPLETE,async e=>{if(!i&&e.segDisplaySet?.displaySetInstanceUID===n){i=!0,l();try{await o()}catch(e){console.warn(`Failed to apply segmentation representation for "${n}":`,e)}finally{s()}}}),c=e.loadingPromise;c?.catch(e=>{i||(console.warn(`Segmentation "${n}" failed to load; skipping representation setup.`,e),a())}),r=setTimeout(()=>{if(i){console.warn(`Timed out applying segmentation representation for "${n}"; resolving viewport readiness anyway.`),t();return}console.warn(`Timed out waiting for segmentation "${n}" to load; skipping representation setup.`),a()},12e4)}):o()}async _addOverlayRepresentations(e){if(e?.length)for(let t of e)t?.addOverlayFn&&await t.addOverlayFn()}updateViewport(e,t,A=!1){let n=this.getViewportInfo(e),r=this.getCornerstoneViewport(e),o=this.backend.remount(r,t,n,A);o&&o.then(()=>{this._broadcastEvent(this.EVENTS.VIEWPORT_DATA_CHANGED,{viewportData:t,viewportId:e})})}_setDisplaySets(e,t,A,n={}){return this.backend.dispatchMount(e,t,A,n)}_removeResizeObserver(){this.viewportGridResizeObserver&&this.viewportGridResizeObserver.disconnect()}_getSlabThickness(e,t){let{blendMode:A}=e;if(void 0!==A&&void 0!==e.slabThickness){if("number"==typeof e.slabThickness)return e.slabThickness;if("fullvolume"===e.slabThickness.toLowerCase()){let{dimensions:e,spacing:A}=L.cache.getVolume(t);return Math.sqrt(Math.pow(e[0]*A[0],2)+Math.pow(e[1]*A[1],2)+Math.pow(e[2]*A[2],2))}}}_getFrameOfReferenceUID(e){let{displaySetService:t}=this.servicesManager.services,A=t.getDisplaySetByUID(e);if(!A)return;if(A.FrameOfReferenceUID)return A.FrameOfReferenceUID;if("SEG"===A.Modality){let{instance:e}=A;return e.FrameOfReferenceUID}if("RTSTRUCT"===A.Modality){let{instance:e}=A;return e.ReferencedFrameOfReferenceSequence.FrameOfReferenceUID}let{images:n}=A;if(n&&n.length)return n[0].FrameOfReferenceUID}enqueueViewportResizeRequest(){this.resizeQueue.push(!1),clearTimeout(this.viewportResizeTimer),this.viewportResizeTimer=setTimeout(()=>{this.processViewportResizeQueue()},this.gridResizeDelay)}processViewportResizeQueue(){let e=this.resizeQueue.some(e=>e);!(this.resizeQueue.length>0)||e||this.gridResizeTimeOut||this.performResize(),this.resizeQueue=[]}performResize(){try{this.getRenderingEngine().getViewports().forEach(({id:e})=>{let t=this._getPositionPresentation(e);delete t.viewReference?.sliceIndex,this.beforeResizePositionPresentations.set(e,t)});let e=this.renderingEngine;e.resize(!1),e.render(),this.beforeResizePositionPresentations.forEach((e,t)=>{this.setPresentations(t,{positionPresentation:e})}),e.resize(!1),e.render()}catch(e){console.warn("Caught resize exception",e)}}resetGridResizeTimeout(){clearTimeout(this.gridResizeTimeOut),this.gridResizeTimeOut=setTimeout(()=>{this.gridResizeTimeOut=null},this.gridResizeDelay)}_setLutPresentation(e,t){this.backend.setLutPresentation(e,t)}_setPositionPresentation(e,t){this.backend.setPositionPresentation(e,t)}_setSegmentationPresentation(e,t){if(!t)return;let{segmentationService:A,customizationService:n,viewportGridService:r}=this.servicesManager.services,o=ct({viewportType:r.getState().viewports.get(e.id)?.viewportOptions?.viewportType,customizationService:n}),i=new Set(this.viewportsDisplaySets.get(e.id)||[]);t.forEach(t=>{let{segmentationId:n,type:r,hydrated:s}=t,{Labelmap:a,Surface:l}=R.Enums.SegmentationRepresentations,c=(0,es.Ov)(e),u=r;(r!==l||c?r===a&&c&&(u=l):u=a,s&&o)?A.addSegmentationRepresentation(e.id,{segmentationId:n,type:u,config:{blendMode:e?.getBlendMode?.()===1?u1.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND:void 0}}):!1!==s||i.has(n)||A.removeRepresentationsFromViewport(e.id,{segmentationId:n})})}getViewportDisplaySets(e){let{displaySetService:t}=this.servicesManager.services;return(this.viewportsDisplaySets.get(e)||[]).map(e=>t.getDisplaySetByUID(e)).filter(Boolean)}}dV.REGISTRATION={name:"cornerstoneViewportService",altName:"CornerstoneViewportService",create:({servicesManager:e})=>new dV(e)};let dN=((v={}).Removed="removed",v.Added="added",v.Modified="modified",v);class dH extends k.PubSubService{constructor(e){super(dH.EVENTS),this.colorbars={},this.servicesManager=void 0,this.servicesManager=e}addColorbar(e,t,A={}){let{displaySetService:n}=this.servicesManager.services,r=(0,L.getRenderingEngine)(dy).getViewport(e);if(!r)return;let o=(0,nL.qU)(r);if(!o.hasContent())return;let{activeColormapName:i,colormaps:s}=A;t.forEach(t=>{if(n.getDisplaySetByUID(t).isOverlayDisplaySet)return;let r=o.getDataIdForDisplaySet(t),a=o.getPresentation(r),l=a?.colormap;i&&!l&&this.setViewportColormap(e,t,s[i],!0);let c={activeColormapName:l?.name||A?.activeColormapName||"Grayscale",colormaps:A.colormaps?Object.values(A.colormaps):[],volumeId:r,dataId:r};if(this.colorbars[e]){let A=this.colorbars[e].findIndex(e=>e.displaySetInstanceUID===t);-1!==A?this.colorbars[e][A].colorbar=c:this.colorbars[e].push({colorbar:c,displaySetInstanceUID:t})}else this.colorbars[e]=[{colorbar:c,displaySetInstanceUID:t}]}),this._broadcastEvent(dH.EVENTS.STATE_CHANGED,{viewportId:e,changeType:dN.Added})}removeColorbar(e,t){let A=this.colorbars[e];if(A){if(t){let n=A.findIndex(e=>e.displaySetInstanceUID===t);-1!==n&&(A.splice(n,1),0===A.length&&delete this.colorbars[e])}else delete this.colorbars[e];this._broadcastEvent(dH.EVENTS.STATE_CHANGED,{viewportId:e,displaySetInstanceUID:t,changeType:dN.Removed})}}hasColorbar(e){return!!this.colorbars[e]}getState(){return this.colorbars}getViewportColorbar(e){return this.colorbars[e]}onModeExit(){Object.keys(this.colorbars).forEach(e=>{this.removeColorbar(e)})}setViewportColormap(e,t,A,n=!1){let r=(0,L.getRenderingEngine)(dy).getViewport(e);if(!r)return;let o=(0,nL.qU)(r);if(!o.hasContent())return;let i=o.getDataIdForDisplaySet(t);o.setPresentation({colormap:A},i),n&&r.render()}}dH.EVENTS={STATE_CHANGED:"event::ColorbarService:stateChanged"},dH.REGISTRATION={name:"colorbarService",create:({servicesManager:e})=>new dH(e)};class d_ extends k.PubSubService{constructor(){super(d_.EVENTS),this.viewedDataIds=new Set}markDataViewed(e){!e||this.viewedDataIds.has(e)||(this.viewedDataIds.add(e),this._broadcastEvent(this.EVENTS.VIEWED_DATA_CHANGED,{viewedDataId:e}))}isDataViewed(e){return!!e&&this.viewedDataIds.has(e)}clearViewedData(){this.viewedDataIds.clear(),this._broadcastEvent(this.EVENTS.VIEWED_DATA_CHANGED,{viewedDataCleared:!0})}subscribeViewedDataChanges(e){return this.subscribe(this.EVENTS.VIEWED_DATA_CHANGED,e)}}function dk(e){return(dk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dP(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var A=e[Symbol.toPrimitive];if(void 0!==A){var n=A.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(n.key),n)}}function dj(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=Array(t);A<t;A++)n[A]=e[A];return n}function dG(e){for(var t=new Uint8Array(e.length),A=0,n=e.length;A<n;A++)t[A]=e.charCodeAt(A);return t}function dK(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,r=e.length;n&&(r=Math.min(A+n,e.length));for(var o=A;o<r;o++)if(e[o]===t[0]&&function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(A+t.length>e.length)return!1;for(var n=A,r=0;r<t.length;r++){if(t[r]!==e[n])return!1;n+=1}return!0}(e,t,o))return o;return -1}function dW(e){return"object"===dk(e)&&null!==e}function dY(e){return 0===Object.keys(e).length&&e.constructor===Object}d_.EVENTS={VIEWED_DATA_CHANGED:"event::viewedDataChanged"},d_.REGISTRATION={name:"viewedDataService",altName:"ViewedDataService",create:()=>new d_};var dz=function(e){return e[0]},dX={DICOM:"application/dicom",DICOM_JSON:"application/dicom+json",OCTET_STREAM:"application/octet-stream",PDF:"application/pdf",JPEG:"image/jpeg",PNG:"image/png"},dJ=function(){},dq=function(){var e,t;function A(e){if(!(this instanceof A))throw TypeError("Cannot call a class as a function");this.baseURL=e.url,this.baseURL||console.error("no DICOMweb base url provided - calls that require a URL will fail"),"username"in e&&(this.username=e.username,"password"in e||console.error("no password provided to authenticate with DICOMweb service"),this.password=e.password),"qidoURLPrefix"in e?(dJ("use URL prefix for QIDO-RS: ".concat(e.qidoURLPrefix)),this.qidoURL="".concat(this.baseURL,"/").concat(e.qidoURLPrefix)):this.qidoURL=this.baseURL,"wadoURLPrefix"in e?(dJ("use URL prefix for WADO-RS: ".concat(e.wadoURLPrefix)),this.wadoURL="".concat(this.baseURL,"/").concat(e.wadoURLPrefix)):this.wadoURL=this.baseURL,"stowURLPrefix"in e?(dJ("use URL prefix for STOW-RS: ".concat(e.stowURLPrefix)),this.stowURL="".concat(this.baseURL,"/").concat(e.stowURLPrefix)):this.stowURL=this.baseURL,e.singlepart?(dJ("use singlepart",e.singlepart),this.singlepart=!0===e.singlepart?"bulkdata,video,image":e.singlepart):this.singlepart="","requestHooks"in e&&(this.requestHooks=e.requestHooks),this.headers=e.headers||{},this.errorInterceptor=e.errorInterceptor||function(){},this.verbose=!1!==e.verbose,this.setDebug(e.debug)}return e=[{key:"setDebug",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.debugLevel=!!e,dJ=t||e?console.log:function(){}}},{key:"getDebug",value:function(){return this.debugLevel}},{key:"setVerbose",value:function(e){this.verbose=e}},{key:"getVerbose",value:function(){return this.verbose}},{key:"_httpRequest",value:function(e,t){var A=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=this.errorInterceptor,i=this.requestHooks;return new Promise(function(s,a){var l=r.request?r.request:new XMLHttpRequest;l.open(t,e,!0),"responseType"in r&&(l.responseType=r.responseType),"object"===dk(n)&&Object.keys(n).forEach(function(e){l.setRequestHeader(e,n[e])});var c=A.headers;if(Object.keys(c).forEach(function(e){l.setRequestHeader(e,c[e])}),l.onloadstart=function(){dJ("upload started: ",e)},l.onloadend=function(){dJ("upload finished")},l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status){var e=l.getResponseHeader("Content-Type");e&&-1!==e.indexOf("multipart")?s(function(e){var t,A=ArrayBuffer.isView(e)?e:new Uint8Array(e),n=dG("\r\n\r\n"),r=dK(A,n,0,1e3);if(-1===r)throw Error("Response message has no multipart mime header");var o=function(e){for(var t=e.split("\r\n"),A=0;A<t.length;A++)if("--"===t[A].substr(0,2))return t[A];return null}(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,A=arguments.length>2?arguments[2]:void 0,n=A||e.length-t,r="",o=t;o<t+n;o++)r+=String.fromCharCode(e[o]);return r}(A,0,r));if(!o)throw Error("Header of response message does not specify boundary");for(var i=dG(o),s=i.length,a=[],l=s;-1!==t&&-1!==(t=dK(A,i,l));){var c=dK(A,n,l,1e3);if(-1===c)throw Error("Response message part has no mime header");l=c+n.length;var u=e.slice(l,t-2);a.push(u),l=t+s}return a}(l.response)):"arraybuffer"===l.responseType?s([l.response]):s(l.response)}else if(202===l.status)A.verbose&&console.warn("some resources already existed: ",l),s(l.response);else if(204===l.status)A.verbose&&console.warn("empty response for request: ",l),s([]);else{var t=Error("request failed");t.request=l,t.response=l.response,t.status=l.status,A.verbose&&(console.error("request failed: ",l),console.error(t),console.error(t.response)),o(t),a(t)}},"progressCallback"in r&&"function"==typeof r.progressCallback&&(l.onprogress=r.progressCallback),i&&((u=Array.isArray(i)&&i.every(function(e){return"function"==typeof e&&2===e.length}))||console.warn("Request hooks should have the following signature: function requestHook(request, metadata) { return request; }"),u)){var u,d={method:t,url:e,headers:Object.assign({},n,A.headers)};l=function(e){return i.reduce(function(e,t){return t(e,d)},e)}(l)}"withCredentials"in r&&r.withCredentials&&(l.withCredentials=!0),"data"in r?l.send(r.data):l.send()})}},{key:"_httpGet",value:function(e,t,A,n,r){return this._httpRequest(e,"get",t,{responseType:A,progressCallback:n,withCredentials:r})}},{key:"_httpGetApplicationJson",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=e;"object"!==dk(t)||dY(t)||(o+=A._parseQueryParameters(t));var i={Accept:dX.DICOM_JSON};return this._httpGet(o,i,"json",n,r)}},{key:"_httpGetApplicationPdf",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=e;"object"!==dk(t)||dY(t)||(o+=A._parseQueryParameters(t));var i={Accept:dX.PDF};return this._httpGet(o,i,"json",n,r)}},{key:"_httpGetImage",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==dk(n)||dY(n)||(i+=A._parseQueryParameters(n));var s=A._buildAcceptHeaderFieldValue(t,["image/","image/*","image/jpeg","image/jp2","image/gif","image/png"]);return this._httpGet(i,{Accept:s},"arraybuffer",r,o)}},{key:"_httpGetText",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==dk(n)||dY(n)||(i+=A._parseQueryParameters(n));var s=A._buildAcceptHeaderFieldValue(t,["text/","text/*","text/html","text/plain","text/rtf","text/xml"]);return this._httpGet(i,{Accept:s},"arraybuffer",r,o)}},{key:"_httpGetVideo",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=e;"object"!==dk(n)||dY(n)||(i+=A._parseQueryParameters(n));var s=A._buildAcceptHeaderFieldValue(t,["video/","video/*","video/mpeg","video/mp4","video/H265"]);return this._httpGet(i,{Accept:s},"arraybuffer",r,o)}},{key:"_httpGetMultipartImage",value:function(e,t,n,r){var o,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=arguments.length>5?arguments[5]:void 0,a=arguments.length>6?arguments[6]:void 0,l={};return i?o=["image/jpeg","image/gif","image/png","image/jp2"]:(o={"1.2.840.10008.1.2.5":["image/x-dicom-rle"],"1.2.840.10008.1.2.4.50":["image/jpeg"],"1.2.840.10008.1.2.4.51":["image/jpeg"],"1.2.840.10008.1.2.4.57":["image/jpeg"],"1.2.840.10008.1.2.4.70":["image/jpeg"],"1.2.840.10008.1.2.4.80":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.81":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.90":["image/jp2"],"1.2.840.10008.1.2.4.91":["image/jp2"],"1.2.840.10008.1.2.4.92":["image/jpx"],"1.2.840.10008.1.2.4.93":["image/jpx"]},n&&(l.Range=A._buildRangeHeaderFieldValue(n))),l.Accept=A._buildMultipartAcceptHeaderFieldValue(t,o),this._httpGet(e,l,"arraybuffer",s,a)}},{key:"_httpGetMultipartVideo",value:function(e,t,n,r){var o,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=arguments.length>5?arguments[5]:void 0,a=arguments.length>6?arguments[6]:void 0,l={};return i?o=["video/","video/*","video/mpeg2","video/mp4","video/H265"]:(o={"1.2.840.10008.1.2.4.100":["video/mpeg2"],"1.2.840.10008.1.2.4.101":["video/mpeg2"],"1.2.840.10008.1.2.4.102":["video/mp4"],"1.2.840.10008.1.2.4.103":["video/mp4"],"1.2.840.10008.1.2.4.104":["video/mp4"],"1.2.840.10008.1.2.4.105":["video/mp4"],"1.2.840.10008.1.2.4.106":["video/mp4"]},n&&(l.Range=A._buildRangeHeaderFieldValue(n))),l.Accept=A._buildMultipartAcceptHeaderFieldValue(t,o),this._httpGet(e,l,"arraybuffer",s,a)}},{key:"_httpGetMultipartApplicationDicom",value:function(e,t,n,r,o){var i={},s="application/dicom",a=t;return t||(a=[{mediaType:s}]),i.Accept=A._buildMultipartAcceptHeaderFieldValue(a,{"1.2.840.10008.1.2.1":[s],"1.2.840.10008.1.2.5":[s],"1.2.840.10008.1.2.4.50":[s],"1.2.840.10008.1.2.4.51":[s],"1.2.840.10008.1.2.4.57":[s],"1.2.840.10008.1.2.4.70":[s],"1.2.840.10008.1.2.4.80":[s],"1.2.840.10008.1.2.4.81":[s],"1.2.840.10008.1.2.4.90":[s],"1.2.840.10008.1.2.4.91":[s],"1.2.840.10008.1.2.4.92":[s],"1.2.840.10008.1.2.4.93":[s],"1.2.840.10008.1.2.4.100":[s],"1.2.840.10008.1.2.4.101":[s],"1.2.840.10008.1.2.4.102":[s],"1.2.840.10008.1.2.4.103":[s],"1.2.840.10008.1.2.4.104":[s],"1.2.840.10008.1.2.4.105":[s],"1.2.840.10008.1.2.4.106":[s]}),this._httpGet(e,i,"arraybuffer",r,o)}},{key:"_httpGetMultipartApplicationOctetStream",value:function(e,t,n,r,o,i){var s,a={},l={"1.2.840.10008.1.2.1":function(e){if(Array.isArray(e))return dj(e)}(s=Object.values(dX))||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(s)||function(e){if(e){if("string"==typeof e)return dj(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return dj(e,void 0)}}(s)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()},c=t;return t||(c=[{mediaType:"application/octet-stream"}]),n&&(a.Range=A._buildRangeHeaderFieldValue(n)),a.Accept=A._buildMultipartAcceptHeaderFieldValue(c,l),this._httpGet(e,a,"arraybuffer",o,i)}},{key:"_httpPost",value:function(e,t,A,n,r,o){return this._httpRequest(e,"post",t,{data:A,progressCallback:n,withCredentials:r,request:o})}},{key:"_httpPostApplicationJson",value:function(e,t,A,n){var r={"Content-Type":dX.DICOM_JSON};return this._httpPost(e,r,t,A,n)}},{key:"searchForStudies",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};dJ("search for studies");var t=!1,n="".concat(this.qidoURL,"/studies");return"queryParams"in e&&(n+=A._parseQueryParameters(e.queryParams)),"withCredentials"in e&&e.withCredentials&&(t=e.withCredentials),this._httpGetApplicationJson(n,{},!1,t)}},{key:"retrieveStudyMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of study metadata");dJ("retrieve metadata of study ".concat(e.studyInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/metadata"),A=!1;return"withCredentials"in e&&e.withCredentials&&(A=e.withCredentials),this._httpGetApplicationJson(t,{},!1,A)}},{key:"searchForSeries",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.qidoURL;"studyInstanceUID"in e&&(dJ("search series of study ".concat(e.studyInstanceUID)),t+="/studies/".concat(e.studyInstanceUID)),t+="/series","queryParams"in e&&(t+=A._parseQueryParameters(e.queryParams));var n=!1;return"withCredentials"in e&&e.withCredentials&&(n=e.withCredentials),this._httpGetApplicationJson(t,{},!1,n)}},{key:"retrieveSeriesMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of series metadata");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of series metadata");dJ("retrieve metadata of series ".concat(e.seriesInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/metadata"),A=!1;return"withCredentials"in e&&e.withCredentials&&(A=e.withCredentials),this._httpGetApplicationJson(t,{},!1,A)}},{key:"searchForInstances",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.qidoURL,n=!1;return"studyInstanceUID"in e?(t+="/studies/".concat(e.studyInstanceUID),"seriesInstanceUID"in e?(dJ("search for instances of series ".concat(e.seriesInstanceUID)),t+="/series/".concat(e.seriesInstanceUID)):dJ("search for instances of study ".concat(e.studyInstanceUID))):dJ("search for instances"),t+="/instances","queryParams"in e&&(t+=A._parseQueryParameters(e.queryParams)),"withCredentials"in e&&e.withCredentials&&(n=e.withCredentials),this._httpGetApplicationJson(t,{},!1,n)}},{key:"buildInstanceWadoURIUrl",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required.");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required.");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required.");var t=e.contentType||dX.DICOM,A=e.transferSyntax||"*",n=[];n.push("requestType=WADO"),n.push("studyUID=".concat(e.studyInstanceUID)),n.push("seriesUID=".concat(e.seriesInstanceUID)),n.push("objectUID=".concat(e.sopInstanceUID)),n.push("contentType=".concat(t)),n.push("transferSyntax=".concat(A));var r=n.join("&");return"".concat(this.wadoURL,"?").concat(r)}},{key:"retrieveInstanceMetadata",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of instance metadata");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of instance metadata");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of instance metadata");dJ("retrieve metadata of instance ".concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/metadata"),A=!1;return"withCredentials"in e&&e.withCredentials&&(A=e.withCredentials),this._httpGetApplicationJson(t,{},!1,A)}},{key:"retrieveInstanceFrames",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of instance frames");dJ("retrieve frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString()),n=e.mediaTypes,r=!1;"withCredentials"in e&&e.withCredentials&&(r=e.withCredentials);var o=!1;if("progressCallback"in e&&(o=e.progressCallback),!n)return this._httpGetMultipartApplicationOctetStream(t,!1,!1,!1,o,r);if(A._getSharedMediaTypes(n).length>1){var i={Accept:A._buildMultipartAcceptHeaderFieldValue(n,{"1.2.840.10008.1.2.1":["application/octet-stream"],"1.2.840.10008.1.2.5":["image/x-dicom-rle"],"1.2.840.10008.1.2.4.50":["image/jpeg"],"1.2.840.10008.1.2.4.51":["image/jpeg"],"1.2.840.10008.1.2.4.57":["image/jpeg"],"1.2.840.10008.1.2.4.70":["image/jpeg"],"1.2.840.10008.1.2.4.80":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.81":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.90":["image/jp2"],"1.2.840.10008.1.2.4.91":["image/jp2"],"1.2.840.10008.1.2.4.92":["image/jpx"],"1.2.840.10008.1.2.4.93":["image/jpx"],"1.2.840.10008.1.2.4.201":["image/jhc"],"1.2.840.10008.1.2.4.202":["image/jhc"]})};return this._httpGet(t,i,"arraybuffer",o,r)}var s=A._getCommonMediaType(n);if(s.startsWith("application"))return this._httpGetMultipartApplicationOctetStream(t,n,!1,!1,o,r);if(s.startsWith("image"))return this._httpGetMultipartImage(t,n,!1,!1,!1,o,r);if(s.startsWith("video"))return this._httpGetMultipartVideo(t,n,!1,!1,!1,o,r);throw Error("Media type ".concat(s," is not supported for retrieval of frames."))}},{key:"retrieveInstanceRendered",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/rendered"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",i,o);var s=A._getCommonMediaType(n);if(s.startsWith("image"))return this._httpGetImage(t,n,r,i,o);if(s.startsWith("video"))return this._httpGetVideo(t,n,r,i,o);if(s.startsWith("text"))return this._httpGetText(t,n,r,i,o);if(s===dX.PDF)return this._httpGetApplicationPdf(t,r,i,o);throw Error("Media type ".concat(s," is not supported ")+"for retrieval of rendered instance.")}},{key:"retrieveInstanceThumbnail",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/thumbnail"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",i,o);var s=A._getCommonMediaType(n);if(s.startsWith("image"))return this._httpGetImage(t,n,r,i,o);throw Error("Media type ".concat(s," is not supported ")+"for retrieval of rendered instance.")}},{key:"retrieveInstanceFramesRendered",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of rendered instance frames");dJ("retrieve rendered frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString(),"/rendered"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",!1,o);var s=A._getCommonMediaType(n);if(s.startsWith("image"))return this._httpGetImage(t,n,r,i,o);if(s.startsWith("video"))return this._httpGetVideo(t,n,r,i,o);throw Error("Media type ".concat(s," is not supported ")+"for retrieval of rendered frame.")}},{key:"retrieveInstanceFramesThumbnail",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required for retrieval of rendered instance frames");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required for retrieval of rendered instance frames");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required for retrieval of rendered instance frames");if(!("frameNumbers"in e))throw Error("frame numbers are required for retrieval of rendered instance frames");console.debug("retrieve rendered frames ".concat(e.frameNumbers.toString()," of instance ").concat(e.sopInstanceUID));var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID,"/frames/").concat(e.frameNumbers.toString(),"/thumbnail"),n=e.mediaTypes,r=e.queryParams,o=!1;"withCredentials"in e&&e.withCredentials&&(o=e.withCredentials);var i=!1;if("progressCallback"in e&&(i=e.progressCallback),!n)return r&&(t+=A._parseQueryParameters(r)),this._httpGet(t,{},"arraybuffer",i,o);var s=A._getCommonMediaType(n);if(s.startsWith("image"))return this._httpGetImage(t,n,r,i,o);throw Error("Media type ".concat(s," is not supported ")+"for retrieval of rendered frame.")}},{key:"retrieveInstance",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required");if(!("sopInstanceUID"in e))throw Error("SOP Instance UID is required");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID,"/instances/").concat(e.sopInstanceUID),n=e.mediaTypes,r=e.withCredentials,o=void 0!==r&&r,i=e.progressCallback,s=void 0!==i&&i;if(!n)return this._httpGetMultipartApplicationDicom(t,!1,!1,s,o).then(dz);var a=A._getCommonMediaType(n);if(a===dX.DICOM)return this._httpGetMultipartApplicationDicom(t,n,!1,s,o).then(dz);throw Error("Media type ".concat(a," is not supported for retrieval of instance."))}},{key:"retrieveSeries",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");if(!("seriesInstanceUID"in e))throw Error("Series Instance UID is required");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID,"/series/").concat(e.seriesInstanceUID),n=e.mediaTypes,r=!1;"withCredentials"in e&&e.withCredentials&&(r=e.withCredentials);var o=!1;if("progressCallback"in e&&(o=e.progressCallback),!n)return this._httpGetMultipartApplicationDicom(t,!1,!1,o,r);var i=A._getCommonMediaType(n);if(i===dX.DICOM)return this._httpGetMultipartApplicationDicom(t,n,!1,o,r);throw Error("Media type ".concat(i," is not supported for retrieval of series."))}},{key:"retrieveStudy",value:function(e){if(!("studyInstanceUID"in e))throw Error("Study Instance UID is required");var t="".concat(this.wadoURL,"/studies/").concat(e.studyInstanceUID),n=e.mediaTypes,r=e.withCredentials,o=void 0!==r&&r,i=e.progressCallback,s=void 0!==i&&i;if(!n)return this._httpGetMultipartApplicationDicom(t,!1,!1,s,o);var a=A._getCommonMediaType(n);if(a===dX.DICOM)return this._httpGetMultipartApplicationDicom(t,n,!1,s,o);throw Error("Media type ".concat(a," is not supported for retrieval of study."))}},{key:"retrieveBulkData",value:function(e){if(!("BulkDataURI"in e))throw Error("BulkDataURI is required.");var t=e.BulkDataURI,n=e.mediaTypes,r=e.byteRange,o=e.withCredentials,i=void 0!==o&&o,s=e.progressCallback,a=void 0!==s&&s;if(-1!==this.singlepart.indexOf("bulkdata"))return this._httpGet(t,e.headers,"arraybuffer",null,i);if(n)try{var l=A._getCommonMediaType(n);if("image/"===l)return this._httpGetMultipartImage(t,n,r,!1,!1,a,i)}catch(e){}return this._httpGetMultipartApplicationOctetStream(t,n,r,!1,a,i)}},{key:"storeInstances",value:function(e){if(!("datasets"in e))throw Error("datasets are required for storing");var t="".concat(this.stowURL,"/studies");"studyInstanceUID"in e&&(t+="/".concat(e.studyInstanceUID));var A=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){function e(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return"".concat(e()+e(),"-").concat(e(),"-").concat(e(),"-").concat(e(),"-").concat(e()).concat(e()).concat(e())}(),A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/dicom",n=dG("\r\n--".concat(t,"\r\n").concat("Content-Type: ".concat(A),"\r\n\r\n")),r=dG("\r\n--".concat(t,"--")),o=n.length,i=r.length,s=0,a=e.map(function(e){var t=new Uint8Array(e),A=t.length;return s+=o+A+i,t}),l=new Uint8Array(s);l.set(n,0);var c=0;return a.forEach(function(e){l.set(n,c),l.set(e,c+o),c+=o+e.length}),l.set(r,c),{data:l.buffer,boundary:t}}(e.datasets),n=A.data,r=A.boundary,o=e.withCredentials;return this._httpPost(t,{"Content-Type":'multipart/related; type="application/dicom"; boundary="'.concat(r,'"')},n,e.progressCallback,void 0!==o&&o,e.request)}}],t=[{key:"_parseQueryParameters",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="?";return Object.keys(e).forEach(function(A,n){0!==n&&(t+="&"),t+="".concat(A,"=").concat(encodeURIComponent(e[A]))}),t}},{key:"_assertMediaTypeIsValid",value:function(e){if(!e)throw Error("Not a valid media type: ".concat(e));var t=e.indexOf("/");if(-1===t||!["application","image","text","video"].includes(e.slice(0,t))||e.slice(t+1).includes("/"))throw Error("Not a valid media type: ".concat(e))}},{key:"_parseMediaType",value:function(e){return A._assertMediaTypeIsValid(e),e.split("/")}},{key:"_buildAcceptHeaderFieldValue",value:function(e,t){if(!Array.isArray(e))throw Error("Acceptable media types must be provided as an Array");return e.map(function(e){var n=e.mediaType;if(A._assertMediaTypeIsValid(n),!t.includes(n))throw Error("Media type ".concat(n," is not supported for requested resource"));return n}).join(", ")}},{key:"_buildMultipartAcceptHeaderFieldValue",value:function(e,t){var n=this;if(!Array.isArray(e))throw Error("Acceptable media types must be provided as an Array");if(!Array.isArray(t)&&!dW(t))throw Error("Supported media types must be provided as an Array or an Object");var r=[];if(e.forEach(function(e){var o=e.transferSyntaxUID,i=e.mediaType;A._assertMediaTypeIsValid(i);var s='multipart/related; type="'.concat(i,'"');if(dW(t)){if(!Object.values(t).flat(1).includes(i)&&(!i.endsWith("/*")||!i.endsWith("/")))return void dJ("Media type ".concat(i," is not supported for requested resource"));if(o){if("*"!==o){if(!Object.keys(t).includes(o))throw Error("Transfer syntax ".concat(o," is not supported for requested resource"));var a=t[o];if(!a.includes(i)){var l=A._parseMediaType(i)[0];a.map(function(e){if(!(l===A._parseMediaType(e)[0]&&(i.endsWith("/*")||i.endsWith("/"))))throw Error("Transfer syntax ".concat(o," is not supported for requested resource"))})}}s+="; transfer-syntax=".concat(o)}}else if(Array.isArray(t)&&!t.includes(i)){n.verbose&&console.warn("Media type ".concat(i," is not supported for requested resource"));return}r.push(s)}),!r.length)throw Error("No acceptable media types found among ".concat(JSON.stringify(e)));return r.join(", ")}},{key:"_buildRangeHeaderFieldValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return 1===e.length?"bytes=".concat(e[0],"-"):2===e.length?"bytes=".concat(e[0],"-").concat(e[1]):"bytes=0-"}},{key:"_getSharedMediaTypes",value:function(e){var t=new Set;return e&&e.length?(e.forEach(function(e){var n=e.mediaType,r=A._parseMediaType(n)[0];t.add("".concat(r,"/"))}),Array.from(t)):t}},{key:"_getCommonMediaType",value:function(e){if(!e||!e.length)throw Error("No acceptable media types provided");var t=A._getSharedMediaTypes(e);if(0===t.length)throw Error("No common acceptable media type could be identified.");if(t.length>1)throw Error("Acceptable media types must have the same type.");return t[0]}}],e&&dP(A.prototype,e),t&&dP(A,t),Object.defineProperty(A,"prototype",{writable:!1}),A}();let d$=e=>{if(e)return"function"==typeof e.getImageId?e.getImageId():e.url},dZ=e=>(Array.isArray(e)?e:[e]).some(e=>!e),d0=e=>e&&e.images&&e.images[0],d1=(e,t=k.DICOMWeb.getAuthorizationHeader())=>fetch(e,t).then(e=>e.arrayBuffer()),d3=e=>L.imageLoader.loadAndCacheImage(e).then(e=>e&&e.data&&e.data.byteArray.buffer),d2=(e,t,A,n,r=k.DICOMWeb.getAuthorizationHeader(),o=k.errorHandler.getHTTPErrorHandler())=>new dq({url:e,headers:r,errorInterceptor:o}).retrieveInstance({studyInstanceUID:t,seriesInstanceUID:A,sopInstanceUID:n}),d4=new class{getLocalData(e,t){let A=d0(e),n=e&&e.instance;if(!A&&!n||!n.imageId?.startsWith("dicomfile"))return;let r=d$(A||n);if(dZ(r)&&(r=((e,t)=>{let{series:A=[]}=e.find(e=>e.displaySets.some(e=>e.displaySetInstanceUID===t)),{instances:n=[]}=A[0]||{};return d$(n[0])})(t,e.displaySetInstanceUID)),!dZ(r))return Y().wadouri.loadFileRequest(r)}getDataByImageType(e){let t=d0(e);if(t){let e,A,n=d$(t),r=d1;switch(A=(e=/^\w+\:/).exec(n),0===e.lastIndex&&A&&A[0]&&A[0].replace(":","")||""){case"dicomfile":r=d3.bind(this,n);break;case"wadors":let o=t.getData().wadoRoot,i=t.getStudyInstanceUID(),s=t.getSeriesInstanceUID(),a=t.getSOPInstanceUID();if(dZ([o,i,s,a]))return;r=d2.bind(this,o,i,s,a);break;case"wadouri":if(dZ(n=n.substring(n.indexOf(":")+1)))return;r=d1.bind(this,n);break;default:return}return r()}}getDataByDatasetType(e){let{StudyInstanceUID:t,SeriesInstanceUID:A,SOPInstanceUID:n,authorizationHeaders:r,wadoRoot:o,wadoUri:i,instance:s}=e;if(!dZ(o))return d2(o,t,A,n,r);if(!dZ(i))return d1(i,{headers:r});if(!dZ(s?.url)){let e=s.url;return d1(e.startsWith("http")?e:e.substring(e.indexOf(":")+1),{headers:r})}}*getLoaderIterator(e,t,A){yield this.getLocalData(e,t),yield this.getDataByImageType(e),yield this.getDataByDatasetType(e)}findDicomDataPromise(e,t,A){for(let n of(e.authorizationHeaders=A,this.getLoaderIterator(e,t)))if(n)return n;throw Error("Invalid dicom data loader")}},d6=JSON.parse('{"UU":"@ohif/extension-cornerstone"}').UU,d9=(e,t,A)=>{let n=(0,L.getRenderingEngine)(A.renderingEngineId);if(!n)throw Error(`No RenderingEngine for Id: ${A.renderingEngineId}`);let r=n.getViewport(t.viewportId),{viewportIndex:o}=e.getOptions(A.viewportId),{viewportIndex:i}=e.getOptions(t.viewportId);if(void 0===o||void 0===i)throw Error("No viewportIndex provided");let s=n.getViewport(A.viewportId),a=r.getSliceIndex()+(Number(o)-Number(i));a!==s.getSliceIndex()&&L.utilities.jumpToSlice(s.element,{imageIndex:a})},d8=e=>R.SynchronizerManager.createSynchronizer(e,L.EVENTS.STACK_VIEWPORT_SCROLL,d9,{auxiliaryEvents:[{name:L.EVENTS.CAMERA_MODIFIED,source:"element"}]});var d5=x(2111),d7=x.n(d5);let{MetadataModules:pe}=L.Enums,{utils:pt}=P(),{denaturalizeDataset:pA}=d7().data.DicomMetaDictionary;function pn(e,t){return e.get(t)?q.dicomWebUtils.transferDenaturalizedDataset(pA(q.dicomWebUtils.fixMultiValueKeys(e.get(t)))):(console.warn("Metadata not already found for",t,"in",e),this.super.getDICOMwebMetadata(t))}let pr=Object.values({TWELVE_LEAD_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.1",GENERAL_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.2",AMBULATORY_ECG_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.1.3",HEMODYNAMIC_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.2.1",CARDIAC_ELECTROPHYSIOLOGY_WAVEFORM_STORAGE:"1.2.840.10008.5.1.4.1.1.9.3.1"});var po=x(9692),pi=x(1303);function ps(e){return e.uiState.activeSegmentationUtility}let pa=function(e){let t,A,n,r,o=(0,D.c)(12),{className:i,isActive:s,id:a}=e,l=(0,q.useUIStateStore)(ps),c=s&&"bg-primary/30";o[0]!==i||o[1]!==c?(t=(0,tB.cn)("w-7 h-7 text-primary hover:text-primary hover:!bg-primary/30",i,c),o[0]=i,o[1]=c,o[2]=t):t=o[2];let u=t;o[3]!==l||o[4]!==a?(A=e=>{l===a&&(e.preventDefault(),e.stopPropagation())},o[3]=l,o[4]=a,o[5]=A):A=o[5];let d=A;return o[6]!==e||o[7]!==u?(n=(0,tp.jsx)(tB.ToolButton,{...e,className:u}),o[6]=e,o[7]=u,o[8]=n):n=o[8],o[9]!==d||o[10]!==n?(r=(0,tp.jsx)("div",{onPointerDownCapture:d,children:n}),o[9]=d,o[10]=n,o[11]=r):r=o[11],r};function pl(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B,y,v,S,C,I,b,U,E,F,Q,T,x,O,R,V,N,H,_,k,P,j,G,K,W,Y,z,X,J,$,Z,ee=(0,D.c)(126),{children:et,segmentationRepresentationTypes:eA}=e,{commandsManager:en,servicesManager:er}=(0,tj.useSystem)(),{displaySetService:eo,viewportGridService:ei,toolbarService:es,segmentationService:ea}=er.services,{activeViewportId:el}=ei.getState();ee[0]!==es.sections.contourSegmentationUtilities||ee[1]!==es.sections.labelMapSegmentationUtilities?(t={[ta.SegmentationRepresentations.Labelmap]:es.sections.labelMapSegmentationUtilities,[ta.SegmentationRepresentations.Contour]:es.sections.contourSegmentationUtilities},ee[0]=es.sections.contourSegmentationUtilities,ee[1]=es.sections.labelMapSegmentationUtilities,ee[2]=t):t=ee[2];let ec=t,eu=nG(e=>e.selectedSegmentationsForViewport[el]),ed=eA?eA.reduce((e,t)=>e||(eu?.has(t)?eu?.get(t):void 0),void 0):ea?.getActiveSegmentation(el)?.segmentationId,ep=eA?.[0]?ec[eA[0]]:void 0;ee[3]!==ep?(A={buttonSectionId:ep},ee[3]=ep,ee[4]=A):A=ee[4];let{activeToolOptions:eg}=(0,tj.useActiveToolOptions)(A),{segmentationsWithRepresentations:em,disabled:eh}=(0,po.c)(),ef=(0,q.useUIStateStore)(pc);ee[5]!==el||ee[6]!==ef||ee[7]!==es?(n=()=>{ef("activeSegmentationUtility",null),es.refreshToolbarState({viewportId:el})},r=[el,ef,es],ee[5]=el,ee[6]=ef,ee[7]=es,ee[8]=n,ee[9]=r):(n=ee[8],r=ee[9]),(0,M.useEffect)(n,r),ee[10]!==el||ee[11]!==ef||ee[12]!==es?(o=e=>{e||(ef("activeSegmentationUtility",null),es.refreshToolbarState({viewportId:el}))},ee[10]=el,ee[11]=ef,ee[12]=es,ee[13]=o):o=ee[13];let ew=o,eB=(0,tj.useCustomization)("panelSegmentation.tableMode"),ey=(0,tj.useCustomization)("panelSegmentation.onSegmentationAdd"),ev=(0,tj.useCustomization)("panelSegmentation.disableEditing"),eS=(0,tj.useCustomization)("panelSegmentation.showAddSegment"),eC=(0,tj.useCustomization)("panelSegmentation.customDropdownMenuContent"),eI=(0,tj.useCustomization)("panelSegmentation.customSegmentStatisticsHeader");if(ee[14]!==en?(l=e=>{en.run("setActiveSegmentation",{segmentationId:e})},c=e=>{en.run("addSegment",{segmentationId:e}),en.run("setActiveSegmentation",{segmentationId:e})},u=(e,t)=>{en.run("setActiveSegmentAndCenter",{segmentationId:e,segmentIndex:t})},d=(e,t)=>{en.run("editSegmentLabel",{segmentationId:e,segmentIndex:t})},i=e=>{en.run("editSegmentationLabel",{segmentationId:e})},s=(e,t)=>{en.run("editSegmentColor",{segmentationId:e,segmentIndex:t})},a=(e,t)=>{en.run("deleteSegment",{segmentationId:e,segmentIndex:t})},ee[14]=en,ee[15]=i,ee[16]=s,ee[17]=a,ee[18]=l,ee[19]=c,ee[20]=u,ee[21]=d):(i=ee[15],s=ee[16],a=ee[17],l=ee[18],c=ee[19],u=ee[20],d=ee[21]),ee[22]!==en||ee[23]!==eA?.[0]?(p=eA?.[0]===ta.SegmentationRepresentations.Contour?(e,t)=>{en.run("copyContourSegment",{sourceSegmentInfo:{segmentationId:e,segmentIndex:t}})}:void 0,ee[22]=en,ee[23]=eA?.[0],ee[24]=p):p=ee[24],ee[25]!==en?(g=(e,t,A)=>{en.run("toggleSegmentVisibility",{segmentationId:e,segmentIndex:t,type:A})},m=(e,t)=>{en.run("toggleSegmentLock",{segmentationId:e,segmentIndex:t})},h=(e,t)=>{en.run("toggleSegmentationVisibility",{segmentationId:e,type:t})},f=e=>{en.run("downloadSegmentation",{segmentationId:e})},w=(e,t,A,n)=>{en.run("setSegmentationStyle",{segmentationId:e,type:t,key:A,value:n})},B=()=>{en.run("toggleRenderInactiveSegmentations")},y=e=>{en.run("removeSegmentationFromViewport",{segmentationId:e})},v=e=>{en.run("deleteSegmentation",{segmentationId:e})},S=(e,t)=>{let{type:A}=e;en.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:A}),en.run("setFillAlpha",{type:A,value:t})},C=(e,t)=>{let{type:A}=e;en.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:A}),en.run("setOutlineWidth",{type:A,value:t})},I=(e,t)=>{let{type:A}=e;en.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:A}),en.run("setRenderFill",{type:A,value:t})},b=(e,t)=>{let{type:A}=e;en.run("setRenderFillInactive",{type:A,value:t})},U=(e,t)=>{let{type:A}=e;en.run("activateSelectedSegmentationOfType",{segmentationRepresentationType:A}),en.run("setRenderOutline",{type:A,value:t})},E=(e,t)=>{let{type:A}=e;en.run("setRenderOutlineInactive",{type:A,value:t})},F=(e,t)=>{let{type:A}=e;en.run("setFillAlphaInactive",{type:A,value:t})},Q=()=>en.run("getRenderInactiveSegmentations"),ee[25]=en,ee[26]=g,ee[27]=m,ee[28]=h,ee[29]=f,ee[30]=w,ee[31]=B,ee[32]=y,ee[33]=v,ee[34]=S,ee[35]=C,ee[36]=I,ee[37]=b,ee[38]=U,ee[39]=E,ee[40]=F,ee[41]=Q):(g=ee[26],m=ee[27],h=ee[28],f=ee[29],w=ee[30],B=ee[31],y=ee[32],v=ee[33],S=ee[34],C=ee[35],I=ee[36],b=ee[37],U=ee[38],E=ee[39],F=ee[40],Q=ee[41]),ee[42]!==ev||ee[43]!==eh||ee[44]!==eo||ee[45]!==ey||ee[46]!==eA||ee[47]!==eB||ee[48]!==em||ee[49]!==eS||ee[50]!==i||ee[51]!==s||ee[52]!==a||ee[53]!==p||ee[54]!==g||ee[55]!==m||ee[56]!==h||ee[57]!==f||ee[58]!==w||ee[59]!==B||ee[60]!==y||ee[61]!==v||ee[62]!==S||ee[63]!==C||ee[64]!==I||ee[65]!==b||ee[66]!==U||ee[67]!==E||ee[68]!==F||ee[69]!==Q||ee[70]!==l||ee[71]!==c||ee[72]!==u||ee[73]!==d){let e;if(T={onSegmentationClick:l,onSegmentAdd:c,onSegmentClick:u,onSegmentEdit:d,onSegmentationEdit:i,onSegmentColorClick:s,onSegmentDelete:a,onSegmentCopy:p,onToggleSegmentVisibility:g,onToggleSegmentLock:m,onToggleSegmentationRepresentationVisibility:h,onSegmentationDownload:f,setStyle:w,toggleRenderInactiveSegmentations:B,onSegmentationRemoveFromViewport:y,onSegmentationDelete:v,setFillAlpha:S,setOutlineWidth:C,setRenderFill:I,setRenderFillInactive:b,setRenderOutline:U,setRenderOutlineInactive:E,setFillAlphaInactive:F,getRenderInactiveSegmentations:Q},ee[84]!==eo||ee[85]!==em){let t;ee[87]!==eo?(t=e=>{let{segmentation:t}=e,{representationData:A,segmentationId:n}=t,{Labelmap:r,Contour:o}=A;return r||o?((e,t)=>{if(!e)return!1;let A=e?.imageIds;if(!A?.length||!A.some(e=>{let t=L.cache.getImage(e)?.getPixelData();if(!t)return!1;for(let e=0;e<t.length;e++)if(0!==t[e])return!0}))return!1;let n=e?.referencedImageIds;if(!n)return!1;let r=n[0],o=L.metaData.get("instance",r);if(!o)return!1;let i=o.SOPInstanceUID||o.SopInstanceUID,s=o.SeriesInstanceUID;return!!t.getDisplaySetForSOPInstanceUID(i,s)})(r,eo)||(e=>{if(!e)return!1;let t=e?.annotationUIDsMap;return!!t&&t.size>0})(o)?{segmentationId:n,isExportable:!0}:{segmentationId:n,isExportable:!1}:{segmentationId:n,isExportable:!0}},ee[87]=eo,ee[88]=t):t=ee[88],e=em.map(t),ee[84]=eo,ee[85]=em,ee[86]=e}else e=ee[86];let t=e;x=eh,O=em,R=eB,V=`${eA?.[0]?`${eA[0]} `:""}Segmentations`,N=t,H=ev,_=ey,k=eS,P=T.getRenderInactiveSegmentations(),ee[42]=ev,ee[43]=eh,ee[44]=eo,ee[45]=ey,ee[46]=eA,ee[47]=eB,ee[48]=em,ee[49]=eS,ee[50]=i,ee[51]=s,ee[52]=a,ee[53]=p,ee[54]=g,ee[55]=m,ee[56]=h,ee[57]=f,ee[58]=w,ee[59]=B,ee[60]=y,ee[61]=v,ee[62]=S,ee[63]=C,ee[64]=I,ee[65]=b,ee[66]=U,ee[67]=E,ee[68]=F,ee[69]=Q,ee[70]=l,ee[71]=c,ee[72]=u,ee[73]=d,ee[74]=T,ee[75]=x,ee[76]=O,ee[77]=R,ee[78]=V,ee[79]=N,ee[80]=H,ee[81]=_,ee[82]=k,ee[83]=P}else T=ee[74],x=ee[75],O=ee[76],R=ee[77],V=ee[78],N=ee[79],H=ee[80],_=ee[81],k=ee[82],P=ee[83];ee[89]!==T||ee[90]!==eA||ee[91]!==ed||ee[92]!==x||ee[93]!==O||ee[94]!==R||ee[95]!==V||ee[96]!==N||ee[97]!==H||ee[98]!==_||ee[99]!==k||ee[100]!==P?(j={disabled:x,data:O,mode:R,title:V,exportOptions:N,disableEditing:H,onSegmentationAdd:_,showAddSegment:k,renderInactiveSegmentations:P,segmentationRepresentationTypes:eA,selectedSegmentationIdForType:ed,...T},ee[89]=T,ee[90]=eA,ee[91]=ed,ee[92]=x,ee[93]=O,ee[94]=R,ee[95]=V,ee[96]=N,ee[97]=H,ee[98]=_,ee[99]=k,ee[100]=P,ee[101]=j):j=ee[101];let eb=j;ee[102]!==ep?(G=()=>ep?(0,tp.jsx)(tB.IconPresentationProvider,{size:"large",IconContainer:pa,children:(0,tp.jsx)("div",{className:"flex flex-wrap gap-[3px] bg-transparent pb-[2px] pl-[8px] pt-[6px]",children:(0,tp.jsx)(q.Toolbar,{buttonSection:ep})})}):null,ee[102]=ep,ee[103]=G):G=ee[103];let eU=G;ee[104]!==eI?(K=()=>(0,tp.jsxs)(tB.SegmentationTable.Segments,{children:[(0,tp.jsx)(tB.SegmentationTable.SegmentStatistics.Header,{children:(0,tp.jsx)(eI,{})}),(0,tp.jsx)(tB.SegmentationTable.SegmentStatistics.Body,{})]}),ee[104]=eI,ee[105]=K):K=ee[105];let eE=K;ee[106]!==eC||ee[107]!==eE||ee[108]!==eU||ee[109]!==eb.mode?(W=()=>"collapsed"===eb.mode?(0,tp.jsxs)(tB.SegmentationTable.Collapsed,{children:[eU(),(0,tp.jsxs)(tB.SegmentationTable.Collapsed.Header,{children:[(0,tp.jsx)(tB.SegmentationTable.Collapsed.DropdownMenu,{children:(0,tp.jsx)(eC,{})}),(0,tp.jsx)(tB.SegmentationTable.Collapsed.Selector,{}),(0,tp.jsx)(tB.SegmentationTable.Collapsed.Info,{})]}),(0,tp.jsxs)(tB.SegmentationTable.Collapsed.Content,{children:[(0,tp.jsx)(tB.SegmentationTable.AddSegmentRow,{}),eE()]})]}):(0,tp.jsx)(tp.Fragment,{children:(0,tp.jsxs)(tB.SegmentationTable.Expanded,{children:[eU(),(0,tp.jsxs)(tB.SegmentationTable.Expanded.Header,{children:[(0,tp.jsx)(tB.SegmentationTable.Expanded.DropdownMenu,{children:(0,tp.jsx)(eC,{})}),(0,tp.jsx)(tB.SegmentationTable.Expanded.Label,{}),(0,tp.jsx)(tB.SegmentationTable.Expanded.Info,{})]}),(0,tp.jsxs)(tB.SegmentationTable.Expanded.Content,{children:[(0,tp.jsx)(tB.SegmentationTable.AddSegmentRow,{}),eE()]})]})}),ee[106]=eC,ee[107]=eE,ee[108]=eU,ee[109]=eb.mode,ee[110]=W):W=ee[110];let eF=W,eQ=!!eg;return ee[111]===Symbol.for("react.memo_cache_sentinel")?(Y=(0,tp.jsx)(tB.SegmentationTable.Config,{}),z=(0,tp.jsx)(tB.SegmentationTable.AddSegmentationRow,{}),ee[111]=Y,ee[112]=z):(Y=ee[111],z=ee[112]),ee[113]!==eF?(X=eF(),ee[113]=eF,ee[114]=X):X=ee[114],ee[115]!==et||ee[116]!==X||ee[117]!==eb?(J=(0,tp.jsx)(tB.PopoverAnchor,{children:(0,tp.jsxs)(tB.SegmentationTable,{...eb,children:[et,Y,z,X]})}),ee[115]=et,ee[116]=X,ee[117]=eb,ee[118]=J):J=ee[118],ee[119]!==eg?($=eg&&(0,tp.jsx)(tB.PopoverContent,{side:"left",align:"start",className:"w-auto",children:(0,tp.jsx)(tB.ToolSettings,{options:eg})}),ee[119]=eg,ee[120]=$):$=ee[120],ee[121]!==ew||ee[122]!==eQ||ee[123]!==J||ee[124]!==$?(Z=(0,tp.jsxs)(tB.Popover,{open:eQ,onOpenChange:ew,children:[J,$]}),ee[121]=ew,ee[122]=eQ,ee[123]=J,ee[124]=$,ee[125]=Z):Z=ee[125],Z}function pc(e){return e.setUIState}var pu=x(2051),pd=x.n(pu),pp=x(6285),pg=x.n(pp);let pm=(0,L.getWebWorkerManager)();pm.registerWorker("histogram-worker",()=>new Worker(new URL(x.p+x.u(915),x.b),Object.assign({},{name:"histogram-worker"},{type:void 0})),{maxWorkerInstances:1,autoTerminateOnIdle:{enabled:!0,idleTimeThreshold:1e3}});let ph=async(e,t,A)=>{if(!e.getImageData(t.volumeId))return;let n=t.scalarData;if(n=t.numTimePoints>1?t.voxelManager.getDimensionGroupScalarData(t.numTimePoints):t.voxelManager.getCompleteScalarDataArray(),!n?.length)return;let{dimensions:r,origin:o,direction:i,spacing:s}=t,{minimum:a,maximum:l}=await pm.executeTask("histogram-worker","getRange",{dimensions:r,origin:o,direction:i,spacing:s,scalarData:n});if(a===1/0||l===-1/0)return;let c={numBins:256,min:Math.max(a,A?.min??a),max:Math.min(l,A?.max??l)};return await pm.executeTask("histogram-worker","calcHistogram",{data:n,options:c})},pf=(e,t)=>{if(!e)return;let A=e.getProperty().getScalarOpacity(0),n=[];return A.getNodeValue(t,n),n[1]},pw=async(e,t,A)=>{if(!e)return[];let n=(0,nL.qU)(e),r=n.getVolumeIds();if(!r.length)return[];let{voiRange:o}=n.getPresentation()||{},i=o?{windowWidth:o.upper-o.lower,windowCenter:o.lower+(o.upper-o.lower)/2}:void 0;return(await Promise.all(r.map(async(n,r)=>{let o,s=L.cache.getVolume(n),a=A(e,n),{metadata:l,scaling:c}=s,u=l.Modality,d=await ph(e,s,{min:"PT"===u?.1:-999,max:"PT"===u?5:1e4});if(!d||d.range.min===d.range.max||!t.displaySetOptions||!t.displaySetOptions[r])return null;let{voi:p,colormap:g}=t.displaySetOptions[r];return g&&(o=L.utilities.colormap.getColormap(g.name)??pg().getPresetByName(g.name)),{viewportId:t.viewportId,modality:u,volumeId:n,volumeIndex:r,voi:r?p:i??p,histogram:d,colormap:o,step:c?.PT?.05:1,opacity:a,showOpacitySlider:1===r&&void 0!==a}}))).filter(Boolean)},{Events:pB}=L.Enums,py=(e,t)=>{let A=e.getActors().find(e=>e.referencedId===t)?.actor;return((e,t)=>{if(!t)return!1;let A=L.cache.getVolume(e);if(!A||"PT"!==A.metadata.Modality)return!1;let n=t.getProperty().getScalarOpacity(0);if(2>n.getSize())return!1;let r=[],o=[];if(n.getNodeValue(0,r),n.getNodeValue(1,o),0!==r[0]||0!==r[1]||.1!==o[0])return!1;let i=o[1],s=n.getSize(),a=[];for(let e=2;e<s;e++)if(n.getNodeValue(e,a),a[1]!==i)return!1;return!0})(t,A)?pf(A,1):(e=>{if(!e)return!1;let t=e.getProperty().getScalarOpacity(0),A=t.getSize(),n=[];t.getNodeValue(0,n);let r=n[1];for(let e=0;e<A;e++){let e=[];if(t.getNodeValue(0,e),e[1]!==r)return!1}return!0})(A)?pf(A,0):void 0},pv=e=>{let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h,f,w,B=(0,D.c)(55),{servicesManager:y,viewportId:v}=e,{cornerstoneViewportService:S}=y.services;B[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],B[0]=t):t=B[0];let[C,I]=(0,M.useState)(t);B[1]!==S||B[2]!==v?(A=()=>!(e=>{if(!e||!L.utilities.viewportSupportsVolumeId(e))return!1;let t=e.getAllVolumeIds();return!!t.length&&t.every(e=>L.cache.getVolume(e)?.loadStatus?.loaded===!0)})(S.getCornerstoneViewport(v)),B[1]=S,B[2]=v,B[3]=A):A=B[3];let[b,U]=(0,M.useState)(A),E=(0,k.useActiveViewportDisplaySets)();B[4]!==S?(n=e=>S.getRenderingEngine().getViewports().filter(L.utilities.viewportSupportsVolumeCompatibility).filter(t=>{let A=t.getAllVolumeIds();return e.length===A.length&&e.every(e=>A.includes(e))}),B[4]=S,B[5]=n):n=B[5];let F=n;B[6]!==S||B[7]!==v?(r=()=>{pw(S.getCornerstoneViewport(v),S.getViewportInfo(v),py).then(e=>{I(e)})},B[6]=S,B[7]=v,B[8]=r):r=B[8];let Q=r;B[9]!==C?(o=e=>{let{detail:t}=e,{volumeId:A,range:n}=t,r=C.find(e=>e.volumeId===A);if(!r)return;let o=r.voi,i=n.upper-n.lower,s=n.lower+i/2;if(i===o.windowWidth&&s===o.windowCenter)return;let a={...r,voi:{windowWidth:i,windowCenter:s}};I(C.map(e=>e===r?a:e))},B[9]=C,B[10]=o):o=B[10];let T=o;B[11]!==T?(i=pd()(T,100),B[11]=T,B[12]=i):i=B[12];let x=i;B[13]!==S||B[14]!==v?(s=(e,t)=>{let A=S.getCornerstoneViewport(v),n={lower:t.windowCenter-t.windowWidth/2,upper:t.windowCenter+t.windowWidth/2};A.setProperties({voiRange:n},e),A.render()},B[13]=S,B[14]=v,B[15]=s):s=B[15];let O=s;B[16]!==S||B[17]!==F?(a=(e,t,A,n)=>{let r=S.getCornerstoneViewport(e);r&&F(L.utilities.viewportSupportsVolumeId(r)?r.getAllVolumeIds():[]).forEach(e=>{e.setProperties({colormap:{opacity:n}},A),e.render()})},B[16]=S,B[17]=F,B[18]=a):a=B[18];let R=a;B[19]!==Q?(l=()=>{U(!1),Q()},B[19]=Q,B[20]=l):l=B[20];let V=l;B[21]!==x||B[22]!==V||B[23]!==b||B[24]!==Q?(c=()=>{document.addEventListener(pB.VOI_MODIFIED,x,!0),L.eventTarget.addEventListener(pB.IMAGE_VOLUME_LOADING_COMPLETED,V);let e=b?setInterval(()=>Q(),1e3):void 0;return()=>{document.removeEventListener(pB.VOI_MODIFIED,x,!0),L.eventTarget.removeEventListener(pB.IMAGE_VOLUME_LOADING_COMPLETED,V),clearInterval(e)}},u=[Q,x,V,b],B[21]=x,B[22]=V,B[23]=b,B[24]=Q,B[25]=c,B[26]=u):(c=B[25],u=B[26]),(0,M.useEffect)(c,u),B[27]!==E?(d=E?.map(pS).sort()||[],B[27]=E,B[28]=d):d=B[28];let N=d;if(B[29]!==S||B[30]!==N.length||B[31]!==b||B[32]!==Q||B[33]!==v?(p=()=>{let{unsubscribe:e}=S.subscribe(S.EVENTS.VIEWPORT_VOLUMES_CHANGED,e=>{let{viewportInfo:t}=e;t.viewportId===v&&Q()});return N.length&&!b&&Q(),()=>{e()}},B[29]=S,B[30]=N.length,B[31]=b,B[32]=Q,B[33]=v,B[34]=p):p=B[34],B[35]!==S||B[36]!==N||B[37]!==b||B[38]!==Q||B[39]!==v?(g=[v,S,Q,N,b],B[35]=S,B[36]=N,B[37]=b,B[38]=Q,B[39]=v,B[40]=g):g=B[40],(0,M.useEffect)(p,g),B[41]===Symbol.for("react.memo_cache_sentinel")?(m=(0,tp.jsx)(tB.PanelSection.Header,{children:"Window Level"}),B[41]=m):m=B[41],B[42]!==R||B[43]!==O||B[44]!==C){let e;B[46]!==R||B[47]!==O?(e=(e,t)=>e.histogram?(0,tp.jsx)(tB.WindowLevel,{histogram:e.histogram,voi:e.voi,step:e.step,showOpacitySlider:e.showOpacitySlider,colormap:e.colormap,onVOIChange:t=>O(e.volumeId,t),opacity:e.opacity,onOpacityChange:A=>R(e.viewportId,t,e.volumeId,A)},e.volumeId):null,B[46]=R,B[47]=O,B[48]=e):e=B[48],h=C.map(e),B[42]=R,B[43]=O,B[44]=C,B[45]=h}else h=B[45];return B[49]!==b||B[50]!==C.length?(f=0===C.length&&!b&&(0,tp.jsx)("div",{className:"text-muted-foreground py-2 text-center text-sm",children:"No window level data available"}),B[49]=b,B[50]=C.length,B[51]=f):f=B[51],B[52]!==h||B[53]!==f?(w=(0,tp.jsxs)(tB.PanelSection,{defaultOpen:!0,children:[m,(0,tp.jsxs)(tB.PanelSection.Content,{className:"bg-muted py-1",children:[h,f]})]}),B[52]=h,B[53]=f,B[54]=w):w=B[54],w};function pS(e){return e.displaySetInstanceUID}let pC=e=>{let t,A,n=(0,D.c)(5),{servicesManager:r}=e,[o]=(0,tB.useViewportGrid)(),{activeViewportId:i}=o;return n[0]!==i||n[1]!==r?(t=i&&(0,tp.jsx)(pv,{servicesManager:r,viewportId:i}),n[0]=i,n[1]=r,n[2]=t):t=n[2],n[3]!==t?(A=(0,tp.jsx)(tp.Fragment,{children:t}),n[3]=t,n[4]=A):A=n[4],A};var pI=["color"],pb=(0,M.forwardRef)(function(e,t){var A=e.color,n=function(e,t){if(null==e)return{};var A,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)A=o[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,pI);return(0,M.createElement)("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n,{ref:t}),(0,M.createElement)("path",{d:"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",fill:void 0===A?"currentColor":A,fillRule:"evenodd",clipRule:"evenodd"}))});let pU=e=>{let{group:t,allChildren:A,children:n,childType:r,defaultTypes:o}=e,i=t?.subType;for(let t of A)if(!i||t.props?.subType===i){if(r&&t.type===r)return M.cloneElement(t,{...e,children:t.props.children});if(o?.indexOf(t.type)===-1)return r({...e,children:t})}if(!n)throw Error(`No children defined for ${e.name} CloneChildren in group ${t?.name}`);return M.cloneElement(n,e)},pE=[pD,px,pO];function pF(e){let t,A,n,r,o,i=(0,D.c)(18),{grouping:s,items:a,children:l,sourceChildren:c}=e,u=(0,k.useSystem)(),d=e.defaultValue;if(i[0]!==u||i[1]!==d||i[2]!==s||i[3]!==a){if(t=s.groupingFunction(a,s,u),!d){let e=t.values().find(pQ);d=e?.key||e?.title}i[0]=u,i[1]=d,i[2]=s,i[3]=a,i[4]=t,i[5]=d}else t=i[4],d=i[5];i[6]!==d?(A=Array.isArray(d)&&d||d&&[d]||[],i[6]=d,i[7]=A):A=i[7];let p=A;if(i[8]!==l||i[9]!==c){let e=c?M.Children.toArray(c):[],t=l?M.Children.toArray(l):[];n=e.concat(t),i[8]=l,i[9]=c,i[10]=n}else n=i[10];let g=n,m="grouping "+s.name;return i[11]===Symbol.for("react.memo_cache_sentinel")?(r=(0,tp.jsx)(pT,{name:"DefaultAccordion"}),i[11]=r):r=i[11],i[12]!==g||i[13]!==s||i[14]!==t||i[15]!==m||i[16]!==p?(o=(0,tp.jsx)(pU,{allChildren:g,groups:t,childType:pD,grouping:s,defaultValue:p,name:m,children:r}),i[12]=g,i[13]=s,i[14]=t,i[15]=m,i[16]=p,i[17]=o):o=i[17],o}function pQ(e){return e.isSelected}function pT(e){let t,A,n,r=(0,D.c)(11),{groups:o,defaultValue:i,grouping:s,allChildren:a,asChild:l}=e;if(!a||!o)return null;if(l){let t;return r[0]!==e?(t=M.cloneElement(e.children,e),r[0]=e,r[1]=t):t=r[1],t}let c=s.type||"multiple";return r[2]!==o?(t=[...o.entries()],r[2]=o,r[3]=t):t=r[3],r[4]!==a||r[5]!==t?(A=t.map(e=>{let[,t]=e;return(0,tp.jsxs)(tB.AccordionItem,{value:t.key,children:[(0,tp.jsx)(pU,{allChildren:a,group:t,childType:pO,name:"AccordionGroup.Trigger"}),(0,tp.jsx)(pU,{allChildren:a,group:t,childType:px,defaultTypes:pE,name:"AccordionGroup.Content"})]},t.key+"-i")}),r[4]=a,r[5]=t,r[6]=A):A=r[6],r[7]!==i||r[8]!==c||r[9]!==A?(n=(0,tp.jsx)(tB.Accordion,{type:c,className:"text-foreground",defaultValue:i,children:A}),r[7]=i,r[8]=c,r[9]=A,r[10]=n):n=r[10],n}function pD(e){let{groups:t,children:A}=e;return t?[...t.values()].map(t=>M.cloneElement(A,{...e,children:A.props.children,group:t,...t,key:t.title})):null}function px(e){let t,A,n=(0,D.c)(18),{children:r,asChild:o,...i}=e,{group:s}=e;if(Object.assign(i,s),!s)return null;if(o){let t;if(n[0]!==r||n[1]!==s||n[2]!==e){let A;n[4]!==r.props.children||n[5]!==s||n[6]!==e?(A={...s,...e,children:r.props.children},n[4]=r.props.children,n[5]=s,n[6]=e,n[7]=A):A=n[7],t=M.cloneElement(r,A),n[0]=r,n[1]=s,n[2]=e,n[3]=t}else t=n[3];return t}if(n[8]!==r||n[9]!==s||n[10]!==e){let A;n[12]!==r.props.children||n[13]!==s||n[14]!==e?(A={...s,...e,children:r.props.children},n[12]=r.props.children,n[13]=s,n[14]=e,n[15]=A):A=n[15],t=M.cloneElement(r,A),n[8]=r,n[9]=s,n[10]=e,n[11]=t}else t=n[11];return n[16]!==t?(A=(0,tp.jsx)(tB.AccordionContent,{children:t}),n[16]=t,n[17]=A):A=n[17],A}function pO(e){let t,A,n,r,o,i,s,a,l=(0,D.c)(17);if(l[0]!==e?({children:n,asChild:t,...A}=e,{group:r}=e,Object.assign(A,r),l[0]=e,l[1]=t,l[2]=A,l[3]=n,l[4]=r):(t=l[1],A=l[2],n=l[3],r=l[4]),!r)return null;if(t){let e;return l[5]!==A||l[6]!==n?(e=M.cloneElement(n,A),l[5]=A,l[6]=n,l[7]=e):e=l[7],e}let c=r.value;return l[8]!==A||l[9]!==n?(o=M.cloneElement(n,A),l[8]=A,l[9]=n,l[10]=o):o=l[10],l[11]===Symbol.for("react.memo_cache_sentinel")?(i=(0,tp.jsx)(pb,{className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"},"chevronDown"),l[11]=i):i=l[11],l[12]!==o?(s=(0,tp.jsxs)("div",{children:[o,i]}),l[12]=o,l[13]=s):s=l[13],l[14]!==r.value||l[15]!==s?(a=(0,tp.jsx)(tB.AccordionTrigger,{value:c,asChild:!0,children:s}),l[14]=r.value,l[15]=s,l[16]=a):a=l[16],a}function pM(e){let t,A,n,r,o,i=(0,D.c)(16),{title:s,items:a,group:l,customHeader:c}=e,{commandsManager:u}=(0,k.useSystem)();i[0]!==u||i[1]!==a?(t=(e,t,A)=>{u.run(t,{uid:A,annotationUID:A,displayMeasurements:a})},i[0]=u,i[1]=a,i[2]=t):t=i[2];let d=t,p=s||"Measurements";return i[3]!==c||i[4]!==l.isFirst||i[5]!==e?(A=c&&l.isFirst&&c({...e,items:e.allItems}),i[3]=c,i[4]=l.isFirst,i[5]=e,i[6]=A):A=i[6],i[7]!==A?(n=(0,tp.jsx)(tB.MeasurementTable.Header,{children:A},"measurementTableHeader"),i[7]=A,i[8]=n):n=i[8],i[9]===Symbol.for("react.memo_cache_sentinel")?(r=(0,tp.jsx)(tB.MeasurementTable.Body,{},"measurementTableBody"),i[9]=r):r=i[9],i[10]!==l||i[11]!==a||i[12]!==d||i[13]!==p||i[14]!==n?(o=(0,M.createElement)(tB.MeasurementTable,{title:p,data:a,onAction:d,...l,key:l.key},n,r),i[10]=l,i[11]=a,i[12]=d,i[13]=p,i[14]=n,i[15]=o):o=i[15],o}pF.Content=px,pF.Trigger=pO,pF.Accordion=pD;let{filterNot:pL,filterAdditionalFindings:pR}=k.utils.MeasurementFilters,pV=[{title:"Measurements",filter:pL(pR)},{title:"Additional Findings",filter:pR}],pN=(e,t)=>{let A=new Map,{namedSets:n}=t;for(let e of n){let n=e.id||e.title;A.set(n,{...t,...e,items:[],isFirst:0===A.size,title:n,key:n})}for(let t of(e.forEach(e=>{for(let t of n)if(t.filter(e)){let n=t.id||t.title;A.get(n).items.push(e);return}}),n)){let e=t.id||t.title;A.get(e).items.length||A.delete(e)}return A};function pH(e){let t,A,n,r,o=(0,D.c)(14),{items:i,children:s,grouping:a,customHeader:l,group:c,actions:u}=e;o[0]!==a?(t=void 0===a?{}:a,o[0]=a,o[1]=t):t=o[1];let d=t,p=c?.StudyInstanceUID;return o[2]!==d||o[3]!==p?(A={groupingFunction:pN,name:"measurementsOrAdditional",namedSets:pV,StudyInstanceUID:p,...d},o[2]=d,o[3]=p,o[4]=A):A=o[4],o[5]!==u||o[6]!==l||o[7]!==i?(n=(0,tp.jsx)(pF.Accordion,{noWrapper:"true",children:(0,tp.jsx)(pM,{customHeader:l,allItems:i,actions:u})}),o[5]=u,o[6]=l,o[7]=i,o[8]=n):n=o[8],o[9]!==s||o[10]!==i||o[11]!==A||o[12]!==n?(r=(0,tp.jsx)(pF,{grouping:A,items:i,sourceChildren:s,children:n}),o[9]=s,o[10]=i,o[11]=A,o[12]=n,o[13]=r):r=o[13],r}let{formatDate:p_}=k.utils;function pk(e){let t,A,n,r,o,i=(0,D.c)(9),{StudyInstanceUID:s}=e;if(!s)return null;if(i[0]!==s){r=Symbol.for("react.early_return_sentinel");e:{let e=k.DicomMetadataStore.getStudy(s);if(!e?.series?.length){r=null;break e}let{StudyDate:o,StudyDescription:i}=e.series[0].instances[0];t=i,A=tB.StudySummary,n=p_(o)}i[0]=s,i[1]=t,i[2]=A,i[3]=n,i[4]=r}else t=i[1],A=i[2],n=i[3],r=i[4];return r!==Symbol.for("react.early_return_sentinel")?r:(i[5]!==t||i[6]!==A||i[7]!==n?(o=(0,tp.jsx)(A,{date:n,description:t}),i[5]=t,i[6]=A,i[7]=n,i[8]=o):o=i[8],o)}function pP(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g=(0,D.c)(33),{items:m,StudyInstanceUID:h,measurementFilter:f,actions:w}=e,{commandsManager:B}=(0,k.useSystem)(),{t:y}=tP("MeasurementTable");return m?.length?(g[0]!==h||g[1]!==B||g[2]!==f?(t=()=>{B.runCommand("downloadCSVMeasurementsReport",{StudyInstanceUID:h,measurementFilter:f})},g[0]=h,g[1]=B,g[2]=f,g[3]=t):t=g[3],g[4]===Symbol.for("react.memo_cache_sentinel")?(A=(0,tp.jsx)(tB.Icons.Download,{className:"h-5 w-5"}),n=(0,tp.jsx)("span",{className:"pl-1",children:"CSV"}),g[4]=A,g[5]=n):(A=g[4],n=g[5]),g[6]!==t?(r=(0,tp.jsxs)(tB.Button,{size:"sm",variant:"ghost",className:"pl-1.5",onClick:t,children:[A,n]}),g[6]=t,g[7]=r):r=g[7],g[8]!==h||g[9]!==w||g[10]!==B||g[11]!==f?(o=e=>{(e.stopPropagation(),w?.createSR)?w.createSR({StudyInstanceUID:h,measurementFilter:f}):B.run("promptSaveReport",{StudyInstanceUID:h,measurementFilter:f})},g[8]=h,g[9]=w,g[10]=B,g[11]=f,g[12]=o):o=g[12],g[13]===Symbol.for("react.memo_cache_sentinel")?(i=(0,tp.jsx)(tB.Icons.Add,{}),g[13]=i):i=g[13],g[14]!==y?(s=y("Save"),g[14]=y,g[15]=s):s=g[15],g[16]!==o||g[17]!==s?(a=(0,tp.jsxs)(tB.Button,{size:"sm",variant:"ghost",className:"pl-0.5",onClick:o,children:[i,s]}),g[16]=o,g[17]=s,g[18]=a):a=g[18],g[19]!==w||g[20]!==B||g[21]!==f?(l=e=>{(e.stopPropagation(),w?.onDelete)?w.onDelete():B.runCommand("clearMeasurements",{measurementFilter:f})},g[19]=w,g[20]=B,g[21]=f,g[22]=l):l=g[22],g[23]===Symbol.for("react.memo_cache_sentinel")?(c=(0,tp.jsx)(tB.Icons.Delete,{}),g[23]=c):c=g[23],g[24]!==y?(u=y("Delete"),g[24]=y,g[25]=u):u=g[25],g[26]!==u||g[27]!==l?(d=(0,tp.jsxs)(tB.Button,{size:"sm",variant:"ghost",className:"pl-0.5",onClick:l,children:[c,u]}),g[26]=u,g[27]=l,g[28]=d):d=g[28],g[29]!==d||g[30]!==r||g[31]!==a?(p=(0,tp.jsx)("div",{className:"bg-background flex h-9 w-full items-center rounded pr-0.5",children:(0,tp.jsxs)("div",{className:"flex space-x-1",children:[r,a,d]})}),g[29]=d,g[30]=r,g[31]=a,g[32]=p):p=g[32],p):null}let pj=function(e){let t,A=(0,D.c)(2);return A[0]!==e?(t=(0,tp.jsxs)("div",{children:[(0,tp.jsx)(pk,{...e}),(0,tp.jsx)(pP,{...e})]}),A[0]=e,A[1]=t):t=A[1],t},{MeasurementFilters:pG}=k.utils,pK=(e,t,A)=>{let n,r,o=new Map,{activeStudyUID:i}=t,{displaySetService:s}=A.servicesManager.services;return e.filter(e=>e.displaySetInstanceUID).forEach(e=>{let A=s.getDisplaySetByUID(e.displaySetInstanceUID).instances[0].StudyInstanceUID;if(!o.has(A)){let e=[],s=pG.filterAnd(pG.filterMeasurementsByStudyUID(A),t.filter),a={...t,items:e,displayMeasurements:e,key:A,isSelected:A===i,StudyInstanceUID:A,filter:s,measurementFilter:s};a.isSelected&&!n&&(n=a),r||=a,o.set(A,a)}!n&&r&&(r.isSelected=!0),o.get(A).items.push(e)}),o};function pW(e){let t,A,n,r,o,i,s=(0,D.c)(16),{items:a,grouping:l,children:c}=e;s[0]!==l?(t=void 0===l?{}:l,s[0]=l,s[1]=t):t=s[1];let u=t,d=(0,k.useActiveViewportDisplaySets)(),p=d?.[0]?.StudyInstanceUID;return s[2]!==p||s[3]!==u?(A={name:"groupByStudy",groupingFunction:pK,activeStudyUID:p,...u},s[2]=p,s[3]=u,s[4]=A):A=s[4],s[5]!==p?(n=[p],s[5]=p,s[6]=n):n=s[6],s[7]===Symbol.for("react.memo_cache_sentinel")?(r=(0,tp.jsx)(pF.Trigger,{children:(0,tp.jsx)(pj,{})}),s[7]=r):r=s[7],s[8]!==p?(o=(0,tp.jsx)(pH,{activeStudyUID:p}),s[8]=p,s[9]=o):o=s[9],s[10]!==c||s[11]!==a||s[12]!==A||s[13]!==n||s[14]!==o?(i=(0,tp.jsxs)(pF,{grouping:A,items:a,value:n,sourceChildren:c,children:[r,o]}),s[10]=c,s[11]=a,s[12]=A,s[13]=n,s[14]=o,s[15]=i):i=s[15],i}function pY(e){let t,A,n=(0,D.c)(14),{measurementFilter:r,emptyComponent:o,children:i}=e;n[0]!==r?(t={measurementFilter:r},n[0]=r,n[1]=t):t=n[1];let s=(0,pi.d)(t);if(!s.length){let e;return n[2]!==o||n[3]!==s?(e=o?(0,tp.jsx)(o,{items:s}):(0,tp.jsx)("span",{className:"text-foreground",children:"No Measurements"}),n[2]=o,n[3]=s,n[4]=e):e=n[4],e}if(i){let e;if(n[5]!==i||n[6]!==s||n[7]!==r){let t;n[9]!==s||n[10]!==r?(t=e=>M.cloneElement(e,{items:s,filter:r}),n[9]=s,n[10]=r,n[11]=t):t=n[11],e=M.Children.map(i,t),n[5]=i,n[6]=s,n[7]=r,n[8]=e}else e=n[8];return e}return n[12]!==s?(A=(0,tp.jsx)(pW,{items:s}),n[12]=s,n[13]=A):A=n[13],A}var pz=x(8191),pX=L.Enums.OrientationAxis;function pJ({segmentationService:e,customizationService:t,commandsManager:A}){let n=!1,{unsubscribe:r}=e.subscribeDebounced(e.EVENTS.SEGMENTATION_DATA_MODIFIED,async({segmentationId:r})=>{let o=t.getCustomization("panelSegmentation.disableUpdateSegmentationStats"),i=e.getSegmentation(r);if(!i||o)return;let s=t.getCustomization("panelSegmentation.readableText");for(let e of Object.keys(i.segments).map(e=>parseInt(e)).filter(e=>e>0)){let t=i.segments[e];t?.cachedStats?.namedStats?.bidirectional&&A.runCommand("runSegmentBidirectional",{segmentationId:r,segmentIndex:e})}let a=await l9({segmentation:i,segmentationId:r,readableText:s});!n&&a&&e.getSegmentation(r)&&e.addOrUpdateSegmentation({segmentationId:r,segments:a.segments})},1e3);return{unsubscribe:()=>{n=!0,r()}}}function pq({segmentationService:e}){let{unsubscribe:t}=e.subscribe(e.EVENTS.SEGMENTATION_MODIFIED,async({segmentationId:t})=>{let A=e.getSegmentation(t);if(!A)return;let n=R.annotation.state.getAllAnnotations().filter(e=>e.metadata.toolName===R.SegmentBidirectionalTool.toolName),r=Object.keys(A.segments).map(e=>parseInt(e)).filter(e=>e>0);n.filter(e=>e.metadata.segmentationId===t&&!r.includes(e.metadata.segmentIndex)).map(e=>e.annotationUID).forEach(e=>{R.annotation.state.removeAnnotation(e)})});return{unsubscribe:t}}let p$="RTSTRUCT",pZ={handleSegmentChange:({direction:e,segmentationId:t,viewportId:A,selectedSegmentObjectIndex:n,segmentationService:r})=>{let{segments:o}=r.getSegmentation(t),i=Object.keys(o).length,s=r.getActiveSegment(A);s&&(n=Object.values(o).findIndex(e=>e.segmentIndex===s.segmentIndex));let a=n+e;a>i-1?a=0:a<0&&(a=i-1);let l=Object.values(o)[a]?.segmentIndex;r.setActiveSegment(t,l),r.jumpToSegmentNext(t,l,void 0,e),n=a},isReferenceViewable:(e,t,A,n)=>{let{cornerstoneViewportService:r,displaySetService:o}=e.services;if(!n)return r.getCornerstoneViewport(t).isReferenceViewable(A,{withNavigation:!0,asVolume:!0});if("stack"===n.viewportType)return o.getDisplaySetByUID(A.displaySetInstanceUID).instances.map(e=>e.imageId).includes(A.referencedImageId);let{orientation:i}=n;return function(e,t){let A=e.getDisplaySetByUID(t).instances[0].ImageOrientationPatient;if(A?.length!==6)return;let n=nR.vec3.fromValues(A[0],A[1],A[2]),r=nR.vec3.fromValues(A[3],A[4],A[5]),o=nR.vec3.cross(nR.vec3.create(),n,r),i={[pX.AXIAL]:nR.vec3.fromValues(0,0,1),[pX.CORONAL]:nR.vec3.fromValues(0,1,0),[pX.SAGITTAL]:nR.vec3.fromValues(1,0,0)},s=0,a="";for(let[e,t]of Object.entries(i)){let A=Math.abs(nR.vec3.dot(o,t));A>s&&(s=A,a=e)}return a}(o,A.displaySetInstanceUID)===i},setupSegmentationDataModifiedHandler:pJ,setupSegmentationModifiedHandler:pq,promptHydrationDialog:function({servicesManager:e,viewportId:t,displaySet:A,preHydrateCallbacks:n=[],hydrateCallback:r,type:o}){let{uiViewportDialogService:i,customizationService:s}=e.services,a=e._extensionManager.appConfig,l=a?.measurementTrackingMode==="standard";return new Promise(async function(c,u){var d,p,g,m;let h=("SR"===o?l:!a?.disableConfirmationPrompts)?await (d=i,p=s,g=t,m=o,new Promise(function(e,t){let A=function(e){switch(e){case p$:return"viewportNotification.hydrateRTMessage";case"SEG":return"viewportNotification.hydrateSEGMessage";case"SR":return"viewportNotification.hydrateSRMessage";default:return"viewportNotification.hydrateMessage"}}(m),n=p.getCustomization(A),r=t=>{d.hide(),e(t)};d.show({id:function(e){switch(e){case p$:return"promptHydrateRT";case"SEG":return"promptHydrateSEG";case"SR":return"promptHydrateSR";default:return"promptHydrate"}}(m),viewportId:g,type:"info",message:n,actions:[{id:"no-hydrate",type:"secondary",text:"No",value:0},{id:"yes-hydrate",type:"primary",text:"Yes",value:5}],onSubmit:r,onOutsideClick:()=>{d.hide(),e(0)},onKeyPress:e=>{"Enter"===e.key&&r(5)}})})):5;if(5===h){if(n?.forEach(e=>{e()}),"SEG"===o)window.setTimeout(async()=>{try{let e=await r({segDisplaySet:A,viewportId:t});c(e)}catch(e){u(e)}},0);else if(o===p$)window.setTimeout(async()=>{try{let n=await r({rtDisplaySet:A,viewportId:t,servicesManager:e});c(n)}catch(e){u(e)}},0);else if("SR"===o){let e=await r(A);c({userResponse:h,displaySetInstanceUID:A.displaySetInstanceUID,srSeriesInstanceUID:A.SeriesInstanceUID,viewportId:t,StudyInstanceUID:e?.StudyInstanceUID,SeriesInstanceUIDs:e?.SeriesInstanceUIDs})}}else"SR"===o?c({userResponse:h,displaySetInstanceUID:A.displaySetInstanceUID,srSeriesInstanceUID:A.SeriesInstanceUID,viewportId:t}):c(!1)})},getCenterExtent:nV,createSegmentationForViewport:cy},{Enums:p0}=R,p1=e=>{let{element:t}=e.detail;R.utilities.contours.acceptAutogeneratedInterpolations(t,{})};var p3=x(1752),p2=x.n(p3);function p4(e){let t,A,n,r,o,i,s,a,l,c,u,d,p,g,m,h=(0,D.c)(36),{group:f,classNames:w}=e,{t:B}=tP("MeasurementTable"),y=(0,k.useSystem)(),[v,S]=(0,M.useState)(!1);if(!f.items?.length)return console.log("No items to iterate",f.items),null;let{items:C}=f,[I]=C,{isSelected:b,isVisible:U}=I;h[0]!==C||h[1]!==y.commandsManager?(t=(e,t,A)=>{let n=C.map(p9);y.commandsManager.run(t,{...A,uid:n,displayMeasurements:C,items:C,event:e})},h[0]=C,h[1]=y.commandsManager,h[2]=t):t=h[2];let E=t,F=`relative ml-2 inline-flex items-center space-x-1 ${w}`,Q=`h-6 w-6 transition-opacity ${b||!U?"opacity-100":"opacity-50 group-hover:opacity-100"}`;h[3]!==U||h[4]!==B?(A=B(U?"Hide":"Show"),h[3]=U,h[4]=B,h[5]=A):A=h[5],h[6]!==E?(n=e=>{e.stopPropagation(),E(e,["jumpToMeasurement","toggleVisibilityMeasurement"])},h[6]=E,h[7]=n):n=h[7],h[8]!==U?(r=U?(0,tp.jsx)(tB.Icons.Hide,{className:"h-6 w-6"}):(0,tp.jsx)(tB.Icons.Show,{className:"h-6 w-6"}),h[8]=U,h[9]=r):r=h[9],h[10]!==Q||h[11]!==A||h[12]!==n||h[13]!==r?(o=(0,tp.jsx)(tB.Button,{size:"icon",variant:"ghost",className:Q,"aria-label":A,onClick:n,children:r}),h[10]=Q,h[11]=A,h[12]=n,h[13]=r,h[14]=o):o=h[14],h[15]===Symbol.for("react.memo_cache_sentinel")?(i=e=>S(e),h[15]=i):i=h[15];let T=`h-6 w-6 transition-opacity ${b||v?"opacity-100":"opacity-50 group-hover:opacity-100"}`;return h[16]===Symbol.for("react.memo_cache_sentinel")?(s=(0,tp.jsx)(tB.Icons.More,{className:"h-6 w-6"}),h[16]=s):s=h[16],h[17]!==T?(a=(0,tp.jsx)(tB.DropdownMenuTrigger,{asChild:!0,children:(0,tp.jsx)(tB.Button,{size:"icon",variant:"ghost",className:T,"aria-label":"Actions",onClick:p6,children:s})}),h[17]=T,h[18]=a):a=h[18],h[19]!==E?(l=e=>E(e,"removeMeasurement"),h[19]=E,h[20]=l):l=h[20],h[21]===Symbol.for("react.memo_cache_sentinel")?(c=(0,tp.jsx)(tB.Icons.Delete,{className:"text-foreground"}),h[21]=c):c=h[21],h[22]!==B?(u=B("Delete"),h[22]=B,h[23]=u):u=h[23],h[24]!==u?(d=(0,tp.jsx)("span",{className:"pl-2",children:u}),h[24]=u,h[25]=d):d=h[25],h[26]!==l||h[27]!==d?(p=(0,tp.jsx)(tB.DropdownMenuContent,{align:"end",children:(0,tp.jsxs)(tB.DropdownMenuItem,{onClick:l,children:[c,d]})}),h[26]=l,h[27]=d,h[28]=p):p=h[28],h[29]!==a||h[30]!==p?(g=(0,tp.jsxs)(tB.DropdownMenu,{onOpenChange:i,children:[a,p]}),h[29]=a,h[30]=p,h[31]=g):g=h[31],h[32]!==F||h[33]!==g||h[34]!==o?(m=(0,tp.jsxs)("div",{className:F,children:[o,g]}),h[32]=F,h[33]=g,h[34]=o,h[35]=m):m=h[35],m}function p6(e){return e.stopPropagation()}function p9(e){return e.uid}function p8(e){let{group:t,onClick:A=t?.onClick}=this;return A?(console.log("onClickDefault"),e.preventDefault(),e.stopPropagation(),A(e,t),!1):void console.log("No onClick function",t)}function p5(e){let t,A,n,r,o,i,s,a,l,c,u,d=(0,D.c)(29),{marginLeft:p,isActive:g,colorHex:m,count:h,text:f,menu:w}=e,B=void 0!==g&&g,y=void 0===w?null:w,v=`${void 0===p?8:p}px`;d[0]!==v?(t={marginLeft:v,padding:0},d[0]=v,d[1]=t):t=d[1];let S=`inline-flex text-base ${B?"bg-popover":"bg-muted"} flex-grow`;d[2]!==e?(A=p8.bind(e),d[2]=e,d[3]=A):A=d[3];let C=`inline-flex rounded-l border-r border-background ${B?"bg-highlight":"bg-muted"}`;return d[4]!==h?(n=void 0!==h?(0,tp.jsx)("span",{className:"px-2",children:h}):null,d[4]=h,d[5]=n):n=d[5],d[6]!==m?(r=m&&(0,tp.jsx)(tB.ColorCircle,{colorHex:m}),d[6]=m,d[7]=r):r=d[7],d[8]!==C||d[9]!==n||d[10]!==r?(o=(0,tp.jsxs)("span",{className:C,children:[n,r]}),d[8]=C,d[9]=n,d[10]=r,d[11]=o):o=d[11],d[12]!==f?(i=(0,tp.jsx)("span",{children:f}),d[12]=f,d[13]=i):i=d[13],d[14]!==o||d[15]!==i||d[16]!==A?(s=(0,tp.jsxs)("button",{onClick:A,children:[o,i]}),d[14]=o,d[15]=i,d[16]=A,d[17]=s):s=d[17],d[18]!==y||d[19]!==e?(a=y&&(0,tp.jsx)(y,{...e,classNames:"justify-end flex-grow"}),d[18]=y,d[19]=e,d[20]=a):a=d[20],d[21]===Symbol.for("react.memo_cache_sentinel")?(l=(0,tp.jsx)(pb,{className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"}),d[21]=l):l=d[21],d[22]!==s||d[23]!==a||d[24]!==S?(c=(0,tp.jsxs)("div",{className:S,children:[s,a,l]}),d[22]=s,d[23]=a,d[24]=S,d[25]=c):c=d[25],d[26]!==c||d[27]!==t?(u=(0,tp.jsx)(tB.AccordionTrigger,{style:t,asChild:!0,children:c}),d[26]=c,d[27]=t,d[28]=u):u=d[28],u}function p7(e){let t,A,n,r=(0,D.c)(10),{index:o,item:i}=e,s=o+1,a=i.toolName||i.label||i.title;return r[0]!==i?(t=[i],r[0]=i,r[1]=t):t=r[1],r[2]!==e.onClick||r[3]!==t?(A={items:t,onClick:e.onClick},r[2]=e.onClick,r[3]=t,r[4]=A):A=r[4],r[5]!==i.isSelected||r[6]!==s||r[7]!==a||r[8]!==A?(n=(0,tp.jsx)(p5,{count:s,text:a,colorHex:"#f00",isActive:i.isSelected,menu:p4,group:A}),r[5]=i.isSelected,r[6]=s,r[7]=a,r[8]=A,r[9]=n):n=r[9],n}function ge(e){let t,A,n,r=(0,D.c)(9),{items:o}=e,i=(0,k.useSystem)();r[0]!==i?(t=(e,t)=>{let{items:A}=t;i.commandsManager.run("jumpToMeasurement",{uid:A[0].uid,displayMeasurements:A,group:t})},r[0]=i,r[1]=t):t=r[1];let s=t;if(r[2]!==o||r[3]!==s){let e;r[5]!==s?(e=(e,t)=>{let{displayText:A}=e,n=void 0===A?{}:A;return(0,tp.jsxs)(tB.AccordionItem,{value:e.uid,children:[(0,tp.jsx)(p7,{item:e,index:t,onClick:s},`measurementItem:${e.uid}`),(0,tp.jsx)(tB.AccordionContent,{children:(0,tp.jsx)("div",{className:"ml-7 px-2 py-2",children:(0,tp.jsx)("div",{className:"text-secondary-foreground flex items-center gap-1 text-base leading-normal",children:n.primary?.length>0&&n.primary.map((t,A)=>(0,tp.jsx)("span",{children:t},`details:${e.uid}:${A}`))})})},`measurementContent:${e.uid}`)]},`measurementAccordion:${e.uid}`)},r[5]=s,r[6]=e):e=r[6],A=o.map(e),r[2]=o,r[3]=s,r[4]=A}else A=r[4];return r[7]!==A?(n=(0,tp.jsx)(tB.Accordion,{type:"multiple",className:"flex-shrink-0 overflow-hidden",children:A}),r[7]=A,r[8]=n):n=r[8],n}let gt=(e,t,A)=>{let n=new Map,{displaySetService:r}=A.servicesManager.services,{activeDisplaySetInstanceUID:o}=t;return e.forEach(e=>{let{displaySetInstanceUID:A}=e;if(!n.has(A)){let e=r.getDisplaySetByUID(A);n.set(A,{header:null,isSelected:A==o,...t,items:[],key:A,title:"Series Measurements",displaySet:e})}n.get(A).items.push(e)}),n};function gA(e){let t,A=(0,D.c)(5),{group:n,isSelected:r,displaySet:o,menu:i}=e,{SeriesNumber:s,SeriesDescription:a}=o,l=`Series #${void 0===s?1:s} ${a}`;return A[0]!==n||A[1]!==r||A[2]!==i||A[3]!==l?(t=(0,tp.jsx)(p5,{text:l,count:n.items.length,isActive:r,group:n,menu:i,marginLeft:"0"}),A[0]=n,A[1]=r,A[2]=i,A[3]=l,A[4]=t):t=A[4],t}function gn(e){let t,A,n,r,o,i,s=(0,D.c)(14),{items:a,grouping:l,children:c}=e;s[0]!==l?(t=void 0===l?{}:l,s[0]=l,s[1]=t):t=s[1];let u=t,d=(0,k.useSystem)(),p=(0,k.useActiveViewportDisplaySets)(d),g=p?.[0]?.displaySetInstanceUID;s[2]!==d?(A=(e,t)=>{let{items:A}=t;d.commandsManager.run("jumpToMeasurement",{uid:A[0].uid,displayMeasurements:A,group:t})},s[2]=d,s[3]=A):A=s[3];let m=A;return s[4]!==g||s[5]!==u||s[6]!==m?(n={groupingFunction:gt,activeDisplaySetInstanceUID:g,...u,onClick:m},s[4]=g,s[5]=u,s[6]=m,s[7]=n):n=s[7],s[8]===Symbol.for("react.memo_cache_sentinel")?(r=(0,tp.jsx)(pF.Trigger,{asChild:!0,children:(0,tp.jsx)(gA,{menu:p4})}),o=(0,tp.jsx)(ge,{}),s[8]=r,s[9]=o):(r=s[8],o=s[9]),s[10]!==c||s[11]!==a||s[12]!==n?(i=(0,tp.jsxs)(pF,{grouping:n,items:a,sourceChildren:c,children:[r,o]}),s[10]=c,s[11]=a,s[12]=n,s[13]=i):i=s[13],i}let{imageRetrieveMetadataProvider:gr}=L.utilities,go=M.lazy(()=>Promise.resolve().then(x.bind(x,7406))),gi=e=>{let t,A,n=(0,D.c)(3);return n[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,tp.jsx)("div",{children:"Loading..."}),n[0]=t):t=n[0],n[1]!==e?(A=(0,tp.jsx)(M.Suspense,{fallback:t,children:(0,tp.jsx)(go,{...e})}),n[1]=e,n[2]=A):A=n[2],A},gs={retrieveOptions:{single:{streaming:!0,decodeLevel:1}}},ga=[],gl={id:d6,onModeEnter:({servicesManager:e,commandsManager:t,extensionManager:A})=>{let{cornerstoneViewportService:n,toolbarService:r,segmentationService:o,customizationService:i}=e.services,{unsubscriptions:s}=(({servicesManager:e,commandsManager:t})=>{let{segmentationService:A,customizationService:n,displaySetService:r,viewportGridService:o}=e.services,{unsubscribe:i}=pJ({segmentationService:A,customizationService:n,commandsManager:t}),{unsubscribe:s}=pq({segmentationService:A}),{unsubscribe:a}=A.subscribe(A.EVENTS.SEGMENTATION_ADDED,e=>{let{segmentationId:t}=e;if(r.getDisplaySetByUID(t))return;let n=A.getSegmentation(t),o=n.label,i=n.representationData?.Labelmap?.imageIds??n.representationData?.Contour?.imageIds,s={displaySetInstanceUID:t,SOPClassUID:"1.2.840.10008.5.1.4.1.1.66.4",SOPClassHandlerId:"@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg",SeriesDescription:o,Modality:n.representationData[R.Enums.SegmentationRepresentations.Contour]?"RTSTRUCT":"SEG",numImageFrames:i.length,imageIds:i,isOverlayDisplaySet:!0,label:o,madeInClient:!0,segmentationId:t,isDerived:!0};r.addDisplaySets(s)}),{unsubscribe:l}=A.subscribe(A.EVENTS.SEGMENTATION_REMOVED,({segmentationId:e})=>{let A=r.getDisplaySetByUID(e);if(A){for(let[n,r]of(A.isHydrated=!1,t.runCommand("updateStoredSegmentationPresentation",{displaySet:A,hydrated:!1}),o.getState().viewports.entries()))(r.displaySetInstanceUIDs||[]).includes(e)&&t.runCommand("removeDisplaySetLayer",{viewportId:n,displaySetInstanceUID:e});A.madeInClient&&r.deleteDisplaySet(e)}}),{unsubscribeSelectedSegmentationsForViewportEvents:c}=function({segmentationService:e}){return{unsubscribeSelectedSegmentationsForViewportEvents:[e.EVENTS.SEGMENTATION_MODIFIED,e.EVENTS.SEGMENTATION_REPRESENTATION_MODIFIED].map(t=>e.subscribe(t,t=>{let{viewportId:A}=t;if(!A)return;let{selectedSegmentationsForViewport:n,setSelectedSegmentationsForViewport:r}=nG.getState(),o=e.getSegmentationRepresentations(A).find(e=>e.active),i=n[A]??new Map;o?i.set(o.type,o.segmentationId):i.clear(),r(A,i)})).map(e=>e.unsubscribe)}}({segmentationService:A});return{unsubscriptions:[i,s,a,l,...c]}})({servicesManager:e,commandsManager:t});ga.push(...s);let a=(L.eventTarget.addEventListener(p0.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,p1),[()=>{L.eventTarget.removeEventListener(p0.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,p1)}]);ga.push(...a),r.registerEventForToolbarUpdate(n,[n.EVENTS.VIEWPORT_DATA_CHANGED]),r.registerEventForToolbarUpdate(o,[o.EVENTS.SEGMENTATION_REMOVED,o.EVENTS.SEGMENTATION_MODIFIED,o.EVENTS.SEGMENTATION_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED]),r.registerEventForToolbarUpdate(L.eventTarget,[R.Enums.Events.TOOL_ACTIVATED]),L.utilities.HistoryMemo.DefaultHistoryMemo.size=i.getCustomization("cornerstone.maxUndoRedoCacheSize")||50,gr.clear(),gr.add("volume",L.ProgressiveRetrieveImages.interleavedRetrieveStages);let l=(A?.getActiveDataSource?.()?.[0]?.getConfig?.()??{}).stackRetrieveOptions??{},c=p2()(gs,null!=l&&"object"==typeof l&&Object.keys(l).some(e=>e.startsWith("$"))?l:{$merge:l??{}});gr.add("stack",c)},getPanelModule:({commandsManager:e,servicesManager:t,extensionManager:A})=>{let{toolbarService:n}=t.services,r={[ta.SegmentationRepresentations.Labelmap]:n.sections.labelMapSegmentationToolbox,[ta.SegmentationRepresentations.Contour]:n.sections.contourSegmentationToolbox},o=n=>{let{t:o}=tP("SegmentationPanel"),i=o(`${n.segmentationRepresentationTypes?.[0]??"Segmentation"} tools`);return(0,tp.jsxs)(tp.Fragment,{children:[(0,tp.jsx)(q.Toolbox,{buttonSectionId:r[n.segmentationRepresentationTypes?.[0]],title:i}),(0,tp.jsx)(pl,{commandsManager:e,servicesManager:t,extensionManager:A,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})]})};return[{name:"activeViewportWindowLevel",component:()=>(0,tp.jsx)(pC,{servicesManager:t})},{name:"panelMeasurement",iconName:"tab-linear",iconLabel:"Measure",label:"Measurement",component:pY},{name:"panelSegmentation",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>(0,tp.jsx)(pl,{commandsManager:e,servicesManager:t,extensionManager:A,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationNoHeader",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>(0,tp.jsx)(pl,{commandsManager:e,servicesManager:t,extensionManager:A,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationWithToolsLabelMap",iconName:"tab-segmentation",iconLabel:"Segmentation",label:cB().t("SegmentationPanel:Labelmap"),component:e=>o({...e,segmentationRepresentationTypes:[ta.SegmentationRepresentations.Labelmap,ta.SegmentationRepresentations.Surface]})},{name:"panelSegmentationWithToolsContour",iconName:"tab-contours",iconLabel:"Segmentation",label:cB().t("SegmentationPanel:Contour"),component:e=>o({...e,segmentationRepresentationTypes:[ta.SegmentationRepresentations.Contour]})}]},onModeExit:({servicesManager:e})=>{ga.forEach(e=>e()),ga.length=0;let{cineService:t,segmentationService:A}=e.services;Object.values(L.Enums.RequestType).forEach(e=>{L.imageLoadPoolManager.clearRequestStack(e),L.imageRetrievalPoolManager.clearRequestStack(e)}),V.utilities.clearCacheData(),t.setIsCineEnabled(!1),(0,$.cL)(),tl.I.getState().clearLutPresentationStore(),tc.q.getState().clearPositionPresentationStore(),nP.U.getState().clearSynchronizersStore(),q.useToggleOneUpViewportGridStore.getState().clearToggleOneUpViewportGridStore(),tu.v.getState().clearSegmentationPresentationStore(),nG.getState().clearSelectedSegmentationsForViewportStore(),e.services.viewedDataService?.clearViewedData(),A.removeAllSegmentations()},preRegistration:async function(e){let{servicesManager:t}=e;t.registerService(dV.REGISTRATION),t.registerService(uK.REGISTRATION),t.registerService(u0.REGISTRATION),t.registerService(du.REGISTRATION),t.registerService(dB.REGISTRATION),t.registerService(dH.REGISTRATION),t.registerService(d_.REGISTRATION);let{syncGroupService:A}=t.services;A.registerCustomSynchronizer("frameview",d8),await tm.call(this,e)},getToolbarModule:function({servicesManager:e,extensionManager:t}){let{toolGroupService:A,toolbarService:n,syncGroupService:r,cornerstoneViewportService:o,colorbarService:i,displaySetService:s,viewportGridService:a,segmentationService:l}=e.services;return[{name:"ohif.advancedRenderingControls",defaultComponent:uk},{name:"evaluate.advancedRenderingControls",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!i?.hasColorbar(e)}:{disabled:!0}},{name:"ohif.colorbar",defaultComponent:uV},{name:"ohif.trackingStatus",defaultComponent:uO},{name:"evaluate.trackingStatus",evaluate:({viewportId:e})=>{let t=a.getDisplaySetsUIDsForViewport(e);return t?.length?{disabled:!1}:{disabled:!0}}},{name:"ohif.modalityLoadBadge",defaultComponent:uU},{name:"evaluate.modalityLoadBadge",evaluate:({viewportId:e})=>{let t=a.getDisplaySetsUIDsForViewport(e);return t?.length?{disabled:!t.map(e=>s.getDisplaySetByUID(e)).some(e=>e?.Modality==="SR"||e?.Modality==="SEG"||e?.Modality==="RTSTRUCT")}:{disabled:!0}}},{name:"ohif.navigationComponent",defaultComponent:ux},{name:"evaluate.navigationComponent",evaluate:({viewportId:t})=>{let{trackedMeasurementsService:A}=e.services,n=a.getDisplaySetsUIDsForViewport(t);if(!n?.length)return{disabled:!0};let r=n.map(e=>s.getDisplaySetByUID(e)),o=l.getSegmentationRepresentations(t).length>0;if(!A)return{disabled:!o};let i=r.some(e=>e?.SeriesInstanceUID&&A.isSeriesTracked(e.SeriesInstanceUID)),c=r.some(e=>e?.Modality==="SR");return{disabled:!(o||i||c)}}},{name:"ohif.dataOverlayMenu",defaultComponent:c$},{name:"evaluate.dataOverlayMenu",evaluate:({viewportId:e})=>{if(!o.getCornerstoneViewport(e))return{disabled:!0};let t=a.getDisplaySetsUIDsForViewport(e);return t?.length?{disabled:!1}:{disabled:!0}}},{name:"ohif.orientationMenu",defaultComponent:c4},{name:"evaluate.orientationMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:a.getDisplaySetsUIDsForViewport(e).map(s.getDisplaySetByUID).some(e=>!e?.isReconstructable)}:{disabled:!0}},{name:"ohif.windowLevelMenu",defaultComponent:ud},{name:"ohif.voiManualControlMenu",defaultComponent:uw},{name:"ohif.windowLevelMenuEmbedded",defaultComponent:ud},{name:"evaluate.windowLevelMenuEmbedded",evaluate:()=>({isEmbedded:!0})},{name:"ohif.thresholdMenu",defaultComponent:uv},{name:"ohif.opacityMenu",defaultComponent:uC},{name:"evaluate.windowLevelMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!a.getDisplaySetsUIDsForViewport(e).map(s.getDisplaySetByUID).some(e=>e?.supportsWindowLevel),hasEmbeddedVariantToUse:!!n.isInAnySection("windowLevelMenuEmbedded")}:{disabled:!0}},{name:"evaluate.voiManualControlMenu",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!a.getDisplaySetsUIDsForViewport(e).map(s.getDisplaySetByUID).some(e=>e?.supportsWindowLevel)}:{disabled:!0}},{name:"evaluate.thresholdMenu",evaluate:({viewportId:e})=>{let t=o.getCornerstoneViewport(e);return t&&(0,nL.rK)(t)&&a.getDisplaySetsUIDsForViewport(e).length?{disabled:!1}:{disabled:!0}}},{name:"evaluate.opacityMenu",evaluate:({viewportId:e})=>{let t=o.getCornerstoneViewport(e);if(!t||!(0,nL.rK)(t))return{disabled:!0};let A=a.getDisplaySetsUIDsForViewport(e);return A.length<=1?{disabled:!0}:{disabled:A.map(s.getDisplaySetByUID).some(e=>e?.isOverlayDisplaySet)}}},{name:"evaluate.viewport.supported",evaluate:({viewportId:e,unsupportedViewportTypes:t,disabledText:A})=>{let n=o.getCornerstoneViewport(e);if(n&&t?.includes(n.type))return uP(A)}},{name:"evaluate.modality.supported",evaluate:({viewportId:e,unsupportedModalities:t,supportedModalities:A,disabledText:n})=>{let r=a.getDisplaySetsUIDsForViewport(e);if(!r?.length)return;let o=r.map(s.getDisplaySetByUID);return t?.length&&o.some(e=>t.includes(e?.Modality))?uP(n):A?.length&&!o.some(e=>A.includes(e?.Modality))?uP(n||cB().t("Buttons:Tool not available for this modality")):void 0}},{name:"evaluate.cornerstoneTool",evaluate:({viewportId:e,button:t,toolNames:r,disabledText:o})=>{let i=A.getToolGroupForViewport(e);if(!i)return;let s=n.getToolNameForButton(t);return i&&(i.hasTool(s)||r)?{disabled:!1,isActive:r?r.includes(i.getActivePrimaryMouseButtonTool()):i.getActivePrimaryMouseButtonTool()===s}:uP(o)}},{name:"evaluate.cornerstoneTool.toggleWithModifier",evaluate:({viewportId:e,button:t,disabledText:r,toggledOnIcon:o,defaultIcon:i})=>{let s=A.getToolGroupForViewport(e);if(!s)return;let a=n.getToolNameForButton(t);if(!s.hasTool(a))return uP(r);let{mode:l}=s.getToolOptions(a)??{},c=l===R.Enums.ToolModes.Passive||l===R.Enums.ToolModes.Active||l===R.Enums.ToolModes.Enabled,u=A.getToolBindings(s.id,a),d=u?.some(e=>null!=e.modifierKey)??!1;return{disabled:!1,isActive:!1,isToggled:c,icon:c&&d&&o?o:i??t.props.icon}}},{name:"evaluate.action",evaluate:()=>({disabled:!1})},{name:"evaluate.cornerstoneTool.toggle.ifStrictlyDisabled",evaluate:({viewportId:e,button:t,disabledText:r})=>uj({viewportId:e,button:t,toolbarService:n,disabledText:r,offModes:[R.Enums.ToolModes.Disabled],toolGroupService:A})},{name:"evaluate.cornerstoneTool.toggle",evaluate:({viewportId:e,button:t,disabledText:r})=>uj({viewportId:e,button:t,toolbarService:n,disabledText:r,offModes:[R.Enums.ToolModes.Disabled,R.Enums.ToolModes.Passive],toolGroupService:A})},{name:"evaluate.cornerstone.synchronizer",evaluate:({viewportId:e,button:t})=>{let A=r.getSynchronizersForViewport(e);if(!A?.length||A.length<=1)return{className:tB.utils.getToggledClassName(!1)};let n=Array.isArray(t.props?.commands)?t.props?.commands?.[0].commandOptions.type:t.props?.commands?.commandOptions.type;if(A=r.getSynchronizersOfType(n),!A?.length)return{className:tB.utils.getToggledClassName(!1)};let o=A[0],i=o?._enabled;return{className:tB.utils.getToggledClassName(i)}}},{name:"evaluate.viewportProperties.toggle",evaluate:({viewportId:e,button:t})=>{let A=o.getCornerstoneViewport(e);if(!A||A.isDisabled)return;let n=t.id,r=(0,nL.qU)(A),i=r.getPresentation(),s=r.getViewState(),a=s?.[n]||i?.[n];return a?{className:tB.utils.getToggledClassName(a)}:{disabled:!1}}},{name:"evaluate.displaySetIsReconstructable",evaluate:({viewportId:e,disabledText:t="Selected viewport is not reconstructable"})=>o.getCornerstoneViewport(e)?a.getDisplaySetsUIDsForViewport(e).map(s.getDisplaySetByUID).every(e=>e?.isReconstructable)?{disabled:!1}:uP(t):void 0}]},getHangingProtocolModule:function(){return[{name:cL.id,protocol:cL},{name:cN.id,protocol:cN},{name:cR.id,protocol:cR},{name:cV.id,protocol:cV},{name:ck.id,protocol:ck},{name:cH.id,protocol:cH},{name:c_.id,protocol:c_},{name:cP.id,protocol:cP}]},getViewportModule:({servicesManager:e,commandsManager:t})=>[{name:"cornerstone",component:A=>{let n,r=(0,D.c)(2),{toolbarService:o}=e.services;return r[0]!==A?(n=(0,tp.jsx)(gi,{...A,toolbarService:o,servicesManager:e,commandsManager:t}),r[0]=A,r[1]=n):n=r[1],n},isReferenceViewable:pZ.isReferenceViewable.bind(null,e)}],getCommandsModule:function({servicesManager:e,commandsManager:t,extensionManager:A}){let{viewportGridService:n,toolbarService:r,toolGroupService:o,cineService:i,uiDialogService:s,cornerstoneViewportService:a,uiNotificationService:l,measurementService:c,customizationService:u,colorbarService:d,hangingProtocolService:p,syncGroupService:g,segmentationService:m,displaySetService:h}=e.services;function f(){return ee(n)}function w(e){let t=e?Z(e):f();return t?.viewport}function B(){let e=f(),t=e&&o.getToolGroupForViewport(e.id);return t?.id}function y(e){return!e?.length||e.some(e=>e.mouseButton===R.Enums.MouseBindings.Primary&&null==e.modifierKey&&null==e.numTouchPoints)}function v(){let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e);return{segmentationId:t?.segmentationId,segmentIndex:m.getActiveSegment(e).segmentIndex}}function S(e){let t=o.getToolGroupIds();if(t?.length)for(let A of t){let t=cF.getBrushSizeForToolGroup(A),n="increase"===e?t+3:t-3;t&&(cF.setBrushSizeForToolGroup(A,n),r.refreshToolbarState({toolGroupId:A}))}}let C=t=>({type:A,value:n})=>{let{segmentationService:r}=e.services;A?r.setStyle({type:A},{[t]:n}):(r.setStyle({type:ta.SegmentationRepresentations.Labelmap},{[t]:n}),r.setStyle({type:ta.SegmentationRepresentations.Contour},{[t]:n}))},I={jumpToMeasurementViewport:({annotationUID:e,measurement:A})=>{R.annotation.selection.setAnnotationSelected(e,!0);let{metadata:r}=A,o=n.getActiveViewportId(),i=a.findNavigationCompatibleViewportId(o,r);if(i){let e,t,n=a.getCornerstoneViewport(i);n.setViewReference(r),n.render(),e=n,t=A,n_(e).centerOnMeasurement(e,t)&&n.render();return}let{displaySetInstanceUID:s}=A;if(!s)return void console.warn("ViewportGrid::No display set found in",A);let l=a.findUpdateableViewportConfiguration(o,A);if(!l)return void console.warn("Unable to find a viewport to show this in");let c=p.getViewportsRequireUpdate(l.viewportId,s);c?.[0]?(c[0].viewportOptions=l.viewportOptions,t.run("updateStoredPositionPresentation",{viewportId:l.viewportId,displaySetInstanceUIDs:[s],referencedImageId:A.referencedImageId,options:{...A.metadata}}),t.run("setDisplaySetsForViewports",{viewportsToUpdate:c})):console.warn("ViewportGrid::Unable to navigate to viewport containing",s)},cancelMeasurement:()=>{let e=f()?.viewport?.element;e&&(0,R.cancelActiveManipulations)(e)},loadDisplaySetData:async({displaySet:t,displaySetInstanceUID:A})=>{let n=t??h.getDisplaySetByUID(A);n&&await cn(n,e)},hydrateSecondaryDisplaySet:async({displaySet:e,viewportId:A})=>{if(!e)return;let r=a.getCornerstoneViewport(A);if(e.isOverlayDisplaySet){let A="SEG"!==e.Modality?ta.SegmentationRepresentations.Contour:r&&(0,es.Ov)(r)?ta.SegmentationRepresentations.Surface:ta.SegmentationRepresentations.Labelmap;t.runCommand("updateStoredSegmentationPresentation",{displaySet:e,type:A})}e.isHydrated=!0;let o=e.referencedDisplaySetInstanceUID,i=e=>{t.runCommand("updateStoredPositionPresentation",{viewportId:A,displaySetInstanceUIDs:[e.displaySetInstanceUID]})};if("SEG"===e.Modality||"RTSTRUCT"===e.Modality){let n=h.getDisplaySetByUID(o);i(n);let r=t.runCommand("loadSegmentationDisplaySetsForViewport",{viewportId:A,displaySetInstanceUIDs:[n.displaySetInstanceUID],derivedDisplaySetInstanceUID:e.displaySetInstanceUID,viewportType:nO(e.Modality)});if(u.getCustomization("panelSegmentation.disableEditing")){let t=e.displaySetInstanceUID,A=m.getSegmentation(t);Object.keys(A?.segments??{}).forEach(e=>{m.setSegmentLocked(t,parseInt(e),!0)})}return r}if("SR"===e.Modality){let A=t.runCommand("hydrateStructuredReport",{displaySetInstanceUID:e.displaySetInstanceUID}),{SeriesInstanceUIDs:r}=A,o=h.getDisplaySetsForSeries(r[0]);return o.forEach(i),o.length&&I.setDisplaySetsForViewports({viewportsToUpdate:[{viewportId:n.getActiveViewportId(),displaySetInstanceUIDs:[o[0].displaySetInstanceUID]}]}),A}},runSegmentBidirectional:async({segmentationId:e,segmentIndex:A}={})=>{let{segmentationId:r,segmentIndex:o}=e&&A?{segmentationId:e,segmentIndex:A}:v();if(!R.utilities.segmentation.getUniqueSegmentIndices(r).includes(o))return void l.show({title:cB().t("SegmentationPanel:Segment Bidirectional"),message:cB().t("SegmentationPanel:Draw a segment before using bidirectional measurement"),type:"warning"});let i=await R.utilities.segmentation.getSegmentLargestBidirectional({segmentationId:r,segmentIndices:[o]});if(!i.length)return;let s=n.getActiveViewportId();i.forEach(e=>{let{segmentIndex:t,majorAxis:A,minorAxis:n}=e,i=R.SegmentBidirectionalTool.hydrate(s,[A,n],{segmentIndex:t,segmentationId:r});e.annotationUID=i.annotationUID;let a=function({segmentationId:e,segmentIndex:t,bidirectionalData:A,segmentationService:n,annotation:r}){if(!e||void 0===t||!A)return console.debug("Missing required data for bidirectional stats update"),null;let o=n.getSegmentation(e);if(!o||!o.segments[t])return console.debug("Segment not found:",t,"in segmentation:",e),null;let i={...o},s=i.segments[t];s.cachedStats||(s.cachedStats={namedStats:{}}),s.cachedStats.namedStats||(s.cachedStats.namedStats={});let{majorAxis:a,minorAxis:l,maxMajor:c,maxMinor:u}=A;if(!a||!l)return console.debug("Missing major or minor axis data"),null;let d=!1,p=s.cachedStats.namedStats;return(c>0&&u>0&&(p.bidirectional={name:"bidirectional",label:"Bidirectional",annotationUID:r.annotationUID,value:{maxMajor:c,maxMinor:u,majorAxis:a,minorAxis:l},unit:"mm"},d=!0),d)?i:null}({segmentationId:r,segmentIndex:o,bidirectionalData:e,segmentationService:m,annotation:i});a&&m.addOrUpdateSegmentation({segmentationId:r,segments:a.segments})});let a=i.find(e=>e.segmentIndex===o);t.run("jumpToMeasurement",{uid:a?.annotationUID})},interpolateLabelmap:()=>{let{segmentationId:e,segmentIndex:t}=v();nQ.interpolate({segmentationId:e,segmentIndex:t})},showCornerstoneContextMenu:e=>{let A=f()?.viewport?.element,n={...e,element:A},{useSelectedAnnotation:r,nearbyToolData:o,event:i}=n;if(r&&!o){let e=ew(A);if(!(!n.allowedSelectedTools||n.allowedSelectedTools.includes(e?.metadata?.toolName)))return;n.nearbyToolData=e}n.defaultPointsPosition=[],n.selectorProps={toolName:n.nearbyToolData?.metadata?.toolName,value:n.nearbyToolData,uid:n.nearbyToolData?.annotationUID,nearbyToolData:n.nearbyToolData,event:i,...n.selectorProps},t.run(e,n)},updateStoredSegmentationPresentation:({displaySet:e,type:t,hydrated:A=!0})=>{let{addSegmentationPresentationItem:n,setHydrationForSegmentation:r,segmentationPresentationStore:o}=tu.v.getState(),i=e.referencedDisplaySetInstanceUID,s=e.displaySetInstanceUID;if(!i)return void r(s,{hydrated:A,type:t});let a=o[i]?.find(e=>e.segmentationId===s)?.type;n(i,{segmentationId:s,hydrated:A,type:t??a})},updateStoredPositionPresentation:({viewportId:e,displaySetInstanceUIDs:t,referencedImageId:A,options:n})=>{let r,o=a.getPresentations(e),{positionPresentationStore:i,setPositionPresentation:s,getPositionPresentationId:l}=tc.q.getState();t&&Array.isArray(t)&&t.length>0&&(r=Object.entries(i).find(([A,n])=>t.every(e=>A.includes(e))&&n?.viewportId===e)?.[0]);let c=A||n?.FrameOfReferenceUID?{...o.positionPresentation,viewReference:{referencedImageId:A,...n}}:o.positionPresentation;c&&s(r?r:l({displaySetInstanceUIDs:t,viewportId:e}),c)},getNearbyToolData:({nearbyToolData:e,element:t,canvasCoordinates:A})=>e??R.utilities.getAnnotationNearPoint(t,A),getNearbyAnnotation({element:e,canvasCoordinates:t}){let A=I.getNearbyToolData({nearbyToolData:null,element:e,canvasCoordinates:t});return A?.metadata?.toolName&&(t=>{let A=(0,L.getEnabledElement)(e);if(!A)return;let{renderingEngineId:n,viewportId:r}=A,o=R.ToolGroupManager.getToolGroupForViewport(r,n).getToolInstance(t);return o?.constructor?.isAnnotation??!0})(A.metadata.toolName)?A:null},_handleMeasurementLabelDialog:async e=>{let t=u.getCustomization("measurementLabels"),A=u.getCustomization("ui.labellingComponent"),n=c.getMeasurement(e);if(!n)return void console.debug("No measurement found for label editing");if(!t){let t=await (0,q.callInputDialog)({uiDialogService:s,title:cB().t("Tools:Edit Measurement Label"),placeholder:n.label||cB().t("Tools:Enter new label"),defaultValue:n.label});null!=t&&c.update(e,{...n,label:t},!0);return}let r=await (0,q.callInputDialogAutoComplete)({measurement:n,uiDialogService:s,labelConfig:t,renderContent:A});null!=r&&c.update(e,{...n,label:r},!0)},setMeasurementLabel:async({uid:e})=>{await I._handleMeasurementLabelDialog(e)},renameMeasurement:async({uid:e})=>{await I._handleMeasurementLabelDialog(e)},updateMeasurement:e=>{let{code:t,uid:A,textLabel:n,label:r}=e,{style:o}=e,i=c.getMeasurement(A);if(!i)return void console.warn("No measurement found to update",A);let s={...i};if(void 0!==n&&(s.label=n),void 0!==t){let e=t.type||"finding";if(t.ref&&!t.CodeValue){let e=t.ref.indexOf(":");t.CodeValue=t.ref.substring(e+1),t.CodeMeaning=t.text||r,t.CodingSchemeDesignator=t.ref.substring(0,e)}s[e]=t,"finding"!==e&&(s.findingSites?(s.findingSites=s.findingSites.filter(t=>t.type!==e),s.findingSites.push(t)):s.findingSites=[t])}o||=s.finding?.style,(o||=s.findingSites?.find(e=>e?.style)?.style)&&(o.lineDashSelected||=o.lineDash,R.annotation.config.style.setAnnotationStyles(i.uid,o),i.toolName===ec.PlanarFreehandROI&&(R.annotation.state.getAnnotation(i.uid).data.isOpenUShapeContour=!!o.isOpenUShapeContour)),c.update(s.uid,s,!0)},recordMeasurementsPredecessor:({measurements:e=[],predecessorImageId:t})=>{if(!t)return 0;let A=0;for(let{uid:n}of e){let e=c.getMeasurement(n);if(!e)continue;e.predecessorImageId=t;let r=R.annotation.state.getAnnotation(n);r&&(r.predecessorImageId=t),A++}return A},jumpToMeasurement:({uid:e,displayMeasurements:t=[]})=>{if(e)for(let A of(c.jumpToMeasurement(n.getActiveViewportId(),e),t))A.isActive=A.uid===e},removeMeasurement:({uid:e})=>{Array.isArray(e)?c.removeMany(e):c.remove(e)},toggleLockMeasurement:({uid:e})=>{c.toggleLockMeasurement(e)},toggleVisibilityMeasurement:({uid:e,items:t,visibility:A})=>{void 0===A&&t?.length&&(A=!t[0].isVisible),Array.isArray(e)?c.toggleVisibilityMeasurementMany(e,A):c.toggleVisibilityMeasurement(e,A)},downloadCSVMeasurementsReport:({measurementFilter:e})=>{k.utils.downloadCSVReport(c.getMeasurements(e))},downloadCSVSegmentationReport:({segmentationId:e})=>{let t=m.getSegmentation(e),{representationData:A}=t,{Labelmap:n}=A,{referencedImageIds:r}=n,o=r[0],{SeriesNumber:i,SeriesInstanceUID:s,StudyInstanceUID:a,SeriesDate:l,SeriesTime:c,SeriesDescription:u}=h.getActiveDisplaySets().find(e=>e.imageIds?.some(e=>e===o));!function(e,t){let A=[];A.push(["Segmentation ID",e.segmentationId||""]),A.push(["Segmentation Label",e.label||""]),A.push([]);let n=t.reference;if([["Series Number",n.SeriesNumber],["Series Instance UID",n.SeriesInstanceUID],["Study Instance UID",n.StudyInstanceUID],["Series Date",n.SeriesDate],["Series Time",n.SeriesTime],["Series Description",n.SeriesDescription]].forEach(([e,t])=>{t&&A.push([`reference ${e}`,t])}),A.push([]),A.push(["Segments Statistics"]),e.segments){let t=["Label"];for(let A in e.segments){let n=e.segments[A];t.push(`${n.label||""}`)}A.push(t),A.push(["Segment Index",...Object.values(e.segments).map(e=>e.segmentIndex||"")]),A.push(["Locked",...Object.values(e.segments).map(e=>e.locked?"Yes":"No")]),A.push(["Active",...Object.values(e.segments).map(e=>e.active?"Yes":"No")]);let n=new Set;for(let t of Object.values(e.segments))if(t.cachedStats&&t.cachedStats.namedStats)for(let e in t.cachedStats.namedStats){let A=t.cachedStats.namedStats[e],r=A.label||A.name,o=A.unit?` (${A.unit})`:"";n.add(`${r}${o}`)}for(let t of n){let n=[t];for(let A of Object.values(e.segments)){let e="";if(A.cachedStats&&A.cachedStats.namedStats)for(let n in A.cachedStats.namedStats){let r=A.cachedStats.namedStats[n];if(`${r.label||r.name}${r.unit?` (${r.unit})`:""}`===t){e=void 0!==r.value?r.value:"";break}}n.push(e)}A.push(n)}}let r="";for(let e of A)r+=e.map(e=>{let t=null!=e?e.toString():"";return t.includes(",")||t.includes('"')||t.includes("\n")?'"'+t.replace(/"/g,'""')+'"':t}).join(",")+"\n";l8(r,{filename:`${e.label||"Segmentation"}_Report_${new Date().toISOString().split("T")[0]}.csv`})}(t,{reference:{SeriesNumber:i,SeriesInstanceUID:s,StudyInstanceUID:a,SeriesDate:l,SeriesTime:c,SeriesDescription:u}})},getActiveViewportEnabledElement:f,setViewportActive:({viewportId:e})=>{a.getViewportInfo(e)?n.setActiveViewportId(e):console.warn("No viewport found for viewportId:",e)},arrowTextCallback:async({callback:e,data:t})=>{let A=u.getCustomization("measurementLabels"),n=u.getCustomization("ui.labellingComponent");if(!A){let A=await (0,q.callInputDialog)({uiDialogService:s,title:cB().t("Tools:Edit Arrow Text"),placeholder:t?.data?.label||cB().t("Tools:Enter new text"),defaultValue:t?.data?.label||""});e?.(A);return}let r=await (0,q.callInputDialogAutoComplete)({uiDialogService:s,labelConfig:A,renderContent:n});e?.(r)},toggleCine:()=>{let{viewports:e}=n.getState(),{isCineEnabled:t}=i.getState();i.setIsCineEnabled(!t),e.forEach((e,t)=>i.setCine({id:t,isPlaying:!1}))},setViewportWindowLevel({viewportId:e,windowWidth:t,windowCenter:A,displaySetInstanceUID:n}){let r,o,i=Number(t),s=Number(A),l=a.getRenderingEngine().getViewport(e);if(!l)return;let c=(0,es.rX)(l)?I.getVolumeIdForDisplaySet({viewportId:e,displaySetInstanceUID:n}):void 0;r=l,o={windowWidth:i,windowCenter:s,volumeId:c,displaySetInstanceUID:n},n_(r).setWindowLevel(r,o),l.render()},toggleViewportColorbar:({viewportId:e,displaySetInstanceUIDs:t,options:A={}})=>{d.hasColorbar(e)?d.removeColorbar(e):d.addColorbar(e,t,A)},setWindowLevel(e){let{toolGroupId:t}=e,{viewportId:A}=f(),n=o.getToolGroupForViewport(A);t&&t!==n||I.setViewportWindowLevel({...e,viewportId:A})},setWindowLevelPreset:({presetName:e,presetIndex:t})=>{let A=u.getCustomization("cornerstone.windowLevelPresets"),r=n.getActiveViewportId(),o=a.getCornerstoneViewport(r).getImageData().metadata.Modality;if(!o)return;let i=A[o];if(!i)return;let s=i[e]??Object.values(i)[t];I.setViewportWindowLevel({viewportId:r,windowWidth:s.window,windowCenter:s.level})},getVolumeIdForDisplaySet:({viewportId:e,displaySetInstanceUID:t})=>{let A=a.getCornerstoneViewport(e);return L.utilities.viewportSupportsVolumeId(A)?A.getAllVolumeIds().find(e=>e.includes(t)):null},setToolEnabled:({toolName:e,toggle:t,toolGroupId:A})=>{let{viewports:r}=n.getState();if(!r.size)return;let i=o.getToolGroup(A??null);if(!i||!i.hasTool(e))return;let s=i.getToolOptions(e).mode===R.Enums.ToolModes.Enabled;t&&s?i.setToolDisabled(e):i.setToolEnabled(e),a.getRenderingEngine().render()},toggleEnabledDisabledToolbar({value:e,itemId:t,toolGroupId:A}){let n=t||e;A=A??B();let r=o.getToolGroup(A);r&&r.hasTool(n)&&(r.getToolOptions(n).mode===R.Enums.ToolModes.Enabled?r.setToolDisabled(n):r.setToolEnabled(n))},toggleActiveDisabledToolbar({value:e,itemId:t,toolGroupId:A,toolGroupIds:n}){let r=t||e;(n?.length?n:[A??B()]).forEach(e=>{let t=o.getToolGroup(e);if(!t||!t.hasTool(r))return;if([R.Enums.ToolModes.Active,R.Enums.ToolModes.Enabled,R.Enums.ToolModes.Passive].includes(t.getToolOptions(r).mode)){if(t.setToolDisabled(r),y(o.getToolBindings(e,r))){let A=t.getPrevActivePrimaryToolName();A!==r&&I.setToolActive({toolName:A,toolGroupId:e})}return}let A=o.getToolBindings(e,r);y(A)?I.setToolActive({toolName:r,toolGroupId:e,bindings:A}):t.setToolActive(r,{bindings:A})})},setToolActiveToolbar:({value:e,itemId:t,toolName:A,toolGroupIds:n=[],bindings:r})=>{A=A||t||e,(n=n.length?n:o.getToolGroupIds()).forEach(e=>{I.setToolActive({toolName:A,toolGroupId:e,bindings:r})})},setToolActive:({toolName:e,toolGroupId:t=null,bindings:A=[{mouseButton:R.Enums.MouseBindings.Primary}]})=>{let{viewports:r}=n.getState();if(!r.size)return;let i=o.getToolGroup(t);if(!i||!i?.hasTool(e))return;let s=i.getActivePrimaryMouseButtonTool();if(s){let e=i.getToolConfiguration(s);e?.disableOnPassive?i.setToolDisabled(s):i.setToolPassive(s)}i.setToolActive(e,{bindings:A})},showDownloadViewportModal:()=>{let{activeViewportId:t}=n.getState();if(!a.getCornerstoneViewport(t))return void l.show({title:cB().t("Tools:Download Image"),message:cB().t("Tools:Image cannot be downloaded"),type:"error"});let{uiModalService:A}=e.services;A&&A.show({content:l1,title:cB().t("Tools:Download High Quality Image"),contentProps:{activeViewportId:t,cornerstoneViewportService:a},containerClassName:"max-w-4xl p-4"})},rotateViewportBy:({rotation:e,viewportId:t})=>{I._rotateViewport({rotation:e,viewportId:t,rotationMode:"apply"})},setViewportRotation:({rotation:e,viewportId:t})=>{I._rotateViewport({rotation:e,viewportId:t,rotationMode:"set"})},flipViewportHorizontal:({viewportId:e,newValue:t="toggle"})=>{let A,n,r=w(e);r&&(A=r,n=t,n_(A).flipHorizontal(A,n),r.render())},flipViewportVertical:({viewportId:e,newValue:t="toggle"})=>{let A,n,r=w(e);r&&(A=r,n=t,n_(A).flipVertical(A,n),r.render())},invertViewport:({element:e})=>{let t,A=void 0===e?w():e.viewport;A&&(n_(t=A).invert(t),A.render())},resetViewport:()=>{let e,t=w();t&&(n_(e=t).reset(e),t.render())},scaleViewport:({direction:e})=>{let t,A,n=w();n&&(t=n,A=e,n_(t).scaleBy(t,A),n.render())},jumpToImage:({imageIndex:e,viewport:t})=>{let A;if(t)A=a.getCornerstoneViewport(t.id);else{let e=f();if(!e)return;A=e.viewport}let n=0;if((0,es.TF)(A))n=A.getImageIds().length;else if((0,es.tO)(A))n=L.utilities.getImageSliceDataForVolumeViewport(A).numberOfSlices;else throw Error("Unsupported viewport type");let r=e<0?n+e:e;if(r>=n||r<0)throw Error(`Can't jump to ${e}`);L.utilities.jumpToSlice(A.element,{imageIndex:r})},scroll:e=>{let t=f();if(e.delta??=e.direction||1,e.direction??=e.delta,!t)return;let{viewport:A}=t;L.utilities.scroll(A,e)},setViewportColormap:({viewportId:e,displaySetInstanceUID:t,colormap:A,opacity:r=1,immediate:o=!1})=>{let i,s,l,c=a.getCornerstoneViewport(e),{viewportMatchDetails:u}=p.getActiveProtocol(),d=u.get(e)?.displaySetsInfo;if(d){let e=d.find(e=>e.displaySetInstanceUID===t);l=e?.displaySetOptions?.options?.colormap?.opacity}if(A={...A,opacity:l||r},(0,es.tO)(c)&&!t){let{viewports:A}=n.getState();t=A.get(e)?.displaySetInstanceUIDs[0]}i=c,s={colormap:A,displaySetInstanceUID:t},n_(i).setColormap(i,s),o&&c.render()},changeActiveViewport:({direction:e=1})=>{let{activeViewportId:t,viewports:A}=n.getState(),r=Array.from(A.keys()),o=(r.indexOf(t)+e+r.length)%r.length;n.setActiveViewportId(r[o])},toggleSynchronizer:({type:t,viewports:A,syncId:n})=>{let r=g.getSynchronizer(n);if(r)return void(r.isDisabled()?r.setEnabled(!0):r.setEnabled(!1));let o=cE[t];o&&o({servicesManager:e,viewports:A,syncId:n})},setViewportForToolConfiguration:({viewportId:e,toolName:t})=>{if(!e){let{activeViewportId:t}=n.getState();e=t??"default"}let A=o.getToolGroupForViewport(e);if(!A?.hasTool(t))return;let r=A?.getToolConfiguration(t);A?.setToolConfiguration(t,{...r,sourceViewportId:e},!0),a.getRenderingEngine().render()},storePresentation:({viewportId:e})=>{a.storePresentation({viewportId:e})},updateVolumeData:({volume:e})=>{let{imageData:t,vtkOpenGLTexture:A}=e;[...Array(t.getDimensions()[2]).keys()].forEach(e=>{A.setUpdatedFrame(e)}),t.modified()},attachProtocolViewportDataListener:({protocol:e,stageIndex:A})=>{let n=a.EVENTS.VIEWPORT_DATA_CHANGED,r=e.callbacks.onViewportDataInitialized,o=e.stages?.[A]?.viewports.length??1,i=0,{unsubscribe:s}=a.subscribe(n,e=>{++i===o&&(t.run(...r),s(n))})},setViewportPreset:({viewportId:e,preset:t})=>{let A,n,r=a.getCornerstoneViewport(e);r&&(A=r,n=t,n_(A).setPreset(A,n),r.render())},setVolumeRenderingQulaity:({viewportId:e,volumeQuality:t})=>{let A,n,r=a.getCornerstoneViewport(e);r&&(A=r,n=t,n_(A).setVolumeRenderingQuality(A,n),r.render())},shiftVolumeOpacityPoints:({viewportId:e,shift:t})=>{let A,n,r=a.getCornerstoneViewport(e);r&&(A=r,n=t,n_(A).shiftVolumeOpacityPoints(A,n),r.render())},setVolumeLighting:({viewportId:e,options:t})=>{let A,n,r=a.getCornerstoneViewport(e);r&&(A=r,n=t,n_(A).setVolumeLighting(A,n),r.render())},resetCrosshairs:({viewportId:e})=>{let t=[],A=e=>{let A=o.getToolGroup(e);A?.hasTool("Crosshairs")&&t.push(A.getToolInstance("Crosshairs"))};if(e){let t=o.getToolGroupForViewport(e);t&&A(t.id)}else o.getToolGroupIds().forEach(A);t.forEach(e=>{e?.computeToolCenter()})},createLabelmapForViewport:async({viewportId:t,options:A={}})=>cy(e,{viewportId:t,options:A,segmentationType:ta.SegmentationRepresentations.Labelmap}),createContourForViewport:async({viewportId:t,options:A={}})=>cy(e,{viewportId:t,options:A,segmentationType:ta.SegmentationRepresentations.Contour}),setActiveSegmentation:({segmentationId:t})=>{let{viewportGridService:A,segmentationService:n}=e.services;n.setActiveSegmentation(A.getActiveViewportId(),t)},addSegmentCommand:({segmentationId:t,config:A})=>{let{segmentationService:n}=e.services;n.addSegment(t,A)},setActiveSegmentAndCenterCommand:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n,viewportGridService:r}=e.services;n.setActiveSegmentation(r.getActiveViewportId(),t),n.setActiveSegment(t,A);let{highlightAlpha:o,highlightSegment:i,animationLength:s,animationFunctionType:a}=u.getCustomization("panelSegmentation.jumpToSegmentHighlightAnimationConfig")??{},l=Object.values(ch).includes(a)?a:void 0;n.jumpToSegmentNext(t,A,void 0,o,i,s,void 0,l)},toggleSegmentVisibilityCommand:({segmentationId:t,segmentIndex:A,type:n})=>{let{segmentationService:r,viewportGridService:o}=e.services;r.toggleSegmentVisibility(o.getActiveViewportId(),t,A,n)},toggleSegmentLockCommand:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n}=e.services;n.toggleSegmentLocked(t,A)},toggleSegmentationVisibilityCommand:({segmentationId:t,type:A})=>{let{segmentationService:n,viewportGridService:r}=e.services;n.toggleSegmentationRepresentationVisibility(r.getActiveViewportId(),{segmentationId:t,type:A})},downloadSegmentationCommand:({segmentationId:t})=>{let{segmentationService:A}=e.services;A.downloadSegmentation(t)},storeSegmentationCommand:async A=>{let{segmentationId:n}=A,{segmentationService:r,viewportGridService:o}=e.services,i=await (0,q.createReportAsync)({servicesManager:e,getReport:()=>t.runCommand("storeSegmentation",A),reportType:"Segmentation"});i&&(r.remove(n),o.setDisplaySetsForViewport({viewportId:o.getActiveViewportId(),displaySetInstanceUIDs:i}))},downloadRTSSCommand:({segmentationId:t})=>{let{segmentationService:A}=e.services;A.downloadRTSS(t)},setSegmentationStyleCommand:({type:t,key:A,value:n})=>{let{segmentationService:r}=e.services;r.setStyle({type:t},{[A]:n})},deleteSegmentCommand:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n}=e.services;n.removeSegment(t,A)},deleteSegmentationCommand:({segmentationId:t})=>{let{segmentationService:A}=e.services;A.remove(t)},removeSegmentationFromViewportCommand:({segmentationId:A})=>{let{viewportGridService:n}=e.services,r=n.getActiveViewportId();t.runCommand("removeDisplaySetLayer",{viewportId:r,displaySetInstanceUID:A,unhydrate:!0})},toggleRenderInactiveSegmentationsCommand:()=>{let{segmentationService:t,viewportGridService:A}=e.services,n=A.getActiveViewportId(),r=t.getRenderInactiveSegmentations(n);t.setRenderInactiveSegmentations(n,!r)},editSegmentLabel:async({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n,uiDialogService:r}=e.services,o=n.getSegmentation(t);if(!o)return;let i=o.segments[A];(0,q.callInputDialog)({uiDialogService:r,title:cB().t("Tools:Edit Segment Label"),placeholder:cB().t("Tools:Enter new label"),defaultValue:i.label}).then(e=>{n.setSegmentLabel(t,A,e)})},editSegmentationLabel:({segmentationId:t})=>{let{segmentationService:A,uiDialogService:n}=e.services,r=A.getSegmentation(t);if(!r)return;let{label:o}=r;(0,q.callInputDialog)({uiDialogService:n,title:cB().t("Tools:Edit Segmentation Label"),placeholder:cB().t("Tools:Enter new label"),defaultValue:o}).then(e=>{A.addOrUpdateSegmentation({segmentationId:t,label:e})})},editSegmentColor:({segmentationId:t,segmentIndex:A})=>{let{segmentationService:n,uiDialogService:r,viewportGridService:o}=e.services,i=o.getActiveViewportId(),s=n.getSegmentColor(i,t,A),a={r:s[0],g:s[1],b:s[2],a:s[3]/255};r.show({content:q.colorPickerDialog,title:cB().t("Tools:Segment Color"),contentProps:{value:a,onSave:e=>{let r=[e.r,e.g,e.b,255*e.a];n.setSegmentColor(i,t,A,r)}}})},getRenderInactiveSegmentations:()=>{let{segmentationService:t,viewportGridService:A}=e.services;return t.getRenderInactiveSegmentations(A.getActiveViewportId())},deleteActiveAnnotation:()=>{R.annotation.selection.getAnnotationsSelected().forEach(e=>{c.remove(e)})},setDisplaySetsForViewports:({viewportsToUpdate:t})=>{let{cineService:A,viewportGridService:n}=e.services;t.forEach(e=>{let t=A.getState(),n=t.cines?.[e.viewportId];A.setCine({id:e.viewportId,frameRate:n?.frameRate??t.default?.frameRate??24,isPlaying:!1})}),n.setDisplaySetsForViewports(t)},undo:()=>{cU.undo()},redo:()=>{cU.redo()},toggleSegmentPreviewEdit:({toggle:e})=>{let t=cQ({toolGroupService:o});(t=t.filter(e=>!e.toolName.includes("Eraser"))).forEach(t=>{t.configuration={...t.configuration,preview:{...t.configuration.preview,enabled:e}}})},toggleSegmentSelect:({toggle:e})=>{o.getToolGroupIds().forEach(t=>{let A=R.ToolGroupManager.getToolGroup(t);e?A.setToolActive(R.SegmentSelectTool.toolName):A.setToolDisabled(R.SegmentSelectTool.toolName)})},toggleSegmentLabel:({enabled:e})=>{let t=R.SegmentLabelTool.toolName,A=o.getToolGroupIds(),n=A.some(e=>{let A=R.ToolGroupManager.getToolGroup(e);return"Active"===A.getToolInstance(t)?.mode}),r=void 0!==e?e:!n;A.forEach(e=>{let A=R.ToolGroupManager.getToolGroup(e);r?A.setToolActive(t):A.setToolDisabled(t)})},initializeSegmentLabelTool:({tools:t})=>{let{customizationService:A}=e.services,n=A.getCustomization("segmentation.segmentLabel");if(n?.enabledByDefault){let e=t?.active??[];return e.push({toolName:ec.SegmentLabel,configuration:{hoverTimeout:n?.hoverTimeout??1,color:n?.labelColor,background:n?.background}}),t.active=e,t}let r=t?.disabled??[];return r.push({toolName:ec.SegmentLabel,configuration:{hoverTimeout:n?.hoverTimeout??1,color:n?.labelColor}}),t.disabled=r,t},toggleUseCenterSegmentIndex:({toggle:e})=>{let t=cQ({toolGroupService:o});(t=t.filter(e=>!e.toolName.includes("Eraser"))).forEach(t=>{t.configuration={...t.configuration,useCenterSegmentIndex:e}})},_handlePreviewAction:e=>{let{viewport:t}=f();(({toolGroupService:e})=>cQ({toolGroupService:e}).filter(e=>e.acceptPreview||e.rejectPreview))({toolGroupService:o}).forEach(t=>{try{t[`${e}Preview`]()}catch(e){console.debug("Error accepting preview for tool",t.toolName)}}),cT.enabled&&cT[`${e}Preview`](t.element)},acceptPreview:()=>{I._handlePreviewAction("accept")},rejectPreview:()=>{I._handlePreviewAction("reject")},cancelActiveOperation:()=>{try{I.rejectPreview()}catch(e){console.debug("Error rejecting active preview",e)}finally{I.cancelMeasurement()}},clearMarkersForMarkerLabelmap:()=>{let{viewport:e}=f(),t=R.ToolGroupManager.getToolGroupForViewport(e.id).getToolInstance("MarkerLabelmap");t&&t.clearMarkers(e)},interpolateScrollForMarkerLabelmap:()=>{let{viewport:e}=f(),t=R.ToolGroupManager.getToolGroupForViewport(e.id).getToolInstance("MarkerLabelmap");t&&t.interpolateScroll(e,1)},toggleLabelmapAssist:async()=>{let{viewport:e}=f(),t=!cT.enabled;cT.enabled=t,cD||(await cT.initModel(),cD=!0);let A=o.getToolGroupIds();t?I.setToolActiveToolbar({toolName:"CircularBrushForAutoSegmentAI",toolGroupIds:A}):A.forEach(e=>{R.ToolGroupManager.getToolGroup(e).setToolPassive("CircularBrushForAutoSegmentAI")}),cT.enabled&&cT.initViewport(e)},setBrushSize:({value:e})=>{let t=Number(e);o.getToolGroupIds()?.forEach(e=>{cF.setBrushSizeForToolGroup(e,t)})},setThresholdRange:({value:e,toolNames:t=["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic","ThresholdSphereBrushDynamic"]})=>{let A=o.getToolGroupIds();if(A?.length)for(let n of A){let A=o.getToolGroup(n);t?.forEach(t=>{A.setToolConfiguration(t,{threshold:{range:e}})})}},increaseBrushSize:()=>{S("increase")},decreaseBrushSize:()=>{S("decrease")},addNewSegment:()=>{let{segmentationService:t}=e.services,{activeViewportId:A}=n.getState(),r=t.getActiveSegmentation(A);r&&t.addSegment(r.segmentationId)},loadSegmentationDisplaySetsForViewport:({viewportId:t,displaySetInstanceUIDs:A,viewportType:r,derivedDisplaySetInstanceUID:o})=>{let i=function({viewportId:e,servicesManager:t,displaySetInstanceUIDs:A,derivedDisplaySetInstanceUID:n}){let{hangingProtocolService:r,viewportGridService:o}=t.services,{isHangingProtocolLayout:i,viewports:s}=o.getState(),a=function({derivedDisplaySetInstanceUID:e,servicesManager:t}){let{displaySetService:A,customizationService:n}=t.services,r=e?A.getDisplaySetByUID(e):void 0;if(r)return e=>{if(!ct({viewportType:e?.viewportOptions?.viewportType,customizationService:n}))return!1;let t=(e?.displaySetInstanceUIDs||[]).find(e=>{let t=A.getDisplaySetByUID(e);return t&&!t.isOverlayDisplaySet});return!!t&&(0,l5.R)({displaySet:r,backgroundDisplaySet:A.getDisplaySetByUID(t)})}}({derivedDisplaySetInstanceUID:n,servicesManager:t}),l=(({viewportId:e,viewportGridService:t})=>{let{viewports:A,activeViewportId:n}=t.getState();return A.get(e||n)})({viewportId:e,viewportGridService:o}),c=l?.viewportOptions?.viewportId,u=c?r.getViewportsRequireUpdate(c,A[0],i):null;return i?null!=u||a?cA(u,A[0],s,a):u:u?.length?u:cA(null,void 0,s,a)}({viewportId:t,servicesManager:e,displaySetInstanceUIDs:A,derivedDisplaySetInstanceUID:o});if(!i?.length)return;i.forEach(({viewportId:e})=>{let t=a.getCornerstoneViewport(e);t?.setNeedsRender?.()});let s=t||n.getActiveViewportId();I.setDisplaySetsForViewports({viewportsToUpdate:i.map(e=>({viewportId:e.viewportId,displaySetInstanceUIDs:e.displaySetInstanceUIDs,...r&&e.viewportId===s?{viewportOptions:{...e.viewportOptions,viewportType:r}}:{}}))})},setViewportOrientation:({viewportId:e,orientation:t})=>{let A=a.getCornerstoneViewport(e);A&&(0,nL.qU)(A).canReorientInPlace()?n.getDisplaySetsUIDsForViewport(e).map(e=>h.getDisplaySetByUID(e)).some(e=>e.isReconstructable)?(A.setOrientation(t),A.render(),a.getViewportInfo(e).setOrientation(t)):console.warn("Cannot change orientation: No reconstructable display sets in viewport"):console.warn("Orientation can only be set on volume viewports")},toggleViewportHorizontalFlip:({viewportId:e}={})=>{I.flipViewportHorizontal({viewportId:e,newValue:"toggle"})},setViewportHorizontalFlip:({flipped:e,viewportId:t})=>{I.flipViewportHorizontal({viewportId:t,newValue:e})},toggleViewportVerticalFlip:({viewportId:e}={})=>{I.flipViewportVertical({viewportId:e,newValue:"toggle"})},setViewportVerticalFlip:({flipped:e,viewportId:t})=>{I.flipViewportVertical({viewportId:t,newValue:e})},_rotateViewport:({rotation:e,viewportId:t,rotationMode:A="apply"})=>{let n,r,o,i=w(t);i&&(n=i,r=e,o=A,n_(n).rotate(n,r,o),i.render())},startRecordingForAnnotationGroup:()=>{R.AnnotationTool.startGroupRecording()},endRecordingForAnnotationGroup:()=>{R.AnnotationTool.endGroupRecording()},triggerCreateAnnotationMemo:({annotation:e,FrameOfReferenceUID:t,options:A})=>{let{newAnnotation:n,deleting:r}=A,o=(0,L.getRenderingEngines)().flatMap(e=>e.getViewports()).find(e=>e.getFrameOfReferenceUID()===t);o&&R.AnnotationTool.createAnnotationMemo(o.element,e,{newAnnotation:n,deleting:r})},activateSelectedSegmentationOfType:({segmentationRepresentationType:t})=>{let{segmentationService:A,viewportGridService:n}=e.services,r=n.getActiveViewportId(),{selectedSegmentationsForViewport:o}=nG.getState(),i=o[r]?.get(t);i&&A.setActiveSegmentation(r,i)},setDynamicCursorSizeForSculptorTool:({value:e})=>{let t=n.getActiveViewportId(),A=o.getToolGroupForViewport(t).getToolInstance(ec.SculptorTool),r=A.configuration;A.configuration={...r,updateCursorSize:e?"dynamic":""}},setInterpolationToolConfiguration:({value:e,toolNames:t})=>{let A=n.getActiveViewportId(),r=o.getToolGroupForViewport(A),i=o.getActiveToolForViewport(A),s={interpolation:{enabled:e}};r.setToolConfiguration(i,s),t&&Object.values(r.getToolInstances()).forEach(e=>{t?.includes(e.toolName)&&r.setToolConfiguration(e.toolName,s)})},setSimplifiedSplineForSplineContourSegmentationTool:({value:e})=>{let t=n.getActiveViewportId();Object.values(o.getToolGroupForViewport(t).getToolInstances()).forEach(t=>{if(t instanceof R.SplineContourSegmentationTool){let A=t.configuration;t.configuration={...A,simplifiedSpline:e}}})},removeSmallContours:({areaThreshold:e})=>{let t=n.getActiveViewportId(),A=m.getActiveSegmentation(t),r=m.getActiveSegment(t);if(!A||!r)return;let{removeContourIslands:o}=cv.utilities;o(A.segmentationId,r.segmentIndex,{threshold:e}),a.getRenderingEngine().render()},applyLogicalContourOperation:({segmentAInfo:e,segmentBInfo:t,resultSegmentInfo:A,logicalOperation:n})=>{switch(n){case nF.LogicalOperation.Union:cS(e,t,A);break;case nF.LogicalOperation.Intersect:cC(e,t,A);break;case nF.LogicalOperation.Subtract:cI(e,t,A);break;default:throw Error("Unsupported logical operation")}},copyContourSegment:({sourceSegmentInfo:e,targetSegmentInfo:t})=>{if(!t){let A=m.getSegmentation(e.segmentationId),n=A?.segments?.[e.segmentIndex]?.cachedStats;t={segmentationId:e.segmentationId,segmentIndex:m.getNextAvailableSegmentIndex(e.segmentationId)},m.addSegment(t.segmentationId,{segmentIndex:t.segmentIndex,...n&&{cachedStats:L.utilities.deepClone(n)}})}cb(e,t)},smoothContours:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let{smoothContours:r}=cv.utilities;r(t.segmentationId,A.segmentIndex),a.getRenderingEngine().render()},removeContourHoles:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let{removeContourHoles:r}=cv.utilities;r(t.segmentationId,A.segmentIndex),a.getRenderingEngine().render()},decimateContours:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let{decimateContours:r}=cv.utilities;r(t.segmentationId,A.segmentIndex),a.getRenderingEngine().render()},convertContourHoles:()=>{let e=n.getActiveViewportId(),t=m.getActiveSegmentation(e),A=m.getActiveSegment(e);if(!t||!A)return;let r={segmentationId:t.segmentationId,segmentIndex:m.getNextAvailableSegmentIndex(t.segmentationId)};m.addSegment(r.segmentationId,{segmentIndex:r.segmentIndex});let{convertContourHoles:o}=cv.utilities;o(t.segmentationId,A.segmentIndex,r.segmentationId,r.segmentIndex),a.getRenderingEngine().render()}},b={showCornerstoneContextMenu:{commandFn:I.showCornerstoneContextMenu,options:{menuCustomizationId:"measurementsContextMenu",commands:[{commandName:"showContextMenu"}]}},getNearbyToolData:{commandFn:I.getNearbyToolData},getNearbyAnnotation:{commandFn:I.getNearbyAnnotation,storeContexts:[],options:{}},toggleViewportColorbar:{commandFn:I.toggleViewportColorbar},setMeasurementLabel:{commandFn:I.setMeasurementLabel},renameMeasurement:{commandFn:I.renameMeasurement},updateMeasurement:{commandFn:I.updateMeasurement},jumpToMeasurement:I.jumpToMeasurement,recordMeasurementsPredecessor:{commandFn:I.recordMeasurementsPredecessor},removeMeasurement:{commandFn:I.removeMeasurement},cancelMeasurement:{commandFn:I.cancelMeasurement},toggleLockMeasurement:{commandFn:I.toggleLockMeasurement},toggleVisibilityMeasurement:{commandFn:I.toggleVisibilityMeasurement},downloadCSVMeasurementsReport:{commandFn:I.downloadCSVMeasurementsReport},setViewportWindowLevel:{commandFn:I.setViewportWindowLevel},setWindowLevel:{commandFn:I.setWindowLevel},setWindowLevelPreset:{commandFn:I.setWindowLevelPreset},setToolActive:{commandFn:I.setToolActive},setToolActiveToolbar:{commandFn:I.setToolActiveToolbar},setToolEnabled:{commandFn:I.setToolEnabled},rotateViewportCW:{commandFn:I.rotateViewportBy,options:{rotation:90}},rotateViewportCCW:{commandFn:I.rotateViewportBy,options:{rotation:-90}},rotateViewportCWSet:{commandFn:I.setViewportRotation,options:{rotation:90}},incrementActiveViewport:{commandFn:I.changeActiveViewport},decrementActiveViewport:{commandFn:I.changeActiveViewport,options:{direction:-1}},flipViewportHorizontal:{commandFn:I.toggleViewportHorizontalFlip},flipViewportVertical:{commandFn:I.toggleViewportVerticalFlip},setViewportHorizontalFlip:{commandFn:I.setViewportHorizontalFlip,options:{flipped:!0}},setViewportVerticalFlip:{commandFn:I.setViewportVerticalFlip,options:{flipped:!0}},invertViewport:{commandFn:I.invertViewport},resetViewport:{commandFn:I.resetViewport},scaleUpViewport:{commandFn:I.scaleViewport,options:{direction:1}},scaleDownViewport:{commandFn:I.scaleViewport,options:{direction:-1}},fitViewportToWindow:{commandFn:I.scaleViewport,options:{direction:0}},nextImage:{commandFn:I.scroll,options:{direction:1}},previousImage:{commandFn:I.scroll,options:{direction:-1}},firstImage:{commandFn:I.jumpToImage,options:{imageIndex:0}},lastImage:{commandFn:I.jumpToImage,options:{imageIndex:-1}},jumpToImage:{commandFn:I.jumpToImage},showDownloadViewportModal:{commandFn:I.showDownloadViewportModal},toggleCine:{commandFn:I.toggleCine},arrowTextCallback:{commandFn:I.arrowTextCallback},setViewportActive:{commandFn:I.setViewportActive},setViewportColormap:{commandFn:I.setViewportColormap},setViewportForToolConfiguration:{commandFn:I.setViewportForToolConfiguration},storePresentation:{commandFn:I.storePresentation},attachProtocolViewportDataListener:{commandFn:I.attachProtocolViewportDataListener},setViewportPreset:{commandFn:I.setViewportPreset},setVolumeRenderingQulaity:{commandFn:I.setVolumeRenderingQulaity},shiftVolumeOpacityPoints:{commandFn:I.shiftVolumeOpacityPoints},setVolumeLighting:{commandFn:I.setVolumeLighting},resetCrosshairs:{commandFn:I.resetCrosshairs},toggleSynchronizer:{commandFn:I.toggleSynchronizer},updateVolumeData:{commandFn:I.updateVolumeData},toggleEnabledDisabledToolbar:{commandFn:I.toggleEnabledDisabledToolbar},toggleActiveDisabledToolbar:{commandFn:I.toggleActiveDisabledToolbar},updateStoredPositionPresentation:{commandFn:I.updateStoredPositionPresentation},updateStoredSegmentationPresentation:{commandFn:I.updateStoredSegmentationPresentation},createLabelmapForViewport:{commandFn:I.createLabelmapForViewport},createContourForViewport:{commandFn:I.createContourForViewport},setActiveSegmentation:{commandFn:I.setActiveSegmentation},addSegment:{commandFn:I.addSegmentCommand},setActiveSegmentAndCenter:{commandFn:I.setActiveSegmentAndCenterCommand},toggleSegmentVisibility:{commandFn:I.toggleSegmentVisibilityCommand},toggleSegmentLock:{commandFn:I.toggleSegmentLockCommand},toggleSegmentationVisibility:{commandFn:I.toggleSegmentationVisibilityCommand},downloadSegmentation:{commandFn:I.downloadSegmentationCommand},storeSegmentation:{commandFn:I.storeSegmentationCommand},downloadRTSS:{commandFn:I.downloadRTSSCommand},setSegmentationStyle:{commandFn:I.setSegmentationStyleCommand},deleteSegment:{commandFn:I.deleteSegmentCommand},deleteSegmentation:{commandFn:I.deleteSegmentationCommand},removeSegmentationFromViewport:{commandFn:I.removeSegmentationFromViewportCommand},toggleRenderInactiveSegmentations:{commandFn:I.toggleRenderInactiveSegmentationsCommand},setFillAlpha:{commandFn:C("fillAlpha")},setOutlineWidth:{commandFn:C("outlineWidth")},setRenderFill:{commandFn:C("renderFill")},setRenderFillInactive:{commandFn:C("renderFillInactive")},setRenderOutline:{commandFn:C("renderOutline")},setRenderOutlineInactive:{commandFn:C("renderOutlineInactive")},setFillAlphaInactive:{commandFn:C("fillAlphaInactive")},editSegmentLabel:{commandFn:I.editSegmentLabel},editSegmentationLabel:{commandFn:I.editSegmentationLabel},editSegmentColor:{commandFn:I.editSegmentColor},getRenderInactiveSegmentations:{commandFn:I.getRenderInactiveSegmentations},deleteActiveAnnotation:{commandFn:I.deleteActiveAnnotation},setDisplaySetsForViewports:I.setDisplaySetsForViewports,undo:I.undo,redo:I.redo,interpolateLabelmap:I.interpolateLabelmap,runSegmentBidirectional:I.runSegmentBidirectional,downloadCSVSegmentationReport:I.downloadCSVSegmentationReport,toggleSegmentPreviewEdit:I.toggleSegmentPreviewEdit,toggleSegmentSelect:I.toggleSegmentSelect,acceptPreview:I.acceptPreview,rejectPreview:I.rejectPreview,cancelActiveOperation:I.cancelActiveOperation,toggleUseCenterSegmentIndex:I.toggleUseCenterSegmentIndex,toggleLabelmapAssist:I.toggleLabelmapAssist,interpolateScrollForMarkerLabelmap:I.interpolateScrollForMarkerLabelmap,clearMarkersForMarkerLabelmap:I.clearMarkersForMarkerLabelmap,setBrushSize:I.setBrushSize,setThresholdRange:I.setThresholdRange,increaseBrushSize:I.increaseBrushSize,decreaseBrushSize:I.decreaseBrushSize,addNewSegment:I.addNewSegment,loadSegmentationDisplaySetsForViewport:I.loadSegmentationDisplaySetsForViewport,setViewportOrientation:I.setViewportOrientation,hydrateSecondaryDisplaySet:I.hydrateSecondaryDisplaySet,loadDisplaySetData:I.loadDisplaySetData,getVolumeIdForDisplaySet:I.getVolumeIdForDisplaySet,triggerCreateAnnotationMemo:I.triggerCreateAnnotationMemo,startRecordingForAnnotationGroup:I.startRecordingForAnnotationGroup,endRecordingForAnnotationGroup:I.endRecordingForAnnotationGroup,toggleSegmentLabel:I.toggleSegmentLabel,jumpToMeasurementViewport:I.jumpToMeasurementViewport,initializeSegmentLabelTool:I.initializeSegmentLabelTool,activateSelectedSegmentationOfType:I.activateSelectedSegmentationOfType,setDynamicCursorSizeForSculptorTool:I.setDynamicCursorSizeForSculptorTool,setSimplifiedSplineForSplineContourSegmentationTool:I.setSimplifiedSplineForSplineContourSegmentationTool,removeSmallContours:I.removeSmallContours,applyLogicalContourOperation:I.applyLogicalContourOperation,copyContourSegment:I.copyContourSegment,smoothContours:I.smoothContours,removeContourHoles:I.removeContourHoles,decimateContours:I.decimateContours,convertContourHoles:I.convertContourHoles,setInterpolationToolConfiguration:I.setInterpolationToolConfiguration};return{actions:I,definitions:b,defaultContext:"CORNERSTONE"}},getCustomizationModule:function({commandsManager:e,servicesManager:t,extensionManager:A}){return[{name:"default",value:{...tw,...function({commandsManager:e,servicesManager:t}){let{segmentationService:A}=t.services,n=!1,{unsubscribe:r}=A.subscribe(A.EVENTS.SEGMENTATION_STYLE_MODIFIED,({specifier:e,style:t})=>{e.type===ta.SegmentationRepresentations.Contour&&null==e.segmentationId&&null==e.viewportId&&null!=t.renderFill&&(r(),n=!0)});return{"panelSegmentation.customDropdownMenuContent":tK,"panelSegmentation.customSegmentStatisticsHeader":tW,"panelSegmentation.disableEditing":!1,"panelSegmentation.showAddSegment":!0,"panelSegmentation.onSegmentationAdd":async({segmentationRepresentationType:r=ta.SegmentationRepresentations.Labelmap})=>{let{viewportGridService:o}=t.services,i=o.getState().activeViewportId;if(r===ta.SegmentationRepresentations.Labelmap)e.run("createLabelmapForViewport",{viewportId:i});else if(r===ta.SegmentationRepresentations.Contour){let t=await e.run("createContourForViewport",{viewportId:i});if(n||A.setStyle({segmentationId:t,type:ta.SegmentationRepresentations.Contour},{renderFill:!0,renderFillInactive:!0},!1),n)return;let{unsubscribe:r}=A.subscribe(A.EVENTS.SEGMENTATION_STYLE_MODIFIED,({specifier:e,style:o})=>{e.type===ta.SegmentationRepresentations.Contour&&null==e.segmentationId&&null==e.viewportId&&null!=o.renderFill&&(n=!0,r(),A.setStyle({segmentationId:t,type:ta.SegmentationRepresentations.Contour},{},!1))})}},"panelSegmentation.tableMode":"collapsed","panelSegmentation.readableText":{min:"Min Value",minLPS:"Min Coord",max:"Max Value",maxLPS:"Max Coord",mean:"Mean Value",stdDev:"Standard Deviation",count:"Voxel Count",median:"Median",skewness:"Skewness",kurtosis:"Kurtosis",peakValue:"Peak Value",peakLPS:"Peak Coord",volume:"Volume",lesionGlycolysis:"Lesion Glycolysis",center:"Center"},"labelMapSegmentationToolbox.config":()=>(0,tp.jsx)(tY,{}),"contourSegmentationToolbox.config":()=>(0,tp.jsx)(tY,{})}}({commandsManager:e,servicesManager:t,extensionManager:A}),...tz,...tX,...tJ,...tq,...tZ,...t3,...t2,...t4,...t6,...Ax,...AL,...AR({commandsManager:e}),...nI,...nU,...nE,"viewportScrollbar.variant":"progress","viewportScrollbar.showLoadedEndpoints":!0,"viewportScrollbar.showLoadedFill":!0,"viewportScrollbar.showViewedFill":!0,"viewportScrollbar.showLoadingPattern":!0,"viewportScrollbar.viewedDwellMs":0,"viewportScrollbar.loadedBatchIntervalMs":200,"viewportScrollbar.indicator":{}}}]},getUtilityModule:({servicesManager:e})=>[{name:"common",exports:{getCornerstoneLibraries:()=>({cornerstone:L,cornerstoneTools:R}),getEnabledElement:$.kJ,dicomLoaderService:d4}},{name:"core",exports:{Enums:L.Enums}},{name:"tools",exports:{toolNames:ec,Enums:R.Enums}},{name:"volumeLoader",exports:{getDynamicVolumeInfo:td.getDynamicVolumeInfo}}],getSopClassHandlerModule:function(e){return[function({servicesManager:e,extensionManager:t}){return{name:"DicomMicroscopySopClassHandler",sopClassUids:["1.2.840.10008.5.1.4.1.1.77.1.6"],getDisplaySetsFromSeries:e=>(function(e,t){let A=t.getActiveDataSource()[0];if(!e||!e.length)throw Error("No instances were provided");let n=e[0],r=n,o=+r.NumberOfFrames||1;for(let t of e){let e=+t.NumberOfFrames||1;e<o&&(r=t,o=e)}let{FrameOfReferenceUID:i,SeriesDescription:s,ContentDate:a,ContentTime:l,SeriesNumber:c,StudyInstanceUID:u,SeriesInstanceUID:d,SOPInstanceUID:p,SOPClassUID:g}=n,m=(e=e.map(e=>(e.FrameOfReferenceUID=n.FrameOfReferenceUID,e))).filter(e=>e).map(e=>e.FrameOfReferenceUID).filter((e,t,A)=>A.indexOf(e)===t);m.length>1&&console.warn("Expected FrameOfReferenceUID of difference instances within a series to be the same, found multiple different values",m);let h={plugin:"microscopy",Modality:"SM",viewportType:L.Enums.ViewportType.WHOLE_SLIDE,altImageText:"Microscopy",displaySetInstanceUID:pt.guid(),SOPInstanceUID:p,SeriesInstanceUID:d,StudyInstanceUID:u,FrameOfReferenceUID:i,SOPClassHandlerId:"@ohif/extension-cornerstone.sopClassHandlerModule.DicomMicroscopySopClassHandler",SOPClassUID:g,SeriesDescription:s||"Microscopy Data",SeriesDate:a,SeriesTime:l,SeriesNumber:c,firstInstance:r,instance:n,numImageFrames:0,numInstances:1,others:e,instances:e,othersFrameOfReferenceUID:m,imageIds:e.map(e=>e.imageId),getThumbnailSrc:A.retrieve.getGetThumbnailSrc?.(r,r.imageId),label:s||`${cB().t("Series")} ${c} - ${cB().t("SM")}`},f=A.retrieve.getWadoDicomWebClient?.(),w=new Map;if(e.forEach(e=>w.set(e.imageId,e)),f){let e=Object.create(f);e.getDICOMwebMetadata=pn.bind(e,w),L.utilities.genericMetadataProvider.addRaw(h.imageIds[0],{type:pe.WADO_WEB_CLIENT,metadata:e})}return[h]})(e,t)}}(e),function({servicesManager:e}){return{name:"DicomEcgSopClassHandler",sopClassUids:pr,getDisplaySetsFromSeries:t=>(function(e,t){let{userAuthenticationService:A}=t.services;return e.map(e=>{let{Modality:t,SOPInstanceUID:n}=e,{SeriesDescription:r,SeriesNumber:o,SeriesDate:i}=e,{SeriesInstanceUID:s,StudyInstanceUID:a,SOPClassUID:l}=e,c=e.imageId;if(c){let t=function(e,t){let A=e?.WaveformSequence;if(!A?.length)return null;let n=A[0],r=n.NumberOfWaveformChannels??0,o=n.NumberOfWaveformSamples??0,i=n.SamplingFrequency??1,s=n.WaveformBitsAllocated??16,a=n.WaveformSampleInterpretation??"SS",l=n.MultiplexGroupLabel??"",c=(n.ChannelDefinitionSequence??[]).map(e=>({channelSourceSequence:{codeMeaning:e?.ChannelSourceSequence?.[0]?.CodeMeaning??e?.ChannelSourceSequence?.[0]?.codeMeaning??""}})),u=async()=>{let e,A=n.WaveformData;if(!A)return console.warn("[ECGViewport] No WaveformData found on instance"),[];if(A.InlineBinary)e=function(e){let t=atob(e),A=new Uint8Array(t.length);for(let e=0;e<t.length;e++)A[e]=t.charCodeAt(e);return A.buffer}(A.InlineBinary);else{if(!A.BulkDataURI)return console.warn("[ECGViewport] WaveformData has no InlineBinary or BulkDataURI"),[];let n={Accept:"application/octet-stream"},r=t?.getAuthorizationHeader?.();r&&Object.assign(n,r);let o=await fetch(A.BulkDataURI,{headers:n});if(!o.ok)throw Error(`[ECGViewport] Failed to fetch waveform BulkDataURI: ${o.status}`);e=await o.arrayBuffer()}return function(e,t,A){let n=new Int16Array(e),r=[];for(let e=0;e<t;e++){let o=new Int16Array(A);for(let r=0;r<A;r++)o[r]=n[r*t+e];r.push(o)}return r}(e,r,o)};return{numberOfWaveformChannels:r,numberOfWaveformSamples:o,samplingFrequency:i,waveformBitsAllocated:s,waveformSampleInterpretation:a,multiplexGroupLabel:l,channelDefinitionSequence:c,waveformData:{retrieveBulkData:u}}}(e,A);t&&L.utilities.genericMetadataProvider.addRaw(c,{type:pe.ECG,metadata:t})}return{Modality:t,displaySetInstanceUID:pt.guid(),SeriesDescription:r,SeriesNumber:o,SeriesDate:i,SOPInstanceUID:n,SeriesInstanceUID:s,StudyInstanceUID:a,SOPClassHandlerId:"@ohif/extension-cornerstone.sopClassHandlerModule.DicomEcgSopClassHandler",SOPClassUID:l,referencedImages:null,measurements:null,viewportType:L.Enums.ViewportType.ECG,instances:[e],instance:e,thumbnailSrc:null,isDerivedDisplaySet:!1,isLoaded:!1,sopClassUids:pr,numImageFrames:0,numInstances:1,imageIds:c?[c]:[],supportsWindowLevel:!1,label:r||"ECG"}})})(t,e)}}(e)]}}})(),O=x.O(O)})());